提交修改

This commit is contained in:
quyixiao 2025-08-25 23:24:26 +08:00
parent 882e3dcbda
commit c3e661d4c0
5 changed files with 144 additions and 15 deletions

View File

@ -53,5 +53,20 @@ public interface VvTradeOrderLineDao extends BaseMapper<VvTradeOrderLineEntity>
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByTradeOrderId(Long tradeOrderId);
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByTradeOrderIdNEStatus(Long tradeOrderId,
@IF @NE String status);
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByTradeOrderIdStatus(Long tradeOrderId,
@IF String status);
}

View File

@ -0,0 +1,20 @@
package com.heyu.api.alibaba.request.mm.order;
import lombok.Data;
import java.util.List;
@Data
public class VvDeliveredDTO {
/***
* 子订单号
*/
private List<Long> tradeOrderLineIds;
}

View File

@ -1,9 +1,11 @@
package com.heyu.api.alibaba.request.mm.order;
import com.alibaba.fastjson.JSON;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@Data
@ -32,6 +34,32 @@ public class VvToPackDTO {
private BigDecimal shippingAmount;
public static void main(String[] args) {
VvToPackDTO vvToPackDTO = new VvToPackDTO();
List<Long> tradeOrderLineIds = new ArrayList<>();
tradeOrderLineIds.add(6L);
tradeOrderLineIds.add(7L);
tradeOrderLineIds.add(8L);
List<String> packageImageUrls = new ArrayList<>();
packageImageUrls.add("ioewoie");
packageImageUrls.add("ioewoi2");
vvToPackDTO.setTrackNumber("3");
vvToPackDTO.setTradeOrderLineIds(tradeOrderLineIds);
vvToPackDTO.setPackageImageUrls(packageImageUrls);
vvToPackDTO.setLogisticsCompany("顺丰");
vvToPackDTO.setShippingFrom("浙江 ");
vvToPackDTO.setShippingAmount(new BigDecimal("0.01"));
System.out.println(JSON.toJSONString(vvToPackDTO));
}
}

View File

@ -0,0 +1,20 @@
package com.heyu.api.alibaba.request.mm.order;
import lombok.Data;
import java.util.List;
@Data
public class VvUnpackDTO {
/***
* 子订单号
*/
private List<Long> tradeOrderLineIds;
}

View File

@ -5,6 +5,7 @@ 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.VVOrderRequest;
import com.heyu.api.alibaba.request.mm.order.VvDeliveredDTO;
import com.heyu.api.alibaba.request.mm.order.VvToPackDTO;
import com.heyu.api.alibaba.request.mm.order.resp.PackageDTO;
import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp;
@ -98,11 +99,7 @@ public class OrderController {
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : list) {
trackNumbers.add(vvTradeOrderLineEntity.getTrackNumber());
}
Map<String, VvPackageEntity> vvPackageEntityMap = new HashMap<>();
if (CollectionUtils.isNotEmpty(trackNumbers)) {
List<VvPackageEntity> packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers);
for (VvPackageEntity packageEntity : packageEntities) {
@ -172,7 +169,11 @@ public class OrderController {
@RequestMapping("/topack")
public R topack(@RequestBody VvToPackDTO vvOrderRequest) {
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(vvOrderRequest.getTradeOrderLineIds());
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
if(!OrderStatusEnums.wait_shipping.getStatus().equals(tradeOrderLineEntity.getStatus())){
return R.error("订单状态不对");
}
}
VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderDao.selectVvTradeOrderById(vvTradeOrderLineEntityList.get(0).getTradeOrderId());
VvPackageEntity vvPackageEntity = new VvPackageEntity();
@ -192,19 +193,64 @@ public class OrderController {
tradeOrderLineEntity.setStatus(OrderStatusEnums.shipping.getStatus()); // 已经发货
vvTradeOrderLineDao.updateVvTradeOrderLineById(tradeOrderLineEntity);
}
List<VvTradeOrderLineEntity> vvTradeOrderLineEntities = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderId(vvTradeOrderEntity.getId());
boolean flag = true;
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntities) {
if (OrderStatusEnums.wait_shipping.getStatus().equals(vvTradeOrderLineEntity.getStatus())) {
flag = false;
}
}
if (flag) {
List<VvTradeOrderLineEntity> vvTradeOrderLineEntities = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderIdStatus(vvTradeOrderEntity.getId()
, OrderStatusEnums.wait_shipping.getStatus());
if (CollectionUtils.isEmpty(vvTradeOrderLineEntities)) {
vvTradeOrderEntity.setStatus(OrderStatusEnums.shipping.getStatus());
vvTradeOrderDao.updateVvTradeOrderById(vvTradeOrderEntity);
}
return R.ok();
}
/***
* 订单打包
*/
@RequestMapping("/unpack")
public R unpack(@RequestBody VvToPackDTO vvOrderRequest) {
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(vvOrderRequest.getTradeOrderLineIds());
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
tradeOrderLineEntity.setStatus(OrderStatusEnums.wait_shipping.getStatus());
tradeOrderLineEntity.setTrackNumber(null);
vvTradeOrderLineDao.updateCoverVvTradeOrderLineById(tradeOrderLineEntity);
}
Long tradeOrderId = vvTradeOrderLineEntityList.get(0).getTradeOrderId();
VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderDao.selectVvTradeOrderById(tradeOrderId);
vvTradeOrderEntity.setStatus(OrderStatusEnums.wait_shipping.getStatus());
vvTradeOrderDao.updateVvTradeOrderById(vvTradeOrderEntity);
return R.ok();
}
/***
* 订单打包
*/
@RequestMapping("/delivered")
public R topack(@RequestBody VvDeliveredDTO vvDeliveredDTO) {
List<VvTradeOrderLineEntity> 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<VvTradeOrderLineEntity> 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();
}
}