diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPackageEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPackageEntity.java index 7002025..c97ef2f 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPackageEntity.java +++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPackageEntity.java @@ -10,7 +10,7 @@ import java.util.Date;import java.util.Date; /** *包裹表 * @author quyixiao -* @since 2025-10-23 +* @since 2025-10-28 */ @Data @@ -41,6 +41,7 @@ private static final long serialVersionUID = 1L; public final static String gmt_send_mq_delivered = CLASS_NAME + "gmt_send_mq_delivered"; // 发送消息mq,确认妥投 public final static String gmt_delivered = CLASS_NAME + "gmt_delivered"; // 已经妥投 public final static String delivered_by = CLASS_NAME + "delivered_by"; // system:系统,user:用户 ,admin 后台确认 + public final static String shipping_type = CLASS_NAME + "shipping_type"; // order 正向 , reverse 逆向 // @TableId(value = "id", type = IdType.AUTO) private Long id; @@ -82,6 +83,8 @@ private static final long serialVersionUID = 1L; private Date gmtDelivered; //system:系统,user:用户 ,admin 后台确认 private String deliveredBy; + //order 正向 , reverse 逆向 + private String shippingType; /** * * @return @@ -382,6 +385,21 @@ private static final long serialVersionUID = 1L; this.deliveredBy = deliveredBy; } + /** + * order 正向 , reverse 逆向 + * @return + */ + public String getShippingType() { + return shippingType; + } + /** + * order 正向 , reverse 逆向 + * @param shippingType + */ + public void setShippingType(String shippingType) { + this.shippingType = shippingType; + } + @Override public String toString() { return "VvPackageEntity{" + @@ -405,6 +423,7 @@ private static final long serialVersionUID = 1L; ",gmtSendMqDelivered=" + gmtSendMqDelivered + ",gmtDelivered=" + gmtDelivered + ",deliveredBy=" + deliveredBy + + ",shippingType=" + shippingType + "}"; } } \ No newline at end of file diff --git a/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java b/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java index 5f03b03..f985976 100644 --- a/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java +++ b/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java @@ -94,7 +94,7 @@ public class MysqlMain_insert { List list = new ArrayList(); - list.add(new TablesBean("vv_draw_cash_record")); + list.add(new TablesBean("vv_package")); diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/enums/ShippingTypeEnums.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/enums/ShippingTypeEnums.java new file mode 100644 index 0000000..07725b6 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/enums/ShippingTypeEnums.java @@ -0,0 +1,36 @@ +package com.heyu.api.alibaba.request.mm.enums; + +public enum ShippingTypeEnums { + + + order("order","正向"), + reverse("reverse","逆向"), + + ; + + ShippingTypeEnums(String type, String desc) { + this.type = type; + this.desc = desc; + } + + private String type; + + private String desc; + + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getDesc() { + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + } +} 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 90f2a90..b5f9fd3 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 @@ -4,6 +4,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.enums.OrderStatusEnums; +import com.heyu.api.alibaba.request.mm.enums.ShippingTypeEnums; import com.heyu.api.alibaba.request.mm.order.*; import com.heyu.api.alibaba.request.mm.order.resp.PackageDTO; import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp; @@ -86,11 +87,10 @@ public class AdminOrderController { List vvTradeOrderLineEntities = pageUtils.getRows(); // 获取订单 - List tradeOrderIds = SanUtils.list2listFilterNull(vvTradeOrderLineEntities,VvTradeOrderLineEntity::getTradeOrderId ); + List tradeOrderIds = SanUtils.list2listFilterNull(vvTradeOrderLineEntities, VvTradeOrderLineEntity::getTradeOrderId); List tradeOrderEntities = vvTradeOrderDao.selectVvTradeOrderByTradeOrderIds(tradeOrderIds); - // 对订单进行排序,必须按照子单的顺序 Map vvTradeOrderEntityMap = SanUtils.list2Map(tradeOrderEntities, VvTradeOrderEntity::getId); List vvTradeOrderEntities = new ArrayList<>(); @@ -191,7 +191,7 @@ public class AdminOrderController { public R toShipping(@RequestBody VvToPackDTO vvOrderRequest) { List vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(vvOrderRequest.getTradeOrderLineIds()); for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { - if(!OrderStatusEnums.wait_shipping.getStatus().equals(tradeOrderLineEntity.getStatus())){ + if (!OrderStatusEnums.wait_shipping.getStatus().equals(tradeOrderLineEntity.getStatus())) { return R.error("订单状态不对"); } } @@ -206,14 +206,10 @@ public class AdminOrderController { vvPackageEntity.setShippingFrom(vvOrderRequest.getShippingFrom()); vvPackageEntity.setShippingTo(vvTradeOrderEntity.getContry() + vvTradeOrderEntity.getCity() + vvTradeOrderEntity.getDistrict() + vvTradeOrderEntity.getBuyerDetailAddress()); vvPackageEntity.setTrackNumber(vvPackageEntity.getTrackNumber()); + vvPackageEntity.setShippingType(ShippingTypeEnums.order.getType()); vvPackageDao.insertOrUpdateVvPackage(vvPackageEntity); - - - - - for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { tradeOrderLineEntity.setTrackNumber(vvOrderRequest.getTrackNumber()); tradeOrderLineEntity.setStatus(OrderStatusEnums.shipping.getStatus()); // 已经发货 @@ -224,7 +220,6 @@ public class AdminOrderController { } - /*** * 订单打包 */ @@ -248,7 +243,7 @@ public class AdminOrderController { public R delivered(@RequestBody VvDeliveredDTO vvDeliveredDTO) { List vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(vvDeliveredDTO.getTradeOrderLineIds()); for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { - if(!OrderStatusEnums.shipping.getStatus().equals(tradeOrderLineEntity.getStatus())){ + if (!OrderStatusEnums.shipping.getStatus().equals(tradeOrderLineEntity.getStatus())) { return R.error("订单状态不对"); } } @@ -262,7 +257,6 @@ public class AdminOrderController { } - /*** * 上传结算证据 */ @@ -273,8 +267,6 @@ public class AdminOrderController { VvSettlementProveEntity vvSettlementProveEntity = new VvSettlementProveEntity(); vvSettlementProveDao.insertOrUpdateVvSettlementProve(vvSettlementProveEntity); - - for (ResourceDTO resource : vvSettleProveDTO.getResources()) { VvSettlementProveDetailEntity vvSettlementProveDetailEntity = new VvSettlementProveDetailEntity(); vvSettlementProveDetailEntity.setType(resource.getType()); 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 13e0aa9..f949c25 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 @@ -1,8 +1,10 @@ package com.heyu.api.controller.vv; +import com.alibaba.fastjson.JSON; import com.heyu.api.alibaba.request.mm.enums.ReverseStatusEnums; import com.heyu.api.alibaba.request.mm.enums.ReverseUploadSceneEnums; +import com.heyu.api.alibaba.request.mm.enums.ShippingTypeEnums; import com.heyu.api.alibaba.request.mm.order.ResourceDTO; import com.heyu.api.alibaba.request.mm.reverse.AppliyReverseCloseRequest; import com.heyu.api.alibaba.request.mm.reverse.AppliyReverseProveRequest; @@ -21,6 +23,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; @@ -46,6 +49,9 @@ public class AppReverseController { @Autowired private VvReverseOrderProveDao vvReverseOrderProveDao; + @Autowired + private VvPackageDao vvPackageDao; + /*** * /app/reverse/add * @@ -79,6 +85,10 @@ public class AppReverseController { BigDecimal originRefundAmount = SanUtils.sum(vvTradeOrderLineEntityList, VvTradeOrderLineEntity::getPromotionPrice); // 本来应该退款金额 + if (realRefundAmount.compareTo(originRefundAmount) > 0) { + return R.error("退款金额不能超过商品总额度"); + } + vvReverseOrderEntity.setRefundTradeOrderLineCount(tradeOrderLineIds.size()); vvReverseOrderEntity.setRefundType(appliyReverseRequest.getRefundType()); vvReverseOrderEntity.setGmtBuyerApplyRefund(new Date()); @@ -139,7 +149,6 @@ public class AppReverseController { return R.ok("申请退款成功"); } - /** * 退货退款 : /app/reverse/tracknumber * @@ -156,20 +165,25 @@ public class AppReverseController { vvReverseOrderEntity.setGmtBuyerPost(new Date()); vvReverseOrderDao.updateVvReverseOrderById(vvReverseOrderEntity); - + List packageImageUrls = new ArrayList<>(); if (CollectionUtils.isNotEmpty(appliyReverseRequest.getResourceDTOList())) { for (ResourceDTO resourceDTO : appliyReverseRequest.getResourceDTOList()) { - VvReverseOrderProveEntity vvReverseOrderProveEntity = new VvReverseOrderProveEntity(); vvReverseOrderProveEntity.setReverseOrderId(vvReverseOrderEntity.getId()); vvReverseOrderProveEntity.setResourceUrl(resourceDTO.getResourceUrl()); vvReverseOrderProveEntity.setType(resourceDTO.getType()); vvReverseOrderProveEntity.setScene(ReverseUploadSceneEnums.upload_track_number.getCode()); - + packageImageUrls.add(resourceDTO.getResourceUrl()); vvReverseOrderProveDao.insertOrUpdateVvReverseOrderProve(vvReverseOrderProveEntity); } } + VvPackageEntity vvPackageEntity = new VvPackageEntity(); + vvPackageEntity.setPackageImageUrl(JSON.toJSONString(packageImageUrls)); + vvPackageEntity.setShippingAmount(BigDecimal.ZERO); + vvPackageEntity.setShippingType(ShippingTypeEnums.reverse.getType()); + vvPackageEntity.setTrackNumber(vvPackageEntity.getTrackNumber()); + vvPackageDao.insertOrUpdateVvPackage(vvPackageEntity); return R.ok(); }