diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/RobotInformationController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/RobotInformationController.java index aa2336132..a5205a2c8 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/RobotInformationController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/RobotInformationController.java @@ -6,7 +6,6 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; -import cn.iocoder.yudao.module.system.api.robot.dto.RobotStatusDTO; import cn.iocoder.yudao.module.system.controller.admin.robot.vo.*; import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotInformationDO; import cn.iocoder.yudao.module.system.service.robot.RobotInformationService; @@ -18,7 +17,6 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import javax.annotation.security.PermitAll; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.io.IOException; @@ -37,14 +35,6 @@ public class RobotInformationController { @Resource private RobotInformationService informationService; - @PostMapping("/test") - @Operation(summary = "测试") - @PermitAll - public CommonResult test(@RequestBody RobotStatusDTO dto) { - informationService.test(dto); - return success(true); - } - @PostMapping("/create") @Operation(summary = "创建车辆信息") @PreAuthorize("@ss.hasPermission('robot:information:create')") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationService.java index 9017637c2..ed46d39d0 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationService.java @@ -1,13 +1,12 @@ package cn.iocoder.yudao.module.system.service.robot; -import java.util.*; -import javax.validation.*; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.module.system.api.robot.dto.RobotStatusDTO; import cn.iocoder.yudao.module.system.controller.admin.robot.vo.*; import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotInformationDO; +import javax.validation.Valid; +import java.util.List; + /** * 车辆信息 Service 接口 * @@ -55,32 +54,30 @@ public interface RobotInformationService { /** * 统计车辆待命/任务中/离线 + * * @return */ RobotInformationStatisticsVO statisticsInformation(); /** * 查询能正常使用的车辆 + * * @return */ List getCanUseRobot(); /** * 查询所有车辆 + * * @return */ List getAllRobot(); /** * 查询机器人编号 + * * @param mac * @return */ String getRobotNoByMac(String mac); - - /** - * - * @param dto - */ - void test(@Valid RobotStatusDTO dto); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationServiceImpl.java index 7b00d6cec..b6aedfa5d 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationServiceImpl.java @@ -5,9 +5,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; import cn.iocoder.yudao.module.system.api.robot.RequestProcessor; -import cn.iocoder.yudao.module.system.api.robot.dto.RobotStatusDTO; import cn.iocoder.yudao.module.system.api.robot.dto.RobotStatusDataPoseDTO; import cn.iocoder.yudao.module.system.constant.robot.RobotTaskChcheConstant; import cn.iocoder.yudao.module.system.controller.admin.robot.vo.*; @@ -55,8 +53,6 @@ public class RobotInformationServiceImpl implements RobotInformationService { @Resource private RedisUtil redisUtil; - @Resource - private RequestProcessor processor; @Override public Long createInformation(RobotInformationSaveReqVO createReqVO) { @@ -110,7 +106,7 @@ public class RobotInformationServiceImpl implements RobotInformationService { // 更新 RobotInformationDO updateObj = BeanUtils.toBean(updateReqVO, RobotInformationDO.class); informationMapper.updateById(updateObj); - redisUtil.set(RobotTaskChcheConstant.ROBOT_GET_ROBOTNO_BY_MAC + updateObj.getMacAddress(),updateObj.getRobotNo()); + redisUtil.set(RobotTaskChcheConstant.ROBOT_GET_ROBOTNO_BY_MAC + updateObj.getMacAddress(), updateObj.getRobotNo()); } @Override @@ -162,14 +158,15 @@ public class RobotInformationServiceImpl implements RobotInformationService { /** * 设置状态和信息 + * * @param v */ private void setMsgAndRobotStatus(RobotInformationPageRespVO v) { - String pose2dKey = RobotTaskChcheConstant.ROBOT_INFORMATION_POSE_BAT_SOC +v.getMacAddress(); + String pose2dKey = RobotTaskChcheConstant.ROBOT_INFORMATION_POSE_BAT_SOC + v.getMacAddress(); Object object = redisUtil.get(pose2dKey); - RobotStatusDataPoseDTO robotStatusDataPoseDTO= JSONUtil.toBean((String)object, RobotStatusDataPoseDTO.class); + RobotStatusDataPoseDTO robotStatusDataPoseDTO = JSONUtil.toBean((String) object, RobotStatusDataPoseDTO.class); - String robotDoingActionKey = RobotTaskChcheConstant.ROBOT_QUERY_DOING_ACTION +v.getMacAddress(); + String robotDoingActionKey = RobotTaskChcheConstant.ROBOT_QUERY_DOING_ACTION + v.getMacAddress(); Object action = redisUtil.get(robotDoingActionKey); if (ObjectUtil.isNotEmpty(object) && ObjectUtil.isNotEmpty(robotStatusDataPoseDTO)) { @@ -181,10 +178,10 @@ public class RobotInformationServiceImpl implements RobotInformationService { if (RobotTaskModelEnum.REJECTION.getType().equals(v.getRobotTaskModel())) { v.setRobotStatus(RobotInformationPageStatusEnum.DOLOCK.getType()); v.setMsg("车辆已经锁定"); - }else if (ObjectUtil.isEmpty(object)) { + } else if (ObjectUtil.isEmpty(object)) { v.setRobotStatus(RobotInformationPageStatusEnum.OFFLINE.getType()); v.setMsg("车辆已经离线"); - }else if (RobotStatusEnum.STAND_BY.getType().equals(v.getRobotStatus())) { + } else if (RobotStatusEnum.STAND_BY.getType().equals(v.getRobotStatus())) { //查看机器人最后做的任务是不是充电 RobotTaskDetailDO robotTaskDetailDO = taskDetailMapper.selectOne(new LambdaQueryWrapper() .eq(RobotTaskDetailDO::getRobotNo, v.getRobotNo()) @@ -195,15 +192,15 @@ public class RobotInformationServiceImpl implements RobotInformationService { && RobotTaskStatusEnum.DOING.getType().equals(robotTaskDetailDO.getTaskStatus())) { v.setRobotStatus(RobotInformationPageStatusEnum.CHARGE.getType()); v.setMsg("车辆正在充电"); - }else { + } else { v.setRobotStatus(RobotInformationPageStatusEnum.STANDBY.getType()); v.setMsg("车辆正在待命"); } - }else if (RobotStatusEnum.DOING.getType().equals(v.getRobotStatus()) && ObjectUtil.isNotEmpty(action)) { + } else if (RobotStatusEnum.DOING.getType().equals(v.getRobotStatus()) && ObjectUtil.isNotEmpty(action)) { v.setRobotStatus(RobotInformationPageStatusEnum.INTASK.getType()); CommandTypeEnum commandType = CommandTypeEnum.getCommandType(String.valueOf(action)); if (ObjectUtil.isNotEmpty(commandType)) { - v.setMsg("车辆正在"+commandType.getMsg()); + v.setMsg("车辆正在" + commandType.getMsg()); } } else { v.setRobotStatus(RobotInformationPageStatusEnum.FAULT.getType()); @@ -214,6 +211,7 @@ public class RobotInformationServiceImpl implements RobotInformationService { /** * 统计车辆待命/任务中/离线 + * * @return */ @Override @@ -233,13 +231,13 @@ public class RobotInformationServiceImpl implements RobotInformationService { Integer fault = 0; //0:待命、1:任务中、2:锁定、3:离线、4:充电中、5:故障 for (RobotInformationDO v : existRobot) { - String pose2dKey = RobotTaskChcheConstant.ROBOT_INFORMATION_POSE_BAT_SOC +v.getMacAddress(); + String pose2dKey = RobotTaskChcheConstant.ROBOT_INFORMATION_POSE_BAT_SOC + v.getMacAddress(); Object object = redisUtil.get(pose2dKey); if (ObjectUtil.isEmpty(object)) { offline++; - }else if (RobotTaskModelEnum.REJECTION.getType().equals(v.getRobotTaskModel())) { + } else if (RobotTaskModelEnum.REJECTION.getType().equals(v.getRobotTaskModel())) { doLock++; - }else if (RobotStatusEnum.STAND_BY.getType().equals(v.getRobotStatus())) { + } else if (RobotStatusEnum.STAND_BY.getType().equals(v.getRobotStatus())) { //查看机器人最后做的任务是不是充电 RobotTaskDetailDO robotTaskDetailDO = taskDetailMapper.selectOne(new LambdaQueryWrapper() @@ -250,11 +248,11 @@ public class RobotInformationServiceImpl implements RobotInformationService { && RobotTaskTypeEnum.CHARGE.getType().equals(robotTaskDetailDO.getTaskType()) && RobotTaskStatusEnum.DOING.getType().equals(robotTaskDetailDO.getTaskStatus())) { charge++; - }else { + } else { standby++; } - }else if (RobotStatusEnum.DOING.getType().equals(v.getRobotStatus())) { + } else if (RobotStatusEnum.DOING.getType().equals(v.getRobotStatus())) { inTask++; } else { fault++; @@ -271,7 +269,6 @@ public class RobotInformationServiceImpl implements RobotInformationService { } /** - * * @return */ @Override @@ -289,6 +286,7 @@ public class RobotInformationServiceImpl implements RobotInformationService { /** * 根据mac查询机器人编号 + * * @param mac * @return */ @@ -307,29 +305,10 @@ public class RobotInformationServiceImpl implements RobotInformationService { .eq(RobotInformationDO::getMacAddress, mac) .last("limit 1")); if (ObjectUtil.isNotEmpty(robotInformationDO)) { - redisUtil.set(RobotTaskChcheConstant.ROBOT_GET_ROBOTNO_BY_MAC + mac,robotInformationDO.getRobotNo()); + redisUtil.set(RobotTaskChcheConstant.ROBOT_GET_ROBOTNO_BY_MAC + mac, robotInformationDO.getRobotNo()); return robotInformationDO.getRobotNo(); } return ""; } - @Override - public void test(RobotStatusDTO robotStatusDataDTO) { - TenantContextHolder.setTenantId(1L); - if (ObjectUtil.isEmpty(robotStatusDataDTO) || ObjectUtil.isEmpty(robotStatusDataDTO.getMac())) { - return; - } - RobotStatusDataPoseDTO robotStatusDataPoseDTO = new RobotStatusDataPoseDTO(); - robotStatusDataPoseDTO.setX(robotStatusDataDTO.getData().getPose2d().getX()); - robotStatusDataPoseDTO.setY(robotStatusDataDTO.getData().getPose2d().getY()); - robotStatusDataPoseDTO.setYaw(robotStatusDataDTO.getData().getPose2d().getYaw()); - robotStatusDataPoseDTO.setFloor(robotStatusDataDTO.getData().getFloor_zone().getFloor()); - robotStatusDataPoseDTO.setArea(robotStatusDataDTO.getData().getFloor_zone().getArea()); - robotStatusDataPoseDTO.setBat_soc(robotStatusDataDTO.getData().getPose2d().getBat_soc()); - // 模拟请求 - processor.handleRequest(robotStatusDataDTO.getData().getFloor_zone().getFloor() + "_" + robotStatusDataDTO.getData().getFloor_zone().getArea(), - robotStatusDataDTO.getMac(), JSONUtil.toJsonStr(robotStatusDataPoseDTO)); - - } - }