From 4397d43effe9c6b78410ec92c475666b9251aeaa Mon Sep 17 00:00:00 2001 From: DaxPay Dev Date: Wed, 22 Jul 2026 14:27:29 +0800 Subject: [PATCH] =?UTF-8?q?refactor(callback):=20=E5=9B=9E=E8=B0=83?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=B1=95=E7=A4=BA=E6=94=AF=E4=BB=98=E4=BA=A7?= =?UTF-8?q?=E5=93=81=E4=B8=8E=E9=80=9A=E9=81=93=E5=95=86=E6=88=B7=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 去掉支付通道列,产品与通道商户后移;通道商户双行展示并同步 i18n。 Co-authored-by: Cursor --- .../api/payment/record/callback-record.api.ts | 5 +- .../en-US/payment/record/callbackRecord.json | 3 +- .../id-ID/payment/record/callbackRecord.json | 3 +- .../ja-JP/payment/record/callbackRecord.json | 3 +- .../ko-KR/payment/record/callbackRecord.json | 3 +- .../ms-MY/payment/record/callbackRecord.json | 3 +- .../th-TH/payment/record/callbackRecord.json | 3 +- .../vi-VN/payment/record/callbackRecord.json | 3 +- .../zh-CN/payment/record/callbackRecord.json | 3 +- .../zh-HK/payment/record/callbackRecord.json | 3 +- .../zh-TW/payment/record/callbackRecord.json | 3 +- .../payment/record/PayCallbackRecordList.vue | 80 +++++++++++++------ 12 files changed, 67 insertions(+), 48 deletions(-) diff --git a/apps/daxpay-admin/src/api/payment/record/callback-record.api.ts b/apps/daxpay-admin/src/api/payment/record/callback-record.api.ts index 0eca33658..d07246fca 100644 --- a/apps/daxpay-admin/src/api/payment/record/callback-record.api.ts +++ b/apps/daxpay-admin/src/api/payment/record/callback-record.api.ts @@ -24,7 +24,7 @@ export interface PayCallbackRecordQuery { channelMchNo?: string; tradeNo?: string; outTradeNo?: string; - channel?: string; + product?: string; callbackType?: string; status?: string; } @@ -33,9 +33,10 @@ export interface PayCallbackRecordQuery { export interface PayCallbackRecordResult extends MchEntity { appId?: string; channelMchNo?: string; + channelMerchantName?: string; tradeNo?: string; outTradeNo?: string; - channel?: string; + product?: string; callbackType?: string; notifyInfo?: string; status?: string; diff --git a/apps/daxpay-admin/src/locales/langs/en-US/payment/record/callbackRecord.json b/apps/daxpay-admin/src/locales/langs/en-US/payment/record/callbackRecord.json index 1274fed8d..433160b75 100644 --- a/apps/daxpay-admin/src/locales/langs/en-US/payment/record/callbackRecord.json +++ b/apps/daxpay-admin/src/locales/langs/en-US/payment/record/callbackRecord.json @@ -2,7 +2,6 @@ "title": "Callback Records", "tradeNo": "Trade No.", "outTradeNo": "Channel Trade No.", - "channel": "Channel", "callbackType": "Callback Type", "status": "Status", "errorMsg": "Error", @@ -13,6 +12,6 @@ "typePay": "Pay", "typeRefund": "Refund", "detail": "Callback Detail", - "channelMchNo": "Channel Merchant No.", + "channelMchNo": "Channel Merchant", "placeholderChannelMchNo": "Enter channel merchant no." } diff --git a/apps/daxpay-admin/src/locales/langs/id-ID/payment/record/callbackRecord.json b/apps/daxpay-admin/src/locales/langs/id-ID/payment/record/callbackRecord.json index 12560f3aa..8190ad1e2 100644 --- a/apps/daxpay-admin/src/locales/langs/id-ID/payment/record/callbackRecord.json +++ b/apps/daxpay-admin/src/locales/langs/id-ID/payment/record/callbackRecord.json @@ -2,7 +2,6 @@ "title": "Catatan Callback", "tradeNo": "No. Transaksi", "outTradeNo": "No. Transaksi Channel", - "channel": "Channel", "callbackType": "Jenis Callback", "status": "Status", "errorMsg": "Kesalahan", @@ -13,6 +12,6 @@ "typePay": "Bayar", "typeRefund": "Refund", "detail": "Detail Callback", - "channelMchNo": "No. Pedagang Saluran", + "channelMchNo": "Pedagang Saluran", "placeholderChannelMchNo": "Masukkan no. pedagang saluran" } diff --git a/apps/daxpay-admin/src/locales/langs/ja-JP/payment/record/callbackRecord.json b/apps/daxpay-admin/src/locales/langs/ja-JP/payment/record/callbackRecord.json index db566dfa3..4f6a6cbdc 100644 --- a/apps/daxpay-admin/src/locales/langs/ja-JP/payment/record/callbackRecord.json +++ b/apps/daxpay-admin/src/locales/langs/ja-JP/payment/record/callbackRecord.json @@ -2,7 +2,6 @@ "title": "コールバック記録", "tradeNo": "取引番号", "outTradeNo": "チャネル取引番号", - "channel": "決済チャネル", "callbackType": "コールバック種別", "status": "処理状態", "errorMsg": "エラー情報", @@ -13,6 +12,6 @@ "typePay": "支払", "typeRefund": "返金", "detail": "コールバック詳細", - "channelMchNo": "チャネル加盟店番号", + "channelMchNo": "チャネル加盟店", "placeholderChannelMchNo": "チャネル加盟店番号を入力" } diff --git a/apps/daxpay-admin/src/locales/langs/ko-KR/payment/record/callbackRecord.json b/apps/daxpay-admin/src/locales/langs/ko-KR/payment/record/callbackRecord.json index 1d3b5705d..93a810549 100644 --- a/apps/daxpay-admin/src/locales/langs/ko-KR/payment/record/callbackRecord.json +++ b/apps/daxpay-admin/src/locales/langs/ko-KR/payment/record/callbackRecord.json @@ -2,7 +2,6 @@ "title": "콜백 기록", "tradeNo": "거래번호", "outTradeNo": "채널 거래번호", - "channel": "결제 채널", "callbackType": "콜백 유형", "status": "처리 상태", "errorMsg": "오류 정보", @@ -13,6 +12,6 @@ "typePay": "결제", "typeRefund": "환불", "detail": "콜백 상세", - "channelMchNo": "채널 가맹점번호", + "channelMchNo": "채널 가맹점", "placeholderChannelMchNo": "채널 가맹점번호 입력" } diff --git a/apps/daxpay-admin/src/locales/langs/ms-MY/payment/record/callbackRecord.json b/apps/daxpay-admin/src/locales/langs/ms-MY/payment/record/callbackRecord.json index 6f67a02a1..b71070820 100644 --- a/apps/daxpay-admin/src/locales/langs/ms-MY/payment/record/callbackRecord.json +++ b/apps/daxpay-admin/src/locales/langs/ms-MY/payment/record/callbackRecord.json @@ -2,7 +2,6 @@ "title": "Rekod Callback", "tradeNo": "No. Dagangan", "outTradeNo": "No. Dagangan Saluran", - "channel": "Saluran", "callbackType": "Jenis Callback", "status": "Status", "errorMsg": "Ralat", @@ -13,6 +12,6 @@ "typePay": "Bayar", "typeRefund": "Bayaran Balik", "detail": "Butiran Callback", - "channelMchNo": "No. Pedagang Saluran", + "channelMchNo": "Peniaga Saluran", "placeholderChannelMchNo": "Masukkan no. pedagang saluran" } diff --git a/apps/daxpay-admin/src/locales/langs/th-TH/payment/record/callbackRecord.json b/apps/daxpay-admin/src/locales/langs/th-TH/payment/record/callbackRecord.json index 65d4c354d..fd4609c4f 100644 --- a/apps/daxpay-admin/src/locales/langs/th-TH/payment/record/callbackRecord.json +++ b/apps/daxpay-admin/src/locales/langs/th-TH/payment/record/callbackRecord.json @@ -2,7 +2,6 @@ "title": "บันทึกการเรียกกลับ", "tradeNo": "หมายเลขธุรกรรม", "outTradeNo": "หมายเลขธุรกรรมช่องทาง", - "channel": "ช่องทางชำระเงิน", "callbackType": "ประเภทการเรียกกลับ", "status": "สถานะ", "errorMsg": "ข้อผิดพลาด", @@ -13,6 +12,6 @@ "typePay": "ชำระเงิน", "typeRefund": "คืนเงิน", "detail": "รายละเอียดการเรียกกลับ", - "channelMchNo": "รหัสร้านค้าช่องทาง", + "channelMchNo": "พ่อค้าช่องทาง", "placeholderChannelMchNo": "กรอกรหัสร้านค้าช่องทาง" } diff --git a/apps/daxpay-admin/src/locales/langs/vi-VN/payment/record/callbackRecord.json b/apps/daxpay-admin/src/locales/langs/vi-VN/payment/record/callbackRecord.json index 616921ec7..a10208273 100644 --- a/apps/daxpay-admin/src/locales/langs/vi-VN/payment/record/callbackRecord.json +++ b/apps/daxpay-admin/src/locales/langs/vi-VN/payment/record/callbackRecord.json @@ -2,7 +2,6 @@ "title": "Bản ghi callback", "tradeNo": "Mã giao dịch", "outTradeNo": "Mã giao dịch kênh", - "channel": "Kênh thanh toán", "callbackType": "Loại callback", "status": "Trạng thái", "errorMsg": "Lỗi", @@ -13,6 +12,6 @@ "typePay": "Thanh toán", "typeRefund": "Hoàn tiền", "detail": "Chi tiết callback", - "channelMchNo": "Mã merchant kênh", + "channelMchNo": "Người bán kênh", "placeholderChannelMchNo": "Nhập mã merchant kênh" } diff --git a/apps/daxpay-admin/src/locales/langs/zh-CN/payment/record/callbackRecord.json b/apps/daxpay-admin/src/locales/langs/zh-CN/payment/record/callbackRecord.json index 30f67f37f..f5abfc239 100644 --- a/apps/daxpay-admin/src/locales/langs/zh-CN/payment/record/callbackRecord.json +++ b/apps/daxpay-admin/src/locales/langs/zh-CN/payment/record/callbackRecord.json @@ -2,7 +2,6 @@ "title": "回调记录", "tradeNo": "交易号", "outTradeNo": "通道交易号", - "channel": "支付通道", "callbackType": "回调类型", "status": "处理状态", "errorMsg": "错误信息", @@ -13,6 +12,6 @@ "typePay": "支付", "typeRefund": "退款", "detail": "回调详情", - "channelMchNo": "通道商户号", + "channelMchNo": "通道商户", "placeholderChannelMchNo": "请输入通道商户号" } diff --git a/apps/daxpay-admin/src/locales/langs/zh-HK/payment/record/callbackRecord.json b/apps/daxpay-admin/src/locales/langs/zh-HK/payment/record/callbackRecord.json index fb0b8d944..4da28bf93 100644 --- a/apps/daxpay-admin/src/locales/langs/zh-HK/payment/record/callbackRecord.json +++ b/apps/daxpay-admin/src/locales/langs/zh-HK/payment/record/callbackRecord.json @@ -2,7 +2,6 @@ "title": "回調記錄", "tradeNo": "交易號", "outTradeNo": "通道交易號", - "channel": "支付通道", "callbackType": "回調類型", "status": "處理狀態", "errorMsg": "錯誤資訊", @@ -13,6 +12,6 @@ "typePay": "支付", "typeRefund": "退款", "detail": "回調詳情", - "channelMchNo": "通道商戶號", + "channelMchNo": "通道商戶", "placeholderChannelMchNo": "請輸入通道商戶號" } diff --git a/apps/daxpay-admin/src/locales/langs/zh-TW/payment/record/callbackRecord.json b/apps/daxpay-admin/src/locales/langs/zh-TW/payment/record/callbackRecord.json index fb0b8d944..4da28bf93 100644 --- a/apps/daxpay-admin/src/locales/langs/zh-TW/payment/record/callbackRecord.json +++ b/apps/daxpay-admin/src/locales/langs/zh-TW/payment/record/callbackRecord.json @@ -2,7 +2,6 @@ "title": "回調記錄", "tradeNo": "交易號", "outTradeNo": "通道交易號", - "channel": "支付通道", "callbackType": "回調類型", "status": "處理狀態", "errorMsg": "錯誤資訊", @@ -13,6 +12,6 @@ "typePay": "支付", "typeRefund": "退款", "detail": "回調詳情", - "channelMchNo": "通道商戶號", + "channelMchNo": "通道商戶", "placeholderChannelMchNo": "請輸入通道商戶號" } diff --git a/apps/daxpay-admin/src/views/payment/record/PayCallbackRecordList.vue b/apps/daxpay-admin/src/views/payment/record/PayCallbackRecordList.vue index 3f0b23586..84dc706f2 100644 --- a/apps/daxpay-admin/src/views/payment/record/PayCallbackRecordList.vue +++ b/apps/daxpay-admin/src/views/payment/record/PayCallbackRecordList.vue @@ -11,12 +11,12 @@ type PayCallbackRecordResult, } from '#/api/payment/record/callback-record.api'; import { BQuery, type QueryField } from '#/components/query'; + import { productI18nMap, productNameMap } from '#/enums/payment'; import { useDict } from '#/hooks/useDict'; defineOptions({ name: 'PayCallbackRecordList' }); - const { dictConvert, dictItems: channelOptions } = useDict('channel'); - const { dictItems: statusOptions } = useDict('callback_status'); + const { dictConvert, dictItems: statusOptions } = useDict('callback_status'); const loading = ref(false); const xTable = ref(); @@ -35,11 +35,19 @@ { label: $t('payment.record.callbackRecord.typeRefund'), value: 'refund' }, ]); + // 支付产品 + const productOptions = computed(() => + Object.keys(productNameMap).map((code) => ({ + label: productLabel(code), + value: code, + })), + ); + const queryFields = computed(() => [ { type: 'string', field: 'channelMchNo', - // 通道商户号 + // 通道商户 name: $t('payment.record.callbackRecord.channelMchNo'), placeholder: $t('payment.record.callbackRecord.placeholderChannelMchNo'), }, @@ -58,25 +66,25 @@ placeholder: $t('payment.record.callbackRecord.placeholderOutTradeNo'), }, { - type: 'select', - field: 'channel', - // 支付通道 - name: $t('payment.record.callbackRecord.channel'), - options: channelOptions.value, + type: 'list', + field: 'product', + // 支付产品 + name: $t('payment.order.field.product'), + selectList: productOptions.value, }, { - type: 'select', + type: 'list', field: 'callbackType', // 回调类型 name: $t('payment.record.callbackRecord.callbackType'), - options: callbackTypeOptions.value, + selectList: callbackTypeOptions.value, }, { - type: 'select', + type: 'list', field: 'status', // 处理状态 name: $t('payment.record.callbackRecord.status'), - options: statusOptions.value, + selectList: statusOptions.value, }, { type: 'string', @@ -91,6 +99,18 @@ return type || '-'; } + function productLabel(code?: string): string { + if (!code) return '-'; + const i18nKey = productI18nMap[code]; + if (i18nKey) { + const text = $t(i18nKey); + if (text && text !== i18nKey) { + return text; + } + } + return productNameMap[code] || code; + } + function formatNotifyInfo(raw?: string) { if (!raw) return '-'; try { @@ -157,12 +177,6 @@ - - - - + + + + + + {{ $t('payment.record.callbackRecord.tradeNo') }}: {{ detail.tradeNo || '-' }}
{{ $t('payment.record.callbackRecord.outTradeNo') }}: {{ detail.outTradeNo || '-' }}
- {{ $t('payment.record.callbackRecord.channelMchNo') }}: {{ detail.channelMchNo || '-' }} + {{ $t('payment.order.field.product') }}: + {{ productLabel(detail.product) }}
- {{ $t('payment.record.callbackRecord.channel') }}: - {{ dictConvert('channel', detail.channel) || detail.channel || '-' }} + {{ $t('payment.record.callbackRecord.channelMchNo') }}: + {{ detail.channelMerchantName || detail.channelMchNo || '-' }} + + ({{ detail.channelMchNo }}) +
{{ $t('payment.record.callbackRecord.callbackType') }}: {{ callbackTypeLabel(detail.callbackType) }}