From 390576cb2fee826cbe8c1a68b52c6e91073be961 Mon Sep 17 00:00:00 2001 From: aikai Date: Sat, 21 Jun 2025 11:40:58 +0800 Subject: [PATCH] =?UTF-8?q?refactor(system):=20=E4=BC=98=E5=8C=96=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=E5=9C=B0=E5=9B=BE=E5=8A=9F=E8=83=BD=E5=92=8C=E8=B7=AF?= =?UTF-8?q?=E5=BE=84=E8=A7=84=E5=88=92=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除 Redis 密码配置 - 优化 CommonConfigService、RobotTaskDetailService 等服务的注入方式 - 改进 PositionMapItemMapper 接口和 XML 文件 - 优化 PathPlanningServiceImpl 和 PositionMapLineServiceImpl 中的代码 - 删除未使用的 CommonApi 和 mapStopService 引用 --- .../positionmap/vo/PositionMapIdNumMapVO.java | 14 ++++++++++++++ .../mysql/positionmap/PositionMapItemMapper.java | 12 ++++++------ .../handler/mapnode/NodeProcessingContext.java | 12 ++++++------ .../strategy/HouseLocationStrategyImpl.java | 2 ++ .../service/config/CommonConfigServiceImpl.java | 2 ++ .../service/path/PathPlanningServiceImpl.java | 3 +++ .../positionmap/PositionMapLineServiceImpl.java | 4 +++- .../positionmap/PositionMapServiceImpl.java | 9 ++------- .../system/service/tool/ToolsServiceImpl.java | 1 - .../src/main/resources/application-local.yaml | 4 ++-- .../mapper/positionmap/PositionMapItemMapper.xml | 2 +- 11 files changed, 41 insertions(+), 24 deletions(-) create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/positionmap/vo/PositionMapIdNumMapVO.java diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/positionmap/vo/PositionMapIdNumMapVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/positionmap/vo/PositionMapIdNumMapVO.java new file mode 100644 index 000000000..bcd566351 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/positionmap/vo/PositionMapIdNumMapVO.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.module.system.controller.admin.positionmap.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class PositionMapIdNumMapVO { + @Schema(description = "主键ID") + private Long id; + @Schema(description = "序号") + private Long sortNum; +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/positionmap/PositionMapItemMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/positionmap/PositionMapItemMapper.java index 9cfc0a128..7dae73ffa 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/positionmap/PositionMapItemMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/positionmap/PositionMapItemMapper.java @@ -6,14 +6,13 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.mqtt.api.path.dto.PositionMapItemSynDTO; import cn.iocoder.yudao.module.mqtt.api.task.dto.Pose2ds; import cn.iocoder.yudao.module.system.controller.admin.positionmap.dto.RobotPositionMapDTO; +import cn.iocoder.yudao.module.system.controller.admin.positionmap.vo.PositionMapIdNumMapVO; import cn.iocoder.yudao.module.system.controller.admin.positionmap.vo.PositionMapItemPageReqVO; import cn.iocoder.yudao.module.system.dal.dataobject.positionmap.PositionMapItemDO; -import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; -import java.util.Map; /** * 仓库点位地图子表 Mapper @@ -59,13 +58,13 @@ public interface PositionMapItemMapper extends BaseMapperX { /** * 将laneId设为空 + * * @param mapId * @param laneId */ void emptyLaneId(@Param("mapId") Long mapId, @Param("laneId") Long laneId); /** - * * @param list * @return */ @@ -73,12 +72,14 @@ public interface PositionMapItemMapper extends BaseMapperX { /** * 删除这个地图的点 + * * @param mapId */ void deleteByMapId(@Param("mapId") Long mapId); /** * 更新车辆编号 + * * @param oldRobotNo * @param newRobotNo */ @@ -86,15 +87,14 @@ public interface PositionMapItemMapper extends BaseMapperX { /** * 释放车辆 + * * @param robotNo */ void clearRobotNo(@Param("robotNo") String robotNo); /** - * * @param ids * @return */ - @MapKey("id") - Map selectSortNumByIds(@Param("ids") List ids); + List selectSortNumByIds(@Param("ids") List ids); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/handler/mapnode/NodeProcessingContext.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/handler/mapnode/NodeProcessingContext.java index 478642e10..b67070067 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/handler/mapnode/NodeProcessingContext.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/handler/mapnode/NodeProcessingContext.java @@ -2,20 +2,21 @@ package cn.iocoder.yudao.module.system.handler.mapnode; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.common.enums.NodeTypeEnum; -import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; import cn.iocoder.yudao.module.system.controller.admin.positionmap.dto.NodeBaseDTO; import cn.iocoder.yudao.module.system.dal.dataobject.positionmap.PositionMapItemDO; import cn.iocoder.yudao.module.system.handler.mapnode.strategy.*; -import cn.iocoder.yudao.module.system.service.positionmap.PositionMapItemService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import javax.annotation.PostConstruct; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; @Slf4j @Component @@ -23,8 +24,6 @@ public class NodeProcessingContext { private final Map strategyMap = new HashMap<>(); @Autowired - private PositionMapItemService positionMapItemService; - @Autowired private MapNodeStrategyImpl mapNodeStrategyImpl; @Autowired private ChangeNodeStrategyImpl changeNodeStrategyImpl; @@ -33,6 +32,7 @@ public class NodeProcessingContext { @Autowired private ParkingSpotStrategyImpl parkingSpotStrategyImpl; @Autowired + @Lazy private DeviceStrategyImpl deviceStrategyImpl; /** diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/handler/mapnode/strategy/HouseLocationStrategyImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/handler/mapnode/strategy/HouseLocationStrategyImpl.java index 910c0204a..8da0c0629 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/handler/mapnode/strategy/HouseLocationStrategyImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/handler/mapnode/strategy/HouseLocationStrategyImpl.java @@ -13,6 +13,7 @@ import cn.iocoder.yudao.module.system.service.houselocation.HouseLocationService import cn.iocoder.yudao.module.system.service.robot.RobotTaskDetailService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -34,6 +35,7 @@ public class HouseLocationStrategyImpl implements NodeProcessingStrategy { private HouseLocationService houseLocationService; @Resource + @Lazy private RobotTaskDetailService taskDetailService; //库位编号格式 - 第一个通配符为地图id 第二个通配符为随机数四位最后一个通配符为库位点层数 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/config/CommonConfigServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/config/CommonConfigServiceImpl.java index 1fb972fbf..06693c558 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/config/CommonConfigServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/config/CommonConfigServiceImpl.java @@ -21,6 +21,7 @@ import com.alibaba.fastjson.TypeReference; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; @@ -47,6 +48,7 @@ public class CommonConfigServiceImpl implements CommonConfigService { private CommonConfigMapper configMapper; @Resource + @Lazy private ToolsService toolsService; @Resource diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/path/PathPlanningServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/path/PathPlanningServiceImpl.java index 77e829f0f..926c2fc77 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/path/PathPlanningServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/path/PathPlanningServiceImpl.java @@ -56,6 +56,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -113,6 +114,7 @@ public class PathPlanningServiceImpl implements PathPlanningService { private CommonConfigService configService; @Resource + @Lazy private PositionMapService positionMapService; @Resource @@ -128,6 +130,7 @@ public class PathPlanningServiceImpl implements PathPlanningService { private PositionChangePointBindingService positionChangePointBindingService; @Resource + @Lazy private RemoteControllerInformationService controllerInformationService; @Resource diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapLineServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapLineServiceImpl.java index f30a5a0c1..51f0aaa40 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapLineServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapLineServiceImpl.java @@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.system.controller.admin.positionmap.vo.PositionMapIdNumMapVO; import cn.iocoder.yudao.module.system.controller.admin.positionmap.vo.PositionMapLinePageReqVO; import cn.iocoder.yudao.module.system.controller.admin.positionmap.vo.PositionMapLineSaveReqVO; import cn.iocoder.yudao.module.system.dal.dataobject.positionmap.PositionMapLineDO; @@ -65,7 +66,8 @@ public class PositionMapLineServiceImpl extends ServiceImpl endPointIds = addList.stream().map(PositionMapLineDO::getEndPointId).collect(Collectors.toList()); //合并startPointIds 和 endPointIds 并且去重 Set pointIds = CollUtil.unionDistinct(startPointIds, endPointIds); - map = positionMapItemMapper.selectSortNumByIds(new ArrayList<>(pointIds)); + List positionMapIdNumMapVOS = positionMapItemMapper.selectSortNumByIds(new ArrayList<>(pointIds)); + map = positionMapIdNumMapVOS.stream().collect(Collectors.toMap(PositionMapIdNumMapVO::getId, PositionMapIdNumMapVO::getSortNum)); } for (PositionMapLineDO positionMapLineDO : newList) { positionMapLineDO.setPositionMapId(positionMapId); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapServiceImpl.java index e6102061b..09d420990 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapServiceImpl.java @@ -6,7 +6,6 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; -import cn.iocoder.yudao.module.mqtt.api.common.CommonApi; import cn.iocoder.yudao.module.mqtt.api.task.dto.RobotSimulationPoseDTO; import cn.iocoder.yudao.module.system.api.remote.dto.RemoteRobotDTO; import cn.iocoder.yudao.module.system.api.remote.dto.RemoteRobotDetailDTO; @@ -46,6 +45,7 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.cache.annotation.Cacheable; +import org.springframework.context.annotation.Lazy; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; @@ -94,16 +94,11 @@ public class PositionMapServiceImpl extends ServiceImpl - select id, sort_num as sortNum