소스 검색

feat(order): 更新订单实体结构并优化发货流程

- 修改OrderDeliverServiceImpl中发货单号前缀从"YO"改为"TR"
- 在OrderMain实体中重新排列字段顺序并新增parentOrderNo、subOrderId、subOrderNo等字段
- 新增orderType、shipmentsType和currentLevel字段用于订单类型管理
- 在OrderMainBo和OrderMainVo中同步添加相应的业务对象和视图对象字段
- 将OrderMainServiceImpl中的硬编码订单状态改为使用OrderStatus枚举值
- 统一订单状态设置为PENDING_SHIPMENT待发货状态
- 在OrderProduct相关实体中添加currentLevel字段跟踪当前级数
- 扩展assigneeType类型支持"zy"选项
hurx 1 주 전
부모
커밋
ebb254c2ce

+ 30 - 3
ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/domain/OrderMain.java

@@ -35,15 +35,20 @@ public class OrderMain extends TenantEntity {
     @TableId(value = "id")
     private Long id;
 
+    /**
+     * 订单编号
+     */
+    private String orderNo;
+
     /**
      * 父订单id
      */
     private Long parentOrderId;
 
     /**
-     * 订单编号
+     * 订单编号
      */
-    private String orderNo;
+    private String parentOrderNo;
 
     /**
      * 发货单号
@@ -51,10 +56,30 @@ public class OrderMain extends TenantEntity {
     private String shipmentNo;
 
     /**
-     * 子订单编号
+     * 二级订单id
+     */
+    private Long subOrderId;
+
+    /**
+     * 二级订单编号
      */
     private String subOrderNo;
 
+    /**
+     * 订单类型 0自营 1项目
+     */
+    private String orderType;
+
+    /**
+     * 发货类型 0自营 1供应商 2伙伴商
+     */
+    private String shipmentsType;
+
+    /**
+     * 当前级数
+     */
+    private Integer currentLevel;
+
     /**
      * 所属公司
      */
@@ -312,4 +337,6 @@ public class OrderMain extends TenantEntity {
      */
     private Long contactId;
 
+
+
 }

+ 2 - 1
ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/domain/OrderProduct.java

@@ -202,5 +202,6 @@ public class OrderProduct extends TenantEntity {
      */
     private String brandName;
 
-
+    /*当前级数*/
+    private Integer currentLevel;
 }

+ 1 - 1
ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/domain/OrderProductAssignRule.java

@@ -11,5 +11,5 @@ public class OrderProductAssignRule implements Serializable {
 
     private Long assigneeId;     // 供应商ID 或 伙伴商ID
 
-    private String assigneeType; // "srm" 或 "bp"
+    private String assigneeType; // "srm" 或 "bp"或者"zy"
 }

+ 28 - 3
ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/domain/bo/OrderMainBo.java

@@ -31,15 +31,20 @@ public class OrderMainBo extends BaseEntity {
      */
     private Long id;
 
+    /**
+     * 订单编号
+     */
+    private String orderNo;
+
     /**
      * 父订单id
      */
     private Long parentOrderId;
 
     /**
-     * 订单编号
+     * 订单编号
      */
-    private String orderNo;
+    private String parentOrderNo;
 
     /**
      * 发货单号
@@ -47,10 +52,30 @@ public class OrderMainBo extends BaseEntity {
     private String shipmentNo;
 
     /**
-     * 子订单编号
+     * 二级订单id
+     */
+    private Long subOrderId;
+
+    /**
+     * 二级订单编号
      */
     private String subOrderNo;
 
+    /**
+     * 订单类型 0自营 1项目
+     */
+    private String orderType;
+
+    /**
+     * 发货类型 0自营 1供应商 2伙伴商
+     */
+    private String shipmentsType;
+
+    /**
+     * 当前级数
+     */
+    private Integer currentLevel;
+
     /**
      * 所属公司
      */

+ 2 - 0
ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/domain/bo/OrderProductBo.java

@@ -189,5 +189,7 @@ public class OrderProductBo extends BaseEntity {
      */
     private String remark;
 
+    /*当前级数*/
+    private Integer currentLevel;
 
 }

+ 29 - 4
ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/domain/vo/OrderMainVo.java

@@ -38,16 +38,21 @@ public class OrderMainVo implements Serializable {
     @ExcelProperty(value = "主键ID")
     private Long id;
 
+    /**
+     * 订单编号
+     */
+    @ExcelProperty(value = "订单编号")
+    private String orderNo;
+
     /**
      * 父订单id
      */
     private Long parentOrderId;
 
     /**
-     * 订单编号
+     * 订单编号
      */
-    @ExcelProperty(value = "订单编号")
-    private String orderNo;
+    private String parentOrderNo;
 
     /**
      * 发货单号
@@ -56,11 +61,31 @@ public class OrderMainVo implements Serializable {
     private String shipmentNo;
 
     /**
-     * 子订单编号
+     * 二级订单id
+     */
+    private Long subOrderId;
+
+    /**
+     * 二级订单编号
      */
     @ExcelProperty(value = "子订单编号")
     private String subOrderNo;
 
+    /**
+     * 订单类型 0自营 1项目
+     */
+    private String orderType;
+
+    /**
+     * 发货类型 0自营 1供应商 2伙伴商
+     */
+    private String shipmentsType;
+
+    /**
+     * 当前级数
+     */
+    private Integer currentLevel;
+
     /**
      * 所属公司
      */

+ 2 - 1
ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/domain/vo/OrderProductVo.java

@@ -243,5 +243,6 @@ public class OrderProductVo implements Serializable {
 
     private String assigneeName;
 
-
+    /*当前级数*/
+    private Integer currentLevel;
 }

+ 1 - 1
ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/service/impl/OrderDeliverServiceImpl.java

@@ -216,7 +216,7 @@ public class OrderDeliverServiceImpl extends ServiceImpl<OrderDeliverMapper, Ord
             Long orderId = bo.getOrderId();
 
             // 1. 生成发货单号
-            bo.setDeliverCode(SequenceUtils.generateOrderCode("YO"));
+            bo.setDeliverCode(SequenceUtils.generateOrderCode("TR"));
 
             // 2. 计算本次发货总数
             long currentDeliverQty = bo.getOrderDeliverProducts().stream()

+ 3 - 4
ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/service/impl/OrderMainServiceImpl.java

@@ -668,7 +668,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
                 log.info("成功初始化审批流程,订单ID: {}", orderId);
                 this.update(Wrappers.lambdaUpdate(OrderMain.class)
                     .eq(OrderMain::getId, orderId)
-                    .set(OrderMain::getOrderStatus, 1)// 假设 1 代表某种特定状态,需确认枚举值
+                    .set(OrderMain::getOrderStatus, OrderStatus.PENDING_SHIPMENT.getCode())// 待发货
                     .set(OrderMain::getIsNeedCheck, SysPlatformYesNo.YES.getCode())
                 );
 
@@ -942,7 +942,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
             order.setId(orderId);
             order.setPayType(payType);
             order.setPaymentStatus("1"); // 1: 已支付
-            order.setOrderStatus(OrderStatus.PENDING_CONFIRMATION.getCode()); // 待确认
+            order.setOrderStatus(OrderStatus.PENDING_SHIPMENT.getCode()); // 待确认
 
             int updateCount = baseMapper.updateById(order);
             if (updateCount <= 0) {
@@ -1165,7 +1165,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
         }
         OrderMain update = new OrderMain();
         update.setId(id);
-        update.setOrderStatus("2");   // ← 待发货
+        update.setOrderStatus(OrderStatus.PENDING_SHIPMENT.getCode());   // ← 待发货
 
         int rows = baseMapper.updateById(update);
         return rows > 0;
@@ -1368,7 +1368,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
 
             mainBo.setOrderNoPrefix("PO");
 
-
             // 处理商品信息
             if (bo.getProductInfo() == null || bo.getProductInfo().isEmpty()) {
                 throw new IllegalArgumentException("商品信息不能为空");