SheepHy 1 сар өмнө
parent
commit
5dde3f069c

+ 15 - 9
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/OrderServiceImpl.java

@@ -318,9 +318,13 @@ public class OrderServiceImpl implements IOrderService {
             AppSitePriceRules appSitePriceRule = appSitePriceRulesMapper.selectById(priceRule);
             priceRules.add(appSitePriceRule);
         });
-        BigDecimal totalPrice = priceRules.stream()
-                .map(AppSitePriceRules::getSellingPrice)
-                .reduce(BigDecimal.ZERO, BigDecimal::add);
+        BigDecimal totalPrice = BigDecimal.ZERO;
+        if(!priceRules.isEmpty()){
+            totalPrice = priceRules.stream()
+                    .map(AppSitePriceRules::getSellingPrice)
+                    .reduce(BigDecimal.ZERO, BigDecimal::add);
+        }
+
         // 格式化 totalPrice 和 subtotal 为两位小数
         totalPrice = totalPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
         String formattedTotalPrice = totalPrice.toString(); // 直接使用 toString() 保留两位小数
@@ -962,14 +966,15 @@ public class OrderServiceImpl implements IOrderService {
                     AppSite appSite = appSiteMapper.selectById(appCoursesMapper.selectById(appOrderProInfo.getProductId()).getAddressSiteId());
                     if(null != appSite &&
                             appSite.getType() == 0){
+                        FamilyMembers familyMembers = familyMembersMapper.selectById(appOrderProInfo.getFamilyUserId());
                         for (AppDevice appDevice : appDeviceMapper.selectList(Wrappers.<AppDevice>lambdaQuery().eq(AppDevice::getSiteId, appSite.getId()))){
                             if(null != appDevice){
                                 JsonObject addUserJson = JsonParser.parseString(addUser(new Date(),
                                         appDevice.getDeviceSerial(),
                                         appOrderProInfo.getUserName(),
-                                        appOrderProInfo.getId(),new DateTime(appOrderProInfo.getExpireTime()))).getAsJsonObject();
-                                JsonObject addFaceJson = JsonParser.parseString(addFace(appDevice.getDeviceSerial(), appOrderProInfo.getId(),
-                                        familyMembersMapper.selectById(appOrderProInfo.getFamilyUserId()).getRealNameImg())).getAsJsonObject();
+                                        familyMembers.getId(),new DateTime(appOrderProInfo.getExpireTime()))).getAsJsonObject();
+                                JsonObject addFaceJson = JsonParser.parseString(addFace(appDevice.getDeviceSerial(), familyMembers.getId(),
+                                        familyMembers.getRealNameImg())).getAsJsonObject();
                                 if (addUserJson.get("code").getAsInt() != 0 && addFaceJson.get("code").getAsInt() != 0){
                                     throw new JeecgBootException("设备录入用户信息失败!请联系管理员");
                                 }
@@ -999,13 +1004,14 @@ public class OrderServiceImpl implements IOrderService {
                 appIsinMapper.insert(appIsin);
             }
             if (Objects.equals(appOrderProInfo.getType(), CommonConstant.ORDER_PRO_INFO_TYPE_0)) {
+                FamilyMembers familyMembers = familyMembersMapper.selectById(appOrderProInfo.getFamilyUserId());
                 for (AppDevice appDevice : appDeviceMapper.selectList(Wrappers.<AppDevice>lambdaQuery().eq(AppDevice::getOrgCode, appOrder.getOrgCode()))) {
                     String addUser = addUser(appSitePriceRulesMapper.selectById(appOrderProInfo.getProductId()).getDateOfSale(),
                             appDevice.getDeviceSerial(),
                             appOrderProInfo.getUserName(),
-                            appOrderProInfo.getId(),null);
-                    String addFace = addFace(appDevice.getDeviceSerial(), appOrderProInfo.getId(),
-                            familyMembersMapper.selectById(appOrderProInfo.getFamilyUserId()).getRealNameImg());
+                            familyMembers.getId(),null);
+                    String addFace = addFace(appDevice.getDeviceSerial(), familyMembers.getId(),
+                            familyMembers.getRealNameImg());
                     JsonObject addUserJson = JsonParser.parseString(addUser).getAsJsonObject();
                     JsonObject addFaceJson = JsonParser.parseString(addFace).getAsJsonObject();
                     if (addUserJson.get("code").getAsInt() != 0 && addFaceJson.get("code").getAsInt() != 0) throw new JeecgBootException("设备录入用户信息失败!请联系管理员");

+ 3 - 3
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppCoureseServiceImpl.java

@@ -465,9 +465,9 @@ public class AppCoureseServiceImpl extends ServiceImpl<AppCoursesMapper, AppCour
                             JsonObject addUserJson = JsonParser.parseString(addUser(new DateTime(verificationRecord.getCoursesStartTime()),
                                     appDevice.getDeviceSerial(),
                                     verificationRecord.getUseUserName(),
-                                    "K" + verificationRecord.getId(),new DateTime(verificationRecord.getCoursesEndTime()))).getAsJsonObject();
-                            JsonObject addFaceJson = JsonParser.parseString(addFace(appDevice.getDeviceSerial(), "K" + verificationRecord.getId(),
-                                    familyMembersMapper.selectById(verificationRecord.getUseUserId()).getRealNameImg())).getAsJsonObject();
+                                    familyMembers.getId(),new DateTime(verificationRecord.getCoursesEndTime()))).getAsJsonObject();
+                            JsonObject addFaceJson = JsonParser.parseString(addFace(appDevice.getDeviceSerial(), familyMembers.getId(),
+                                    familyMembers.getRealNameImg())).getAsJsonObject();
                             if (addUserJson.get("code").getAsInt() != 0 && addFaceJson.get("code").getAsInt() != 0){
                                 throw new JeecgBootException("设备录入用户信息失败!请联系管理员");
                             }