Эх сурвалжийг харах

支付宝设备温度音量上报

tanbin 1 жил өмнө
parent
commit
16f51422de

+ 2 - 2
device-api-service-merc-mini/src/main/java/com/xy/controller/MercMiniDeviceController.java

@@ -234,8 +234,8 @@ public class MercMiniDeviceController {
                 if (AlgorithmTypeEnum.ALIPAY.getId() == algorithmId) {
                 if (AlgorithmTypeEnum.ALIPAY.getId() == algorithmId) {
                     String deviceId = String.valueOf(vo.getDeviceId());
                     String deviceId = String.valueOf(vo.getDeviceId());
                     //主动查询一次温度、音量 温度:TEMP 音量:VOL
                     //主动查询一次温度、音量 温度:TEMP 音量:VOL
-//                    alipayDeviceService.queryAttributes(new DeviceQueryAttr().setTerminalId(deviceId).setType("VOL"));
-//                    alipayDeviceService.queryAttributes(new DeviceQueryAttr().setTerminalId(deviceId).setType("TEMP"));
+                    alipayDeviceService.queryAttributes(new DeviceQueryAttr().setTerminalId(deviceId).setType("VOL"));
+                    alipayDeviceService.queryAttributes(new DeviceQueryAttr().setTerminalId(deviceId).setType("TEMP"));
                     //支付宝状态实时返回
                     //支付宝状态实时返回
                     DeviceDetailVO deviceDetailVO = alipayDeviceService.queryDetail(new DeviceDetailDTO().setTerminalId(String.valueOf(vo.getDeviceId())));
                     DeviceDetailVO deviceDetailVO = alipayDeviceService.queryDetail(new DeviceDetailDTO().setTerminalId(String.valueOf(vo.getDeviceId())));
                     Boolean online = deviceDetailVO.getOnline();
                     Boolean online = deviceDetailVO.getOnline();

+ 1 - 1
device-api-service/src/main/java/com/xy/service/DeviceMqttConsumerImpl.java

@@ -206,7 +206,7 @@ public class DeviceMqttConsumerImpl implements DeviceMqttConsumer {
     @Override
     @Override
     public void deviceFault(DeviceMqttDto.RequestParams requestParams) {
     public void deviceFault(DeviceMqttDto.RequestParams requestParams) {
         DeviceFaultLogDto.MqttData mqttData = JSONUtil.toBean(requestParams.getData(), DeviceFaultLogDto.MqttData.class);
         DeviceFaultLogDto.MqttData mqttData = JSONUtil.toBean(requestParams.getData(), DeviceFaultLogDto.MqttData.class);
-        log.info("设备故障监控事件消费,接收mqtt data:{}", JSONUtil.toJsonPrettyStr(mqttData));
+//        log.info("设备故障监控事件消费,接收mqtt data:{}", JSONUtil.toJsonPrettyStr(mqttData));
         if (mqttData != null) {
         if (mqttData != null) {
             DeviceEventMsgDto.Vo deviceEventMsg = mqttData.getDeviceEventMsg();
             DeviceEventMsgDto.Vo deviceEventMsg = mqttData.getDeviceEventMsg();
             Long mercId = deviceEventMsg.getMercId();
             Long mercId = deviceEventMsg.getMercId();

+ 20 - 7
device-api-service/src/main/java/com/xy/service/factory/device/impl/alipay/AliPayOpenDeviceFatoryImpl.java

@@ -246,6 +246,20 @@ public class AliPayOpenDeviceFatoryImpl implements DeviceFactory, SpiDeviceServi
             log.warn("温度、音量查询SPI通知,无设备信息");
             log.warn("温度、音量查询SPI通知,无设备信息");
             return SpiResponseConst.SUCCESS;
             return SpiResponseConst.SUCCESS;
         }
         }
+        //温度更新
+        FunctionUtils.NoParamsNoResult updateTmp = () -> {
+//            deviceStatus.setTempValue(Integer.valueOf(value));
+//            deviceStatusService.updateById(deviceStatus);
+            DeviceSysinfoDto.Up sysUp = new DeviceSysinfoDto.Up();
+            sysUp.setDeviceId(deviceInfo.getDeviceId()).setIsHaveTemp(true);
+            deviceSysinfoService.up(sysUp);
+            DeviceStatusDto.Up up = new DeviceStatusDto.Up();
+            up.setDeviceId(deviceInfo.getDeviceId())
+                    .setTempState(0)
+                    .setTempValue(Integer.valueOf(value));
+            deviceStatusService.up(up);
+        };
+
         DeviceStatus deviceStatus = deviceStatusService.getById(deviceInfo.getDeviceId());
         DeviceStatus deviceStatus = deviceStatusService.getById(deviceInfo.getDeviceId());
         if (deviceStatus == null) {
         if (deviceStatus == null) {
             log.warn("温度、音量查询SPI通知,无设备状态记录");
             log.warn("温度、音量查询SPI通知,无设备状态记录");
@@ -253,13 +267,12 @@ public class AliPayOpenDeviceFatoryImpl implements DeviceFactory, SpiDeviceServi
         }
         }
         //音量更新
         //音量更新
         FunctionUtils.NoParamsNoResult updateVoice = () -> {
         FunctionUtils.NoParamsNoResult updateVoice = () -> {
-            deviceStatus.setVoiceVolume(Integer.valueOf(value));
-            deviceStatusService.updateById(deviceStatus);
-        };
-        //温度更新
-        FunctionUtils.NoParamsNoResult updateTmp = () -> {
-            deviceStatus.setTempState(Integer.valueOf(value));
-            deviceStatusService.updateById(deviceStatus);
+//            deviceStatus.setVoiceVolume(Integer.valueOf(value));
+//            deviceStatusService.updateById(deviceStatus);
+            DeviceStatusDto.Up up = new DeviceStatusDto.Up();
+            up.setDeviceId(deviceInfo.getDeviceId())
+                    .setVoiceVolume(Integer.valueOf(value));
+            deviceStatusService.up(up);
         };
         };
 
 
         if (BooleanUtil.isTrue(success)) {
         if (BooleanUtil.isTrue(success)) {

+ 0 - 1
device-api-service/src/main/java/com/xy/service/factory/device/impl/open/OpenDeviceFactoryImpl.java

@@ -310,7 +310,6 @@ public class OpenDeviceFactoryImpl implements DeviceFactory {
         if (CollUtil.isNotEmpty(voList)) {
         if (CollUtil.isNotEmpty(voList)) {
             //存在则发送到mqtt处理
             //存在则发送到mqtt处理
             DeviceFaultLogDto.MqttData mqttData = new DeviceFaultLogDto.MqttData().setConfigList(voList).setDeviceEventMsg(BeanUtil.copyProperties(deviceEventMsg, DeviceEventMsgDto.Vo.class));
             DeviceFaultLogDto.MqttData mqttData = new DeviceFaultLogDto.MqttData().setConfigList(voList).setDeviceEventMsg(BeanUtil.copyProperties(deviceEventMsg, DeviceEventMsgDto.Vo.class));
-            log.info("设备故障监控事件数据,入mqtt data:{}", JSONUtil.toJsonPrettyStr(mqttData));
             deviceMqttSendService.deviceFault(new MqttDto.RequestParams().setData(JSONUtil.toJsonStr(mqttData)));
             deviceMqttSendService.deviceFault(new MqttDto.RequestParams().setData(JSONUtil.toJsonStr(mqttData)));
         }
         }
     }
     }