Browse Source

设备详情操作支付宝货柜温度、声音

谭斌 1 năm trước cách đây
mục cha
commit
ace62fc72b

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

@@ -82,6 +82,8 @@ public class AliPayOpenDeviceFatoryImpl implements DeviceFactory, SpiDeviceServi
     public R<List<Tuple.Tuple3<Long, Long, Boolean>>> senCommand(List<CommandMqtt> commandMqtts) {
         commandMqtts.forEach(commandMqtt -> {
             JSONObject templet = commandMqtt.getTemplet();
+            //设备ID
+            String terminalId = commandMqtt.getDeviceId().toString();
             //重启设备
             if (templet.getStr("cmdType").equals("task")) {
                 JSONObject data = templet.getJSONObject("data");
@@ -89,6 +91,19 @@ public class AliPayOpenDeviceFatoryImpl implements DeviceFactory, SpiDeviceServi
                     alipayDeviceService.deviceReboot(commandMqtt.getDeviceId().toString());
                 }
             }
+            //声音、温度设置
+            if (templet.getStr("cmdType").equals("sets")) {
+                JSONObject data = templet.getJSONObject("data");
+                if (data.getStr("type").equals("voice")) {
+                    //声音设置
+                    Integer value = data.getInt("alound");
+                    alipayDeviceService.setAttributes(new DeviceSetAttr().setTerminalId(terminalId).setType("VOL").setValue(String.valueOf(value)));
+                } else if (data.getStr("type").equals("temperature")) {
+                    //温度设置
+                    Integer value = data.getInt("target");
+                    alipayDeviceService.setAttributes(new DeviceSetAttr().setTerminalId(terminalId).setType("TEMP").setValue(String.valueOf(value)));
+                }
+            }
         });
         return R.ok();
     }