From 243b293fa0a9a00e629f607e0f32eb41bc6747ec Mon Sep 17 00:00:00 2001 From: DaxPay Dev Date: Tue, 21 Jul 2026 13:47:37 +0800 Subject: [PATCH] =?UTF-8?q?feat(notice):=20=E6=96=B0=E5=A2=9E=E5=95=86?= =?UTF-8?q?=E6=88=B7=E9=80=9A=E7=9F=A5=E4=BB=BB=E5=8A=A1=E9=A1=B5=E4=B8=8E?= =?UTF-8?q?=E8=AE=A2=E9=98=85=E9=80=80=E6=AC=BE=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 管理端列表/重发与多语种文案,应用通知配置补充 refund 订阅选项。 Co-authored-by: Cursor --- .../src/api/payment/notice/mch-notice.api.ts | 76 ++++++ apps/daxpay-admin/src/constants/perm-codes.ts | 4 + .../en-US/payment/merchant/notifyConfig.json | 3 +- .../langs/en-US/payment/notice/mchNotice.json | 30 +++ .../id-ID/payment/merchant/notifyConfig.json | 3 +- .../langs/id-ID/payment/notice/mchNotice.json | 30 +++ .../ja-JP/payment/merchant/notifyConfig.json | 3 +- .../langs/ja-JP/payment/notice/mchNotice.json | 30 +++ .../ko-KR/payment/merchant/notifyConfig.json | 3 +- .../langs/ko-KR/payment/notice/mchNotice.json | 30 +++ .../ms-MY/payment/merchant/notifyConfig.json | 3 +- .../langs/ms-MY/payment/notice/mchNotice.json | 30 +++ .../th-TH/payment/merchant/notifyConfig.json | 3 +- .../langs/th-TH/payment/notice/mchNotice.json | 30 +++ .../vi-VN/payment/merchant/notifyConfig.json | 3 +- .../langs/vi-VN/payment/notice/mchNotice.json | 30 +++ .../zh-CN/payment/merchant/notifyConfig.json | 3 +- .../langs/zh-CN/payment/notice/mchNotice.json | 30 +++ .../zh-HK/payment/merchant/notifyConfig.json | 3 +- .../langs/zh-HK/payment/notice/mchNotice.json | 30 +++ .../zh-TW/payment/merchant/notifyConfig.json | 3 +- .../langs/zh-TW/payment/notice/mchNotice.json | 30 +++ .../src/locales/menu-titles/en-US.json | 1 + .../src/locales/menu-titles/id-ID.json | 3 +- .../src/locales/menu-titles/ja-JP.json | 3 +- .../src/locales/menu-titles/ko-KR.json | 3 +- .../src/locales/menu-titles/ms-MY.json | 3 +- .../src/locales/menu-titles/th-TH.json | 3 +- .../src/locales/menu-titles/vi-VN.json | 3 +- .../src/locales/menu-titles/zh-CN.json | 1 + .../src/locales/menu-titles/zh-HK.json | 3 +- .../src/locales/menu-titles/zh-TW.json | 3 +- .../merchant/app/MchAppNotifyConfig.vue | 3 +- .../payment/notice/MchNoticeTaskList.vue | 246 ++++++++++++++++++ 34 files changed, 666 insertions(+), 19 deletions(-) create mode 100644 apps/daxpay-admin/src/api/payment/notice/mch-notice.api.ts create mode 100644 apps/daxpay-admin/src/locales/langs/en-US/payment/notice/mchNotice.json create mode 100644 apps/daxpay-admin/src/locales/langs/id-ID/payment/notice/mchNotice.json create mode 100644 apps/daxpay-admin/src/locales/langs/ja-JP/payment/notice/mchNotice.json create mode 100644 apps/daxpay-admin/src/locales/langs/ko-KR/payment/notice/mchNotice.json create mode 100644 apps/daxpay-admin/src/locales/langs/ms-MY/payment/notice/mchNotice.json create mode 100644 apps/daxpay-admin/src/locales/langs/th-TH/payment/notice/mchNotice.json create mode 100644 apps/daxpay-admin/src/locales/langs/vi-VN/payment/notice/mchNotice.json create mode 100644 apps/daxpay-admin/src/locales/langs/zh-CN/payment/notice/mchNotice.json create mode 100644 apps/daxpay-admin/src/locales/langs/zh-HK/payment/notice/mchNotice.json create mode 100644 apps/daxpay-admin/src/locales/langs/zh-TW/payment/notice/mchNotice.json create mode 100644 apps/daxpay-admin/src/views/payment/notice/MchNoticeTaskList.vue diff --git a/apps/daxpay-admin/src/api/payment/notice/mch-notice.api.ts b/apps/daxpay-admin/src/api/payment/notice/mch-notice.api.ts new file mode 100644 index 000000000..e05c1c7fe --- /dev/null +++ b/apps/daxpay-admin/src/api/payment/notice/mch-notice.api.ts @@ -0,0 +1,76 @@ +import type { MchEntity, PageResult, Result } from '#/types/web'; + +import { defHttp } from '#/api/request'; + +/** + * 商户出站通知管理 API + */ +export const MchNoticeApi = { + /** 通知任务分页 */ + pageTask(params: MchNoticeTaskQuery & { current?: number; size?: number }): Promise>> { + return defHttp.get({ url: '/admin/mch-notice/task/page', params }); + }, + + /** 通知任务详情 */ + getTaskById(id: string): Promise> { + return defHttp.get({ url: '/admin/mch-notice/task/get-by-id', params: { id } }); + }, + + /** 手动重发 */ + resend(id: string): Promise> { + return defHttp.post({ url: '/admin/mch-notice/task/resend', params: { id } }); + }, + + /** 发送记录分页 */ + pageRecord(params: MchNoticeRecordQuery & { current?: number; size?: number }): Promise>> { + return defHttp.get({ url: '/admin/mch-notice/record/page', params }); + }, +}; + +/** 通知任务查询 */ +export interface MchNoticeTaskQuery { + mchNo?: string; + appId?: string; + bizNo?: string; + event?: string; + protocol?: string; + source?: string; + success?: boolean; +} + +/** 通知任务结果 */ +export interface MchNoticeTaskResult extends MchEntity { + appId?: string; + bizId?: string; + bizNo?: string; + event?: string; + protocol?: string; + source?: string; + contentMode?: string; + content?: string; + url?: string; + success?: boolean; + sendCount?: number; + delayCount?: number; + nextTime?: string; + latestTime?: string; + errorMsg?: string; +} + +/** 发送记录查询 */ +export interface MchNoticeRecordQuery { + taskId?: string; + mchNo?: string; + success?: boolean; +} + +/** 发送记录结果 */ +export interface MchNoticeRecordResult extends MchEntity { + taskId?: string; + reqCount?: number; + sendType?: string; + success?: boolean; + httpStatus?: number; + errorMsg?: string; + requestDigest?: string; +} diff --git a/apps/daxpay-admin/src/constants/perm-codes.ts b/apps/daxpay-admin/src/constants/perm-codes.ts index 629ec2a2a..1b7e296a0 100644 --- a/apps/daxpay-admin/src/constants/perm-codes.ts +++ b/apps/daxpay-admin/src/constants/perm-codes.ts @@ -185,6 +185,10 @@ export const PermCodes = { VIEW: 'trade:gateway-order:view', MANAGE: 'trade:gateway-order:manage', }, + Notice: { + VIEW: 'trade:mch-notice:view', + MANAGE: 'trade:mch-notice:manage', + }, }, Develop: { diff --git a/apps/daxpay-admin/src/locales/langs/en-US/payment/merchant/notifyConfig.json b/apps/daxpay-admin/src/locales/langs/en-US/payment/merchant/notifyConfig.json index df11e5861..1c9fb0eca 100644 --- a/apps/daxpay-admin/src/locales/langs/en-US/payment/merchant/notifyConfig.json +++ b/apps/daxpay-admin/src/locales/langs/en-US/payment/merchant/notifyConfig.json @@ -18,6 +18,7 @@ "remark": "Remark", "remarkPlaceholder": "Please enter remark", "confirmSave": "Save async notify config?", - "saveSuccess": "Saved successfully" + "saveSuccess": "Saved successfully", + "eventRefund": "Refund" } } diff --git a/apps/daxpay-admin/src/locales/langs/en-US/payment/notice/mchNotice.json b/apps/daxpay-admin/src/locales/langs/en-US/payment/notice/mchNotice.json new file mode 100644 index 000000000..74727f49b --- /dev/null +++ b/apps/daxpay-admin/src/locales/langs/en-US/payment/notice/mchNotice.json @@ -0,0 +1,30 @@ +{ + "title": "Merchant Notify", + "bizNo": "Biz No.", + "event": "Event", + "protocol": "Protocol", + "source": "Source", + "url": "Notify URL", + "success": "Success", + "sendCount": "Send Count", + "delayCount": "Retry Count", + "latestTime": "Last Sent", + "nextTime": "Next Send", + "errorMsg": "Error", + "content": "Payload", + "resend": "Resend", + "confirmResend": "Resend this notification?", + "records": "Send Records", + "reqCount": "Seq", + "sendType": "Send Type", + "httpStatus": "HTTP Status", + "requestDigest": "Request Digest", + "yes": "Yes", + "no": "No", + "placeholderBizNo": "Enter biz no.", + "sourceOrder": "Order", + "sourceApp": "App", + "sourceProtocol": "Protocol", + "protocolSystem": "System", + "protocolEasyPay": "EasyPay" +} diff --git a/apps/daxpay-admin/src/locales/langs/id-ID/payment/merchant/notifyConfig.json b/apps/daxpay-admin/src/locales/langs/id-ID/payment/merchant/notifyConfig.json index 66f37a28e..c6e3d3d7f 100644 --- a/apps/daxpay-admin/src/locales/langs/id-ID/payment/merchant/notifyConfig.json +++ b/apps/daxpay-admin/src/locales/langs/id-ID/payment/merchant/notifyConfig.json @@ -18,6 +18,7 @@ "remark": "Komentar", "remarkPlaceholder": "Silakan masukkan komentar", "confirmSave": "Simpan konfigurasi pemberitahuan async?", - "saveSuccess": "Berhasil disimpan" + "saveSuccess": "Berhasil disimpan", + "eventRefund": "Refund" } } diff --git a/apps/daxpay-admin/src/locales/langs/id-ID/payment/notice/mchNotice.json b/apps/daxpay-admin/src/locales/langs/id-ID/payment/notice/mchNotice.json new file mode 100644 index 000000000..74727f49b --- /dev/null +++ b/apps/daxpay-admin/src/locales/langs/id-ID/payment/notice/mchNotice.json @@ -0,0 +1,30 @@ +{ + "title": "Merchant Notify", + "bizNo": "Biz No.", + "event": "Event", + "protocol": "Protocol", + "source": "Source", + "url": "Notify URL", + "success": "Success", + "sendCount": "Send Count", + "delayCount": "Retry Count", + "latestTime": "Last Sent", + "nextTime": "Next Send", + "errorMsg": "Error", + "content": "Payload", + "resend": "Resend", + "confirmResend": "Resend this notification?", + "records": "Send Records", + "reqCount": "Seq", + "sendType": "Send Type", + "httpStatus": "HTTP Status", + "requestDigest": "Request Digest", + "yes": "Yes", + "no": "No", + "placeholderBizNo": "Enter biz no.", + "sourceOrder": "Order", + "sourceApp": "App", + "sourceProtocol": "Protocol", + "protocolSystem": "System", + "protocolEasyPay": "EasyPay" +} diff --git a/apps/daxpay-admin/src/locales/langs/ja-JP/payment/merchant/notifyConfig.json b/apps/daxpay-admin/src/locales/langs/ja-JP/payment/merchant/notifyConfig.json index 4bcdfafdc..7a4dc3bdf 100644 --- a/apps/daxpay-admin/src/locales/langs/ja-JP/payment/merchant/notifyConfig.json +++ b/apps/daxpay-admin/src/locales/langs/ja-JP/payment/merchant/notifyConfig.json @@ -18,6 +18,7 @@ "remark": "述べる", "remarkPlaceholder": "備考を入力してください", "confirmSave": "非同期通知設定を保存しますか?", - "saveSuccess": "正常に保存されました" + "saveSuccess": "正常に保存されました", + "eventRefund": "返金" } } diff --git a/apps/daxpay-admin/src/locales/langs/ja-JP/payment/notice/mchNotice.json b/apps/daxpay-admin/src/locales/langs/ja-JP/payment/notice/mchNotice.json new file mode 100644 index 000000000..65177cc69 --- /dev/null +++ b/apps/daxpay-admin/src/locales/langs/ja-JP/payment/notice/mchNotice.json @@ -0,0 +1,30 @@ +{ + "title": "加盟店通知", + "bizNo": "業務番号", + "event": "イベント", + "protocol": "プロトコル", + "source": "ソース", + "url": "通知URL", + "success": "成功", + "sendCount": "送信回数", + "delayCount": "リトライ回数", + "latestTime": "最終送信", + "nextTime": "次回送信", + "errorMsg": "エラー", + "content": "内容", + "resend": "再送", + "confirmResend": "この通知を再送しますか?", + "records": "送信記録", + "reqCount": "番号", + "sendType": "送信種別", + "httpStatus": "HTTP状態", + "requestDigest": "リクエスト要約", + "yes": "はい", + "no": "いいえ", + "placeholderBizNo": "業務番号を入力", + "sourceOrder": "注文", + "sourceApp": "アプリ", + "sourceProtocol": "プロトコル", + "protocolSystem": "システム", + "protocolEasyPay": "易支付" +} diff --git a/apps/daxpay-admin/src/locales/langs/ko-KR/payment/merchant/notifyConfig.json b/apps/daxpay-admin/src/locales/langs/ko-KR/payment/merchant/notifyConfig.json index 2ca92f05b..a42b3395a 100644 --- a/apps/daxpay-admin/src/locales/langs/ko-KR/payment/merchant/notifyConfig.json +++ b/apps/daxpay-admin/src/locales/langs/ko-KR/payment/merchant/notifyConfig.json @@ -18,6 +18,7 @@ "remark": "주목", "remarkPlaceholder": "비고를 입력해주세요", "confirmSave": "비동기 알림 구성을 저장하시겠습니까?", - "saveSuccess": "성공적으로 저장되었습니다" + "saveSuccess": "성공적으로 저장되었습니다", + "eventRefund": "환불" } } diff --git a/apps/daxpay-admin/src/locales/langs/ko-KR/payment/notice/mchNotice.json b/apps/daxpay-admin/src/locales/langs/ko-KR/payment/notice/mchNotice.json new file mode 100644 index 000000000..40abb6fb0 --- /dev/null +++ b/apps/daxpay-admin/src/locales/langs/ko-KR/payment/notice/mchNotice.json @@ -0,0 +1,30 @@ +{ + "title": "가맹점 알림", + "bizNo": "업무번호", + "event": "이벤트", + "protocol": "프로토콜", + "source": "출처", + "url": "알림 URL", + "success": "성공", + "sendCount": "전송 횟수", + "delayCount": "재시도", + "latestTime": "최근 전송", + "nextTime": "다음 전송", + "errorMsg": "오류", + "content": "내용", + "resend": "재전송", + "confirmResend": "이 알림을 다시 보내시겠습니까?", + "records": "전송 기록", + "reqCount": "순번", + "sendType": "전송 유형", + "httpStatus": "HTTP 상태", + "requestDigest": "요청 요약", + "yes": "예", + "no": "아니오", + "placeholderBizNo": "업무번호 입력", + "sourceOrder": "주문", + "sourceApp": "앱", + "sourceProtocol": "프로토콜", + "protocolSystem": "시스템", + "protocolEasyPay": "EasyPay" +} diff --git a/apps/daxpay-admin/src/locales/langs/ms-MY/payment/merchant/notifyConfig.json b/apps/daxpay-admin/src/locales/langs/ms-MY/payment/merchant/notifyConfig.json index 4ce61238f..83fad1bb3 100644 --- a/apps/daxpay-admin/src/locales/langs/ms-MY/payment/merchant/notifyConfig.json +++ b/apps/daxpay-admin/src/locales/langs/ms-MY/payment/merchant/notifyConfig.json @@ -18,6 +18,7 @@ "remark": "Teguran", "remarkPlaceholder": "Sila masukkan catatan", "confirmSave": "Simpan konfigurasi pemberitahuan async?", - "saveSuccess": "Berjaya disimpan" + "saveSuccess": "Berjaya disimpan", + "eventRefund": "Bayaran balik" } } diff --git a/apps/daxpay-admin/src/locales/langs/ms-MY/payment/notice/mchNotice.json b/apps/daxpay-admin/src/locales/langs/ms-MY/payment/notice/mchNotice.json new file mode 100644 index 000000000..74727f49b --- /dev/null +++ b/apps/daxpay-admin/src/locales/langs/ms-MY/payment/notice/mchNotice.json @@ -0,0 +1,30 @@ +{ + "title": "Merchant Notify", + "bizNo": "Biz No.", + "event": "Event", + "protocol": "Protocol", + "source": "Source", + "url": "Notify URL", + "success": "Success", + "sendCount": "Send Count", + "delayCount": "Retry Count", + "latestTime": "Last Sent", + "nextTime": "Next Send", + "errorMsg": "Error", + "content": "Payload", + "resend": "Resend", + "confirmResend": "Resend this notification?", + "records": "Send Records", + "reqCount": "Seq", + "sendType": "Send Type", + "httpStatus": "HTTP Status", + "requestDigest": "Request Digest", + "yes": "Yes", + "no": "No", + "placeholderBizNo": "Enter biz no.", + "sourceOrder": "Order", + "sourceApp": "App", + "sourceProtocol": "Protocol", + "protocolSystem": "System", + "protocolEasyPay": "EasyPay" +} diff --git a/apps/daxpay-admin/src/locales/langs/th-TH/payment/merchant/notifyConfig.json b/apps/daxpay-admin/src/locales/langs/th-TH/payment/merchant/notifyConfig.json index bb1427880..e85db9b09 100644 --- a/apps/daxpay-admin/src/locales/langs/th-TH/payment/merchant/notifyConfig.json +++ b/apps/daxpay-admin/src/locales/langs/th-TH/payment/merchant/notifyConfig.json @@ -18,6 +18,7 @@ "remark": "หมายเหตุ", "remarkPlaceholder": "กรุณาใส่หมายเหตุ", "confirmSave": "บันทึกการตั้งค่าการแจ้งเตือน async หรือไม่", - "saveSuccess": "บันทึกเรียบร้อยแล้ว" + "saveSuccess": "บันทึกเรียบร้อยแล้ว", + "eventRefund": "คืนเงิน" } } diff --git a/apps/daxpay-admin/src/locales/langs/th-TH/payment/notice/mchNotice.json b/apps/daxpay-admin/src/locales/langs/th-TH/payment/notice/mchNotice.json new file mode 100644 index 000000000..74727f49b --- /dev/null +++ b/apps/daxpay-admin/src/locales/langs/th-TH/payment/notice/mchNotice.json @@ -0,0 +1,30 @@ +{ + "title": "Merchant Notify", + "bizNo": "Biz No.", + "event": "Event", + "protocol": "Protocol", + "source": "Source", + "url": "Notify URL", + "success": "Success", + "sendCount": "Send Count", + "delayCount": "Retry Count", + "latestTime": "Last Sent", + "nextTime": "Next Send", + "errorMsg": "Error", + "content": "Payload", + "resend": "Resend", + "confirmResend": "Resend this notification?", + "records": "Send Records", + "reqCount": "Seq", + "sendType": "Send Type", + "httpStatus": "HTTP Status", + "requestDigest": "Request Digest", + "yes": "Yes", + "no": "No", + "placeholderBizNo": "Enter biz no.", + "sourceOrder": "Order", + "sourceApp": "App", + "sourceProtocol": "Protocol", + "protocolSystem": "System", + "protocolEasyPay": "EasyPay" +} diff --git a/apps/daxpay-admin/src/locales/langs/vi-VN/payment/merchant/notifyConfig.json b/apps/daxpay-admin/src/locales/langs/vi-VN/payment/merchant/notifyConfig.json index 1c8a0e2ce..6f5efd9ed 100644 --- a/apps/daxpay-admin/src/locales/langs/vi-VN/payment/merchant/notifyConfig.json +++ b/apps/daxpay-admin/src/locales/langs/vi-VN/payment/merchant/notifyConfig.json @@ -18,6 +18,7 @@ "remark": "Nhận xét", "remarkPlaceholder": "Vui lòng nhập nhận xét", "confirmSave": "Lưu cấu hình thông báo không đồng bộ?", - "saveSuccess": "Đã lưu thành công" + "saveSuccess": "Đã lưu thành công", + "eventRefund": "Hoàn tiền" } } diff --git a/apps/daxpay-admin/src/locales/langs/vi-VN/payment/notice/mchNotice.json b/apps/daxpay-admin/src/locales/langs/vi-VN/payment/notice/mchNotice.json new file mode 100644 index 000000000..74727f49b --- /dev/null +++ b/apps/daxpay-admin/src/locales/langs/vi-VN/payment/notice/mchNotice.json @@ -0,0 +1,30 @@ +{ + "title": "Merchant Notify", + "bizNo": "Biz No.", + "event": "Event", + "protocol": "Protocol", + "source": "Source", + "url": "Notify URL", + "success": "Success", + "sendCount": "Send Count", + "delayCount": "Retry Count", + "latestTime": "Last Sent", + "nextTime": "Next Send", + "errorMsg": "Error", + "content": "Payload", + "resend": "Resend", + "confirmResend": "Resend this notification?", + "records": "Send Records", + "reqCount": "Seq", + "sendType": "Send Type", + "httpStatus": "HTTP Status", + "requestDigest": "Request Digest", + "yes": "Yes", + "no": "No", + "placeholderBizNo": "Enter biz no.", + "sourceOrder": "Order", + "sourceApp": "App", + "sourceProtocol": "Protocol", + "protocolSystem": "System", + "protocolEasyPay": "EasyPay" +} diff --git a/apps/daxpay-admin/src/locales/langs/zh-CN/payment/merchant/notifyConfig.json b/apps/daxpay-admin/src/locales/langs/zh-CN/payment/merchant/notifyConfig.json index aa7206ef6..4b8639cfb 100644 --- a/apps/daxpay-admin/src/locales/langs/zh-CN/payment/merchant/notifyConfig.json +++ b/apps/daxpay-admin/src/locales/langs/zh-CN/payment/merchant/notifyConfig.json @@ -18,6 +18,7 @@ "remark": "备注", "remarkPlaceholder": "请输入备注", "confirmSave": "确定要保存异步通知配置吗?", - "saveSuccess": "保存成功" + "saveSuccess": "保存成功", + "eventRefund": "退款" } } diff --git a/apps/daxpay-admin/src/locales/langs/zh-CN/payment/notice/mchNotice.json b/apps/daxpay-admin/src/locales/langs/zh-CN/payment/notice/mchNotice.json new file mode 100644 index 000000000..ba84a1a9a --- /dev/null +++ b/apps/daxpay-admin/src/locales/langs/zh-CN/payment/notice/mchNotice.json @@ -0,0 +1,30 @@ +{ + "title": "商户通知", + "bizNo": "业务单号", + "event": "事件", + "protocol": "协议", + "source": "来源", + "url": "回调地址", + "success": "发送成功", + "sendCount": "发送次数", + "delayCount": "重试次数", + "latestTime": "最后发送", + "nextTime": "下次发送", + "errorMsg": "错误信息", + "content": "通知内容", + "resend": "重发", + "confirmResend": "确认重新发送该通知?", + "records": "发送记录", + "reqCount": "序号", + "sendType": "发送类型", + "httpStatus": "HTTP状态", + "requestDigest": "请求摘要", + "yes": "是", + "no": "否", + "placeholderBizNo": "请输入业务单号", + "sourceOrder": "订单级", + "sourceApp": "应用级", + "sourceProtocol": "协议", + "protocolSystem": "系统", + "protocolEasyPay": "易支付" +} diff --git a/apps/daxpay-admin/src/locales/langs/zh-HK/payment/merchant/notifyConfig.json b/apps/daxpay-admin/src/locales/langs/zh-HK/payment/merchant/notifyConfig.json index f9226038c..6b6cc738a 100644 --- a/apps/daxpay-admin/src/locales/langs/zh-HK/payment/merchant/notifyConfig.json +++ b/apps/daxpay-admin/src/locales/langs/zh-HK/payment/merchant/notifyConfig.json @@ -18,6 +18,7 @@ "remark": "備註", "remarkPlaceholder": "請輸入備註", "confirmSave": "確定要保存異步通知配置嗎?", - "saveSuccess": "保存成功" + "saveSuccess": "保存成功", + "eventRefund": "退款" } } diff --git a/apps/daxpay-admin/src/locales/langs/zh-HK/payment/notice/mchNotice.json b/apps/daxpay-admin/src/locales/langs/zh-HK/payment/notice/mchNotice.json new file mode 100644 index 000000000..6b65da548 --- /dev/null +++ b/apps/daxpay-admin/src/locales/langs/zh-HK/payment/notice/mchNotice.json @@ -0,0 +1,30 @@ +{ + "title": "商戶通知", + "bizNo": "业务单号", + "event": "事件", + "protocol": "协议", + "source": "来源", + "url": "回调地址", + "success": "发送成功", + "sendCount": "发送次数", + "delayCount": "重试次数", + "latestTime": "最后发送", + "nextTime": "下次发送", + "errorMsg": "错误信息", + "content": "通知内容", + "resend": "重發", + "confirmResend": "確認重新發送該通知?", + "records": "發送記錄", + "reqCount": "序号", + "sendType": "发送类型", + "httpStatus": "HTTP状态", + "requestDigest": "请求摘要", + "yes": "是", + "no": "否", + "placeholderBizNo": "請輸入業務單號", + "sourceOrder": "訂單級", + "sourceApp": "應用級", + "sourceProtocol": "协议", + "protocolSystem": "系統", + "protocolEasyPay": "易支付" +} diff --git a/apps/daxpay-admin/src/locales/langs/zh-TW/payment/merchant/notifyConfig.json b/apps/daxpay-admin/src/locales/langs/zh-TW/payment/merchant/notifyConfig.json index 5d80bb604..431b9a2ef 100644 --- a/apps/daxpay-admin/src/locales/langs/zh-TW/payment/merchant/notifyConfig.json +++ b/apps/daxpay-admin/src/locales/langs/zh-TW/payment/merchant/notifyConfig.json @@ -18,6 +18,7 @@ "remark": "備註", "remarkPlaceholder": "請輸入備註", "confirmSave": "確定要儲存非同步通知配置嗎?", - "saveSuccess": "儲存成功" + "saveSuccess": "儲存成功", + "eventRefund": "退款" } } diff --git a/apps/daxpay-admin/src/locales/langs/zh-TW/payment/notice/mchNotice.json b/apps/daxpay-admin/src/locales/langs/zh-TW/payment/notice/mchNotice.json new file mode 100644 index 000000000..6b65da548 --- /dev/null +++ b/apps/daxpay-admin/src/locales/langs/zh-TW/payment/notice/mchNotice.json @@ -0,0 +1,30 @@ +{ + "title": "商戶通知", + "bizNo": "业务单号", + "event": "事件", + "protocol": "协议", + "source": "来源", + "url": "回调地址", + "success": "发送成功", + "sendCount": "发送次数", + "delayCount": "重试次数", + "latestTime": "最后发送", + "nextTime": "下次发送", + "errorMsg": "错误信息", + "content": "通知内容", + "resend": "重發", + "confirmResend": "確認重新發送該通知?", + "records": "發送記錄", + "reqCount": "序号", + "sendType": "发送类型", + "httpStatus": "HTTP状态", + "requestDigest": "请求摘要", + "yes": "是", + "no": "否", + "placeholderBizNo": "請輸入業務單號", + "sourceOrder": "訂單級", + "sourceApp": "應用級", + "sourceProtocol": "协议", + "protocolSystem": "系統", + "protocolEasyPay": "易支付" +} diff --git a/apps/daxpay-admin/src/locales/menu-titles/en-US.json b/apps/daxpay-admin/src/locales/menu-titles/en-US.json index 6d8193f73..eedf3064a 100644 --- a/apps/daxpay-admin/src/locales/menu-titles/en-US.json +++ b/apps/daxpay-admin/src/locales/menu-titles/en-US.json @@ -46,6 +46,7 @@ "menu.payment.config": "Payment Config", "menu.payment.merchant.store": "Store Management", "menu.trade.refundOrder": "Refund Orders", + "menu.trade.mchNotice": "Merchant Notify", "menu.develop": "Develop", "menu.device": "Device Management", "menu.demos.artemis": "Message Queue Demo", diff --git a/apps/daxpay-admin/src/locales/menu-titles/id-ID.json b/apps/daxpay-admin/src/locales/menu-titles/id-ID.json index f1d7db660..093a8df54 100644 --- a/apps/daxpay-admin/src/locales/menu-titles/id-ID.json +++ b/apps/daxpay-admin/src/locales/menu-titles/id-ID.json @@ -94,5 +94,6 @@ "menu.system.security.system": "Keamanan Sistem", "menu.system.security.pay": "Keamanan Pembayaran", "menu.payment.merchant.terminal": "Terminal Sistem", - "menu.device.terminal.channel": "Terminal Saluran" + "menu.device.terminal.channel": "Terminal Saluran", + "menu.trade.mchNotice": "Notifikasi Merchant" } diff --git a/apps/daxpay-admin/src/locales/menu-titles/ja-JP.json b/apps/daxpay-admin/src/locales/menu-titles/ja-JP.json index 991a81796..8a7bf5200 100644 --- a/apps/daxpay-admin/src/locales/menu-titles/ja-JP.json +++ b/apps/daxpay-admin/src/locales/menu-titles/ja-JP.json @@ -94,5 +94,6 @@ "menu.system.security.system": "システムセキュリティ", "menu.system.security.pay": "決済セキュリティ", "menu.payment.merchant.terminal": "システム端末", - "menu.device.terminal.channel": "チャネル端末" + "menu.device.terminal.channel": "チャネル端末", + "menu.trade.mchNotice": "加盟店通知" } diff --git a/apps/daxpay-admin/src/locales/menu-titles/ko-KR.json b/apps/daxpay-admin/src/locales/menu-titles/ko-KR.json index 7e2193b5d..7f282301b 100644 --- a/apps/daxpay-admin/src/locales/menu-titles/ko-KR.json +++ b/apps/daxpay-admin/src/locales/menu-titles/ko-KR.json @@ -94,5 +94,6 @@ "menu.system.security.system": "시스템 보안", "menu.system.security.pay": "결제 보안", "menu.payment.merchant.terminal": "시스템 단말", - "menu.device.terminal.channel": "채널 단말" + "menu.device.terminal.channel": "채널 단말", + "menu.trade.mchNotice": "가맹점 알림" } diff --git a/apps/daxpay-admin/src/locales/menu-titles/ms-MY.json b/apps/daxpay-admin/src/locales/menu-titles/ms-MY.json index 19a3da199..9e0ddea7f 100644 --- a/apps/daxpay-admin/src/locales/menu-titles/ms-MY.json +++ b/apps/daxpay-admin/src/locales/menu-titles/ms-MY.json @@ -94,5 +94,6 @@ "menu.system.security.system": "Keselamatan Sistem", "menu.system.security.pay": "Keselamatan Pembayaran", "menu.payment.merchant.terminal": "Terminal Sistem", - "menu.device.terminal.channel": "Terminal Saluran" + "menu.device.terminal.channel": "Terminal Saluran", + "menu.trade.mchNotice": "Notis Pedagang" } diff --git a/apps/daxpay-admin/src/locales/menu-titles/th-TH.json b/apps/daxpay-admin/src/locales/menu-titles/th-TH.json index d95868888..261a2e122 100644 --- a/apps/daxpay-admin/src/locales/menu-titles/th-TH.json +++ b/apps/daxpay-admin/src/locales/menu-titles/th-TH.json @@ -94,5 +94,6 @@ "menu.system.security.system": "ความปลอดภัยระบบ", "menu.system.security.pay": "ความปลอดภัยการชำระเงิน", "menu.payment.merchant.terminal": "เทอร์มินัลระบบ", - "menu.device.terminal.channel": "เทอร์มินัลช่องทาง" + "menu.device.terminal.channel": "เทอร์มินัลช่องทาง", + "menu.trade.mchNotice": "การแจ้งเตือนร้านค้า" } diff --git a/apps/daxpay-admin/src/locales/menu-titles/vi-VN.json b/apps/daxpay-admin/src/locales/menu-titles/vi-VN.json index d42b6aeba..ccdfc874a 100644 --- a/apps/daxpay-admin/src/locales/menu-titles/vi-VN.json +++ b/apps/daxpay-admin/src/locales/menu-titles/vi-VN.json @@ -94,5 +94,6 @@ "menu.system.security.system": "Bảo mật hệ thống", "menu.system.security.pay": "Bảo mật thanh toán", "menu.payment.merchant.terminal": "Thiết bị hệ thống", - "menu.device.terminal.channel": "Thiết bị kênh" + "menu.device.terminal.channel": "Thiết bị kênh", + "menu.trade.mchNotice": "Thông báo merchant" } diff --git a/apps/daxpay-admin/src/locales/menu-titles/zh-CN.json b/apps/daxpay-admin/src/locales/menu-titles/zh-CN.json index 95f03ce3e..906b7b2f7 100644 --- a/apps/daxpay-admin/src/locales/menu-titles/zh-CN.json +++ b/apps/daxpay-admin/src/locales/menu-titles/zh-CN.json @@ -46,6 +46,7 @@ "menu.payment.config": "支付配置", "menu.payment.merchant.store": "门店管理", "menu.trade.refundOrder": "退款订单", + "menu.trade.mchNotice": "商户通知", "menu.develop": "开发调试", "menu.device": "设备管理", "menu.demos.artemis": "消息队列演示", diff --git a/apps/daxpay-admin/src/locales/menu-titles/zh-HK.json b/apps/daxpay-admin/src/locales/menu-titles/zh-HK.json index 7fb071bf4..1bf6747fe 100644 --- a/apps/daxpay-admin/src/locales/menu-titles/zh-HK.json +++ b/apps/daxpay-admin/src/locales/menu-titles/zh-HK.json @@ -94,5 +94,6 @@ "menu.system.security.system": "系統安全配置", "menu.system.security.pay": "支付安全配置", "menu.payment.merchant.terminal": "系統終端", - "menu.device.terminal.channel": "通道終端" + "menu.device.terminal.channel": "通道終端", + "menu.trade.mchNotice": "商戶通知" } diff --git a/apps/daxpay-admin/src/locales/menu-titles/zh-TW.json b/apps/daxpay-admin/src/locales/menu-titles/zh-TW.json index 949c520f3..be6c6cab7 100644 --- a/apps/daxpay-admin/src/locales/menu-titles/zh-TW.json +++ b/apps/daxpay-admin/src/locales/menu-titles/zh-TW.json @@ -94,5 +94,6 @@ "menu.system.security.system": "系統安全配置", "menu.system.security.pay": "支付安全配置", "menu.payment.merchant.terminal": "系統終端", - "menu.device.terminal.channel": "通道終端" + "menu.device.terminal.channel": "通道終端", + "menu.trade.mchNotice": "商戶通知" } diff --git a/apps/daxpay-admin/src/views/payment/merchant/app/MchAppNotifyConfig.vue b/apps/daxpay-admin/src/views/payment/merchant/app/MchAppNotifyConfig.vue index fffc7996c..6735101f1 100644 --- a/apps/daxpay-admin/src/views/payment/merchant/app/MchAppNotifyConfig.vue +++ b/apps/daxpay-admin/src/views/payment/merchant/app/MchAppNotifyConfig.vue @@ -44,10 +44,11 @@ }); /** - * 订阅事件选项(对应 TradeTypeEnum: pay/cashouts/settle) + * 订阅事件选项(前缀匹配: pay→pay.*, refund→refund.*) */ const eventOptions = computed(() => [ { label: $t('payment.merchant.notifyConfig.notifyConfig.eventPay'), value: 'pay' }, + { label: $t('payment.merchant.notifyConfig.notifyConfig.eventRefund'), value: 'refund' }, { label: $t('payment.merchant.notifyConfig.notifyConfig.eventCashouts'), value: 'cashouts' }, { label: $t('payment.merchant.notifyConfig.notifyConfig.eventSettle'), value: 'settle' }, ]); diff --git a/apps/daxpay-admin/src/views/payment/notice/MchNoticeTaskList.vue b/apps/daxpay-admin/src/views/payment/notice/MchNoticeTaskList.vue new file mode 100644 index 000000000..7b8a0895b --- /dev/null +++ b/apps/daxpay-admin/src/views/payment/notice/MchNoticeTaskList.vue @@ -0,0 +1,246 @@ + + +