From eebebc527d21b09267d7e6b9d0f2c5aa97129bbe Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Sun, 9 Nov 2025 14:04:15 +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 --- .../entity/vv/VvTradeOrderLineEntity.java | 114 ++++++++++++++++++ .../java/com/test/xxx/MysqlMain_update.java | 3 +- .../api/alibaba/request/mm/AdminBaseDTO.java | 16 +++ .../api/alibaba/request/mm/VvUnPackDTO.java | 17 +++ .../request/mm/order/VvDeliveredDTO.java | 3 +- .../request/mm/order/VvShippedDTO.java | 7 +- .../alibaba/request/mm/order/VvToPackDTO.java | 32 +++-- .../controller/mm/AdminOrderController.java | 38 +++--- 8 files changed, 188 insertions(+), 42 deletions(-) create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/mm/AdminBaseDTO.java create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/mm/VvUnPackDTO.java diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineEntity.java index f431e4e..4622b44 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineEntity.java +++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineEntity.java @@ -78,6 +78,12 @@ private static final long serialVersionUID = 1L; public final static String gmt_close = CLASS_NAME + "gmt_close"; // 订单关闭时间 public final static String prepay_id = CLASS_NAME + "prepay_id"; // 预支付id public final static String buyer_address_id = CLASS_NAME + "buyer_address_id"; // 买家地址id + public final static String gmt_shipped = CLASS_NAME + "gmt_shipped"; // 是否已经签收 + public final static String gmt_unpack = CLASS_NAME + "gmt_unpack"; // 重新打包的时间 + public final static String shipped_user = CLASS_NAME + "shipped_user"; // shipped的用户 + public final static String delivered_user = CLASS_NAME + "delivered_user"; // delivered的用户 + public final static String shipping_user = CLASS_NAME + "shipping_user"; // shipping的用户 + public final static String unpack_user = CLASS_NAME + "unpack_user"; // unpack的用户 // @TableId(value = "id", type = IdType.AUTO) private Long id; @@ -193,6 +199,18 @@ private static final long serialVersionUID = 1L; private String prepayId; //买家地址id private Long buyerAddressId; + //是否已经签收 + private Date gmtShipped; + //重新打包的时间 + private Date gmtUnpack; + //shipped的用户 + private String shippedUser; + //delivered的用户 + private String deliveredUser; + //shipping的用户 + private String shippingUser; + //unpack的用户 + private String unpackUser; /** * * @return @@ -1048,6 +1066,96 @@ private static final long serialVersionUID = 1L; this.buyerAddressId = buyerAddressId; } + /** + * 是否已经签收 + * @return + */ + public Date getGmtShipped() { + return gmtShipped; + } + /** + * 是否已经签收 + * @param gmtShipped + */ + public void setGmtShipped(Date gmtShipped) { + this.gmtShipped = gmtShipped; + } + + /** + * 重新打包的时间 + * @return + */ + public Date getGmtUnpack() { + return gmtUnpack; + } + /** + * 重新打包的时间 + * @param gmtUnpack + */ + public void setGmtUnpack(Date gmtUnpack) { + this.gmtUnpack = gmtUnpack; + } + + /** + * shipped的用户 + * @return + */ + public String getShippedUser() { + return shippedUser; + } + /** + * shipped的用户 + * @param shippedUser + */ + public void setShippedUser(String shippedUser) { + this.shippedUser = shippedUser; + } + + /** + * delivered的用户 + * @return + */ + public String getDeliveredUser() { + return deliveredUser; + } + /** + * delivered的用户 + * @param deliveredUser + */ + public void setDeliveredUser(String deliveredUser) { + this.deliveredUser = deliveredUser; + } + + /** + * shipping的用户 + * @return + */ + public String getShippingUser() { + return shippingUser; + } + /** + * shipping的用户 + * @param shippingUser + */ + public void setShippingUser(String shippingUser) { + this.shippingUser = shippingUser; + } + + /** + * unpack的用户 + * @return + */ + public String getUnpackUser() { + return unpackUser; + } + /** + * unpack的用户 + * @param unpackUser + */ + public void setUnpackUser(String unpackUser) { + this.unpackUser = unpackUser; + } + @Override public String toString() { return "VvTradeOrderLineEntity{" + @@ -1108,6 +1216,12 @@ private static final long serialVersionUID = 1L; ",gmtClose=" + gmtClose + ",prepayId=" + prepayId + ",buyerAddressId=" + buyerAddressId + + ",gmtShipped=" + gmtShipped + + ",gmtUnpack=" + gmtUnpack + + ",shippedUser=" + shippedUser + + ",deliveredUser=" + deliveredUser + + ",shippingUser=" + shippingUser + + ",unpackUser=" + unpackUser + "}"; } } \ No newline at end of file diff --git a/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java b/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java index d64201f..f413ee9 100644 --- a/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java +++ b/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java @@ -49,7 +49,8 @@ public class MysqlMain_update { List list = new ArrayList(); list.add(new TablesBean("vv_trade_order_line")); - list.add(new TablesBean("vv_trade_order")); + + //list.add(new TablesBean("vv_trade_order")); Map map = MysqlUtil2ShowCreateTable.getComments(); diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/AdminBaseDTO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/AdminBaseDTO.java new file mode 100644 index 0000000..8898bac --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/AdminBaseDTO.java @@ -0,0 +1,16 @@ +package com.heyu.api.alibaba.request.mm; + +import lombok.Data; + +@Data +public class AdminBaseDTO { + /*** + * 用户名 + */ + private String userName; + + /*** + * + */ + private Long adminId; +} diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/VvUnPackDTO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/VvUnPackDTO.java new file mode 100644 index 0000000..93eb4c1 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/VvUnPackDTO.java @@ -0,0 +1,17 @@ +package com.heyu.api.alibaba.request.mm; + + +import lombok.Data; + +import java.util.List; + +@Data +public class VvUnPackDTO extends AdminBaseDTO{ + /*** + * 子订单号 ,是否必填写 : 是 + */ + private List tradeOrderLineIds; + +} + + diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvDeliveredDTO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvDeliveredDTO.java index 86e13f3..a4d5200 100644 --- a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvDeliveredDTO.java +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvDeliveredDTO.java @@ -1,12 +1,13 @@ package com.heyu.api.alibaba.request.mm.order; +import com.heyu.api.alibaba.request.mm.AdminBaseDTO; import lombok.Data; import java.util.List; @Data -public class VvDeliveredDTO { +public class VvDeliveredDTO extends AdminBaseDTO { /*** * 子订单号 diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvShippedDTO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvShippedDTO.java index 85f56c2..5620ffc 100644 --- a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvShippedDTO.java +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvShippedDTO.java @@ -1,17 +1,16 @@ package com.heyu.api.alibaba.request.mm.order; +import com.heyu.api.alibaba.request.mm.AdminBaseDTO; import lombok.Data; -import java.util.List; - @Data -public class VvShippedDTO { +public class VvShippedDTO extends AdminBaseDTO { /*** * 子订单号 */ - private List tradeOrderLineIds; + private String trackNumber; diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvToPackDTO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvToPackDTO.java index ea242cd..9ff39ac 100644 --- a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvToPackDTO.java +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvToPackDTO.java @@ -2,6 +2,7 @@ package com.heyu.api.alibaba.request.mm.order; import com.alibaba.fastjson.JSON; +import com.heyu.api.alibaba.request.mm.AdminBaseDTO; import lombok.Data; import java.math.BigDecimal; @@ -9,53 +10,48 @@ import java.util.ArrayList; import java.util.List; @Data -public class VvToPackDTO { +public class VvToPackDTO extends AdminBaseDTO { /*** - * 子订单号 + * 子订单号 ,是否必填写 : 是 */ private List tradeOrderLineIds; - - //包裹图片url + //包裹图片url , 是否必填写 : 否 private List packageImageUrls; - //订单追踪号 + //订单追踪号 , 是否必填写 : 是 private String trackNumber; - //物流公司 + //物流公司 , 是否必填写 : 否 private String logisticsCompany; - //发货地址 + //发货地址 : 是否必填写 : 否 private String shippingFrom; - - //运费 - private BigDecimal shippingAmount; + //运费 是否必填写 : 否 + private BigDecimal shippingAmount = BigDecimal.ZERO; public static void main(String[] args) { VvToPackDTO vvToPackDTO = new VvToPackDTO(); List tradeOrderLineIds = new ArrayList<>(); - tradeOrderLineIds.add(6L); - tradeOrderLineIds.add(7L); - tradeOrderLineIds.add(8L); - + tradeOrderLineIds.add(202511172478L); List packageImageUrls = new ArrayList<>(); packageImageUrls.add("ioewoie"); packageImageUrls.add("ioewoi2"); - vvToPackDTO.setTrackNumber("3"); + vvToPackDTO.setTrackNumber("JT3137200563019"); vvToPackDTO.setTradeOrderLineIds(tradeOrderLineIds); vvToPackDTO.setPackageImageUrls(packageImageUrls); + vvToPackDTO.setLogisticsCompany("极兔"); + //vvToPackDTO.setShippingFrom("浙江 "); - vvToPackDTO.setLogisticsCompany("顺丰"); +// vvToPackDTO.setShippingAmount(new BigDecimal("0.01")); - vvToPackDTO.setShippingFrom("浙江 "); - vvToPackDTO.setShippingAmount(new BigDecimal("0.01")); System.out.println(JSON.toJSONString(vvToPackDTO)); 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 656e0dd..a73e84c 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 @@ -3,6 +3,7 @@ package com.heyu.api.controller.mm; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.heyu.api.alibaba.request.mm.VvUnPackDTO; import com.heyu.api.alibaba.request.mm.enums.OrderStatusEnums; import com.heyu.api.alibaba.request.mm.enums.ShippingTypeEnums; import com.heyu.api.alibaba.request.mm.order.*; @@ -161,13 +162,12 @@ public class AdminOrderController { return R.ok().setData(vvOrderDetailResp); } - /*** - * 订单发货 - * http://localhost:8888/mm/order/toShipping + * 打包并发货 + * http://localhost:8888/mm/order/toPackAndShipping */ - @RequestMapping("/toShipping") - public R toShipping(@RequestBody VvToPackDTO vvOrderRequest) { + @RequestMapping("/toPackAndShipping") + public R toPackAndShipping(@RequestBody VvToPackDTO vvOrderRequest) { List vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(vvOrderRequest.getTradeOrderLineIds()); for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { if (!OrderStatusEnums.wait_shipping.getStatus().equals(tradeOrderLineEntity.getStatus())) { @@ -175,11 +175,16 @@ public class AdminOrderController { } } VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderDao.selectVvTradeOrderById(vvTradeOrderLineEntityList.get(0).getTradeOrderId()); - VvPackageEntity vvPackageEntity = new VvPackageEntity(); + + VvPackageEntity vvPackageEntity = vvPackageDao.selectVvPackageByTrackNumber(vvOrderRequest.getTrackNumber()); + if(vvPackageEntity == null ){ + vvPackageEntity = new VvPackageEntity(); + } if (CollectionUtils.isNotEmpty(vvOrderRequest.getPackageImageUrls())) { vvPackageEntity.setPackageImageUrl(JSON.toJSONString(vvOrderRequest.getPackageImageUrls())); } + vvPackageEntity.setLogisticsCompany(vvOrderRequest.getLogisticsCompany()); vvPackageEntity.setShippingAmount(vvOrderRequest.getShippingAmount()); vvPackageEntity.setShippingFrom(vvOrderRequest.getShippingFrom()); @@ -187,7 +192,6 @@ public class AdminOrderController { vvPackageEntity.setTrackNumber(vvOrderRequest.getTrackNumber()); vvPackageEntity.setShippingType(ShippingTypeEnums.order.getType()); vvPackageDao.insertOrUpdateVvPackage(vvPackageEntity); - for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { tradeOrderLineEntity.setTrackNumber(vvOrderRequest.getTrackNumber()); tradeOrderLineEntity.setStatus(OrderStatusEnums.shipping.getStatus()); // 已经发货 @@ -197,18 +201,17 @@ public class AdminOrderController { return R.ok(); } - /*** - * 订单打包 + * 取消打包 */ @RequestMapping("/unpack") - public R unpack(@RequestBody VvToPackDTO vvOrderRequest) { - + public R unpack(@RequestBody VvUnPackDTO vvOrderRequest) { List vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(vvOrderRequest.getTradeOrderLineIds()); - for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { tradeOrderLineEntity.setStatus(OrderStatusEnums.wait_shipping.getStatus()); tradeOrderLineEntity.setTrackNumber(null); + tradeOrderLineEntity.setGmtUnpack(new Date()); + tradeOrderLineEntity.setUnpackUser(vvOrderRequest.getUserName()); vvTradeOrderLineDao.updateCoverVvTradeOrderLineById(tradeOrderLineEntity); } return R.ok(); @@ -219,7 +222,7 @@ public class AdminOrderController { */ @RequestMapping("/shipped") public R shipped(@RequestBody VvShippedDTO vvDeliveredDTO) { - List vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(vvDeliveredDTO.getTradeOrderLineIds()); + List vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTrackNumber(vvDeliveredDTO.getTrackNumber()); for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { if (!OrderStatusEnums.shipping.getStatus().equals(tradeOrderLineEntity.getStatus())) { return R.error("订单状态不对"); @@ -227,14 +230,14 @@ public class AdminOrderController { } for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { tradeOrderLineEntity.setStatus(OrderStatusEnums.shipped.getStatus()); - tradeOrderLineEntity.setGmtDelivered(new Date()); + tradeOrderLineEntity.setGmtShipped(new Date()); + tradeOrderLineEntity.setUnpackUser(vvDeliveredDTO.getUserName()); vvTradeOrderLineDao.updateVvTradeOrderLineById(tradeOrderLineEntity); } + return R.ok(); } - - /*** * 订单妥投 */ @@ -249,6 +252,7 @@ public class AdminOrderController { for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { tradeOrderLineEntity.setStatus(OrderStatusEnums.delivered.getStatus()); tradeOrderLineEntity.setGmtDelivered(new Date()); + tradeOrderLineEntity.setDeliveredUser(vvDeliveredDTO.getUserName()); vvTradeOrderLineDao.updateVvTradeOrderLineById(tradeOrderLineEntity); } return R.ok(); @@ -260,9 +264,7 @@ public class AdminOrderController { @RequestMapping("/upload/settlement/prove") public R settlement(@RequestBody VvSettleProveDTO vvSettleProveDTO) { List vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(vvSettleProveDTO.getTradeOrderLineIds()); - VvSettlementProveEntity vvSettlementProveEntity = new VvSettlementProveEntity(); - vvSettlementProveDao.insertOrUpdateVvSettlementProve(vvSettlementProveEntity); for (ResourceDTO resource : vvSettleProveDTO.getResources()) { VvSettlementProveDetailEntity vvSettlementProveDetailEntity = new VvSettlementProveDetailEntity();