Bläddra i källkod

fix mqtt

tags/v0.8.5^2
yk 2 år sedan
förälder
incheckning
52d1de2f43
6 ändrade filer med 27 tillägg och 16 borttagningar
  1. +6
    -6
      xueyi-api/xueyi-api-system/src/main/java/com/xueyi/system/api/digitalmans/feign/RemoteDigitalmanMqttService.java
  2. +1
    -1
      xueyi-gateway/src/main/java/com/xueyi/gateway/filter/AuthFilter.java
  3. +5
    -0
      xueyi-modules/xueyi-message/pom.xml
  4. +4
    -0
      xueyi-modules/xueyi-message/src/main/java/com/xueyi/message/handler/MqttTopicHandle.java
  5. +3
    -6
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/digitalmans/controller/DmDigitalmanController.java
  6. +8
    -3
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/staff/controller/api/DmVisitorInnerApiController.java

+ 6
- 6
xueyi-api/xueyi-api-system/src/main/java/com/xueyi/system/api/digitalmans/feign/RemoteDigitalmanMqttService.java Visa fil

@@ -5,6 +5,8 @@ import com.xueyi.common.core.constant.basic.ServiceConstants;
import com.xueyi.system.api.organize.feign.factory.RemoteUserFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestParam;

@@ -16,14 +18,12 @@ import org.springframework.web.bind.annotation.RequestParam;
@FeignClient(contextId = "remoteDigitalmanMqttService", value = ServiceConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class)
public interface RemoteDigitalmanMqttService {

/**
* 同步数字人信息 | 内部调用
*/
@GetMapping("/man/inner/mqtt/heartbeat/{message}")
public void heartbeat(@RequestParam(value = "message") String message);

@PostMapping("/man/api/mqtt/heartbeat")
public void heartbeat(@RequestBody(required = true) String message);

@GetMapping("/man/inner/mqtt/log-upload/{message}")

@GetMapping("/man/api/mqtt/log-upload/{message}")
public void logUpload(@RequestParam(value = "message") String message,@RequestHeader(SecurityConstants.ENTERPRISE_ID) Long enterpriseId, @RequestHeader(SecurityConstants.SOURCE_NAME) String sourceName, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);



+ 1
- 1
xueyi-gateway/src/main/java/com/xueyi/gateway/filter/AuthFilter.java Visa fil

@@ -37,7 +37,7 @@ public class AuthFilter implements GlobalFilter, Ordered {
@Autowired
private RedisService redisService;

private static final String[] whitePrefix = {"/message/api", "/pass/api", "/meeting/api", "/visit/api", "/file/api","/staff/api","/apkversion/api"};
private static final String[] whitePrefix = {"/message/api", "/pass/api", "/meeting/api", "/visit/api", "/file/api","/staff/api","/apkversion/api","/man/api"};

@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {


+ 5
- 0
xueyi-modules/xueyi-message/pom.xml Visa fil

@@ -85,6 +85,11 @@
<artifactId>xueyi-api-file</artifactId>
</dependency>

<dependency>
<groupId>com.xueyi</groupId>
<artifactId>xueyi-api-system</artifactId>
</dependency>

</dependencies>

<build>


+ 4
- 0
xueyi-modules/xueyi-message/src/main/java/com/xueyi/message/handler/MqttTopicHandle.java Visa fil

@@ -9,13 +9,16 @@ import com.xueyi.system.api.device.feign.RemoteDeviceTenantMergeService;
import com.xueyi.system.api.digitalmans.feign.RemoteDigitalmanMqttService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.Message;

@MqttService
public class MqttTopicHandle {

@Autowired
private RemoteDeviceTenantMergeService remoteDeviceTenantMergeService;

@Autowired
private RemoteDigitalmanMqttService remoteDigitalmanMqttService;
private static final Logger log = LoggerFactory.getLogger(MqttTopicHandle.class);

@@ -46,6 +49,7 @@ public class MqttTopicHandle {
}

@MqttTopic("/digital_man/heart_beat")
//@TenantIgnore(tenantLine = true)
public void heartbeat(Message message){
System.err.println("rev heartbeat mqtt msg:"+message.getPayload().toString());



+ 3
- 6
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/digitalmans/controller/DmDigitalmanController.java Visa fil

@@ -257,8 +257,7 @@ public class DmDigitalmanController extends BaseController<DmDigitalmanQuery, Dm
}


@InnerAuth
@GetMapping("/inner/mqtt/heartbeat/{message}")
@GetMapping("/api/mqtt/heartbeat/{message}")
public void heartbeat(@RequestParam(value = "message") String message) {
JSONObject heartBeatObj = JSONObject.parseObject(message);
String devId = heartBeatObj.getString("devId");
@@ -280,7 +279,6 @@ public class DmDigitalmanController extends BaseController<DmDigitalmanQuery, Dm
throw new RuntimeException(e);
}


if (StringUtils.isNotEmpty(devId)) {
if (StringUtils.isNotEmpty(network)){
baseRedisListDataCache.init (REDIS_LIST_SIZE).addToList(HEART_MQTT_PREFIX+":"+devId+":network", new RedisBaseDto(occurTime, network));
@@ -295,9 +293,8 @@ public class DmDigitalmanController extends BaseController<DmDigitalmanQuery, Dm
System.err.println(heartBeatObj.toJSONString());
}

@InnerAuth
@GetMapping("/inner/mqtt/log-upload/{message}")
public void logUpload(@RequestParam(value = "message") String message) {
@PostMapping("/api/mqtt/log-upload")
public void logUpload(@RequestBody(required = true) String message) {
JSONObject heartBeatObj = JSONObject.parseObject(message);
String devId = heartBeatObj.getString("devId");
String timestamp = heartBeatObj.getString("timestamp");


+ 8
- 3
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/staff/controller/api/DmVisitorInnerApiController.java Visa fil

@@ -147,6 +147,11 @@ public class DmVisitorInnerApiController extends BaseApiController {
v.setPhone(commonDto.getVisitorTel());
v.setType(DmVisitorsDto.TYPE_NORMAL_VISITOR);
dmVisitorsMapper.addOne(v);
} else {
v.setName(commonDto.getVisitorName());
v.setNickname(commonDto.getVisitorNickName());
v.setVisitorCompany(commonDto.getVisitCompany());
dmVisitorsMapper.updateById(v);
}
DmVisitRecordsPo visitRecords = new DmVisitRecordsPo();

@@ -180,11 +185,11 @@ public class DmVisitorInnerApiController extends BaseApiController {
json.put("nickName", commonDto.getVisitorName());
json.put("robotName", dmDigitalmanPo.getName());
json.put("dateTime", commonDto.getVisitDate());
json.put("companyName", dmVisitorSmsConfigPo.getCompanyName());
json.put("companyAddr", dmVisitorSmsConfigPo.getCompanyAddress());
json.put("companyName", dmVisitorSmsConfigPo!=null?dmVisitorSmsConfigPo.getCompanyName():"");
json.put("companyAddr", dmVisitorSmsConfigPo!=null?dmVisitorSmsConfigPo.getCompanyAddress():"");
json.put("receiverName", commonDto.getEmpName());
json.put("receiverPhone", commonDto.getEmpTel());
json.put("parkInfo", dmVisitorSmsConfigPo.getParkPrompt());
json.put("parkInfo", dmVisitorSmsConfigPo!=null?dmVisitorSmsConfigPo.getParkPrompt():"");
//给访客发送短信
SmsReqEntity send = new SmsReqEntity();
try {


Laddar…
Avbryt
Spara