From 13d1df339e8984629162341857a87c9d208b7360 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=AD=E6=89=BF?= Date: Mon, 14 Apr 2025 13:18:06 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=B8=8B=E5=8F=91=E5=91=BD=E4=BB=A4?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=BB=E5=8A=A8=E6=8B=8D=E7=85=A7mqtt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TermSetController.java | 2 +- .../shxy/xymanager_common/vo/TermCtrlVo.java | 3 +++ .../impl/TermSetServiceImpl.java | 23 ++++++++++++++++--- .../service/TermSetService.java | 2 +- 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TermSetController.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TermSetController.java index 6ca57aa..ad40a65 100644 --- a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TermSetController.java +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TermSetController.java @@ -74,7 +74,7 @@ public class TermSetController extends BaseController { @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) @RequestMapping("/setTermCamera") @Log(title = "设备控制接口", type = "查询") - public ResponseReult setTermCamera(@RequestBody @Validated TermCtrlVo vo) { + public ResponseReult setTermCamera(@RequestBody @Validated TermCtrlVo vo) throws Exception{ ServiceBody serviceBody = termSetService.setTermCamera(vo); if (serviceBody.getCode() == ServiceStatus.SUCCESS) { return ResponseReult.success(serviceBody.getData()); diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TermCtrlVo.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TermCtrlVo.java index fd77e62..667dc5b 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TermCtrlVo.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TermCtrlVo.java @@ -19,6 +19,9 @@ public class TermCtrlVo { @ApiModelProperty(value = "通道编号", example = "123456") private Integer channelId; + @ApiModelProperty(value = "是否发送mqtt的命令",example = "0") + private Integer mqtt; + @NotNull(message = "不能传入空值") @ApiModelProperty(value = "控制对象数组", required = true) private List list; diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TermSetServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TermSetServiceImpl.java index 9806b6f..9bc038a 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TermSetServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TermSetServiceImpl.java @@ -21,6 +21,7 @@ import com.shxy.xymanager_dao.dao.RequestResultsDao; import com.shxy.xymanager_dao.dao.TerminalChannelMapperDao; import com.shxy.xymanager_dao.dao.TerminalResolutionDao; import com.shxy.xymanager_service.service.CacheService; +import com.shxy.xymanager_service.service.MqttService; import com.shxy.xymanager_service.service.NewCacheService; import com.shxy.xymanager_service.service.TermSetService; import lombok.extern.slf4j.Slf4j; @@ -58,6 +59,9 @@ public class TermSetServiceImpl implements TermSetService { @Autowired TerminalChannelMapperDao terminalChannelMapperDao; + @Resource + MqttService mqttService; + // 记录主动拍照参数 public static Map termChannelModelMap = new HashMap<>(); @@ -115,7 +119,7 @@ public class TermSetServiceImpl implements TermSetService { * @return */ @Override - public ServiceBody setTermCamera(TermCtrlVo vo) { + public ServiceBody setTermCamera(TermCtrlVo vo) throws Exception{ // 返回对象 CmaRequestModel model = new CmaRequestModel(); // 装置信息 @@ -125,6 +129,11 @@ public class TermSetServiceImpl implements TermSetService { // 通道id Integer channelId = vo.getChannelId(); + Map ctrlBeanMap = new HashMap<>(); + for (TermCtrlVo.CtrlBean ctrlBean : vo.getList()) { + ctrlBeanMap.put(ctrlBean.getName() , ctrlBean.getValue()); + } + boolean isFlse = false; if (null != termId && null != channelId && null != list && list.size() > 0) { for (TermCtrlVo.CtrlBean ctrlBean : list) { @@ -157,8 +166,16 @@ public class TermSetServiceImpl implements TermSetService { cmdid = terminals.getCmdid(); } int requestId = Constants.REQUEST_ID.addAndGet(1); - List cmd = CmaUtil.cmaCtrl(list, cmdid, requestId); - ProcessExecUtils.execArray(cmd); + if (vo.getMqtt() != null && vo.getMqtt().intValue() == 1) { + if (ctrlBeanMap.get("cat").equals("capture")) { + int preset = Integer.parseInt(ctrlBeanMap.get("preset").toString()); + int type = Integer.parseInt(ctrlBeanMap.get("type").toString()); + mqttService.takePic(cmdid, channelId, preset, type, requestId); + } + } else { + List cmd = CmaUtil.cmaCtrl(list, cmdid, requestId); + ProcessExecUtils.execArray(cmd); + } model.setRequestId(requestId); DateTime now = DateTime.now(); model.setDate(now); diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TermSetService.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TermSetService.java index bdf7d9f..4bdc258 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TermSetService.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TermSetService.java @@ -39,7 +39,7 @@ public interface TermSetService { * @param vo * @return */ - ServiceBody setTermCamera(TermCtrlVo vo); + ServiceBody setTermCamera(TermCtrlVo vo) throws Exception; /** * 获取装置返回