Prechádzať zdrojové kódy

fixational(n-motion): 修复app端合同签订相关问题

- 在 AppContractSignMapper.xml 中添加 type = 5 的条件,以筛选特定类型的订单产品信息
- 在 DetailServiceImpl 中增加对 orderIdList 是否为空的判断,提高代码健壮性
SheepHy 2 týždňov pred
rodič
commit
76dc747864

+ 8 - 5
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/DetailServiceImpl.java

@@ -171,17 +171,20 @@ public class DetailServiceImpl implements IDetailService {
                 PlaceInfoVO.PlaceInfoMsgVO placeInfoMsgVO = new PlaceInfoVO.PlaceInfoMsgVO();
                 // 1. 先获取所有符合条件的订单ID列表(单次查询)
                 List<String> orderIdList = appOrderMapper.selectList(Wrappers.<AppOrder>lambdaQuery()
-                                .select(AppOrder::getId)  // 仅查询ID字段
+                                .select(AppOrder::getId)
                                 .eq(AppOrder::getOrgCode, appSitePlace.getOrgCode())
                                 .eq(AppOrder::getType, 0)
                                 .eq(AppOrder::getOrderType, 0))
                         .stream()
-                        .map(order -> order.getId().toString())  // 假设getId()返回Long
+                        .map(order -> order.getId().toString())
                         .collect(Collectors.toList());
 
-                // 2. 使用ID列表直接统计关联记录(单次查询)
-                int salesCount = Math.toIntExact(appOrderProInfoMapper.selectCount(Wrappers.<AppOrderProInfo>lambdaQuery()
-                        .in(AppOrderProInfo::getOrderId, orderIdList)));
+                // 2. 判断空集合
+                int salesCount = 0;
+                if (!orderIdList.isEmpty()) {
+                    salesCount = Math.toIntExact(appOrderProInfoMapper.selectCount(Wrappers.<AppOrderProInfo>lambdaQuery()
+                            .in(AppOrderProInfo::getOrderId, orderIdList)));
+                }
                 placeInfoMsgVO.setName(appSitePlace.getName())
                         .setId(appSitePlace.getId())
                         .setCategory(getCategoryName(appSite.getCategoryId()))

+ 1 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppContractSignMapper.xml

@@ -17,7 +17,7 @@
         LEFT JOIN nm_contract_info b ON a.org_code = b.org_code
         LEFT JOIN (
         SELECT order_id, MAX(product_name) AS product_name
-        FROM nm_order_pro_info
+        FROM nm_order_pro_info where type = 5
         GROUP BY order_id
         ) o ON a.order_id = o.order_id
         <where>