diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java index a08953c..e1e713c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java @@ -4,6 +4,7 @@ import com.casic.missiles.modular.robot.model.RobotInfo; import com.casic.missiles.modular.robot.opt.IRobotRouteOptService; import com.casic.missiles.modular.robot.opt.enums.InstructCodeEnums; +import com.casic.missiles.modular.robot.opt.handler.IBaseCmdHandler; import com.casic.missiles.modular.robot.opt.instruct.dto.AppCmdVelRequest; import com.casic.missiles.modular.robot.opt.instruct.dto.AppCmdVelResponse; @@ -64,4 +65,16 @@ * @return 执行结果 */ ResponseDataDTO execCmdHandler(R req, InstructCodeEnums enums); + + /** + * 命令行执行 + * + * @param req 请求体 + * @param enums 执行命令 + * @param 请求体 + * @param 响应体 + * @param cmdHandler 执行handler + * @return 执行结果 + */ + ResponseDataDTO execCmdHandler(R req, InstructCodeEnums enums, IBaseCmdHandler cmdHandler); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java index a08953c..e1e713c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java @@ -4,6 +4,7 @@ import com.casic.missiles.modular.robot.model.RobotInfo; import com.casic.missiles.modular.robot.opt.IRobotRouteOptService; import com.casic.missiles.modular.robot.opt.enums.InstructCodeEnums; +import com.casic.missiles.modular.robot.opt.handler.IBaseCmdHandler; import com.casic.missiles.modular.robot.opt.instruct.dto.AppCmdVelRequest; import com.casic.missiles.modular.robot.opt.instruct.dto.AppCmdVelResponse; @@ -64,4 +65,16 @@ * @return 执行结果 */ ResponseDataDTO execCmdHandler(R req, InstructCodeEnums enums); + + /** + * 命令行执行 + * + * @param req 请求体 + * @param enums 执行命令 + * @param 请求体 + * @param 响应体 + * @param cmdHandler 执行handler + * @return 执行结果 + */ + ResponseDataDTO execCmdHandler(R req, InstructCodeEnums enums, IBaseCmdHandler cmdHandler); } 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 737b68f..b59291b 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 @@ -2,6 +2,7 @@ import cn.hutool.core.util.StrUtil; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.util.SpringContextHolder; import com.casic.missiles.model.response.dto.ResponseDataDTO; import com.casic.missiles.modular.robot.IBaseRobotService; import com.casic.missiles.modular.robot.dto.RobotInfoSetDTO; @@ -9,6 +10,7 @@ import com.casic.missiles.modular.robot.model.RouteInfo; import com.casic.missiles.modular.robot.model.RouteKeyPointInfo; import com.casic.missiles.modular.robot.opt.enums.InstructCodeEnums; +import com.casic.missiles.modular.robot.opt.handler.IBaseCmdHandler; import com.casic.missiles.modular.robot.opt.instruct.base.dto.MessageRequestDTO; import com.casic.missiles.modular.robot.opt.instruct.dto.*; import com.casic.missiles.modular.robot.service.IRobotInfoService; @@ -166,15 +168,6 @@ return list; } - @ApiOperation(value = "获取数据包列表(暂不支持)" , hidden = true) - @GetMapping(value = "/getDataList") - public ResponseDataDTO getDataList(@RequestBody CrlNavRequest request) { - MessageRequestDTO messageDTO = new MessageRequestDTO(); - RobotInfo info = robotInfoService.getById(request.getRobotId()); - messageDTO.setMsg(request); - ResponseDataDTO list = baseRobotService.getRobotRouteOptService().robotCmd(info, InstructCodeEnums.GET_DATA_LIST, messageDTO); - return list; - } /** * 指令状态读取 @@ -185,18 +178,11 @@ @ApiOperation(value = "实时状态读取接口" , notes = "get_navigation:获取当前导航状态 get_data_record:获取录包状态 get_track_record:获取轨迹录制状态,get_track:获取循迹状态 get_ins:获取ins状态 返回 0未开启 1开启 2 错误") @GetMapping(value = "/{cmdType}") public ResponseDataDTO commCmd(@PathVariable String cmdType, @RequestBody CrlNavRequest request) { - RobotInfo info = robotInfoService.getById(request.getRobotId()); if (!InstructCodeEnums.commCmdMap.containsKey(cmdType)) { - return new ResponseDataDTO(false, 500, "指令不存在" , 0); - } - if (StrUtil.isEmpty(request.getSn())) { - request.setSn(request.getRobotId() + ""); + return new ResponseDataDTO<>(false, 500, "指令不存在" , 0); } InstructCodeEnums enums = InstructCodeEnums.commCmdMap.get(cmdType); - - MessageRequestDTO messageDTO = new MessageRequestDTO(); - messageDTO.setMsg(request); - ResponseDataDTO list = baseRobotService.getRobotRouteOptService().robotCmd(info, enums, messageDTO); - return list; + IBaseCmdHandler baseCmdHandler = SpringContextHolder.getBean("COMMON_CMD"); + return baseRobotService.execCmdHandler(request, enums, baseCmdHandler); } } \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java index a08953c..e1e713c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java @@ -4,6 +4,7 @@ import com.casic.missiles.modular.robot.model.RobotInfo; import com.casic.missiles.modular.robot.opt.IRobotRouteOptService; import com.casic.missiles.modular.robot.opt.enums.InstructCodeEnums; +import com.casic.missiles.modular.robot.opt.handler.IBaseCmdHandler; import com.casic.missiles.modular.robot.opt.instruct.dto.AppCmdVelRequest; import com.casic.missiles.modular.robot.opt.instruct.dto.AppCmdVelResponse; @@ -64,4 +65,16 @@ * @return 执行结果 */ ResponseDataDTO execCmdHandler(R req, InstructCodeEnums enums); + + /** + * 命令行执行 + * + * @param req 请求体 + * @param enums 执行命令 + * @param 请求体 + * @param 响应体 + * @param cmdHandler 执行handler + * @return 执行结果 + */ + ResponseDataDTO execCmdHandler(R req, InstructCodeEnums enums, IBaseCmdHandler cmdHandler); } 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 737b68f..b59291b 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 @@ -2,6 +2,7 @@ import cn.hutool.core.util.StrUtil; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.util.SpringContextHolder; import com.casic.missiles.model.response.dto.ResponseDataDTO; import com.casic.missiles.modular.robot.IBaseRobotService; import com.casic.missiles.modular.robot.dto.RobotInfoSetDTO; @@ -9,6 +10,7 @@ import com.casic.missiles.modular.robot.model.RouteInfo; import com.casic.missiles.modular.robot.model.RouteKeyPointInfo; import com.casic.missiles.modular.robot.opt.enums.InstructCodeEnums; +import com.casic.missiles.modular.robot.opt.handler.IBaseCmdHandler; import com.casic.missiles.modular.robot.opt.instruct.base.dto.MessageRequestDTO; import com.casic.missiles.modular.robot.opt.instruct.dto.*; import com.casic.missiles.modular.robot.service.IRobotInfoService; @@ -166,15 +168,6 @@ return list; } - @ApiOperation(value = "获取数据包列表(暂不支持)" , hidden = true) - @GetMapping(value = "/getDataList") - public ResponseDataDTO getDataList(@RequestBody CrlNavRequest request) { - MessageRequestDTO messageDTO = new MessageRequestDTO(); - RobotInfo info = robotInfoService.getById(request.getRobotId()); - messageDTO.setMsg(request); - ResponseDataDTO list = baseRobotService.getRobotRouteOptService().robotCmd(info, InstructCodeEnums.GET_DATA_LIST, messageDTO); - return list; - } /** * 指令状态读取 @@ -185,18 +178,11 @@ @ApiOperation(value = "实时状态读取接口" , notes = "get_navigation:获取当前导航状态 get_data_record:获取录包状态 get_track_record:获取轨迹录制状态,get_track:获取循迹状态 get_ins:获取ins状态 返回 0未开启 1开启 2 错误") @GetMapping(value = "/{cmdType}") public ResponseDataDTO commCmd(@PathVariable String cmdType, @RequestBody CrlNavRequest request) { - RobotInfo info = robotInfoService.getById(request.getRobotId()); if (!InstructCodeEnums.commCmdMap.containsKey(cmdType)) { - return new ResponseDataDTO(false, 500, "指令不存在" , 0); - } - if (StrUtil.isEmpty(request.getSn())) { - request.setSn(request.getRobotId() + ""); + return new ResponseDataDTO<>(false, 500, "指令不存在" , 0); } InstructCodeEnums enums = InstructCodeEnums.commCmdMap.get(cmdType); - - MessageRequestDTO messageDTO = new MessageRequestDTO(); - messageDTO.setMsg(request); - ResponseDataDTO list = baseRobotService.getRobotRouteOptService().robotCmd(info, enums, messageDTO); - return list; + IBaseCmdHandler baseCmdHandler = SpringContextHolder.getBean("COMMON_CMD"); + return baseRobotService.execCmdHandler(request, enums, baseCmdHandler); } } \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/ChangPcdCmdHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/ChangPcdCmdHandler.java index e0bda6b..bcace6a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/ChangPcdCmdHandler.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/ChangPcdCmdHandler.java @@ -31,7 +31,7 @@ if (StrUtil.isEmpty(request.getSn())) { request.setSn(request.getRobotId() + ""); } - ResponseDataDTO list = optService.robotCmd(getRobotInfo(), InstructCodeEnums.CHANGE_PCD, messageDTO); + ResponseDataDTO list = optService.robotCmd(getRobotInfo(), enums, messageDTO); return list; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java index a08953c..e1e713c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java @@ -4,6 +4,7 @@ import com.casic.missiles.modular.robot.model.RobotInfo; import com.casic.missiles.modular.robot.opt.IRobotRouteOptService; import com.casic.missiles.modular.robot.opt.enums.InstructCodeEnums; +import com.casic.missiles.modular.robot.opt.handler.IBaseCmdHandler; import com.casic.missiles.modular.robot.opt.instruct.dto.AppCmdVelRequest; import com.casic.missiles.modular.robot.opt.instruct.dto.AppCmdVelResponse; @@ -64,4 +65,16 @@ * @return 执行结果 */ ResponseDataDTO execCmdHandler(R req, InstructCodeEnums enums); + + /** + * 命令行执行 + * + * @param req 请求体 + * @param enums 执行命令 + * @param 请求体 + * @param 响应体 + * @param cmdHandler 执行handler + * @return 执行结果 + */ + ResponseDataDTO execCmdHandler(R req, InstructCodeEnums enums, IBaseCmdHandler cmdHandler); } 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 737b68f..b59291b 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 @@ -2,6 +2,7 @@ import cn.hutool.core.util.StrUtil; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.util.SpringContextHolder; import com.casic.missiles.model.response.dto.ResponseDataDTO; import com.casic.missiles.modular.robot.IBaseRobotService; import com.casic.missiles.modular.robot.dto.RobotInfoSetDTO; @@ -9,6 +10,7 @@ import com.casic.missiles.modular.robot.model.RouteInfo; import com.casic.missiles.modular.robot.model.RouteKeyPointInfo; import com.casic.missiles.modular.robot.opt.enums.InstructCodeEnums; +import com.casic.missiles.modular.robot.opt.handler.IBaseCmdHandler; import com.casic.missiles.modular.robot.opt.instruct.base.dto.MessageRequestDTO; import com.casic.missiles.modular.robot.opt.instruct.dto.*; import com.casic.missiles.modular.robot.service.IRobotInfoService; @@ -166,15 +168,6 @@ return list; } - @ApiOperation(value = "获取数据包列表(暂不支持)" , hidden = true) - @GetMapping(value = "/getDataList") - public ResponseDataDTO getDataList(@RequestBody CrlNavRequest request) { - MessageRequestDTO messageDTO = new MessageRequestDTO(); - RobotInfo info = robotInfoService.getById(request.getRobotId()); - messageDTO.setMsg(request); - ResponseDataDTO list = baseRobotService.getRobotRouteOptService().robotCmd(info, InstructCodeEnums.GET_DATA_LIST, messageDTO); - return list; - } /** * 指令状态读取 @@ -185,18 +178,11 @@ @ApiOperation(value = "实时状态读取接口" , notes = "get_navigation:获取当前导航状态 get_data_record:获取录包状态 get_track_record:获取轨迹录制状态,get_track:获取循迹状态 get_ins:获取ins状态 返回 0未开启 1开启 2 错误") @GetMapping(value = "/{cmdType}") public ResponseDataDTO commCmd(@PathVariable String cmdType, @RequestBody CrlNavRequest request) { - RobotInfo info = robotInfoService.getById(request.getRobotId()); if (!InstructCodeEnums.commCmdMap.containsKey(cmdType)) { - return new ResponseDataDTO(false, 500, "指令不存在" , 0); - } - if (StrUtil.isEmpty(request.getSn())) { - request.setSn(request.getRobotId() + ""); + return new ResponseDataDTO<>(false, 500, "指令不存在" , 0); } InstructCodeEnums enums = InstructCodeEnums.commCmdMap.get(cmdType); - - MessageRequestDTO messageDTO = new MessageRequestDTO(); - messageDTO.setMsg(request); - ResponseDataDTO list = baseRobotService.getRobotRouteOptService().robotCmd(info, enums, messageDTO); - return list; + IBaseCmdHandler baseCmdHandler = SpringContextHolder.getBean("COMMON_CMD"); + return baseRobotService.execCmdHandler(request, enums, baseCmdHandler); } } \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/ChangPcdCmdHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/ChangPcdCmdHandler.java index e0bda6b..bcace6a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/ChangPcdCmdHandler.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/ChangPcdCmdHandler.java @@ -31,7 +31,7 @@ if (StrUtil.isEmpty(request.getSn())) { request.setSn(request.getRobotId() + ""); } - ResponseDataDTO list = optService.robotCmd(getRobotInfo(), InstructCodeEnums.CHANGE_PCD, messageDTO); + ResponseDataDTO list = optService.robotCmd(getRobotInfo(), enums, messageDTO); return list; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/CommonCmdHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/CommonCmdHandler.java new file mode 100644 index 0000000..d758a6a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/CommonCmdHandler.java @@ -0,0 +1,48 @@ +package com.casic.missiles.modular.robot.opt.handler.cmd; + +import cn.hutool.core.util.StrUtil; +import com.casic.missiles.model.response.dto.ResponseDataDTO; +import com.casic.missiles.modular.robot.opt.IRobotRouteOptService; +import com.casic.missiles.modular.robot.opt.enums.InstructCodeEnums; +import com.casic.missiles.modular.robot.opt.handler.AbstractCmdHandler; +import com.casic.missiles.modular.robot.opt.instruct.base.dto.MessageRequestDTO; +import com.casic.missiles.modular.robot.opt.instruct.dto.CrlNavRequest; +import com.casic.missiles.modular.robot.service.IRobotInfoService; +import org.springframework.stereotype.Component; + +@Component("COMMON_CMD") +public class CommonCmdHandler extends AbstractCmdHandler> { + + protected CommonCmdHandler(IRobotRouteOptService optService, IRobotInfoService service) { + super(optService, service); + } + + /** + * 发送命令 + * + * @param request 消息请求体 + * @param enums 指令集 + * @return + */ + @Override + public ResponseDataDTO senderCmd(CrlNavRequest request, InstructCodeEnums enums) { + MessageRequestDTO messageDTO = new MessageRequestDTO(); + messageDTO.setMsg(request); + if (StrUtil.isEmpty(request.getSn())) { + request.setSn(request.getRobotId() + ""); + } + return optService.robotCmd(getRobotInfo(), enums, messageDTO); + } + + /** + * 结果集调用 + * + * @param request 消息请求体 + * @param response 响应体 + * @return + */ + @Override + public ResponseDataDTO afterInvoke(CrlNavRequest request, ResponseDataDTO response) { + return response; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java index a08953c..e1e713c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/IBaseRobotService.java @@ -4,6 +4,7 @@ import com.casic.missiles.modular.robot.model.RobotInfo; import com.casic.missiles.modular.robot.opt.IRobotRouteOptService; import com.casic.missiles.modular.robot.opt.enums.InstructCodeEnums; +import com.casic.missiles.modular.robot.opt.handler.IBaseCmdHandler; import com.casic.missiles.modular.robot.opt.instruct.dto.AppCmdVelRequest; import com.casic.missiles.modular.robot.opt.instruct.dto.AppCmdVelResponse; @@ -64,4 +65,16 @@ * @return 执行结果 */ ResponseDataDTO execCmdHandler(R req, InstructCodeEnums enums); + + /** + * 命令行执行 + * + * @param req 请求体 + * @param enums 执行命令 + * @param 请求体 + * @param 响应体 + * @param cmdHandler 执行handler + * @return 执行结果 + */ + ResponseDataDTO execCmdHandler(R req, InstructCodeEnums enums, IBaseCmdHandler cmdHandler); } 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 737b68f..b59291b 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 @@ -2,6 +2,7 @@ import cn.hutool.core.util.StrUtil; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.util.SpringContextHolder; import com.casic.missiles.model.response.dto.ResponseDataDTO; import com.casic.missiles.modular.robot.IBaseRobotService; import com.casic.missiles.modular.robot.dto.RobotInfoSetDTO; @@ -9,6 +10,7 @@ import com.casic.missiles.modular.robot.model.RouteInfo; import com.casic.missiles.modular.robot.model.RouteKeyPointInfo; import com.casic.missiles.modular.robot.opt.enums.InstructCodeEnums; +import com.casic.missiles.modular.robot.opt.handler.IBaseCmdHandler; import com.casic.missiles.modular.robot.opt.instruct.base.dto.MessageRequestDTO; import com.casic.missiles.modular.robot.opt.instruct.dto.*; import com.casic.missiles.modular.robot.service.IRobotInfoService; @@ -166,15 +168,6 @@ return list; } - @ApiOperation(value = "获取数据包列表(暂不支持)" , hidden = true) - @GetMapping(value = "/getDataList") - public ResponseDataDTO getDataList(@RequestBody CrlNavRequest request) { - MessageRequestDTO messageDTO = new MessageRequestDTO(); - RobotInfo info = robotInfoService.getById(request.getRobotId()); - messageDTO.setMsg(request); - ResponseDataDTO list = baseRobotService.getRobotRouteOptService().robotCmd(info, InstructCodeEnums.GET_DATA_LIST, messageDTO); - return list; - } /** * 指令状态读取 @@ -185,18 +178,11 @@ @ApiOperation(value = "实时状态读取接口" , notes = "get_navigation:获取当前导航状态 get_data_record:获取录包状态 get_track_record:获取轨迹录制状态,get_track:获取循迹状态 get_ins:获取ins状态 返回 0未开启 1开启 2 错误") @GetMapping(value = "/{cmdType}") public ResponseDataDTO commCmd(@PathVariable String cmdType, @RequestBody CrlNavRequest request) { - RobotInfo info = robotInfoService.getById(request.getRobotId()); if (!InstructCodeEnums.commCmdMap.containsKey(cmdType)) { - return new ResponseDataDTO(false, 500, "指令不存在" , 0); - } - if (StrUtil.isEmpty(request.getSn())) { - request.setSn(request.getRobotId() + ""); + return new ResponseDataDTO<>(false, 500, "指令不存在" , 0); } InstructCodeEnums enums = InstructCodeEnums.commCmdMap.get(cmdType); - - MessageRequestDTO messageDTO = new MessageRequestDTO(); - messageDTO.setMsg(request); - ResponseDataDTO list = baseRobotService.getRobotRouteOptService().robotCmd(info, enums, messageDTO); - return list; + IBaseCmdHandler baseCmdHandler = SpringContextHolder.getBean("COMMON_CMD"); + return baseRobotService.execCmdHandler(request, enums, baseCmdHandler); } } \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/ChangPcdCmdHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/ChangPcdCmdHandler.java index e0bda6b..bcace6a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/ChangPcdCmdHandler.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/ChangPcdCmdHandler.java @@ -31,7 +31,7 @@ if (StrUtil.isEmpty(request.getSn())) { request.setSn(request.getRobotId() + ""); } - ResponseDataDTO list = optService.robotCmd(getRobotInfo(), InstructCodeEnums.CHANGE_PCD, messageDTO); + ResponseDataDTO list = optService.robotCmd(getRobotInfo(), enums, messageDTO); return list; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/CommonCmdHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/CommonCmdHandler.java new file mode 100644 index 0000000..d758a6a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/CommonCmdHandler.java @@ -0,0 +1,48 @@ +package com.casic.missiles.modular.robot.opt.handler.cmd; + +import cn.hutool.core.util.StrUtil; +import com.casic.missiles.model.response.dto.ResponseDataDTO; +import com.casic.missiles.modular.robot.opt.IRobotRouteOptService; +import com.casic.missiles.modular.robot.opt.enums.InstructCodeEnums; +import com.casic.missiles.modular.robot.opt.handler.AbstractCmdHandler; +import com.casic.missiles.modular.robot.opt.instruct.base.dto.MessageRequestDTO; +import com.casic.missiles.modular.robot.opt.instruct.dto.CrlNavRequest; +import com.casic.missiles.modular.robot.service.IRobotInfoService; +import org.springframework.stereotype.Component; + +@Component("COMMON_CMD") +public class CommonCmdHandler extends AbstractCmdHandler> { + + protected CommonCmdHandler(IRobotRouteOptService optService, IRobotInfoService service) { + super(optService, service); + } + + /** + * 发送命令 + * + * @param request 消息请求体 + * @param enums 指令集 + * @return + */ + @Override + public ResponseDataDTO senderCmd(CrlNavRequest request, InstructCodeEnums enums) { + MessageRequestDTO messageDTO = new MessageRequestDTO(); + messageDTO.setMsg(request); + if (StrUtil.isEmpty(request.getSn())) { + request.setSn(request.getRobotId() + ""); + } + return optService.robotCmd(getRobotInfo(), enums, messageDTO); + } + + /** + * 结果集调用 + * + * @param request 消息请求体 + * @param response 响应体 + * @return + */ + @Override + public ResponseDataDTO afterInvoke(CrlNavRequest request, ResponseDataDTO response) { + return response; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java index 370e4a1..11c4cc6 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java @@ -112,6 +112,11 @@ @Override public ResponseDataDTO execCmdHandler(R request, InstructCodeEnums enums) { IBaseCmdHandler cmdHandler = SpringContextHolder.getBean(enums.name()); + return execCmdHandler(request, enums, cmdHandler); + } + + @Override + public ResponseDataDTO execCmdHandler(R request, InstructCodeEnums enums, IBaseCmdHandler cmdHandler) { cmdHandler.initHandler((BaseRobotCmdDTO) request); ResponseDataDTO result = (ResponseDataDTO) cmdHandler.senderCmd((BaseRobotCmdDTO) request, InstructCodeEnums.TRACK_LIST); result = (ResponseDataDTO) cmdHandler.afterInvoke((BaseRobotCmdDTO) request, result);