From 35893c3f0d6054029f55d4bcdbfd46dc6d2e9fdb Mon Sep 17 00:00:00 2001 From: huangfeng Date: Mon, 14 Apr 2025 13:45:21 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=80=9A=E7=94=A8=E4=B8=8B=E5=8F=91?= =?UTF-8?q?=E5=91=BD=E4=BB=A4=E6=96=B9=E6=B3=95=E5=A2=9E=E5=8A=A0mqtt?= =?UTF-8?q?=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/MqttServiceImpl.java | 28 +++++++++++++++++++ .../impl/TermSetServiceImpl.java | 8 ++---- .../service/MqttService.java | 5 ++++ 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/MqttServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/MqttServiceImpl.java index 8805710..9bf4836 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/MqttServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/MqttServiceImpl.java @@ -1,5 +1,6 @@ package com.shxy.xymanager_service.impl; +import com.shxy.xymanager_common.exception.ApiException; import com.shxy.xymanager_common.model.mqtt.MessageSend; import com.shxy.xymanager_common.model.mqtt.Paras; import com.shxy.xymanager_service.mqtt.MqttPublisherService; @@ -9,6 +10,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.Map; @Service @@ -31,4 +33,30 @@ public class MqttServiceImpl implements MqttService { paras.setPassword(""); mqttPublisherService.publish(msg); } + + @Override + public void setTermCamera(Map ctrlBeanMap, String cmdid) throws Exception { + MessageSend msg = this.buildMessage(ctrlBeanMap); + msg.setDeviceId(cmdid); + mqttPublisherService.publish(msg); + } + + private MessageSend buildMessage(Map map) { + MessageSend msg = new MessageSend(); + Paras paras = msg.getParas(); + String act = map.get("act"); + switch (act) { + case "capture": + Integer channel = Integer.parseInt(map.get("channel")); + paras.setChannelNumber(channel); + Integer preset = Integer.parseInt(map.get("preset")); + paras.setPresetPosition(preset); + paras.setPassword(""); + break; + default: + throw new ApiException(act + "暂时无法处理"); + } + return msg; + } + } 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 9bc038a..6c99158 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 @@ -129,7 +129,7 @@ public class TermSetServiceImpl implements TermSetService { // 通道id Integer channelId = vo.getChannelId(); - Map ctrlBeanMap = new HashMap<>(); + Map ctrlBeanMap = new HashMap<>(); for (TermCtrlVo.CtrlBean ctrlBean : vo.getList()) { ctrlBeanMap.put(ctrlBean.getName() , ctrlBean.getValue()); } @@ -167,11 +167,7 @@ public class TermSetServiceImpl implements TermSetService { } int requestId = Constants.REQUEST_ID.addAndGet(1); 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); - } + mqttService.setTermCamera(ctrlBeanMap, cmdid); } else { List cmd = CmaUtil.cmaCtrl(list, cmdid, requestId); ProcessExecUtils.execArray(cmd); diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/MqttService.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/MqttService.java index ca42a22..ed9cd98 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/MqttService.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/MqttService.java @@ -1,8 +1,13 @@ package com.shxy.xymanager_service.service; +import com.shxy.xymanager_common.vo.TermCtrlVo; + +import java.util.Map; + public interface MqttService { void takePic(String cmdid, Integer channel, Integer preset, Integer type, Integer requestId) throws Exception; + void setTermCamera(Map ctrlBeanMap, String cmdid) throws Exception; }