增加几个动态配置
This commit is contained in:
parent
b9396e3878
commit
c784d5d35c
@ -75,6 +75,10 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-context</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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分钟
|
||||
|
||||
|
||||
}
|
||||
@ -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();
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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<Long, UserSession> userGroup = new ConcurrentHashMap<>();
|
||||
|
||||
protected static ConcurrentHashMap<String, BoxSession> boxGroup = new ConcurrentHashMap<>();
|
||||
@ -58,8 +61,6 @@ public class BaseWebSocketService {
|
||||
@Autowired
|
||||
private ReactiveStringRedisTemplate reactiveStringRedisTemplate;
|
||||
|
||||
protected static int ONE_MAX_TEXT = 50;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -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:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user