diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/AppDeliveredDTO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/AppDeliveredDTO.java new file mode 100644 index 0000000..5407f11 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/AppDeliveredDTO.java @@ -0,0 +1,20 @@ +package com.heyu.api.alibaba.request.mm.order; + + +import lombok.Data; + +import java.util.List; + +@Data +public class AppDeliveredDTO { + + /*** + * 子订单号 + */ + private List tradeOrderLineIds; + + + +} + + diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java index 9cf7ca0..8e9166d 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java @@ -4,6 +4,7 @@ package com.heyu.api.controller.vv; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.metadata.IPage; import com.heyu.api.alibaba.request.mm.enums.OrderStatusEnums; +import com.heyu.api.alibaba.request.mm.order.AppDeliveredDTO; import com.heyu.api.alibaba.request.mm.order.resp.*; import com.heyu.api.alibaba.request.vv.AppOrderRequest; import com.heyu.api.data.dao.vv.*; @@ -100,11 +101,11 @@ public class AppOrderController { for (VvTradeOrderEntity vvTradeOrderEntity : vvTradeOrderEntities) { tradeOrderIds.add(vvTradeOrderEntity.getId()); } - List list = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderIds(tradeOrderIds,vvOrderRequest.getStatus()); + List list = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderIds(tradeOrderIds, vvOrderRequest.getStatus()); List trackNumbers = new ArrayList<>(); for (VvTradeOrderLineEntity vvTradeOrderLineEntity : list) { - if(StringUtils.isNotBlank(vvTradeOrderLineEntity.getTrackNumber())){ + if (StringUtils.isNotBlank(vvTradeOrderLineEntity.getTrackNumber())) { trackNumbers.add(vvTradeOrderLineEntity.getTrackNumber()); } } @@ -312,4 +313,31 @@ public class AppOrderController { vvTradeOrderDao.updateByBuerIdAndIds(OrderStatusEnums.delete.getStatus(), vvOrderRequest.getBuyerId(), vvOrderRequest.getIds()); return R.ok(); } + + + /*** + * 订单 妥投 + */ + @RequestMapping("/delivered") + public R topack(@RequestBody AppDeliveredDTO vvDeliveredDTO) { + List vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(vvDeliveredDTO.getTradeOrderLineIds()); + for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { + if (!OrderStatusEnums.shipping.getStatus().equals(tradeOrderLineEntity.getStatus())) { + return R.error("订单状态不对"); + } + } + for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { + tradeOrderLineEntity.setStatus(OrderStatusEnums.delivered.getStatus()); + vvTradeOrderLineDao.updateVvTradeOrderLineById(tradeOrderLineEntity); + } + Long tradeOrderId = vvTradeOrderLineEntityList.get(0).getTradeOrderId(); + List countList = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderIdNEStatus(tradeOrderId, OrderStatusEnums.delivered.getStatus()); + if (CollectionUtils.isEmpty(countList)) { + VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderDao.selectVvTradeOrderById(tradeOrderId); + vvTradeOrderEntity.setStatus(OrderStatusEnums.delivered.getStatus()); + vvTradeOrderDao.updateVvTradeOrderById(vvTradeOrderEntity); + } + return R.ok(); + } + }