From cbbae04686e57d1c7a0f887b452f87d7b42e28fe Mon Sep 17 00:00:00 2001 From: weiyachao <13526234727@126.com> Date: Wed, 18 Oct 2023 17:48:19 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=B0=83=E8=AF=95=E9=9F=B3=E4=B9=90?= =?UTF-8?q?=E5=BB=B6=E8=BF=9F-2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/qiuguo/iot/third/service/MusicService.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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 a1b89f1..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 @@ -64,7 +64,7 @@ public class MusicService { if (type == 1) { return webClient.get().uri(baseUrl+"/search?keywords="+keyword).retrieve() .bodyToMono(SearchResponse.class) - .delaySubscription(Duration.ofMillis(1000), Schedulers.boundedElastic()) + .delaySubscription(Duration.ofMillis(300), Schedulers.boundedElastic()) .flatMap(res -> { if (!Objects.equals(res.getCode(), 200)) { return Mono.empty(); @@ -91,7 +91,7 @@ public class MusicService { } else { return webClient.get().uri(baseUrl+"/search?keywords="+keyword+"&type=100").retrieve() .bodyToMono(SingerResponse.class) - .delaySubscription(Duration.ofMillis(1000), Schedulers.boundedElastic()) + .delaySubscription(Duration.ofMillis(300), Schedulers.boundedElastic()) .flatMap(res -> { if (!Objects.equals(res.getCode(), 200) && res.getResult().getArtists().size() == 0) { return Mono.empty(); @@ -99,7 +99,7 @@ public class MusicService { String id = res.getResult().getArtists().get(0).getId(); return webClient.get().uri(baseUrl+"/artist/top/song?id="+id).retrieve() .bodyToMono(SingerSongsResponse.class) - .delaySubscription(Duration.ofMillis(1000), Schedulers.boundedElastic()) + .delaySubscription(Duration.ofMillis(300), Schedulers.boundedElastic()) .flatMap(song -> { if (Objects.equals(200, song.getCode()) && song.getSongs().size() > 0) { String ids = song.getSongs().stream().limit(3) From 8aad063e682269b886a3c892c595d7823d99ffc4 Mon Sep 17 00:00:00 2001 From: weiyachao <13526234727@126.com> Date: Wed, 18 Oct 2023 18:56:26 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A3=8E=E6=89=87?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iot/third/service/TuyaDeviceService.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) 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 0b74c8c..af4cb8e 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 @@ -14,6 +14,7 @@ import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Set; import java.util.function.Function; import java.util.stream.Collectors; import lombok.extern.slf4j.Slf4j; @@ -167,7 +168,7 @@ public class TuyaDeviceService { if (type.equalsIgnoreCase("boolean")) { jsonObject.put("value", Boolean.parseBoolean(data.getValue())); } else if (type.equalsIgnoreCase("Integer")) { - jsonObject.put("value", Integer.parseInt(query.getValue())); + jsonObject.put("value", Integer.parseInt(data.getValue())); } else if (type.equalsIgnoreCase("Enum")) { jsonObject.put("value", data.getValue()); } else if (type.equalsIgnoreCase("auto_add_integer")) { @@ -198,14 +199,18 @@ public class TuyaDeviceService { return Mono.just(tuyaResponse); } javaList.add(jsonObject); - List collect = javaList.stream().filter(jl -> !ObjectUtils.isEmpty(jl.get("value"))) + Set 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()); + .filter(jl -> !jl.getString("value").startsWith("[")).collect(Collectors.toSet()); if (Objects.equals(deviceInfo.getString("category"), "fs")) { - JSONObject fsJson = new JSONObject(); - fsJson.put("code", "switch"); - fsJson.put("value", true); - collect.add(fsJson); + collect.clear(); + collect.add(jsonObject); + if (!Objects.equals(data.getMatchingFields(), "关")) { + JSONObject fsJson = new JSONObject(); + fsJson.put("code", "switch"); + fsJson.put("value", true); + collect.add(fsJson); + } } commands.put("commands", categoryBoolean ? Arrays.asList(jsonObject) : collect); Boolean result = tuyaDeviceConnector.controlDevice(query.getDeviceId(), commands); From cc48575963b610fd8839747df06abb2f861021e8 Mon Sep 17 00:00:00 2001 From: weiyachao <13526234727@126.com> Date: Thu, 19 Oct 2023 11:31:36 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B6=82=E9=B8=AD?= =?UTF-8?q?=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/qiuguo/iot/third/service/TuyaDeviceService.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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 af4cb8e..46c0c57 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 @@ -201,7 +201,14 @@ public class TuyaDeviceService { javaList.add(jsonObject); Set collect = javaList.stream().filter(jl -> !ObjectUtils.isEmpty(jl.get("value"))) .filter(jl -> !jl.getString("value").startsWith("{")) - .filter(jl -> !jl.getString("value").startsWith("[")).collect(Collectors.toSet()); + .filter(jl -> !jl.getString("value").startsWith("[")) + .map(jl->{ + if (jl.getString("code").equalsIgnoreCase(jsonObject.getString("code"))) { + return jsonObject; + } + return jl; + }) + .collect(Collectors.toSet()); if (Objects.equals(deviceInfo.getString("category"), "fs")) { collect.clear(); collect.add(jsonObject);