yf_zn 1 год назад
Родитель
Сommit
189223fea0

+ 7 - 8
src/main/java/com/yunfeiyun/agmp/iots/core/cmd/core/task/CmdTaskService.java

@@ -20,6 +20,7 @@ import com.yunfeiyun.agmp.iot.common.domain.resvo.IotFirmdevResVo;
 import com.yunfeiyun.agmp.iot.common.exception.IotBizException;
 import com.yunfeiyun.agmp.iot.common.model.cmd.CmdGroupModel;
 import com.yunfeiyun.agmp.iot.common.model.task.TaskResult;
+import com.yunfeiyun.agmp.iot.common.service.TypeCacheService;
 import com.yunfeiyun.agmp.iots.config.TestConst;
 import com.yunfeiyun.agmp.iots.core.cmd.core.serial.SerialTaskModel;
 import com.yunfeiyun.agmp.iots.core.cmd.model.CmdExecModel;
@@ -61,11 +62,11 @@ public class CmdTaskService {
     private IIotCmdtaskService iotCmdtaskService;
 
     @Autowired
-    private IIotFirmdevService iIotFirmdevService;
-
+    private IIotCmdlogService iIotCmdlogService;
 
     @Autowired
-    private IIotCmdlogService iIotCmdlogService;
+    private TypeCacheService  typeCacheService;
+
 
 
     public void execute(CmdTaskModel cmdTaskModel) {
@@ -93,11 +94,9 @@ public class CmdTaskService {
 
         for (CmdExecModel cmdExecModel : cmdExecModels) {
             CmdModel cmdModel = cmdExecModel.getCmdModel();
-            log.info("任务标识:【{}】,开始执行最小任务单元:{}", taskId, cmdModel);
             IotDevice iotDevice = iotDeviceMap.get(cmdModel.getDeviceId());
-            //【需要补充】需要换出来ServiceName TODO
-            TestConst.printError("!!!!!!!!!!【看这里:临时测试】这里的serviceName写死了SERVICE_YF_CBD,对接业务时候换掉,取出来");
-            String serviceName = TestConst.serviceName;
+            log.info("任务标识:【{}】,开始执行最小任务单元:{} {} ", taskId, cmdModel,iotDevice.getDevtypeBid());
+            String serviceName = typeCacheService.getServiceNameByDevTypeBid(iotDevice.getDevtypeBid());
             if (StringUtils.isEmpty(serviceName)) {
                 cmdExecModel.setCmdStatus(CmdStatus.CMD_STATUS_FAIL.getCode());
                 cmdExecModel.setErrmsg("指令下发失败:设备:" + iotDevice.getDevCode() + "的对应厂家配置异常,请检查");
@@ -124,7 +123,7 @@ public class CmdTaskService {
                 cmdExecModel.setCmdStatus(CmdStatus.CMD_STATUS_FAIL.getCode());
                 cmdExecModel.setErrmsg("【调试专用】模拟该指令失败");
                 cmdExecModel.setCmdFinishTime(DateUtils.dateTimeNow());
-                cmdResultCheckService.onChecked(cmdExecModel);
+                //cmdResultCheckService.onChecked(cmdExecModel);
                 return;
             }
             try {

+ 2 - 1
src/main/java/com/yunfeiyun/agmp/iots/core/manager/ConnectionManager.java

@@ -2,6 +2,7 @@ package com.yunfeiyun.agmp.iots.core.manager;
 
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
+import com.yunfeiyun.agmp.common.utils.JSONUtils;
 import com.yunfeiyun.agmp.common.utils.StringUtils;
 import com.yunfeiyun.agmp.iots.common.modal.IotDeviceconnResVo;
 import com.yunfeiyun.agmp.iots.common.modal.TosDevicetypeResVo;
@@ -35,9 +36,9 @@ public class ConnectionManager {
      */
     @PostConstruct
     public void init() throws MqttException {
-        log.info("【初始化】设备型号 构建链接 协议");
         //先把所有型号查出来
         List<IotDeviceconnResVo> iotDeviceConnResVoList = businessCoreService.selectTosDevicetypeResVoList();
+        log.info("【初始化】设备型号 构建链接 协议: {}个",iotDeviceConnResVoList.size());
         for (IotDeviceconnResVo iotDeviceconnResVo : iotDeviceConnResVoList) {
             log.info("【初始化】【开始】协议加载,厂家:{},类型:{} ,配置:{}", iotDeviceconnResVo.getFirmName(), iotDeviceconnResVo.getDevtypeBid(), iotDeviceconnResVo.getDevconnConfig());
             //将配置信息转换成jsonObject,这是个数组

+ 1 - 9
src/main/java/com/yunfeiyun/agmp/iots/core/manager/MqttManager.java

@@ -79,22 +79,17 @@ public class MqttManager {
      * @throws MqttException
      */
     public void buildMqttConnection(IotDeviceconnResVo iotDeviceconnResVo, JSONObject jsonConfig) throws MqttException {
-        log.info("【开始构建MQTT连接】 tosDeviceTypeName: {}, tosDeviceTypeId:{}, jsonConfig: {}", iotDeviceconnResVo.getDevtypeName(), iotDeviceconnResVo.getDevtypeBid(), jsonConfig);
+        log.info("【开始构建MQTT连接】 devconnId:{} ,devconnName: {}, tosDeviceTypeName:{}, jsonConfig: {}",iotDeviceconnResVo.getDevconnBid(), iotDeviceconnResVo.getDevconnName(), iotDeviceconnResVo.getDevtypeBid(), jsonConfig);
 
         // 构建配置
         MqttConfig cfgYf = buildMqttConfig(iotDeviceconnResVo, jsonConfig);
-        // 厂家id
-        String firmBizId = cfgYf.getFirmBizId();
         //服务类Bean名称
         String serviceName = cfgYf.getServiceName();
         // 之前干嘛的待定,
         String type = cfgYf.getType();
         //厂家名称
         String firmName = cfgYf.getFirmName();
-        //设备类型id(原来的类型小类id)
-        String deviceTypeId = cfgYf.getDeviceTypeBizId();
         log.info("【初始化厂商配置】 {} {} 开始", firmName, type);
-
         // 创建MqttCore实例
         MqttCore mqttCore = new MqttCore();
 
@@ -297,14 +292,11 @@ public class MqttManager {
      * @return 设备处理器
      */
     public Device getDeviceHandler(String serviceName) {
-        log.info("【开始获取设备处理器】 serviceName: {}", serviceName);
-
         Device device = deviceHandlerMap.get(serviceName);
         if (device == null) {
             log.error("【获取设备处理器失败】 serviceName: {} 暂无对应处理器", serviceName);
             throw new IotBizException(IotErrorCode.FAILURE.getCode(), serviceName + "暂无对应处理器");
         }
-        log.info("【获取设备处理器成功】 serviceName: {}, device: {}", serviceName, device);
         return device;
     }
 

+ 0 - 3
src/main/java/com/yunfeiyun/agmp/iots/core/mqtt/DeviceTopicService.java

@@ -63,7 +63,6 @@ public class DeviceTopicService {
     public String[] getBatchTopic(String serviceName,List<MqttTopicValue> mqttTopicValues) {
 
         String [] deviceId=new String[mqttTopicValues.size()];
-        log.info("【加载topic】serviceName:{},原始topic {}", serviceName, deviceId);
         for(int i=0;i<mqttTopicValues.size();i++){
             deviceId[i]=mqttTopicValues.get(i).getDevCode();
         }
@@ -105,8 +104,6 @@ public class DeviceTopicService {
         if(StringUtils.isEmpty(deviceCode)){
             return null;
         }
-        String [] deviceId=new String[]{deviceCode};
-        log.info("【加载topic】serviceName:{},原始topic {}", serviceName, deviceId);
         List<MqttTopicValue> mqttTopicValues=new ArrayList<>();
         MqttTopicValue mqttTopicValue=new MqttTopicValue();
         mqttTopicValue.setDevCode(deviceCode);

+ 2 - 1
src/main/java/com/yunfeiyun/agmp/iots/mq/listener/IotmBaseDataChannelAwareMessageListener.java

@@ -85,7 +85,8 @@ public class IotmBaseDataChannelAwareMessageListener implements ChannelAwareMess
             }
             // 手动确认消息
             channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
-        } catch (IOException e) {
+        } catch (Exception e) {
+            log.error("{}",e);
             // 处理异常,例如重新入队或拒绝消息
             channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
         }

+ 1 - 1
src/main/java/com/yunfeiyun/agmp/iots/mq/listener/IotmCmdChannelAwareMessageListener.java

@@ -48,7 +48,7 @@ public class IotmCmdChannelAwareMessageListener implements ChannelAwareMessageLi
             }
             // 手动确认消息
             channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
-        } catch (IOException e) {
+        } catch (Exception e) {
             // 处理异常,例如重新入队或拒绝消息
             channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, false);
         }