Ver código fonte

fix:修复映射关系错误导致无法正确映射

qingwudarao 6 meses atrás
pai
commit
ea0cc86212

+ 23 - 13
ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/mapper/NewBulkOrderMapper.java → ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/mapstruct/NewBulkOrderMapstruct.java

@@ -1,4 +1,4 @@
-package org.dromara.bulk.mapper;
+package org.dromara.bulk.mapstruct;
 
 import org.dromara.bulk.domain.BulkOrderList;
 import org.dromara.bulk.domain.UserOrder;
@@ -14,7 +14,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 @Mapper(componentModel = "spring")
-public interface NewBulkOrderMapper {
+public interface NewBulkOrderMapstruct {
 
     // BulkOrderList映射
     @Mapping(target = "sysNo", ignore = true)
@@ -40,8 +40,11 @@ public interface NewBulkOrderMapper {
     @Mapping(target = "isUrgent", source = "orderList.isUrgent")
     @Mapping(target = "isBuhuo", source = "orderList.isBuhuo")
     @Mapping(target = "isSys", source = "orderList.isSys")
-    ProductionPlan toProductionPlan(NewBulkOrderBo newBulkOrderBo, OrderListBo orderList,
-                                    String sysNo, String purchaseCode, String orderNumber);
+    ProductionPlan toProductionPlan(NewBulkOrderBo newBulkOrderBo,
+                                    OrderListBo orderList,
+                                    String sysNo,
+                                    String purchaseCode,
+                                    String orderNumber);
 
     // UserOrder映射
     @Mapping(target = "userId", source = "newBulkOrderBo.userId")
@@ -50,21 +53,28 @@ public interface NewBulkOrderMapper {
     @Mapping(target = "address", source = "orderList.receivingAddress")
     @Mapping(target = "orderNumber", source = "orderNumber")
     @Mapping(target = "remark", source = "remark")
-    UserOrder toUserOrder(NewBulkOrderBo newBulkOrderBo, OrderListBo orderList,
-                          String orderNumber, String remark);
+    UserOrder toUserOrder(NewBulkOrderBo newBulkOrderBo,
+                          OrderListBo orderList,
+                          String orderNumber,
+                          String remark);
 
     // UserOrderTemplate列表映射
     @Mapping(target = "userId", source = "newBulkOrderBo.userId")
     @Mapping(target = "orderId", source = "orderId")
     @Mapping(target = "planId", source = "planId")
     @Mapping(target = "itemId", source = "orderList.daHuoNumberId")
-    UserOrderTemplate toUserOrderTemplate(NewBulkOrderBo newBulkOrderBo, OrderListBo orderList,
-                                          Long orderId, Long planId, TemplateBo templateBo);
+    UserOrderTemplate toUserOrderTemplate(NewBulkOrderBo newBulkOrderBo,
+                                          OrderListBo orderList,
+                                          Long orderId,
+                                          Long planId,
+                                          TemplateBo templateBo);
 
     // 集合映射方法
-    ArrayList<UserOrderTemplate> toTemplateList(NewBulkOrderBo newBulkOrderBo,
-                                                OrderListBo orderList,
-                                                Long orderId,
-                                                Long planId,
-                                                List<TemplateBo> templateList);
+    default ArrayList<UserOrderTemplate> toTemplateList(NewBulkOrderBo newBulkOrderBo, OrderListBo orderList, Long orderId, Long planId, List<TemplateBo> templateList) {
+        ArrayList<UserOrderTemplate> arrayList = new ArrayList<>(templateList.size());
+        for (TemplateBo templateBo : templateList) {
+            arrayList.add(toUserOrderTemplate(newBulkOrderBo, orderList, orderId, planId, templateBo));
+        }
+        return arrayList;
+    }
 }

+ 11 - 8
ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/service/impl/BulkOrderManagementServiceImpl.java

@@ -1,15 +1,16 @@
 package org.dromara.bulk.service.impl;
 
 import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.dromara.bulk.domain.BulkOrderList;
 import org.dromara.bulk.domain.UserOrder;
 import org.dromara.bulk.domain.UserOrderTemplate;
 import org.dromara.bulk.domain.bo.NewBulkOrderBo;
 import org.dromara.bulk.domain.bo.OrderListBo;
 import org.dromara.bulk.mapper.BulkOrderListMapper;
-import org.dromara.bulk.mapper.NewBulkOrderMapper;
 import org.dromara.bulk.mapper.UserOrderMapper;
 import org.dromara.bulk.mapper.UserOrderTemplateMapper;
+import org.dromara.bulk.mapstruct.NewBulkOrderMapstruct;
 import org.dromara.bulk.service.BulkOrderManagementService;
 import org.dromara.common.core.utils.OrderNumberGenerator;
 import org.dromara.productionManagement.domain.ProductionPlan;
@@ -22,6 +23,7 @@ import java.util.List;
 /**
  * 大货订单管理服务层实现
  */
+@Slf4j
 @Service
 @RequiredArgsConstructor
 public class BulkOrderManagementServiceImpl implements BulkOrderManagementService {
@@ -30,7 +32,7 @@ public class BulkOrderManagementServiceImpl implements BulkOrderManagementServic
     private final BulkOrderListMapper bulkOrderListMapper;
     private final UserOrderMapper userOrderMapper;
     private final UserOrderTemplateMapper userOrderTemplateMapper;
-    private final NewBulkOrderMapper newBulkOrderMapper;
+    private final NewBulkOrderMapstruct newBulkOrderMapstruct;
 
     /**
      * 新增生产订单
@@ -50,14 +52,14 @@ public class BulkOrderManagementServiceImpl implements BulkOrderManagementServic
                 String orderNumber = orderNumberGenerator.generateOrderNumber("DH");
 
                 // 使用Mapper转换
-                BulkOrderList bulkOrderList = newBulkOrderMapper.toBulkOrderList(orderList);
+                BulkOrderList bulkOrderList = newBulkOrderMapstruct.toBulkOrderList(orderList);
                 bulkOrderList.setSysNo(sysNo);
                 bulkOrderList.setScNo(purchaseCode);
-                bulkOrderList.setGoodsId(9L); // 保留必要的手动设置
+                bulkOrderList.setGoodsId(9L);
                 bulkOrderListMapper.insert(bulkOrderList);
 
                 // 生产计划映射
-                ProductionPlan productionPlan = newBulkOrderMapper.toProductionPlan(
+                ProductionPlan productionPlan = newBulkOrderMapstruct.toProductionPlan(
                     newBulkOrderBo,
                     orderList,
                     sysNo,
@@ -68,7 +70,7 @@ public class BulkOrderManagementServiceImpl implements BulkOrderManagementServic
                 productionPlanMapper.insert(productionPlan);
 
                 // 用户订单映射
-                UserOrder userOrder = newBulkOrderMapper.toUserOrder(
+                UserOrder userOrder = newBulkOrderMapstruct.toUserOrder(
                     newBulkOrderBo,
                     orderList,
                     orderNumber,
@@ -79,18 +81,19 @@ public class BulkOrderManagementServiceImpl implements BulkOrderManagementServic
 
                 // 处理模板
                 if (orderList.getTemplateList() != null) {
-                    List<UserOrderTemplate> templates = newBulkOrderMapper.toTemplateList(
+                    List<UserOrderTemplate> templates = newBulkOrderMapstruct.toTemplateList(
                         newBulkOrderBo,
                         orderList,
                         productionPlan.getId(),
                         userOrder.getId(),
                         orderList.getTemplateList()
                     );
-                    userOrderTemplateMapper.insert(templates); // 需要实现批量插入
+                    userOrderTemplateMapper.insert(templates);
                 }
             }
             return 1;
         } catch (Exception e) {
+            log.error(String.valueOf(e));
             return 0;
         }
     }