diff --git a/iot-common/iot-third/pom.xml b/iot-common/iot-third/pom.xml
index b63c0df..aae5f93 100644
--- a/iot-common/iot-third/pom.xml
+++ b/iot-common/iot-third/pom.xml
@@ -75,6 +75,10 @@
+
+ org.springframework.cloud
+ spring-cloud-context
+
diff --git a/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/AudioService.java b/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/AudioService.java
index a7d3fa2..f6e2343 100644
--- a/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/AudioService.java
+++ b/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/AudioService.java
@@ -7,6 +7,7 @@ import com.qiuguo.iot.base.utils.WebClientUtils;
import com.qiuguo.iot.third.request.AudioRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Mono;
@@ -17,6 +18,7 @@ import java.util.ArrayList;
*/
@Service
@Slf4j
+@RefreshScope
public class AudioService {
@Value("${tts.url:}")
private String url;
diff --git a/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/LacNlpService.java b/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/LacNlpService.java
index 4d05451..9f085d5 100644
--- a/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/LacNlpService.java
+++ b/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/LacNlpService.java
@@ -12,6 +12,7 @@ import com.qiuguo.iot.third.nlp.lac.HubLacRequest;
import com.qiuguo.iot.third.nlp.lac.LacRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.http.HttpHeaders;
import org.springframework.stereotype.Service;
import org.springframework.web.reactive.function.client.WebClient;
@@ -33,6 +34,7 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
//LAC中的tag说明 v:动词 n:名称 PER/nr:人名 a:量词 w:标点符号 m:数字(中文、阿拉伯) TIME:时间词 vn:动名词组 xc:语气词 c:连接词
@Service
@Slf4j
+@RefreshScope
public class LacNlpService implements INlp {
@Value("${lac.huburl:}")
private String hubUrl;
diff --git a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/config/properties/LacProperties.java b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/config/properties/SomeProperties.java
similarity index 73%
rename from iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/config/properties/LacProperties.java
rename to iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/config/properties/SomeProperties.java
index c46e956..b9ddcd3 100644
--- a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/config/properties/LacProperties.java
+++ b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/config/properties/SomeProperties.java
@@ -2,13 +2,9 @@ package com.qiuguo.iot.box.websocket.api.config.properties;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;
-import java.util.ArrayList;
-import java.util.List;
-
/**
* Xss配置.
*
@@ -18,13 +14,18 @@ import java.util.List;
@Data
@Component
@RefreshScope
-public class LacProperties {
+public class SomeProperties {
/**
* Lac类型.
*/
@Value("${lac.type}")
private String type;
+
+ @Value("${device.checkTimeout}")
+ private Boolean checkTimeout;
+ @Value("${device.timeout}")
+ private Long timeOut;//2分钟
}
diff --git a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/handler/BoxWebSocketHandler.java b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/handler/BoxWebSocketHandler.java
index 567391f..a68d99f 100644
--- a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/handler/BoxWebSocketHandler.java
+++ b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/handler/BoxWebSocketHandler.java
@@ -8,7 +8,7 @@ import com.qiuguo.iot.base.enums.*;
import com.qiuguo.iot.base.model.UserDeviceInfoModel;
import com.qiuguo.iot.base.utils.StringUtils;
import com.qiuguo.iot.box.websocket.api.command.ActionCommand;
-import com.qiuguo.iot.box.websocket.api.config.properties.LacProperties;
+import com.qiuguo.iot.box.websocket.api.config.properties.SomeProperties;
import com.qiuguo.iot.box.websocket.api.domain.BaseSession;
import com.qiuguo.iot.box.websocket.api.domain.box.BoxSession;
import com.qiuguo.iot.box.websocket.api.domain.box.BoxTalkMessage;
@@ -26,7 +26,6 @@ import com.qiuguo.iot.third.service.NlpService;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.MDC;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.data.redis.core.ReactiveStringRedisTemplate;
import org.springframework.http.HttpHeaders;
import org.springframework.stereotype.Component;
@@ -43,10 +42,7 @@ import java.time.Duration;
//@RefreshScope 自定义注解会导致失效
@Slf4j
public class BoxWebSocketHandler implements WebSocketHandler {
- @Value("${device.checkTimeout}")
- private Boolean checkTimeout;
- @Value("${device.timeout}")
- private Long timeOut;//2分钟
+
@Resource
private ReactiveStringRedisTemplate reactiveStringRedisTemplate;
@@ -68,7 +64,7 @@ public class BoxWebSocketHandler implements WebSocketHandler {
* 调用LAC类型
*/
@Resource
- private LacProperties lacProperties;
+ private SomeProperties lacProperties;
@Override
@@ -78,7 +74,7 @@ public class BoxWebSocketHandler implements WebSocketHandler {
HttpHeaders headers = handshakeInfo.getHeaders();
String sn = headers.get(HttpHeaderConstans.BOX_SN).get(0);
Long linkTime = Long.parseLong(headers.get(HttpHeaderConstans.TIME).get(0));
- if(checkTimeout && System.currentTimeMillis() - linkTime > timeOut){
+ if(lacProperties.getCheckTimeout() && System.currentTimeMillis() - linkTime > lacProperties.getTimeOut()){
//关闭连接
log.info("设备{},请求数据已超时", sn);
return session.close();
diff --git a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/handler/CustomerWebSocketHandler.java b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/handler/CustomerWebSocketHandler.java
index 8ba7f34..7abb75f 100644
--- a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/handler/CustomerWebSocketHandler.java
+++ b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/handler/CustomerWebSocketHandler.java
@@ -9,7 +9,7 @@ import com.qiuguo.iot.base.enums.ResponeEnum;
import com.qiuguo.iot.base.enums.YesNo;
import com.qiuguo.iot.base.utils.WebClientUtils;
import com.qiuguo.iot.box.websocket.api.command.ActionCommand;
-import com.qiuguo.iot.box.websocket.api.config.properties.LacProperties;
+import com.qiuguo.iot.box.websocket.api.config.properties.SomeProperties;
import com.qiuguo.iot.box.websocket.api.domain.user.UserSession;
import com.qiuguo.iot.box.websocket.api.domain.user.UserTalkMessage;
import com.qiuguo.iot.box.websocket.api.filter.LogMdcConfiguration;
@@ -23,7 +23,6 @@ import com.qiuguo.iot.third.service.NlpService;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.MDC;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.http.HttpHeaders;
import org.springframework.stereotype.Component;
import org.springframework.web.reactive.socket.HandshakeInfo;
@@ -43,10 +42,6 @@ import java.util.Map;
@WebSocketMapping("/websocket/customer")
@Slf4j
public class CustomerWebSocketHandler implements WebSocketHandler {
- @Value("${device.checkTimeout}")
- private Boolean checkTimeout;
- @Value("${device.timeout}")
- private Long timeOut;//2分钟
@Resource
protected DeviceUserBindService deviceUserBindService;
@@ -61,7 +56,7 @@ public class CustomerWebSocketHandler implements WebSocketHandler {
private BaseWebSocketService baseWebSocketService;
@Resource
- private LacProperties lacProperties;
+ private SomeProperties lacProperties;
@Override
@@ -73,7 +68,7 @@ public class CustomerWebSocketHandler implements WebSocketHandler {
String token = headers.get(HttpHeaderConstans.API_TOKEN).get(0);
Long userId = Long.valueOf(headers.get(HttpHeaderConstans.USER_ID).get(0));
Long linkTime = Long.parseLong(headers.get(HttpHeaderConstans.TIME).get(0));
- if(checkTimeout && System.currentTimeMillis() - linkTime > timeOut){
+ if(lacProperties.getCheckTimeout() && System.currentTimeMillis() - linkTime > lacProperties.getTimeOut()){
//关闭连接
log.info("用户{},请求数据已超时", userId);
return session.close();
diff --git a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/service/BaseWebSocketService.java b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/service/BaseWebSocketService.java
index eee3d95..9473280 100644
--- a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/service/BaseWebSocketService.java
+++ b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/service/BaseWebSocketService.java
@@ -42,6 +42,9 @@ public class BaseWebSocketService {
@Value("${tts.suanfa}")
private Boolean suanfa;
+ @Value("${tts.max.text}")
+ private Integer ONE_MAX_TEXT;
+
protected static ConcurrentHashMap userGroup = new ConcurrentHashMap<>();
protected static ConcurrentHashMap boxGroup = new ConcurrentHashMap<>();
@@ -58,8 +61,6 @@ public class BaseWebSocketService {
@Autowired
private ReactiveStringRedisTemplate reactiveStringRedisTemplate;
- protected static int ONE_MAX_TEXT = 50;
-
diff --git a/iot-modules/iot-box-websocket-api/src/main/resources/bootstrap-dev.yml b/iot-modules/iot-box-websocket-api/src/main/resources/bootstrap-dev.yml
index be48026..030f013 100644
--- a/iot-modules/iot-box-websocket-api/src/main/resources/bootstrap-dev.yml
+++ b/iot-modules/iot-box-websocket-api/src/main/resources/bootstrap-dev.yml
@@ -46,6 +46,8 @@ qiuguo:
checktoken:
url: https://qiuguo-app.pre.qiuguojihua.com/pre-api/user/user/getUser
tts:
+ #max:
+ # text: 30 #当发送给前端文字超过改值时,分批发送给前端
suanfa: true #nacos控制变化
url: http://192.168.8.211:18000/run/predict #算法语音合成
lac: