|
|
@@ -124,11 +124,18 @@
|
|
|
<el-table-column prop="verify_status" label="验签" width="80">
|
|
|
<template #default="{ row }">
|
|
|
<el-tag :type="row.verify_status === 'SUCCESS' ? 'success' : 'danger'" size="small">
|
|
|
- {{ row.verify_status }}
|
|
|
+ {{ verifyLabel(row.verify_status) }}
|
|
|
</el-tag>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="process_status" label="处理" width="130" />
|
|
|
+ <el-table-column prop="process_status" label="处理" width="130">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-tag v-if="isProcessAlert(row.process_status)" type="danger" size="small">
|
|
|
+ {{ processLabel(row.process_status) }}
|
|
|
+ </el-tag>
|
|
|
+ <span v-else>{{ processLabel(row.process_status) }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column label="原文" min-width="200">
|
|
|
<template #default="{ row }">
|
|
|
<el-popover placement="left" :width="600" trigger="click">
|
|
|
@@ -180,6 +187,32 @@ const SCENE_LABEL: Record<string, string> = {
|
|
|
H5: "H5",
|
|
|
};
|
|
|
|
|
|
+/**
|
|
|
+ * `pay_lsy_notify_log.process_status` 的取值 → 中文。
|
|
|
+ *
|
|
|
+ * ★ 这 10 个词是**从 `LsyNotifyService` 全部 `logNotify(...)` 调用点逐个点出来的**,
|
|
|
+ * 并与库里的列注释(`db/lsy-notify-process-status-comment.sql` 那句 10 词表)对过,
|
|
|
+ * 两边一致。后端加词时这里必须同步 —— 漏一个就会让那一行退回显示英文(靠 `|| v` 兜底),
|
|
|
+ * 不报错、只是看不懂。
|
|
|
+ */
|
|
|
+const PROCESS_LABEL: Record<string, string> = {
|
|
|
+ RECEIVED: "已收到",
|
|
|
+ APPLIED: "已回写",
|
|
|
+ DUPLICATE: "重复回调",
|
|
|
+ REJECTED: "验签失败",
|
|
|
+ ORDER_NOT_FOUND: "订单不存在",
|
|
|
+ REFUND_NOT_FOUND: "退款单不存在",
|
|
|
+ UNKNOWN_RESULT_CODE: "未知结果码",
|
|
|
+ LATE_PAYMENT_AFTER_TERMINAL: "终态后到账",
|
|
|
+ LATE_REFUND_AFTER_TERMINAL: "终态后退款",
|
|
|
+ HELD_FOR_RECONCILE: "扣住待对账",
|
|
|
+};
|
|
|
+
|
|
|
+const VERIFY_LABEL: Record<string, string> = {
|
|
|
+ SUCCESS: "通过",
|
|
|
+ FAIL: "失败",
|
|
|
+};
|
|
|
+
|
|
|
/** 查询参数用 camelCase:后端 `@RequestParam` 未写 name,线上名即 `pageNo` / `pageSize` */
|
|
|
const query = reactive({
|
|
|
pageNo: 1,
|
|
|
@@ -214,6 +247,28 @@ function statusTagType(v: string) {
|
|
|
function tradeTypeLabel(v: string) {
|
|
|
return ({ "0": "退款", "1": "交易", "2": "云订单关单" } as Record<string, string>)[v] || v || "-";
|
|
|
}
|
|
|
+function processLabel(v: string) {
|
|
|
+ return PROCESS_LABEL[v] || v || "-";
|
|
|
+}
|
|
|
+function verifyLabel(v: string) {
|
|
|
+ return VERIFY_LABEL[v] || v || "-";
|
|
|
+}
|
|
|
+/**
|
|
|
+ * 「处理」列里**需要人看一眼**的四类,标红。
|
|
|
+ *
|
|
|
+ * ★ `DUPLICATE` **不在**其中,这是刻意的:良性重复回调是幂等正常工作的证据,
|
|
|
+ * 标红会把真正的告警淹掉。后端 `LsyNotifyService` 特意把「良性重复」与
|
|
|
+ * 「账实不符」(LATE_*_AFTER_TERMINAL)拆成两个词,就是为了这处能分开看;
|
|
|
+ * 在界面上把它们渲染成一模一样的黑字,等于把那处区分又抹掉了。
|
|
|
+ */
|
|
|
+function isProcessAlert(v: string) {
|
|
|
+ return (
|
|
|
+ v === "LATE_PAYMENT_AFTER_TERMINAL" ||
|
|
|
+ v === "LATE_REFUND_AFTER_TERMINAL" ||
|
|
|
+ v === "HELD_FOR_RECONCILE" ||
|
|
|
+ v === "UNKNOWN_RESULT_CODE"
|
|
|
+ );
|
|
|
+}
|
|
|
|
|
|
async function loadData() {
|
|
|
loading.value = true;
|