資料檢查任務-自訂規則

  • 文檔創建者:Nikozhan
  • 編輯次數:1
  • 1. 概述

    1.1 應用場景

    在交易履約業務體系中,退款業務是訂單流轉的重要環節。

    業務場景中,退款資料儲存於退款表(refund_table),並透過訂單號與訂單主表(order_table)的原訂單資訊建立聯動。核心要求為:每筆退款資料需在訂單主表中匹配到有效記錄,且退款金額嚴格小於或等於對應原始訂單金額。

    1.2 實現思路

    在檢查任務中,透過「任務自訂規則>行級篩選」自訂 SQL 語句查詢檢查物件是否存在異常資料。

    同時,透過自訂異常明細 SQL,記錄相關的異常資料資訊。


    2. 操作步驟

    2.1 建立檢查任務

    在「資料管理>資料檢查」下建立「檢查任務」,如下圖所示:


    2.2 選擇檢查範圍

    選擇需要檢查的資料表,這裏選擇對 refund_table 進行檢查。如下圖所示:


    2.3 設定規則

    1)需要對退款表的每行資料進行檢查,選擇「任務自訂規則>行級篩選」。如下圖所示:


    2)自訂 SQL 語句,本文範例需要從退款表中篩選出兩類異常的退款記錄:

    • 退款表中的 order_id 無法在訂單表中找到對應的記錄;

    • 退款金額超過訂單實付金額的記錄。

    示例SQL

    SELECT 
        r.refund_id,
        r.order_id,
        r.refund_amount
    FROM refund_table r
    WHERE NOT EXISTS (
        SELECT
        FROM order_table o 
        WHERE o.order_id = r.order_id 
        AND r.refund_amount <= o.payment_amount
    )

    3)設定預期範圍:行數=0,也就是不能存在異常退款訂單。如果存在異常明細,就需要檢查出來。

    2.4 記錄異常明細

    上述規則僅檢查退款表中是否有異常資料,實際業務中,還需要把異常明細記錄下來,以便後續修正。

    支援自訂異常詳情SQL,本文範例中,需要記錄以下資訊:

    • 相關的欄位資訊:例如 order_id、refund_id、refund_amount 等;

    • 異常訂單金額:若原訂單部存在,異常金額=全部退款金額;若退款超限,異常金額=退款金額—實付金額;

    • 異常類型:判斷異常明細是「退款金額超限」或「訂單不存在」,用直覺的中文標簽標註異常類別;

    • 異常描述:連接成可直接閱讀的異常說明,無需手動計算。例如:退款單 RF202405230012 退款金額(150.00)超過原訂單實付金額(128.50)

    示例SQL

    SELECT 
        r.refund_id,
        r.order_id,
        r.refund_amount,
        o.payment_amount,
        CASE 
            WHEN o.order_id IS NULL 
                THEN r.refund_amount
            WHEN r.refund_amount > o.payment_amount 
                THEN (r.refund_amount - o.payment_amount)
            ELSE 0.00
        END AS 異常金額,
        r.refund_reason,
        r.apply_time,
        o.create_time,
        CASE 
            WHEN o.order_id IS NULL THEN '❌ 訂單不存在'
            WHEN r.refund_amount > o.payment_amount THEN '❌ 退款金額超限'
        END AS 異常類型,
        CONCAT(
            '退款單 ', r.refund_id, 
            CASE 
                 WHEN o.order_id IS NULL THEN CONCAT(' 關聯的訂單 ', r.order_id, ' 在系統中不存在')
                ELSE CONCAT(' 退款金額(', r.refund_amount, ')超過原訂單實付金額(', o.payment_amount, ')')
            END
        ) AS 異常描述
    FROM refund_table r
    LEFT JOIN order_table o ON r.order_id = o.order_id
    WHERE o.order_id IS NULL OR r.refund_amount > o.payment_amount
    ORDER BY r.apply_time DESC

    配置完成後,儲存並運作此任務。如下圖所示:

    2.5 效果查看

    該任務檢查不透過,有 4 行異常明細資料。如下圖所示:

    點選「查看異常明細」,可以看到除了記錄的欄位資訊,還新增了欄位,直覺的看出來是哪種異常情況。

    此外,還支援匯出異常明細資料,傳送給相關人員覈查。


    附件列表


    主題: 資料管理
    • 有幫助
    • 沒幫助
    • 只是瀏覽
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    獲取幫助
    線上支援
    獲取專業技術支援,快速幫助您解決問題
    工作日9:00-12:00,13:30-17:30在线
    頁面反饋
    針對當前網頁的建議、問題反饋
    售前咨詢
    業務咨詢
    電話:0933-790886或 0989-092892
    郵箱:taiwan@fanruan.com
    頁面反饋
    *問題分類
    不能為空
    問題描述
    0/1000
    不能為空

    反馈已提交

    网络繁忙