From 2f335b2c046fb5e976627671000909c2178950df Mon Sep 17 00:00:00 2001 From: huangqizhen <15552608129@163.com> Date: Wed, 15 Oct 2025 23:35:04 +0800 Subject: [PATCH] =?UTF-8?q?10.15=E9=80=80=E6=AC=BE=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=8F=A3=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/controller/cash/CashRefundController.java | 30 ++++++++++-- .../controller/cash/RefundApprovalController.java | 25 ---------- .../demo/domain/vo/cash/CashRecordDone.java | 4 ++ .../example/demo/mapper/cash/CashRefundMapper.java | 5 ++ .../demo/service/cash/RefundApprovalService.java | 21 -------- .../example/demo/service/cash/RefundService.java | 3 ++ .../serviceImpl/cash/CashRefundServiceImpl.java | 56 +++++++++++++++++++++- src/main/resources/cashMapper/CashRefundMapper.xml | 50 +++++++++---------- 8 files changed, 118 insertions(+), 76 deletions(-) diff --git a/src/main/java/com/example/demo/controller/cash/CashRefundController.java b/src/main/java/com/example/demo/controller/cash/CashRefundController.java index d4895a9..0d00026 100644 --- a/src/main/java/com/example/demo/controller/cash/CashRefundController.java +++ b/src/main/java/com/example/demo/controller/cash/CashRefundController.java @@ -5,6 +5,7 @@ import com.example.demo.Util.JWTUtil; import com.example.demo.domain.entity.Admin; import com.example.demo.domain.vo.cash.CashRecordDone; import com.example.demo.domain.vo.coin.Page; +import com.example.demo.domain.vo.coin.RechargeUser; import com.example.demo.domain.vo.coin.Result; import com.example.demo.service.cash.RefundService; import com.example.demo.service.coin.MarketService; @@ -83,18 +84,39 @@ public class CashRefundController { } // 校验通过,保持 requestedMarkets 不变 } - return Result.success(refundService.select(page.getPageNum(),page.getPageSize(),page.getCashRecordDone())); + return Result.success(refundService.select(page.getPageNum(), page.getPageSize(), page.getCashRecordDone())); } + @PostMapping("/add") - public Result add(@RequestBody CashRecordDone cashRecordDone){ + public Result add(@RequestBody CashRecordDone cashRecordDone) { try { return Result.success(refundService.add(cashRecordDone)); } catch (Exception e) { return Result.error("请检查数据的格式"); } } + @PostMapping("/update") - public Result update(@RequestBody CashRecordDone cashRecordDone){ - return Result.success(refundService.update(cashRecordDone)); + public Result update(@RequestBody CashRecordDone cashRecordDone) { + if (cashRecordDone.getStatus() == 10) { + return Result.success(refundService.withdraw(cashRecordDone)); + } + else if (cashRecordDone.getStatus() == 11) { + + return Result.success(refundService.update(cashRecordDone)); + } + else return Result.error("该订单状态无法支持此操作"); + } + @PostMapping("/review") + public Result review(@RequestBody CashRecordDone cashRecordDone) { + return Result.success(refundService.review(cashRecordDone)); + } +// @PostMapping("/finalReview") +// public Result finalReview(@RequestBody CashRecordDone cashRecordDone) { +// return Result.success(refundService.review(cashRecordDone)); +// } + @PostMapping("/executor") + public Result executor(@RequestBody CashRecordDone cashRecordDone) { + return Result.success(refundService.executor(cashRecordDone)); } } diff --git a/src/main/java/com/example/demo/controller/cash/RefundApprovalController.java b/src/main/java/com/example/demo/controller/cash/RefundApprovalController.java index a86c889..022edcc 100644 --- a/src/main/java/com/example/demo/controller/cash/RefundApprovalController.java +++ b/src/main/java/com/example/demo/controller/cash/RefundApprovalController.java @@ -22,31 +22,6 @@ public class RefundApprovalController { private final RefundApprovalService refundApprovalService; /** - * 获取用户可审批的退款订单列表 - */ - @PostMapping("/approvable-orders") - public Map getApprovableRefundOrders(@RequestBody User user) { - try { - List approvableOrders = refundApprovalService.getApprovableRefundOrders(user); - - Map response = new HashMap<>(); - response.put("success", true); - response.put("message", "获取可审批订单成功"); - response.put("data", approvableOrders); - response.put("total", approvableOrders.size()); - - return response; - - } catch (Exception e) { - Map response = new HashMap<>(); - response.put("success", false); - response.put("message", "获取可审批订单失败: " + e.getMessage()); - response.put("data", new ArrayList<>()); - response.put("total", 0); - return response; - } - } - /** * 提交退款审批 */ @PostMapping("/submit") diff --git a/src/main/java/com/example/demo/domain/vo/cash/CashRecordDone.java b/src/main/java/com/example/demo/domain/vo/cash/CashRecordDone.java index 1d0c22b..b171961 100644 --- a/src/main/java/com/example/demo/domain/vo/cash/CashRecordDone.java +++ b/src/main/java/com/example/demo/domain/vo/cash/CashRecordDone.java @@ -49,7 +49,9 @@ public class CashRecordDone { private String payType; /** 到账地区 */ private String receivedMarket; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private Date payTime; // 付款时间 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private Date receivedTime; // 到账时间 /** 商品数量 */ private Integer goodNum; @@ -93,6 +95,8 @@ public class CashRecordDone { private String submitterName; private String auditName; private String executorName; + private String refundCurrency; + private String refundAmount; private String processInstanceId; // 流程实例ID private String currentTaskId; // 当前任务ID diff --git a/src/main/java/com/example/demo/mapper/cash/CashRefundMapper.java b/src/main/java/com/example/demo/mapper/cash/CashRefundMapper.java index 429ea15..5f06529 100644 --- a/src/main/java/com/example/demo/mapper/cash/CashRefundMapper.java +++ b/src/main/java/com/example/demo/mapper/cash/CashRefundMapper.java @@ -20,4 +20,9 @@ public interface CashRefundMapper { List select(CashRecordDone cashRecordDone); int update(CashRecordDone cashRecordDone); int insert(CashRecordDone cashRecordDone); + int withdraw(Integer id); + + int review(CashRecordDone cashRecordDone); + + int executor(CashRecordDone cashRecordDone); } diff --git a/src/main/java/com/example/demo/service/cash/RefundApprovalService.java b/src/main/java/com/example/demo/service/cash/RefundApprovalService.java index 09eea6a..f5dda0b 100644 --- a/src/main/java/com/example/demo/service/cash/RefundApprovalService.java +++ b/src/main/java/com/example/demo/service/cash/RefundApprovalService.java @@ -147,27 +147,6 @@ public class RefundApprovalService { return isSubmitter && cashRecord.canWithdraw(); } - public List getApprovableRefundOrders(User user) { -// // 1. 获取用户管辖的所有具体市场ID -// Set userManagedMarketIds = marketService.getUserManagedSpecificMarketIds(user); -// -// if (userManagedMarketIds.isEmpty()) { -// log.warn("用户{}没有管辖的市场", user.getId()); -// return new ArrayList<>(); -// } -// -// // 2. 从数据库查询待审批的退款订单 -// List pendingOrders = cashRecordRepository.findByStatusAndMarketIdIn( -// "PENDING_APPROVAL", -// userManagedMarketIds -// ); -// -// // 3. 过滤出用户有权限审批的订单 -// return pendingOrders.stream() -// .filter(order -> order.isRefundOrder() && canUserApproveOrder(user, order)) -// .collect(Collectors.toList()); - return null; - } // 提交退款审批 public boolean submitRefundApproval(User user, CashRecord cashRecord, String approvalResult, String comments) { if (!canUserApproveOrder(user, cashRecord)) { diff --git a/src/main/java/com/example/demo/service/cash/RefundService.java b/src/main/java/com/example/demo/service/cash/RefundService.java index 76eec8b..2875e08 100644 --- a/src/main/java/com/example/demo/service/cash/RefundService.java +++ b/src/main/java/com/example/demo/service/cash/RefundService.java @@ -16,5 +16,8 @@ public interface RefundService { PageInfo select(Integer pageNum, Integer pageSize, CashRecordDone cashRecordDone); int add(CashRecordDone cashRecordDone) throws Exception; int update(CashRecordDone cashRecordDone); + int withdraw(CashRecordDone cashRecordDone); + int review(CashRecordDone cashRecordDone); + int executor(CashRecordDone cashRecordDone); } diff --git a/src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java index 9a1e48e..a3b192c 100644 --- a/src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java @@ -3,6 +3,7 @@ package com.example.demo.serviceImpl.cash; import com.example.demo.domain.entity.CashRecord; import com.example.demo.domain.vo.cash.CashCollection; import com.example.demo.domain.vo.cash.CashRecordDone; +import com.example.demo.domain.vo.coin.Result; import com.example.demo.mapper.cash.CashRefundMapper; import com.example.demo.service.cash.RefundService; import com.github.pagehelper.PageHelper; @@ -37,6 +38,9 @@ public class CashRefundServiceImpl implements RefundService { @Override public int add(CashRecordDone cashRecordDone) throws Exception { + if(cashRecordDone.getHandlingCharge()== null){ + throw new Exception("未输入手续费") ; + } if(cashRecordDone.getJwcode()==null){ throw new Exception("未输入精网号") ; } @@ -62,6 +66,56 @@ public class CashRefundServiceImpl implements RefundService { @Override public int update(CashRecordDone cashRecordDone) { - return cashRefundMapper.update(cashRecordDone); + if (cashRecordDone.getJwcode()== null) { + throw new RuntimeException("未输入精网号"); + } + if (cashRecordDone.getPaymentAmount()== null) { + throw new RuntimeException("未输入付款金额"); + } + if (cashRecordDone.getPaymentCurrency()== null){ + throw new RuntimeException("未输入付款币种");} + if (cashRecordDone.getRefundModel()== null) { + throw new RuntimeException("请填写退款类型"); + } + if (cashRecordDone.getRefundReason()== null) { + throw new RuntimeException("请填写退款理由"); + } + int result = cashRefundMapper.update(cashRecordDone); + return (result > 0 ? Result.success("重新提交成功") : Result.error("重新提交失败")).getCode(); + } + + @Override + public int withdraw(CashRecordDone cashRecordDone) { + return cashRefundMapper.withdraw(cashRecordDone.getId()); + } + + @Override + public int review(CashRecordDone cashRecordDone) { + int result = cashRefundMapper.review(cashRecordDone); + return (result > 0 ? Result.success("重新提交成功") : Result.error("重新提交失败")).getCode(); + } + + @Override + public int executor(CashRecordDone cashRecordDone) { + if(cashRecordDone.getRefundVoucher()== null){ + throw new RuntimeException("未输入退款凭证"); + } + if(cashRecordDone.getRefundTime()== null){ + throw new RuntimeException("未输入退款时间"); + } + if(cashRecordDone.getRefundRemark()== null){ + throw new RuntimeException("未输入退款备注"); + } + if(cashRecordDone.getRefundChannels()== null){ + throw new RuntimeException("未输入退款途径"); + } + if(cashRecordDone.getRefundCurrency()== null){ + throw new RuntimeException("未输入退款币种"); + } + if(cashRecordDone.getRefundAmount()== null){ + throw new RuntimeException("未输入退款金额"); + } + int result = cashRefundMapper.executor(cashRecordDone); + return (result > 0 ? Result.success("重新提交成功") : Result.error("重新提交失败")).getCode(); } } diff --git a/src/main/resources/cashMapper/CashRefundMapper.xml b/src/main/resources/cashMapper/CashRefundMapper.xml index f3aaf71..6aaa514 100644 --- a/src/main/resources/cashMapper/CashRefundMapper.xml +++ b/src/main/resources/cashMapper/CashRefundMapper.xml @@ -16,6 +16,7 @@ payment_amount, received_currency, received_amount, + handling_charge, received_market, pay_type, pay_time, @@ -71,31 +72,30 @@ -update cash_record - - - status = #{status}, - - - - -status = #{status}, - - - reject_reason = #{rejectReason}, - - - refund_reason = #{refundReason}, - - - refund_currency = #{refundCurrency}, - - - refund_amount = #{refundAmount}, - - - refund_remark = #{refundRemark}, - + update cash_record + set + status = 10, + refund_model = #{refundModel}, + refund_reason = #{refundReason} + where id = #{id} + + + update cash_record set status = 11 + where order_code =2 and id = #{id} + + + update cash_record set status = #{status},executor = #{executor},reject_reason = #{rejectReason} + where order_code =2 and id = #{id} + + + update cash_record set refund_currency = #{refundCurrency}, + refund_amount = #{refundAmount}, + refund_channels = #{refundChannels}, + refund_time = #{refundTime}, + refund_remark = #{refundRemark}, + refund_voucher = #{refundVoucher}, + status = #{status} + where order_code =2 and id = #{id}