Prechádzať zdrojové kódy

fix: 钱包流水type=2改名为退款,修复详情接口调用退款查询

用户资金流水中的type=2实为退款而非提现(DB字段命名歧义),前端标签和
筛选选项统一改为"退款",详情弹窗改为调用退款日志接口并展示退款字段。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
skyline 3 dní pred
rodič
commit
af91fb2def

+ 20 - 22
admin-web/src/views/admin/finance/wallet-flow.vue

@@ -55,7 +55,7 @@
             @change="loadData(true)">
           <el-option label="全部" :value="undefined" />
           <el-option label="充值" :value="1" />
-          <el-option label="提现" :value="2" />
+          <el-option label="退款" :value="2" />
           <el-option label="消费" :value="3" />
         </el-select>
         <el-select
@@ -194,25 +194,23 @@
         <el-descriptions-item label="支付完成时间">{{ orderDialog.data.successTime }}</el-descriptions-item>
         <el-descriptions-item label="创建时间">{{ orderDialog.data.createTime }}</el-descriptions-item>
       </el-descriptions>
-      <!-- 提现记录详情 -->
+      <!-- 退款详情 -->
       <el-descriptions v-else-if="orderDialog.type === 2" v-loading="orderDialog.loading" :column="2" border size="default">
-        <el-descriptions-item label="所属站点" :span="2">{{ orderDialog.data.stationName }}</el-descriptions-item>
-        <el-descriptions-item label="提现金额">{{ u.fmt.fmtMoney(orderDialog.data.withdrawnAmount) }}</el-descriptions-item>
-        <el-descriptions-item label="审核状态">
-          <el-tag v-if="orderDialog.data.status === 0" type="info" size="small">待审核</el-tag>
-          <el-tag v-else-if="orderDialog.data.status === 1" type="success" size="small">审核通过</el-tag>
-          <el-tag v-else-if="orderDialog.data.status === 2" type="danger" size="small">审核失败</el-tag>
+        <el-descriptions-item label="商户退款单号" :span="2">{{ orderDialog.data.outRefundNo }}</el-descriptions-item>
+        <el-descriptions-item label="商户支付单号" :span="2">{{ orderDialog.data.outTradeNo }}</el-descriptions-item>
+        <el-descriptions-item label="微信退款单号" :span="2">{{ orderDialog.data.refundId }}</el-descriptions-item>
+        <el-descriptions-item label="原充值金额">{{ u.fmt.fmtMoney(orderDialog.data.total) }}</el-descriptions-item>
+        <el-descriptions-item label="退款金额">{{ u.fmt.fmtMoney(orderDialog.data.refund) }}</el-descriptions-item>
+        <el-descriptions-item label="不可退优惠">{{ u.fmt.fmtMoney(orderDialog.data.discountAmount) }}</el-descriptions-item>
+        <el-descriptions-item label="退款渠道">{{ orderDialog.data.channel }}</el-descriptions-item>
+        <el-descriptions-item label="退款状态">
+          <ext-d-label v-if="orderDialog.data.status" type="RefundLog.status" :model-value="orderDialog.data.status" />
         </el-descriptions-item>
