From b2a5b836acb6480484efb1b1d16206757a8b5ad2 Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Wed, 19 Nov 2025 09:43:59 +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 --- .../api/data/dao/vv/VvTradeOrderLineDao.java | 2 +- .../service/impl/AbstractReverseAction.java | 11 ++++- .../com/test/xxx/mysql/SqlParseUtilsTest.java | 4 +- .../mm/reverse/AppliyReverseProveRequest.java | 6 +-- .../alibaba/request/vv/AppOrderRequest.java | 1 + .../controller/mm/AdminReverseController.java | 2 +- .../controller/vv/AppReverseController.java | 46 +++++++++++++++---- 7 files changed, 53 insertions(+), 19 deletions(-) diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineDao.java index 9cbce30..32e3fa5 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineDao.java @@ -135,7 +135,7 @@ public interface VvTradeOrderLineDao extends BaseMapper @IF @LE @Column(VvTradeOrderLineEntity.create_timestamp) Long maxCreateTimestamp, @IF @LIKE String productName, @IFNullReturnEmpty Long buyerId, - @IF String reverseStatus, + @IF @IsNotEmpty String reverseStatus, @IF @OrderBy(VvTradeOrderLineEntity.create_timestamp) String createTimestampSort); @GroupBy(VvTradeOrderLineEntity.sku_id) diff --git a/api-mapper/src/main/java/com/heyu/api/data/service/impl/AbstractReverseAction.java b/api-mapper/src/main/java/com/heyu/api/data/service/impl/AbstractReverseAction.java index 52ea68a..5474e41 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/service/impl/AbstractReverseAction.java +++ b/api-mapper/src/main/java/com/heyu/api/data/service/impl/AbstractReverseAction.java @@ -43,7 +43,7 @@ public abstract class AbstractReverseAction { } - public static OrderActionDTO check(VvReverseOrderEntity vvReverseOrderEntity, boolean isApp,String buttonName) { + public static OrderActionDTO getOrderAction(VvReverseOrderEntity vvReverseOrderEntity, boolean isApp, String buttonName) { List orderActionDTOS = getOrderActionDTO(vvReverseOrderEntity, isApp); if(CollectionUtils.isNotEmpty(orderActionDTOS)){ for (OrderActionDTO orderActionDTO : orderActionDTOS) { @@ -55,4 +55,13 @@ public abstract class AbstractReverseAction { return null; } + + public static boolean checkFailed(VvReverseOrderEntity vvReverseOrderEntity, boolean isApp,String buttonName) { + OrderActionDTO orderActionDTO = getOrderAction(vvReverseOrderEntity, isApp, buttonName); + if(orderActionDTO !=null){ + return false; + } + return true; + } + } diff --git a/api-mapper/src/test/java/com/test/xxx/mysql/SqlParseUtilsTest.java b/api-mapper/src/test/java/com/test/xxx/mysql/SqlParseUtilsTest.java index 0bdd2fc..ef18d0c 100644 --- a/api-mapper/src/test/java/com/test/xxx/mysql/SqlParseUtilsTest.java +++ b/api-mapper/src/test/java/com/test/xxx/mysql/SqlParseUtilsTest.java @@ -1,6 +1,6 @@ package com.test.xxx.mysql; -import com.heyu.api.data.dao.vv.VvRequestLogDao; +import com.heyu.api.data.dao.vv.VvTradeOrderLineDao; import com.lz.mybatis.plugin.utils.TestParseUtils; import com.lz.mybatis.plugin.utils.t.Tuple2; import org.junit.Test; @@ -11,7 +11,7 @@ SqlParseUtilsTest { @Test public void test1() { - Tuple2 tuple = TestParseUtils.testSql(VvRequestLogDao::selectVvRequestLogByCreateTime).getData(); + Tuple2 tuple = TestParseUtils.testSql(VvTradeOrderLineDao::selectByAppCondition).getData(); System.out.println(tuple.getSecond()); diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/reverse/AppliyReverseProveRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/reverse/AppliyReverseProveRequest.java index ed08fe7..97b3d89 100644 --- a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/reverse/AppliyReverseProveRequest.java +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/reverse/AppliyReverseProveRequest.java @@ -15,18 +15,16 @@ public class AppliyReverseProveRequest extends AppBaseRequest { * 物流单号 */ private String trackNumber; - - /*** * 逆向物流单号 */ private Long reverseOrderId; - - /*** * 图片或视频 */ private List resourceDTOList; + + } diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppOrderRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppOrderRequest.java index 7e72202..120bc0b 100644 --- a/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppOrderRequest.java +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppOrderRequest.java @@ -34,6 +34,7 @@ public class AppOrderRequest extends AppBaseRequest { /*** * 逆向状态 + * 如果想查看退货退款,则传1 ,否则不传 */ private String reverseStatus; 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 ab4fc78..2c92691 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 @@ -133,7 +133,7 @@ public class AdminReverseController { @RequestMapping("/approve") public R approve(@RequestBody VvApproveRequest vvApproveRequest) { VvReverseOrderEntity vvReverseOrderEntity = vvReverseOrderDao.selectVvReverseOrderById(vvApproveRequest.getReverseOrderId()); - OrderActionDTO orderActionDTO = AbstractReverseAction.check(vvReverseOrderEntity, false, vvApproveRequest.getButtonName()); + OrderActionDTO orderActionDTO = AbstractReverseAction.getOrderAction(vvReverseOrderEntity, false, vvApproveRequest.getButtonName()); if (orderActionDTO == null) { return R.error("没有这个按钮的权限"); } 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 8593477..09a7ad5 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 @@ -2,22 +2,23 @@ package com.heyu.api.controller.vv; import com.alibaba.fastjson.JSON; -import com.heyu.api.data.service.impl.ResourceDTO; import com.heyu.api.alibaba.request.mm.reverse.AppliyReverseCloseRequest; import com.heyu.api.alibaba.request.mm.reverse.AppliyReverseProveRequest; -import com.heyu.api.data.service.impl.AppliyReverseRequest; import com.heyu.api.common.annotation.AppLogin; import com.heyu.api.common.annotation.Describe; import com.heyu.api.data.dao.vv.*; import com.heyu.api.data.entity.vv.*; -import com.heyu.api.data.enums.ReverseStatusEnums; -import com.heyu.api.data.enums.ReverseUploadSceneEnums; -import com.heyu.api.data.enums.ShippingTypeEnums; +import com.heyu.api.data.enums.*; +import com.heyu.api.data.kuaidi100.KuaiDi100Utils; +import com.heyu.api.data.service.impl.AbstractReverseAction; +import com.heyu.api.data.service.impl.AppliyReverseRequest; +import com.heyu.api.data.service.impl.ResourceDTO; +import com.heyu.api.data.service.impl.ReverseOrderService; +import com.heyu.api.data.service.vv.VvPackageService; +import com.heyu.api.data.service.vv.VvTradeOrderConvertService; import com.heyu.api.data.utils.NumberUtil; import com.heyu.api.data.utils.R; import com.heyu.api.data.utils.SanUtils; -import com.heyu.api.data.service.impl.ReverseOrderService; -import com.heyu.api.data.service.vv.VvTradeOrderConvertService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -56,6 +57,9 @@ public class AppReverseController { @Autowired private VvTradeOrderConvertService vvTradeOrderConvertService; + + @Autowired + private VvPackageService vvPackageService; /*** * * https://api.1024api.com/api-interface/app/reverse/add @@ -90,8 +94,10 @@ public class AppReverseController { @Describe("逆向订单更新订单号") @RequestMapping("/upload/tracknumber") public R uploadTracknumber(@RequestBody AppliyReverseProveRequest appliyReverseRequest) { + VvReverseOrderEntity vvReverseOrderEntity = vvReverseOrderDao.selectVvReverseOrderById(appliyReverseRequest.getReverseOrderId()); - if (!ReverseStatusEnums.seller_agree_return_wait_buyer_post.getStatus().equals(vvReverseOrderEntity.getStatus())) { + if ( AbstractReverseAction.checkFailed(vvReverseOrderEntity, false, + OrderActionEnums.App_Buyer_Upload_Reverse_TrackNumber.getButtonName())) { return R.error("逆向订单状态非seller_agree_return_wait_buyer_post,不对"); } @@ -119,6 +125,28 @@ public class AppReverseController { vvPackageEntity.setShippingType(ShippingTypeEnums.reverse.getType()); vvPackageEntity.setTrackNumber(vvPackageEntity.getTrackNumber()); vvPackageDao.insertOrUpdateVvPackage(vvPackageEntity); + + vvPackageService.selectVvKuaidiAndUpdateData(vvPackageEntity.getTrackNumber(), RoleEnums.user.getRole(), false); + List vvReverseOrderLineEntities = vvReverseOrderLineDao.selectVvReverseOrderLineByReverseOrderId(vvReverseOrderEntity.getId()); + List tradeOrderLineIds = SanUtils.getFieldList(vvReverseOrderLineEntities, VvReverseOrderLineEntity::getTradeOrderLineId); + + VvPackageEntity vvPackageEntityNew = vvPackageDao.selectVvPackageByTrackNumber(vvPackageEntity.getTrackNumber()); + List vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderByTradeOrderIds(tradeOrderLineIds); + // 创建订阅 + KuaiDi100Utils.subscribe(vvPackageEntityNew.getCom(), vvPackageEntityNew.getTrackNumber(), + vvTradeOrderLineEntityList.get(0).getBuyerPhone()); + + for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { + tradeOrderLineEntity.setStatus(ReverseStatusEnums.shipping.getStatus()); // 已经发货 + vvTradeOrderLineDao.updateVvTradeOrderLineById(tradeOrderLineEntity); + vvTradeOrderConvertService.addOrderLineStatusLog(tradeOrderLineEntity.getId(), + OrderStatusEnums.shipping, + appliyReverseRequest.getBuyerId() + "" + ); + } + + + return R.ok(); } @@ -135,8 +163,6 @@ public class AppReverseController { && !ReverseStatusEnums.buyer_apply_return_wait_seller_agree.getStatus().equals(vvReverseOrderEntity.getStatus()) && !ReverseStatusEnums.seller_agree_return_wait_buyer_post.getStatus().equals(vvReverseOrderEntity.getStatus())) { - - return R.error("逆向订单状态非buyer_apply_reverse_wait_seller_agree 和 seller_agree_return_wait_buyer_post,订单不允许关闭 "); }