diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/controller/RobotOptController.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/controller/RobotOptController.java index 3faa8f3..d8b3363 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/controller/RobotOptController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/controller/RobotOptController.java @@ -175,7 +175,7 @@ return baseRobotService.execCmdHandler(request, InstructCodeEnums.SET_TARGETPOINT); } - @ApiOperation(value = "寻栅格指令", notes = "") + @ApiOperation(value = "寻栅格指令") @PostMapping(value = "/targetGrid") public ResponseDataDTO targetGrid(@RequestBody TargetGridRequest request) { TargetPointRequest targetPointRequest = new TargetPointRequest(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/controller/RobotOptController.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/controller/RobotOptController.java index 3faa8f3..d8b3363 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/controller/RobotOptController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/controller/RobotOptController.java @@ -175,7 +175,7 @@ return baseRobotService.execCmdHandler(request, InstructCodeEnums.SET_TARGETPOINT); } - @ApiOperation(value = "寻栅格指令", notes = "") + @ApiOperation(value = "寻栅格指令") @PostMapping(value = "/targetGrid") public ResponseDataDTO targetGrid(@RequestBody TargetGridRequest request) { TargetPointRequest targetPointRequest = new TargetPointRequest(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/dto/GridPushDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/dto/GridPushDTO.java new file mode 100644 index 0000000..7eae335 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/dto/GridPushDTO.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.robot.dto; + +import lombok.Data; + +import java.math.BigDecimal; +@Data +public class GridPushDTO { + /** + * 当前栅格x + */ + private BigDecimal currGridX; + /** + * 当前栅格y + */ + private BigDecimal currGridY; + + /** + * 规划栅格x + */ + private BigDecimal estimateGridX; + /** + * 规划栅格y + */ + private BigDecimal estimateGridY; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/controller/RobotOptController.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/controller/RobotOptController.java index 3faa8f3..d8b3363 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/controller/RobotOptController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/controller/RobotOptController.java @@ -175,7 +175,7 @@ return baseRobotService.execCmdHandler(request, InstructCodeEnums.SET_TARGETPOINT); } - @ApiOperation(value = "寻栅格指令", notes = "") + @ApiOperation(value = "寻栅格指令") @PostMapping(value = "/targetGrid") public ResponseDataDTO targetGrid(@RequestBody TargetGridRequest request) { TargetPointRequest targetPointRequest = new TargetPointRequest(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/dto/GridPushDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/dto/GridPushDTO.java new file mode 100644 index 0000000..7eae335 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/dto/GridPushDTO.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.robot.dto; + +import lombok.Data; + +import java.math.BigDecimal; +@Data +public class GridPushDTO { + /** + * 当前栅格x + */ + private BigDecimal currGridX; + /** + * 当前栅格y + */ + private BigDecimal currGridY; + + /** + * 规划栅格x + */ + private BigDecimal estimateGridX; + /** + * 规划栅格y + */ + private BigDecimal estimateGridY; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/enums/InstructStatusMsgEnums.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/enums/InstructStatusMsgEnums.java index 663e484..3e741d7 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/enums/InstructStatusMsgEnums.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/enums/InstructStatusMsgEnums.java @@ -25,7 +25,9 @@ * @see com.casic.missiles.modular.robot.service.impl.TaskInfoServiceImpl */ HEAT_MAP("heat_map" , "机器人热力图"), - TASK_END("task_end" , "机器人热力图"); + GRID("grid" , "栅格推送"), + TASK_END("task_end" , "任务结束"); + /** * 请求地址 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/controller/RobotOptController.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/controller/RobotOptController.java index 3faa8f3..d8b3363 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/controller/RobotOptController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/controller/RobotOptController.java @@ -175,7 +175,7 @@ return baseRobotService.execCmdHandler(request, InstructCodeEnums.SET_TARGETPOINT); } - @ApiOperation(value = "寻栅格指令", notes = "") + @ApiOperation(value = "寻栅格指令") @PostMapping(value = "/targetGrid") public ResponseDataDTO targetGrid(@RequestBody TargetGridRequest request) { TargetPointRequest targetPointRequest = new TargetPointRequest(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/dto/GridPushDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/dto/GridPushDTO.java new file mode 100644 index 0000000..7eae335 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/dto/GridPushDTO.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.robot.dto; + +import lombok.Data; + +import java.math.BigDecimal; +@Data +public class GridPushDTO { + /** + * 当前栅格x + */ + private BigDecimal currGridX; + /** + * 当前栅格y + */ + private BigDecimal currGridY; + + /** + * 规划栅格x + */ + private BigDecimal estimateGridX; + /** + * 规划栅格y + */ + private BigDecimal estimateGridY; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/enums/InstructStatusMsgEnums.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/enums/InstructStatusMsgEnums.java index 663e484..3e741d7 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/enums/InstructStatusMsgEnums.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/enums/InstructStatusMsgEnums.java @@ -25,7 +25,9 @@ * @see com.casic.missiles.modular.robot.service.impl.TaskInfoServiceImpl */ HEAT_MAP("heat_map" , "机器人热力图"), - TASK_END("task_end" , "机器人热力图"); + GRID("grid" , "栅格推送"), + TASK_END("task_end" , "任务结束"); + /** * 请求地址 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/service/impl/TaskInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/service/impl/TaskInfoServiceImpl.java index 4fed50c..6a0e719 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/service/impl/TaskInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/service/impl/TaskInfoServiceImpl.java @@ -131,7 +131,18 @@ log.error(e.getMessage()); } } - + protected void sendWebSocket(InstructStatusMsgEnums enums, String robotId, GridPushDTO gridPushDTO) { + try { + WsMsgBaseDTO wsMsgBaseDTO = new WsMsgBaseDTO(); + wsMsgBaseDTO.setMsgKey(enums.getMsgKey()); + wsMsgBaseDTO.setData(gridPushDTO); + String msg = JSON.toJSONString(wsMsgBaseDTO); +// log.info("推送{}消息:{}", enums.getRemarks(), msg); + webSocket.sendOneMessage(robotId, msg); + } catch (Exception e) { + log.error(e.getMessage()); + } + } protected void sendTaskMsg(InstructStatusMsgEnums enums, String robotId, TaskEndMsg heatMap) { try { WsMsgBaseDTO wsMsgBaseDTO = new WsMsgBaseDTO(); @@ -356,6 +367,16 @@ log.info("curr point:{}", curPoint); log.debug("curr pointGrid:{}", pointDTO); log.debug("oldEstimateGrid:{}", oldEstimateGrid); + + GridPushDTO gridPushDTO = new GridPushDTO(); + gridPushDTO.setCurrGridX(pointDTO.getX()); + gridPushDTO.setCurrGridY(pointDTO.getY()); + if(oldEstimateGrid!=null){ + gridPushDTO.setEstimateGridX(oldEstimateGrid.getX()); + gridPushDTO.setEstimateGridY(oldEstimateGrid.getY()); + } + sendWebSocket(InstructStatusMsgEnums.GRID, robotId, gridPushDTO); + try { if (pointNextDTO == null || oldEstimateGrid == null || isEquals(pointDTO, oldEstimateGrid, robotInfo)) { atomicInteger = new AtomicInteger(0);