From e8dd143a011ebb1d9e16bf88d5777b1796f163be Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Wed, 27 Aug 2025 17:22:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/dao/vv/VvReverseOrderLineDao.java | 5 ++- .../data/entity/vv/VvReverseOrderEntity.java | 24 ++++++------ .../mm/reverse/AppliyReverseCloseRequest.java | 20 ++++++++++ .../controller/mm/AdminReverseController.java | 38 +++++++++++++------ .../controller/vv/AppReverseController.java | 35 ++++++++++++++++- 5 files changed, 95 insertions(+), 27 deletions(-) create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/mm/reverse/AppliyReverseCloseRequest.java diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvReverseOrderLineDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvReverseOrderLineDao.java index 6a97a61..2b3ef30 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvReverseOrderLineDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvReverseOrderLineDao.java @@ -37,5 +37,8 @@ public interface VvReverseOrderLineDao extends BaseMapper selectVvReverseOrderLineByReverseOrderId(@IN List reverseOrderId); + List selectVvReverseOrderLineByReverseOrderIds(@IN List reverseOrderId); + + + List selectVvReverseOrderLineByReverseOrderId(@IN Long reverseOrderId); } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvReverseOrderEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvReverseOrderEntity.java index cdafd76..1bd2721 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvReverseOrderEntity.java +++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvReverseOrderEntity.java @@ -26,12 +26,12 @@ private static final long serialVersionUID = 1L; public final static String create_time = CLASS_NAME + "create_time"; // 创建时间 public final static String modify_time = CLASS_NAME + "modify_time"; // 修改时间 public final static String trade_order_id = CLASS_NAME + "trade_order_id"; // 订单号 - public final static String status_ = CLASS_NAME + "status"; // 状态 wait_seller_agree 等待卖家同意 , wait_buyer_post 等待买家寄东西, shipping 运送中, delivered 妥投, reject_delivered 拒绝妥投, agree_refunded 同意退款 ,refunded 退款完成 ,close 退款关闭 + public final static String status_ = CLASS_NAME + "status"; // 状态 buyer_apply_reverse_wait_seller_agree 等待卖家同意 , wait_buyer_post 等待买家寄东西, shipping 运送中, delivered 妥投, reject_delivered 拒绝妥投, agree_refunded 同意退款 ,refunded 退款完成 ,close 退款关闭 public final static String refund_amount = CLASS_NAME + "refund_amount"; // 退款金额 public final static String refund_trade_order_line_count = CLASS_NAME + "refund_trade_order_line_count"; // 退款子单笔数 public final static String refund_type = CLASS_NAME + "refund_type"; // 退款类型,1 仅退款, 2 退款退货 public final static String gmt_buyer_apply_refund = CLASS_NAME + "gmt_buyer_apply_refund"; // 买家申请退款时间 - public final static String gmt_seller_agree = CLASS_NAME + "gmt_seller_agree"; // 卖家同意退款 + public final static String gmt_seller_agree_return = CLASS_NAME + "gmt_seller_agree_return"; // 卖家同意退款 public final static String gmt_buyer_post = CLASS_NAME + "gmt_buyer_post"; // 买家邮寄时间 public final static String gmt_delivered = CLASS_NAME + "gmt_delivered"; // 妥投时间 public final static String gmt_reject_delivered = CLASS_NAME + "gmt_reject_delivered"; // 拒绝妥投时间 @@ -54,7 +54,7 @@ private static final long serialVersionUID = 1L; private Date modifyTime; //订单号 private Long tradeOrderId; - //状态 wait_seller_agree 等待卖家同意 , wait_buyer_post 等待买家寄东西, shipping 运送中, delivered 妥投, reject_delivered 拒绝妥投, agree_refunded 同意退款 ,refunded 退款完成 ,close 退款关闭 + //状态 buyer_apply_reverse_wait_seller_agree 等待卖家同意 , wait_buyer_post 等待买家寄东西, shipping 运送中, delivered 妥投, reject_delivered 拒绝妥投, agree_refunded 同意退款 ,refunded 退款完成 ,close 退款关闭 private String status; //退款金额 private BigDecimal refundAmount; @@ -65,7 +65,7 @@ private static final long serialVersionUID = 1L; //买家申请退款时间 private Date gmtBuyerApplyRefund; //卖家同意退款 - private Date gmtSellerAgree; + private Date gmtSellerAgreeReturn; //买家邮寄时间 private Date gmtBuyerPost; //妥投时间 @@ -164,14 +164,14 @@ private static final long serialVersionUID = 1L; } /** - * 状态 wait_seller_agree 等待卖家同意 , wait_buyer_post 等待买家寄东西, shipping 运送中, delivered 妥投, reject_delivered 拒绝妥投, agree_refunded 同意退款 ,refunded 退款完成 ,close 退款关闭 + * 状态 buyer_apply_reverse_wait_seller_agree 等待卖家同意 , wait_buyer_post 等待买家寄东西, shipping 运送中, delivered 妥投, reject_delivered 拒绝妥投, agree_refunded 同意退款 ,refunded 退款完成 ,close 退款关闭 * @return */ public String getStatus() { return status; } /** - * 状态 wait_seller_agree 等待卖家同意 , wait_buyer_post 等待买家寄东西, shipping 运送中, delivered 妥投, reject_delivered 拒绝妥投, agree_refunded 同意退款 ,refunded 退款完成 ,close 退款关闭 + * 状态 buyer_apply_reverse_wait_seller_agree 等待卖家同意 , wait_buyer_post 等待买家寄东西, shipping 运送中, delivered 妥投, reject_delivered 拒绝妥投, agree_refunded 同意退款 ,refunded 退款完成 ,close 退款关闭 * @param status */ public void setStatus(String status) { @@ -242,15 +242,15 @@ private static final long serialVersionUID = 1L; * 卖家同意退款 * @return */ - public Date getGmtSellerAgree() { - return gmtSellerAgree; + public Date getGmtSellerAgreeReturn() { + return gmtSellerAgreeReturn; } /** * 卖家同意退款 - * @param gmtSellerAgree + * @param gmtSellerAgreeReturn */ - public void setGmtSellerAgree(Date gmtSellerAgree) { - this.gmtSellerAgree = gmtSellerAgree; + public void setGmtSellerAgreeReturn(Date gmtSellerAgreeReturn) { + this.gmtSellerAgreeReturn = gmtSellerAgreeReturn; } /** @@ -431,7 +431,7 @@ private static final long serialVersionUID = 1L; ",refundTradeOrderLineCount=" + refundTradeOrderLineCount + ",refundType=" + refundType + ",gmtBuyerApplyRefund=" + gmtBuyerApplyRefund + - ",gmtSellerAgree=" + gmtSellerAgree + + ",gmtSellerAgreeReturn=" + gmtSellerAgreeReturn + ",gmtBuyerPost=" + gmtBuyerPost + ",gmtDelivered=" + gmtDelivered + ",gmtRejectDelivered=" + gmtRejectDelivered + diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/reverse/AppliyReverseCloseRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/reverse/AppliyReverseCloseRequest.java new file mode 100644 index 0000000..6d29833 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/reverse/AppliyReverseCloseRequest.java @@ -0,0 +1,20 @@ +package com.heyu.api.alibaba.request.mm.reverse; + + +import lombok.Data; + +@Data +public class AppliyReverseCloseRequest { + + + + + + /*** + * 逆向物流单号 + */ + private Long reverseOrderId; + + + +} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminReverseController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminReverseController.java index 9308a7f..1177539 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminReverseController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminReverseController.java @@ -6,12 +6,11 @@ import com.heyu.api.alibaba.request.mm.enums.ReverseStatusEnums; import com.heyu.api.alibaba.request.mm.reverse.VvApproveRequest; import com.heyu.api.alibaba.request.mm.reverse.VvReverseListRequest; import com.heyu.api.alibaba.request.mm.reverse.VvReverseOrderDTO; -import com.heyu.api.data.dao.vv.VvReverseOrderDao; -import com.heyu.api.data.dao.vv.VvReverseOrderLineDao; -import com.heyu.api.data.dao.vv.VvReverseOrderProveDao; +import com.heyu.api.data.dao.vv.*; import com.heyu.api.data.entity.vv.VvReverseOrderEntity; import com.heyu.api.data.entity.vv.VvReverseOrderLineEntity; import com.heyu.api.data.entity.vv.VvReverseOrderProveEntity; +import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity; import com.heyu.api.data.utils.R; import com.heyu.api.data.utils.SanUtils; import com.heyu.api.utils.ISelect; @@ -23,6 +22,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.Date; import java.util.List; import java.util.Map; @@ -42,6 +42,13 @@ public class AdminReverseController { private VvReverseOrderProveDao vvReverseOrderProveDao; + @Autowired + private VvTradeOrderDao vvTradeOrderDao; + + @Autowired + private VvTradeOrderLineDao vvTradeOrderLineDao; + + /*** * 逆向列表 * @param vvReverseListRequest @@ -69,7 +76,7 @@ public class AdminReverseController { List vvReverseOrderEntities = pageUtils.getRows(); List reverseOrderIds = SanUtils.list2listFilterNull(vvReverseOrderEntities, VvReverseOrderEntity::getId); - List reverseOrderLineEntities = vvReverseOrderLineDao.selectVvReverseOrderLineByReverseOrderId(reverseOrderIds); + List reverseOrderLineEntities = vvReverseOrderLineDao.selectVvReverseOrderLineByReverseOrderIds(reverseOrderIds); Map> vvReverseOrderLineEntityMap = SanUtils.list2GroupBy(reverseOrderLineEntities, VvReverseOrderLineEntity::getReverseOrderId); @@ -87,7 +94,6 @@ public class AdminReverseController { } - /*** * seller_agree_return_wait_buyer_post 卖家同意退货,买家邮寄 * @@ -102,8 +108,6 @@ public class AdminReverseController { * * close 关闭逆向 */ - - @RequestMapping("/approve") public R approve(@RequestBody VvApproveRequest vvApproveRequest) { VvReverseOrderEntity vvReverseOrderEntity = vvReverseOrderDao.selectVvReverseOrderById(vvApproveRequest.getReverseOrderId()); @@ -112,28 +116,38 @@ public class AdminReverseController { if (ReverseStatusEnums.buyer_apply_reverse_wait_seller_agree.getStatus().equals(vvReverseOrderEntity.getStatus())) { return R.error("逆向订单状态不是 seller_agree_return_wait_buyer_post"); } - vvReverseOrderEntity.setStatus(vvApproveRequest.getStatus()); - -// vvReverseOrderEntity.setgm - + vvReverseOrderEntity.setGmtSellerAgreeReturn(new Date()); } else if (ReverseStatusEnums.delivered.getStatus().equals(vvApproveRequest.getStatus())) { if (ReverseStatusEnums.shipping.getStatus().equals(vvReverseOrderEntity.getStatus())) { return R.error("逆向订单状态不是 shipping"); } + vvReverseOrderEntity.setGmtDelivered(new Date()); } else if (ReverseStatusEnums.reject_delivered.getStatus().equals(vvApproveRequest.getStatus())) { if (ReverseStatusEnums.shipping.getStatus().equals(vvReverseOrderEntity.getStatus())) { return R.error("逆向订单状态不是 shipping"); } + vvReverseOrderEntity.setGmtRejectDelivered(new Date()); } else if (ReverseStatusEnums.agree_refunded.getStatus().equals(vvApproveRequest.getStatus())) { if (ReverseStatusEnums.delivered.getStatus().equals(vvReverseOrderEntity.getStatus())) { return R.error("逆向订单状态不是 delivered"); } + vvReverseOrderEntity.setGmtAgreeRefunded(new Date()); } else if (ReverseStatusEnums.close.getStatus().equals(vvApproveRequest.getStatus())) { - + vvReverseOrderEntity.setGmtClose(new Date()); } + vvReverseOrderEntity.setStatus(vvApproveRequest.getStatus()); vvReverseOrderDao.updateVvReverseOrderById(vvReverseOrderEntity); + List vvReverseOrderLineEntities = vvReverseOrderLineDao.selectVvReverseOrderLineByReverseOrderId(vvApproveRequest.getReverseOrderId()); + List tradeOrderLineIds = SanUtils.list2list(vvReverseOrderLineEntities, VvReverseOrderLineEntity::getTradeOrderLineId); + + List vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(tradeOrderLineIds); + + for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) { + vvTradeOrderLineEntity.setReverseStatus(vvReverseOrderEntity.getStatus()); + vvTradeOrderLineDao.updateVvTradeOrderLineById(vvTradeOrderLineEntity); + } return R.ok(); } diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppReverseController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppReverseController.java index 9f98f7e..820231a 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppReverseController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppReverseController.java @@ -3,6 +3,7 @@ package com.heyu.api.controller.vv; import com.heyu.api.alibaba.request.mm.enums.ReverseStatusEnums; import com.heyu.api.alibaba.request.mm.order.ResourceDTO; +import com.heyu.api.alibaba.request.mm.reverse.AppliyReverseCloseRequest; import com.heyu.api.alibaba.request.mm.reverse.AppliyReverseProveRequest; import com.heyu.api.alibaba.request.mm.reverse.AppliyReverseRequest; import com.heyu.api.data.dao.vv.*; @@ -124,8 +125,7 @@ public class AppReverseController { @RequestMapping("/uploadProve") public R uploadProve(@RequestBody AppliyReverseProveRequest appliyReverseRequest) { VvReverseOrderEntity vvReverseOrderEntity = vvReverseOrderDao.selectVvReverseOrderById(appliyReverseRequest.getReverseOrderId()); - - if (!ReverseStatusEnums.seller_agree_wait_buyer_post.getStatus().equals(vvReverseOrderEntity.getStatus())) { + if (!ReverseStatusEnums.seller_agree_return_wait_buyer_post.getStatus().equals(vvReverseOrderEntity.getStatus())) { return R.error("逆向订单状态不对"); } vvReverseOrderEntity.setStatus(ReverseStatusEnums.shipping.getStatus()); @@ -145,6 +145,37 @@ public class AppReverseController { vvReverseOrderProveDao.insertOrUpdateVvReverseOrderProve(vvReverseOrderProveEntity); } } + return R.ok(); } + + + @RequestMapping("/close") + public R close(@RequestBody AppliyReverseCloseRequest appliyReverseRequest) { + + VvReverseOrderEntity vvReverseOrderEntity = vvReverseOrderDao.selectVvReverseOrderById(appliyReverseRequest.getReverseOrderId()); + + vvReverseOrderEntity.setStatus(ReverseStatusEnums.close.getStatus()); + + vvReverseOrderEntity.setGmtClose(new Date()); + + vvReverseOrderDao.updateVvReverseOrderById(vvReverseOrderEntity); + + List vvReverseOrderLineEntities = vvReverseOrderLineDao.selectVvReverseOrderLineByReverseOrderId(appliyReverseRequest.getReverseOrderId()); + + List tradeOrderLineIds = SanUtils.list2list(vvReverseOrderLineEntities, VvReverseOrderLineEntity::getTradeOrderLineId); + + List tradeOrderLineEntities = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(tradeOrderLineIds); + + for (VvTradeOrderLineEntity tradeOrderLineEntity : tradeOrderLineEntities) { + + tradeOrderLineEntity.setReverseStatus(ReverseStatusEnums.close.getStatus()); + + vvTradeOrderLineDao.updateVvTradeOrderLineById(tradeOrderLineEntity); + } + + return R.ok(); + } + + }