diff --git a/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/enums/TuyaCategoryEnum.java b/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/enums/TuyaCategoryEnum.java index d835450..32c8281 100644 --- a/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/enums/TuyaCategoryEnum.java +++ b/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/enums/TuyaCategoryEnum.java @@ -20,6 +20,9 @@ public enum TuyaCategoryEnum { SD("sd", "扫地机器人", "power"), + DD("dd", "灯带", "switch_led"), + + XXJ("xxj", "香薰机", "switch"), ; diff --git a/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/MusicService.java b/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/MusicService.java index 4b40846..ba7473c 100644 --- a/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/MusicService.java +++ b/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/MusicService.java @@ -58,6 +58,7 @@ public class MusicService { .defaultHeader("Accept-Encoding", "gzip, deflate, br") .defaultHeader("Connection", "keep-alive") .defaultHeader("Accept", "*") + .defaultHeader("music-key", "qiuguo") .build(); String baseUrl = "http://121.40.172.241:8031"; if (type == 1) { diff --git a/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/TuyaDeviceService.java b/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/TuyaDeviceService.java index 01f96de..9521dcb 100644 --- a/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/TuyaDeviceService.java +++ b/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/TuyaDeviceService.java @@ -1,6 +1,7 @@ package com.qiuguo.iot.third.service; import cn.hutool.log.Log; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.qiuguo.iot.data.entity.user.UserHandlingDeviceEntity; @@ -190,7 +191,8 @@ public class TuyaDeviceService { int intValue = (int) value; jsonObject.put("value", intValue <= min ? min + 1 : intValue); } - if (javaList.contains(jsonObject)) { + boolean categoryBoolean = Objects.equals(deviceInfo.getString("category"), "xxj"); + if (javaList.contains(jsonObject)&&!categoryBoolean) { tuyaResponse.setMessage("已在当前状态"); tuyaResponse.setCode(200); return Mono.just(tuyaResponse); @@ -199,7 +201,7 @@ public class TuyaDeviceService { List collect = javaList.stream().filter(jl -> !ObjectUtils.isEmpty(jl.get("value"))) .filter(jl -> !jl.getString("value").startsWith("{")) .filter(jl -> !jl.getString("value").startsWith("[")).collect(Collectors.toList()); - commands.put("commands", collect); + commands.put("commands", categoryBoolean ? Arrays.asList(jsonObject) : collect); Boolean result = tuyaDeviceConnector.controlDevice(query.getDeviceId(), commands); if (result) { tuyaResponse.setMessage("ok");