-        <el-descriptions-item label="打款状态">
-          <el-tag v-if="orderDialog.data.paymentStatus === 0" type="warning" size="small">未打款</el-tag>
-          <el-tag v-else-if="orderDialog.data.paymentStatus === 1" type="success" size="small">已打款</el-tag>
-        </el-descriptions-item>
-        <el-descriptions-item label="审核人">{{ orderDialog.data.reviewer }}</el-descriptions-item>
-        <el-descriptions-item label="审核时间">{{ orderDialog.data.reviewTime }}</el-descriptions-item>
-        <el-descriptions-item label="打款人">{{ orderDialog.data.payer }}</el-descriptions-item>
-        <el-descriptions-item label="打款时间">{{ orderDialog.data.paymentTime }}</el-descriptions-item>
-        <el-descriptions-item label="创建时间">{{ orderDialog.data.createTime }}</el-descriptions-item>
-        <el-descriptions-item label="备注" :span="2">{{ orderDialog.data.remark }}</el-descriptions-item>
+        <el-descriptions-item label="退款入账账户">{{ orderDialog.data.userReceivedAccount }}</el-descriptions-item>
+        <el-descriptions-item label="退款原因" :span="2">{{ orderDialog.data.reason }}</el-descriptions-item>
+        <el-descriptions-item label="退款人">{{ orderDialog.data.adminUsername }}</el-descriptions-item>
+        <el-descriptions-item label="退款申请时间">{{ orderDialog.data.createTime }}</el-descriptions-item>
+        <el-descriptions-item label="退款成功时间">{{ orderDialog.data.successTime }}</el-descriptions-item>
       </el-descriptions>
       <template #footer>
         <el-button @click="orderDialog.visible = false">关 闭</el-button>
@@ -231,7 +229,7 @@ import ExtDLabel from "/@/components/form/ExtDLabel.vue";
 
 const typeTagMap: Record<number, { text: string; type: string }> = {
   1: { text: "充值", type: "success" },
-  2: { text: "提现", type: "warning" },
+  2: { text: "退款", type: "warning" },
   3: { text: "消费", type: "danger" }
 };
 
@@ -308,7 +306,7 @@ const buildParams = () => {
   return params;
 };
 
-const typeTitles: Record<number, string> = { 1: '充值详情', 2: '提现详情', 3: '订单详情' };
+const typeTitles: Record<number, string> = { 1: '充值详情', 2: '退款详情', 3: '订单详情' };
 
 const orderDialog = reactive({
   visible: false,
@@ -331,8 +329,8 @@ const handleOrderNoClick = (row: any) => {
     // 充值:orderNo 对应 pay_log 的 outTradeNo
     url = `/custom/payLog/byOutTradeNo/${row.orderNo}`;
   } else if (type === 2) {
-    // 提现:transactionId 是 withdrawn_record 的 id
-    url = `/finance/withdrawnRecord/${row.transactionId}`;
+    // 退款:orderNo 对应 refund_log 的 outRefundNo
+    url = `/finance/refundLog/detail/${row.orderNo}`;
   } else {
     // 消费:orderNo 是 wash_order 的 orderId
     url = `/washOrder/detail/${row.orderNo}`;

+ 6 - 0
car-wash-admin/src/main/java/com/kym/admin/controller/FinanceController.java

@@ -203,4 +203,10 @@ public class FinanceController {
         return R.success(withdrawnRecordService.detail(id));
     }
 
+    @SysLog("退款详情")
+    @GetMapping("/refundLog/detail/{outRefundNo}")
+    public R<?> refundLogDetail(@PathVariable String outRefundNo) {
+        return R.success(refundLogService.detail(outRefundNo));
+    }
+
 }

+ 2 - 0
car-wash-service/src/main/java/com/kym/service/RefundLogService.java

@@ -18,4 +18,6 @@ public interface RefundLogService extends MPJBaseService<RefundLog> {
     PageBean<RefundVo> listRefundLog(CommonQueryParam params);
 
     PageBean<RefundLog> listRefundLogForApp(CommonQueryParam params);
+
+    RefundLog detail(String outRefundNo);
 }

+ 5 - 0
car-wash-service/src/main/java/com/kym/service/impl/RefundLogServiceImpl.java

@@ -35,4 +35,9 @@ public class RefundLogServiceImpl extends MPJBaseServiceImpl<RefundLogMapper, Re
         var list = lambdaQuery().eq(RefundLog::getUserId, params.getUserId()).orderByDesc(RefundLog::getCreateTime).list();
         return new PageBean<>(list);
     }
+
+    @Override
+    public RefundLog detail(String outRefundNo) {
+        return lambdaQuery().eq(RefundLog::getOutRefundNo, outRefundNo).one();
+    }
 }