From 4b738e47eaab1874862fc8f5cf8abe71ed445344 Mon Sep 17 00:00:00 2001 From: huk Date: Fri, 12 Sep 2025 17:46:27 +0800 Subject: [PATCH] =?UTF-8?q?feat(transaction):=20=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E5=88=86=E8=B4=A6=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD=E5=B9=B6?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=80=80=E6=AC=BE=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增分账查询接口和相关 BO、VO 类 - 优化退款流程,增加退款流水号字段- 更新数据库表结构和 Mapper 文件 - 重构部分代码以支持新功能 --- .../soopin/order/domain/bo/AftersaleBo.java | 4 + .../wzj/soopin/order/domain/bo/RefundBO.java | 3 + .../soopin/order/domain/entity/Aftersale.java | 4 + .../order/domain/query/AftersaleQuery.java | 3 + .../soopin/order/domain/vo/AftersaleVO.java | 4 + .../order/service/impl/OrderServiceImpl.java | 3 +- .../main/resources/mapper/AftersaleMapper.xml | 5 +- .../controller/DivideController.java | 2 +- .../controller/TransEasypayController.java | 15 ++- .../apply/resp/SeparateRespInfoList.java | 6 +- .../apply/resp/SeparateRespOrderInfo.java | 8 ++ .../cancel/req/CancelReqOrderInfo.java | 33 ------ .../cancel/req/SeparateCancelReqBody.java | 30 ----- .../cancel/resp/CancelRespOrderInfo.java | 106 ------------------ .../cancel/resp/SeparateCancelRespBody.java | 25 ----- .../query/req/CancelQueryReqOrderInfo.java | 21 ---- .../query/req/SeparateQueryReqBody.java | 17 ++- .../query/resp/CancelQueryRespOrderInfo.java | 99 ---------------- .../query/resp/SeparateQueryRespBody.java | 3 +- .../transaction/enums/easypay/SepaStatus.java | 2 +- .../transaction/service/IEasypayService.java | 15 ++- .../service/impl/DivideServiceImpl.java | 7 +- .../service/impl/EasypayServiceImpl.java | 82 ++++++++++++-- 23 files changed, 161 insertions(+), 336 deletions(-) delete mode 100644 ruoyi-modules/ruoyi-transaction/src/main/java/com/wzj/soopin/transaction/domain/bo/easypay/separate/cancel/req/CancelReqOrderInfo.java delete mode 100644 ruoyi-modules/ruoyi-transaction/src/main/java/com/wzj/soopin/transaction/domain/bo/easypay/separate/cancel/req/SeparateCancelReqBody.java delete mode 100644 ruoyi-modules/ruoyi-transaction/src/main/java/com/wzj/soopin/transaction/domain/bo/easypay/separate/cancel/resp/CancelRespOrderInfo.java delete mode 100644 ruoyi-modules/ruoyi-transaction/src/main/java/com/wzj/soopin/transaction/domain/bo/easypay/separate/cancel/resp/SeparateCancelRespBody.java delete mode 100644 ruoyi-modules/ruoyi-transaction/src/main/java/com/wzj/soopin/transaction/domain/bo/easypay/separate/query/req/CancelQueryReqOrderInfo.java delete mode 100644 ruoyi-modules/ruoyi-transaction/src/main/java/com/wzj/soopin/transaction/domain/bo/easypay/separate/query/resp/CancelQueryRespOrderInfo.java diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/bo/AftersaleBo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/bo/AftersaleBo.java index f1a33e52e..7e3c47ef3 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/bo/AftersaleBo.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/bo/AftersaleBo.java @@ -51,6 +51,9 @@ public class AftersaleBo { @Schema(description = "处理人员 精确匹配") private String handleMan; + @Schema(description = "退款流水号") + private String orgTrace; + @Schema(name = "startTime", description = "开始时间", required = true, implementation = LocalDateTime.class) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @@ -75,6 +78,7 @@ public class AftersaleBo { .eq(proofPics != null && !proofPics.isEmpty(), Aftersale::getProofPics, proofPics) .eq(handleNote != null && !handleNote.isEmpty(), Aftersale::getHandleNote, handleNote) .eq(handleMan != null && !handleMan.isEmpty(), Aftersale::getHandleMan, handleMan) + .eq(orgTrace != null && !orgTrace.isEmpty(), Aftersale::getOrgTrace, orgTrace) .between(startTime != null && endTime != null, Aftersale::getCreateTime, startTime, endTime) .ge(startTime != null && endTime == null, Aftersale::getCreateTime, startTime) .le(endTime != null && startTime == null, Aftersale::getCreateTime, endTime); diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/bo/RefundBO.java b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/bo/RefundBO.java index c86483631..fd3eb22df 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/bo/RefundBO.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/bo/RefundBO.java @@ -51,6 +51,9 @@ public class RefundBO { @Schema(description = "退款总金额", hidden = true) private BigDecimal totalRefundAmount; + @Schema(description = "退款流水号", hidden = true) + private String orgTrace; + @Data @AllArgsConstructor diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/entity/Aftersale.java b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/entity/Aftersale.java index 54aef2780..c201068a5 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/entity/Aftersale.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/entity/Aftersale.java @@ -74,6 +74,10 @@ public class Aftersale extends BaseAudit { @Excel(name = "处理人员") private String handleMan; + @Schema(description = "退款流水号") + @Excel(name = "退款流水号") + private String orgTrace; + @Schema(description = "退款快递公司") @Excel(name = "退款快递公司") private String refundWpCode; diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/query/AftersaleQuery.java b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/query/AftersaleQuery.java index 7d870f316..5eca88329 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/query/AftersaleQuery.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/query/AftersaleQuery.java @@ -50,4 +50,7 @@ public class AftersaleQuery extends BaseBO { @Schema(description = "处理人员 精确匹配") private String handleMan; + + @Schema(description = "退款流水号") + private String orgTrace; } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/vo/AftersaleVO.java b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/vo/AftersaleVO.java index e6311063c..565b7948f 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/vo/AftersaleVO.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/vo/AftersaleVO.java @@ -88,6 +88,10 @@ public class AftersaleVO extends BaseAudit { @Excel(name = "处理人员") private String handleMan; + @Schema(description = "退款流水号") + @Excel(name = "退款流水号") + private String orgTrace; + @Schema(description = "审核状态 1.待审核;->2.审核通过;3->审核驳回") @Excel(name = "审核状态 1.待审核;->2.审核通过;3->审核驳回") private Integer authFlag; diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/service/impl/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/service/impl/OrderServiceImpl.java index c8c869391..2543b6881 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/service/impl/OrderServiceImpl.java @@ -284,7 +284,6 @@ public class OrderServiceImpl extends ServiceImpl implements .payAmount(order.getPayAmount().subtract(refundBO.getTotalRefundAmount())) .status(OrderStatusEnum.REFUNDED_SUCCESS.getValue()) .build()); - // 更新售后记录 Aftersale aftersale = aftersaleMapper.selectOne(Wrappers.lambdaQuery(Aftersale.class) .eq(Aftersale::getOrderId, orderId).last("limit 1")); @@ -292,6 +291,7 @@ public class OrderServiceImpl extends ServiceImpl implements aftersale = new Aftersale(); aftersale.setMemberId(order.getMemberId()); aftersale.setOrderId(orderId); + aftersale.setOrgTrace(refundBO.getOrgTrace()); aftersale.setReturnAmount(refundBO.getTotalRefundAmount()); aftersale.setQuantity(refundItemBoList.size()); aftersale.setType(1); @@ -301,6 +301,7 @@ public class OrderServiceImpl extends ServiceImpl implements aftersaleMapper.insert(aftersale); }else{ aftersale.setReturnAmount(refundBO.getTotalRefundAmount()); + aftersale.setOrgTrace(refundBO.getOrgTrace()); aftersale.setStatus(AftersaleStatus.PAID.getCode()); aftersale.setQuantity(refundItemBoList.size()); aftersaleMapper.updateById(aftersale); diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/AftersaleMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/AftersaleMapper.xml index d4e3442f4..5134d67ed 100644 --- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/AftersaleMapper.xml +++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/AftersaleMapper.xml @@ -18,6 +18,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -29,7 +30,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, member_id, order_id, return_amount, type, status, handle_time, quantity, reason, description, proof_pics, handle_note, handle_man, create_by, create_time, update_by, update_time from oms_aftersale + select id, member_id, order_id, return_amount, type, status, handle_time, quantity, reason, description, proof_pics, handle_note, handle_man, org_trace, create_by, create_time, update_by, update_time from oms_aftersale