refactor(system): 优化位置地图功能和路径规划相关代码
- 移除 Redis 密码配置 - 优化 CommonConfigService、RobotTaskDetailService 等服务的注入方式 - 改进 PositionMapItemMapper 接口和 XML 文件 - 优化 PathPlanningServiceImpl 和 PositionMapLineServiceImpl 中的代码 - 删除未使用的 CommonApi 和 mapStopService 引用
This commit is contained in:
parent
a59d1ec224
commit
390576cb2f
@ -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;
|
||||
}
|
@ -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<PositionMapItemDO> {
|
||||
|
||||
/**
|
||||
* 将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<PositionMapItemDO> {
|
||||
|
||||
/**
|
||||
* 删除这个地图的点
|
||||
*
|
||||
* @param mapId
|
||||
*/
|
||||
void deleteByMapId(@Param("mapId") Long mapId);
|
||||
|
||||
/**
|
||||
* 更新车辆编号
|
||||
*
|
||||
* @param oldRobotNo
|
||||
* @param newRobotNo
|
||||
*/
|
||||
@ -86,15 +87,14 @@ public interface PositionMapItemMapper extends BaseMapperX<PositionMapItemDO> {
|
||||
|
||||
/**
|
||||
* 释放车辆
|
||||
*
|
||||
* @param robotNo
|
||||
*/
|
||||
void clearRobotNo(@Param("robotNo") String robotNo);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@MapKey("id")
|
||||
Map<Long, Long> selectSortNumByIds(@Param("ids") List<Long> ids);
|
||||
List<PositionMapIdNumMapVO> selectSortNumByIds(@Param("ids") List<Long> ids);
|
||||
}
|
||||
|
@ -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<Integer, NodeProcessingStrategy> 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;
|
||||
|
||||
/**
|
||||
|
@ -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 第二个通配符为随机数四位最后一个通配符为库位点层数
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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<PositionMapLineMappe
|
||||
List<Long> endPointIds = addList.stream().map(PositionMapLineDO::getEndPointId).collect(Collectors.toList());
|
||||
//合并startPointIds 和 endPointIds 并且去重
|
||||
Set<Long> pointIds = CollUtil.unionDistinct(startPointIds, endPointIds);
|
||||
map = positionMapItemMapper.selectSortNumByIds(new ArrayList<>(pointIds));
|
||||
List<PositionMapIdNumMapVO> positionMapIdNumMapVOS = positionMapItemMapper.selectSortNumByIds(new ArrayList<>(pointIds));
|
||||
map = positionMapIdNumMapVOS.stream().collect(Collectors.toMap(PositionMapIdNumMapVO::getId, PositionMapIdNumMapVO::getSortNum));
|
||||
}
|
||||
for (PositionMapLineDO positionMapLineDO : newList) {
|
||||
positionMapLineDO.setPositionMapId(positionMapId);
|
||||
|
@ -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<PositionMapMapper, Posit
|
||||
@Resource
|
||||
private UserOperationLogService userOperationLogService;
|
||||
|
||||
@Resource
|
||||
private CommonApi commonApi;
|
||||
|
||||
@Resource
|
||||
private RobotMapStopService robotMapStopService;
|
||||
|
||||
@Resource
|
||||
private RobotMapStopService mapStopService;
|
||||
|
||||
@Resource
|
||||
@Lazy
|
||||
private RobotTaskDetailService taskDetailService;
|
||||
|
||||
@Resource
|
||||
|
@ -26,7 +26,6 @@ import cn.iocoder.yudao.module.system.enums.config.CommandConfigTypeEnum;
|
||||
import cn.iocoder.yudao.module.system.enums.item.PositionMapItemEnum;
|
||||
import cn.iocoder.yudao.module.system.enums.robot.RobotWarnType;
|
||||
import cn.iocoder.yudao.module.system.enums.robot.task.RobotCommandTypeEnum;
|
||||
import cn.iocoder.yudao.module.system.service.config.CommonConfigService;
|
||||
import cn.iocoder.yudao.module.system.service.positionmap.PositionMapItemService;
|
||||
import cn.iocoder.yudao.module.system.service.positionmap.PositionMapService;
|
||||
import cn.iocoder.yudao.module.system.service.robot.RobotInformationService;
|
||||
|
@ -81,7 +81,7 @@ spring:
|
||||
host: 127.0.0.1 # 地址
|
||||
port: 6379 # 端口
|
||||
database: 0 # 数据库索引
|
||||
password: yhtkj@2024! # 密码,建议生产环境开启
|
||||
# password: yhtkj@2024! # 密码,建议生产环境开启
|
||||
|
||||
--- #################### MQ 消息队列相关配置 ####################
|
||||
|
||||
@ -265,4 +265,4 @@ resource:
|
||||
#视频能力
|
||||
video:
|
||||
previewUrls: /artemis/api/video/v2/cameras/previewURLs
|
||||
replayUrlApi: /artemis/api/video/v2/cameras/playbackURLs
|
||||
replayUrlApi: /artemis/api/video/v2/cameras/playbackURLs
|
||||
|
@ -86,7 +86,7 @@
|
||||
(#{item.positionMapId}, #{item.actualLocationX}, #{item.actualLocationY}, #{item.type})
|
||||
</foreach>
|
||||
</select>
|
||||
<select id="selectSortNumByIds" resultType="map">
|
||||
<select id="selectSortNumByIds" resultType="cn.iocoder.yudao.module.system.controller.admin.positionmap.vo.PositionMapIdNumMapVO">
|
||||
select
|
||||
id,
|
||||
sort_num as sortNum
|
||||
|
Loading…
Reference in New Issue
Block a user