Browse Source

refactor(physical): 移除冗余的数据库查询操作

- 删除了 PhysicalParticipantsServiceImpl 中重复的 itemsVo 查询逻辑
- 直接使用已存在的 itemsName 字段替代数据库查询
- 简化了 PhysicalTournamentsServiceImpl 中的物品名称获取方式
- 添加了联赛时间校验的待办注释
- 增加了删除操作同步处理的待办注释
fugui001 1 week ago
parent
commit
8858b88081

+ 8 - 16
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/physical/service/impl/PhysicalParticipantsServiceImpl.java

@@ -111,15 +111,10 @@ public class PhysicalParticipantsServiceImpl implements IPhysicalParticipantsSer
                         conditionBuilder.append(","); // 使用逗号分隔多个条件
                     }
 
-                    ItemsVo itemsVo = itemsMapper.selectVoByIdInfo(condition.getItemId());
-                    if(itemsVo!=null){
-                        condition.setItemsName(itemsVo.getName());
-                        conditionBuilder.append(condition.getItemsName())
-                            .append("*")
-                            .append(condition.getRequiredQuantity());
-                    }
-
-
+                    condition.setItemsName(condition.getItemsName());
+                    conditionBuilder.append(condition.getItemsName())
+                        .append("*")
+                        .append(condition.getRequiredQuantity());
 
                 }
                 tournamentCondition = conditionBuilder.toString();
@@ -173,13 +168,10 @@ public class PhysicalParticipantsServiceImpl implements IPhysicalParticipantsSer
                     if (i > 0) {
                         conditionBuilder.append(","); // 使用逗号分隔多个条件
                     }
-                    ItemsVo itemsVo = itemsMapper.selectVoByIdInfo(condition.getItemId());
-                    if(itemsVo!=null){
-                        condition.setItemsName(itemsVo.getName());
-                        conditionBuilder.append(condition.getItemsName())
-                            .append("*")
-                            .append(condition.getRequiredQuantity());
-                    }
+                    condition.setItemsName(condition.getItemsName());
+                    conditionBuilder.append(condition.getItemsName())
+                        .append("*")
+                        .append(condition.getRequiredQuantity());
                 }
                 tournamentCondition = conditionBuilder.toString();
             }

+ 11 - 17
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/physical/service/impl/PhysicalTournamentsServiceImpl.java

@@ -97,11 +97,8 @@ public class PhysicalTournamentsServiceImpl implements IPhysicalTournamentsServi
                 PhysicalItemsPrizeDto itemsPrizeBo = new PhysicalItemsPrizeDto();
                 itemsPrizeBo.setItemId(physicalTournamentEntryConditionsVo.getItemId());
                 itemsPrizeBo.setQuantity(physicalTournamentEntryConditionsVo.getRequiredQuantity());
-                ItemsVo itemsVo = itemsMapper.selectVoByIdInfo(physicalTournamentEntryConditionsVo.getItemId());
-                if(itemsVo!=null){
-                    itemsPrizeBo.setItemsName(itemsVo.getName());
-                    itemsConditionList.add(itemsPrizeBo);
-                }
+                itemsPrizeBo.setItemsName(physicalTournamentEntryConditionsVo.getItemsName());
+                itemsConditionList.add(itemsPrizeBo);
             }
             physicalTournamentsVo.setItemsConditionList(itemsConditionList);
         }
@@ -175,11 +172,8 @@ public class PhysicalTournamentsServiceImpl implements IPhysicalTournamentsServi
                     PhysicalItemsPrizeDto itemsPrizeBo = new PhysicalItemsPrizeDto();
                     itemsPrizeBo.setItemId(physicalTournamentEntryConditionsVo.getItemId());
                     itemsPrizeBo.setQuantity(physicalTournamentEntryConditionsVo.getRequiredQuantity());
-                    ItemsVo itemsVo = itemsMapper.selectVoByIdInfo(physicalTournamentEntryConditionsVo.getItemId());
-                    if(itemsVo!=null){
-                        itemsPrizeBo.setItemsName(itemsVo.getName());
-                        itemsConditionList.add(itemsPrizeBo);
-                    }
+                    itemsPrizeBo.setItemsName(physicalTournamentEntryConditionsVo.getItemsName());
+                    itemsConditionList.add(itemsPrizeBo);
                 }
                 physicalTournamentsVo.setItemsConditionList(itemsConditionList);
             }
@@ -255,13 +249,10 @@ public class PhysicalTournamentsServiceImpl implements IPhysicalTournamentsServi
                     if (i > 0) {
                         conditionBuilder.append(","); // 使用逗号分隔多个条件
                     }
-                    ItemsVo itemsVo = itemsMapper.selectVoByIdInfo(condition.getItemId());
-                    if(itemsVo!=null){
-                        condition.setItemsName(itemsVo.getName());
-                        conditionBuilder.append(condition.getItemsName())
-                            .append("*")
-                            .append(condition.getRequiredQuantity());
-                    }
+                    condition.setItemsName(condition.getItemsName());
+                    conditionBuilder.append(condition.getItemsName())
+                        .append("*")
+                        .append(condition.getRequiredQuantity());
                 }
                 tournamentCondition = conditionBuilder.toString();
             }
@@ -414,6 +405,8 @@ public class PhysicalTournamentsServiceImpl implements IPhysicalTournamentsServi
                 log.error("报名条件为空");
                 return false;
             }
+            //todo 校验联赛时间 和 当前 开始时间必须大于报名时间
+
             Long userId = LoginHelper.getUserId();
             add.setCreateUserId(userId);
             // 处理开始时间
@@ -583,6 +576,7 @@ public class PhysicalTournamentsServiceImpl implements IPhysicalTournamentsServi
         if(isValid){
             //TODO 做一些业务上的校验,判断是否需要校验
         }
+        // todo 需要同步删除
         return baseMapper.deletePhysicalTournamentsByIds(ids) > 0;
     }