diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineStatusLogDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineStatusLogDao.java index a974a8a..bcebb73 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineStatusLogDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineStatusLogDao.java @@ -7,10 +7,16 @@ package com.heyu.api.data.dao.vv; * @author quyixiao * @since 2025-11-16 */ -import com.heyu.api.data.entity.vv.VvTradeOrderLineStatusLogEntity; + import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.heyu.api.data.entity.vv.VvTradeOrderLineStatusLogEntity; +import com.lz.mybatis.plugin.annotations.IN; +import com.lz.mybatis.plugin.annotations.OrderBy; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + +import java.util.List; + @Mapper public interface VvTradeOrderLineStatusLogDao extends BaseMapper { @@ -21,16 +27,16 @@ public interface VvTradeOrderLineStatusLogDao extends BaseMapper selectVvTradeOrderLineStatusLogByIdList(@IN List tradeOrderLineId); } \ No newline at end of file diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VVOrderDetailRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VVOrderDetailRequest.java index a0f07ec..9f6f85a 100644 --- a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VVOrderDetailRequest.java +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VVOrderDetailRequest.java @@ -9,10 +9,6 @@ public class VVOrderDetailRequest { * 订单id */ private Long tradeOrderId; - - - - } diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/AdminPackageDTO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/AdminPackageDTO.java index 45b48b7..9a3b2a7 100644 --- a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/AdminPackageDTO.java +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/AdminPackageDTO.java @@ -1,6 +1,7 @@ package com.heyu.api.alibaba.request.mm.order.resp; import com.heyu.api.data.entity.vv.VvPackageEntity; +import com.heyu.api.data.entity.vv.VvTradeOrderLineStatusLogEntity; import lombok.Data; import java.util.ArrayList; @@ -10,8 +11,10 @@ import java.util.List; @Data public class AdminPackageDTO extends VvPackageEntity { + private List vvTradeOrderLineDOList = new ArrayList<>(); - private List orderActionList; + + private List vvTradeOrderLineStatusLogList ; } diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VVOrderDetailResp.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VVOrderDetailResp.java index d44e51d..b033431 100644 --- a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VVOrderDetailResp.java +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VVOrderDetailResp.java @@ -7,8 +7,6 @@ import lombok.Data; @Data public class VVOrderDetailResp { - - /*** * 订单行信息 */ diff --git a/api-third/src/main/java/com/heyu/api/service/impl/VvTradeOrderConvertServiceImpl.java b/api-third/src/main/java/com/heyu/api/service/impl/VvTradeOrderConvertServiceImpl.java index d439927..1da7b7d 100644 --- a/api-third/src/main/java/com/heyu/api/service/impl/VvTradeOrderConvertServiceImpl.java +++ b/api-third/src/main/java/com/heyu/api/service/impl/VvTradeOrderConvertServiceImpl.java @@ -27,13 +27,10 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic @Autowired private VvPackageDao vvPackageDao; - - @Autowired private VvTradeOrderLineStatusLogDao vvTradeOrderLineStatusLogDao; - @Override public List convertTradeOrderLineResp(List vvTradeOrderEntities, List list,boolean isApp) { @@ -90,11 +87,9 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic for (Long tradeOrderLineId : tradeOrderLineIdList) { addOrderLineStatusLog(tradeOrderLineId, status, changeStatusUser, reason); } - return tradeOrderLineIdList.size(); } - @Override public int addOrderLineStatusLog(Long tradeOrderLineId, String status, String changeStatusUser, String... reason) { VvTradeOrderLineStatusLogEntity entity = new VvTradeOrderLineStatusLogEntity(); @@ -105,9 +100,8 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic entity.setReason(reason[0]); } entity.setTraceId(LogAspect.threadLocalNo.get()); + vvTradeOrderLineStatusLogDao.insertVvTradeOrderLineStatusLog(entity); return 1; } - - } diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminOrderController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminOrderController.java index 5e40a13..51b511a 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminOrderController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminOrderController.java @@ -5,8 +5,10 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.metadata.IPage; import com.heyu.api.alibaba.request.mm.VvUnShippingDTO; import com.heyu.api.alibaba.request.mm.order.*; +import com.heyu.api.alibaba.request.mm.order.resp.AdminPackageDTO; import com.heyu.api.alibaba.request.mm.order.resp.VVOrderDetailResp; import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp; +import com.heyu.api.alibaba.request.mm.order.resp.VvTradeOrderLineDO; import com.heyu.api.alibaba.request.mm.reverse.AppliyReverseRequest; import com.heyu.api.data.dao.vv.*; import com.heyu.api.data.dto.PackageDelivedDelayDTO; @@ -66,7 +68,6 @@ public class AdminOrderController { @Autowired private VvBuyerDao vvBuyerDao; - @Value("${eb.config.rabbitQueue.delayQueue}") private String delayQueue; @@ -86,6 +87,8 @@ public class AdminOrderController { @Autowired private VvReverseOrderDao vvReverseOrderDao; + @Autowired + private VvTradeOrderLineStatusLogDao vvTradeOrderLineStatusLogDao; /*** * 列表 @@ -154,7 +157,7 @@ public class AdminOrderController { vvOrderRequest.getModifyTimestampSort() ); - List vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(tradeOrderEntities, list,false); + List vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(tradeOrderEntities, list, false); pageUtils.setRows(vvOrderListResps); return R.ok().setData(pageUtils); @@ -162,31 +165,42 @@ public class AdminOrderController { /*** * 订单详情 - * * /mm/order/detail - * */ @RequestMapping("/detail") public R detail(@RequestBody VVOrderDetailRequest request) { VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderDao.selectVvTradeOrderById(request.getTradeOrderId()); - List vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderId(request.getTradeOrderId()); + List tradeOrderLineIdList = SanUtils.getFieldList(vvTradeOrderLineEntityList, VvTradeOrderLineEntity::getId); + List vvTradeOrderLineStatusLogList = vvTradeOrderLineStatusLogDao.selectVvTradeOrderLineStatusLogByIdList(tradeOrderLineIdList); + Map> tradeOrderLineStatusLogMap = SanUtils.groupBy(vvTradeOrderLineStatusLogList, VvTradeOrderLineStatusLogEntity::getTradeOrderLineId); List vvTradeOrderEntities = SanUtils.asList(vvTradeOrderEntity); List vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(vvTradeOrderEntities, vvTradeOrderLineEntityList, false); - VVOrderDetailResp vvOrderDetailResp = new VVOrderDetailResp(); - vvOrderDetailResp.setVvTradeOrderResp(vvOrderListResps.get(0)); + + if (CollectionUtils.isEmpty(vvOrderListResps)) { + for (VVOrderListResp vvOrderListResp : vvOrderListResps) { + List adminPackageDTOS = vvOrderListResp.getPackageList(); + if (CollectionUtils.isEmpty(adminPackageDTOS)) { + for (AdminPackageDTO adminPackageDTO : adminPackageDTOS) { + if (CollectionUtils.isNotEmpty(adminPackageDTO.getVvTradeOrderLineDOList())) { + VvTradeOrderLineDO tradeOrderLineDO = adminPackageDTO.getVvTradeOrderLineDOList().get(0); + adminPackageDTO.setVvTradeOrderLineStatusLogList(tradeOrderLineStatusLogMap.get(tradeOrderLineDO.getId())); + } + } + } + } + } VvBuyerEntity vvBuyerEntity = vvBuyerDao.selectVvBuyerById(vvTradeOrderEntity.getBuyerId()); - vvOrderDetailResp.setVvBuyerEntity(vvBuyerEntity); - return R.ok().setData(vvOrderDetailResp); } + /*** * 打包并发货 * http://localhost:8888/mm/order/toShipping @@ -342,12 +356,14 @@ public class AdminOrderController { */ @RequestMapping("/cancel") public R delivered(@RequestBody VvCancelDTO vvCancelDTO) { + List vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderId(vvCancelDTO.getTradeOrderId()); for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) { if (!OrderStatusEnums.wait_shipping.getStatus().equals(vvTradeOrderLineEntity.getStatus())) { return R.error("订单状态不是wait_shipping,不能取消订单"); } } + AppliyReverseRequest appliyReverseRequest = new AppliyReverseRequest(); appliyReverseRequest.setRefundType(RefundTypeEnums.only_refund.getCode()); appliyReverseRequest.setRefundReason("订单取消:" + vvCancelDTO.getCancelReason()); @@ -380,7 +396,6 @@ public class AdminOrderController { vvCancelDTO.getCancelReason() ); } - vvReverseOrderDao.updateVvReverseOrderById(reverseOrderEntity); } return r; @@ -401,6 +416,7 @@ public class AdminOrderController { vvSettlementProveDetailDao.insertOrUpdateVvSettlementProveDetail(vvSettlementProveDetailEntity); } + for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { tradeOrderLineEntity.setSettleStatus(1); // 更新利润 diff --git a/api-web/api-interface/src/main/java/com/heyu/api/listener/delay/handler/DeliveredHandler.java b/api-web/api-interface/src/main/java/com/heyu/api/listener/delay/handler/DeliveredHandler.java index f34ec6e..8b9a729 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/listener/delay/handler/DeliveredHandler.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/listener/delay/handler/DeliveredHandler.java @@ -2,6 +2,7 @@ package com.heyu.api.listener.delay.handler; import com.alibaba.fastjson.JSONObject; +import com.heyu.api.data.dao.vv.VvTradeOrderLineStatusLogDao; import com.heyu.api.data.enums.OrderStatusEnums; import com.heyu.api.data.dao.vv.VvPackageDao; import com.heyu.api.data.dao.vv.VvTradeOrderLineDao; @@ -29,6 +30,10 @@ public class DeliveredHandler extends BaseDelayedHandler { @Autowired private VvTradeOrderLineDao vvTradeOrderLineDao; + + @Autowired + private VvTradeOrderLineStatusLogDao vvTradeOrderLineStatusLogDao; + @Override public R handler(String message) { log.info("DeliveredHandler receive message:{}", message); @@ -45,10 +50,19 @@ public class DeliveredHandler extends BaseDelayedHandler { // 更新子单信息 List vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTrackNumber(vvPackage.getTrackNumber()); for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) { - vvTradeOrderLineEntity.setDeliveredBy(RoleEnums.job.getRole()); + vvTradeOrderLineEntity.setDeliveredUser(RoleEnums.job.getRole()); vvTradeOrderLineEntity.setGmtDelivered(new Date()); vvTradeOrderLineEntity.setStatus(OrderStatusEnums.delivered.getStatus()); vvTradeOrderLineDao.updateVvTradeOrderLineById(vvTradeOrderLineEntity); + + + + + + + + + } return R.ok(); }