微调
This commit is contained in:
@@ -282,7 +282,7 @@ public class MqttMessageHandler {
|
|||||||
List<CsLineModel> lineList = csLineModelService.getMonitorNumByModelId(modelId);
|
List<CsLineModel> lineList = csLineModelService.getMonitorNumByModelId(modelId);
|
||||||
String key = AppRedisKey.LINE + nDid;
|
String key = AppRedisKey.LINE + nDid;
|
||||||
redisUtil.saveByKeyWithExpire(key,lineList,600L);
|
redisUtil.saveByKeyWithExpire(key,lineList,600L);
|
||||||
csLogsFeignClient.addUserLog(logDto);
|
//csLogsFeignClient.addUserLog(logDto);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -310,6 +310,7 @@ public class MqttMessageHandler {
|
|||||||
//业务处理
|
//业务处理
|
||||||
Gson gson = new Gson();
|
Gson gson = new Gson();
|
||||||
ReqAndResDto.Res res = gson.fromJson(new String(message.getPayload(), StandardCharsets.UTF_8), ReqAndResDto.Res.class);
|
ReqAndResDto.Res res = gson.fromJson(new String(message.getPayload(), StandardCharsets.UTF_8), ReqAndResDto.Res.class);
|
||||||
|
redisUtil.saveByKeyWithExpire("devResponse",res.getCode(),5L);
|
||||||
if (Objects.equals(res.getCode(),AccessEnum.SUCCESS.getCode())){
|
if (Objects.equals(res.getCode(),AccessEnum.SUCCESS.getCode())){
|
||||||
switch (res.getType()){
|
switch (res.getType()){
|
||||||
case 4613:
|
case 4613:
|
||||||
@@ -330,16 +331,16 @@ public class MqttMessageHandler {
|
|||||||
} else {
|
} else {
|
||||||
LocalDateTime time = record.getOfflineTime();
|
LocalDateTime time = record.getOfflineTime();
|
||||||
if (!Objects.isNull(time)){
|
if (!Objects.isNull(time)){
|
||||||
csDeviceOnlineLogs.setNdid(nDid);
|
csDeviceOnlineLogs.setNdid(nDid);
|
||||||
csDeviceOnlineLogs.setOnlineTime(LocalDateTime.now());
|
csDeviceOnlineLogs.setOnlineTime(LocalDateTime.now());
|
||||||
onlineLogsService.save(csDeviceOnlineLogs);
|
onlineLogsService.save(csDeviceOnlineLogs);
|
||||||
} else {
|
} else {
|
||||||
record.setOnlineTime(LocalDateTime.now());
|
record.setOnlineTime(LocalDateTime.now());
|
||||||
onlineLogsService.updateById(record);
|
onlineLogsService.updateById(record);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//接入后系统重置装置心跳
|
//接入后系统重置装置心跳
|
||||||
redisUtil.saveByKeyWithExpire("MQTT:" + nDid, Instant.now().toEpochMilli(),300L);
|
redisUtil.saveByKeyWithExpire("MQTT:" + nDid, Instant.now().toEpochMilli(),180L);
|
||||||
//修改redis的mid
|
//修改redis的mid
|
||||||
redisUtil.saveByKey(AppRedisKey.DEVICE_MID + nDid,1);
|
redisUtil.saveByKey(AppRedisKey.DEVICE_MID + nDid,1);
|
||||||
redisUtil.saveByKeyWithExpire("online" + nDid,"online",10L);
|
redisUtil.saveByKeyWithExpire("online" + nDid,"online",10L);
|
||||||
@@ -358,6 +359,7 @@ public class MqttMessageHandler {
|
|||||||
csLogsFeignClient.addUserLog(logDto);
|
csLogsFeignClient.addUserLog(logDto);
|
||||||
throw new BusinessException(AccessResponseEnum.ACCESS_RESPONSE_ERROR);
|
throw new BusinessException(AccessResponseEnum.ACCESS_RESPONSE_ERROR);
|
||||||
}
|
}
|
||||||
|
csLogsFeignClient.addUserLog(logDto);
|
||||||
break;
|
break;
|
||||||
case 4614:
|
case 4614:
|
||||||
log.info("设备数据应答--->" + nDid);
|
log.info("设备数据应答--->" + nDid);
|
||||||
@@ -458,7 +460,7 @@ public class MqttMessageHandler {
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
csLogsFeignClient.addUserLog(logDto);
|
//csLogsFeignClient.addUserLog(logDto);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -482,7 +484,7 @@ public class MqttMessageHandler {
|
|||||||
switch (res.getType()){
|
switch (res.getType()){
|
||||||
case 4865:
|
case 4865:
|
||||||
//设置心跳时间,超时改为掉线
|
//设置心跳时间,超时改为掉线
|
||||||
redisUtil.saveByKeyWithExpire("MQTT:" + nDid, Instant.now().toEpochMilli(),300L);
|
redisUtil.saveByKeyWithExpire("MQTT:" + nDid, Instant.now().toEpochMilli(),180L);
|
||||||
//有心跳,则将装置改成在线
|
//有心跳,则将装置改成在线
|
||||||
//csEquipmentDeliveryService.updateRunStatusBynDid(nDid,AccessEnum.ONLINE.getCode());
|
//csEquipmentDeliveryService.updateRunStatusBynDid(nDid,AccessEnum.ONLINE.getCode());
|
||||||
//处理心跳
|
//处理心跳
|
||||||
@@ -537,17 +539,24 @@ public class MqttMessageHandler {
|
|||||||
//实时数据
|
//实时数据
|
||||||
case 1:
|
case 1:
|
||||||
log.info(nDid + "处理实时数据");
|
log.info(nDid + "处理实时数据");
|
||||||
break;
|
|
||||||
//处理主动上送的统计数据
|
|
||||||
case 2:
|
|
||||||
JSONObject jsonObject2 = JSONObject.parseObject(JSON.toJSONString(dataDto));
|
JSONObject jsonObject2 = JSONObject.parseObject(JSON.toJSONString(dataDto));
|
||||||
AppAutoDataMessage appAutoDataMessage = JSONObject.toJavaObject(jsonObject2, AppAutoDataMessage.class);
|
AppAutoDataMessage appAutoDataMessage = JSONObject.toJavaObject(jsonObject2, AppAutoDataMessage.class);
|
||||||
appAutoDataMessage.setId(nDid);
|
appAutoDataMessage.setId(nDid);
|
||||||
appAutoDataMessage.getMsg().getDataArray().forEach(item->{
|
appAutoDataMessage.getMsg().getDataArray().forEach(item->{
|
||||||
log.info(nDid + "处理统计数据" + item.getDataAttr());
|
log.info(nDid + "处理实时数据" + item.getDataAttr());
|
||||||
});
|
});
|
||||||
appAutoDataMessageTemplate.sendMember(appAutoDataMessage);
|
appAutoDataMessageTemplate.sendMember(appAutoDataMessage);
|
||||||
break;
|
break;
|
||||||
|
//处理主动上送的统计数据
|
||||||
|
case 2:
|
||||||
|
JSONObject jsonObject3 = JSONObject.parseObject(JSON.toJSONString(dataDto));
|
||||||
|
AppAutoDataMessage appAutoDataMessage2 = JSONObject.toJavaObject(jsonObject3, AppAutoDataMessage.class);
|
||||||
|
appAutoDataMessage2.setId(nDid);
|
||||||
|
appAutoDataMessage2.getMsg().getDataArray().forEach(item->{
|
||||||
|
log.info(nDid + "处理统计数据" + item.getDataAttr());
|
||||||
|
});
|
||||||
|
appAutoDataMessageTemplate.sendMember(appAutoDataMessage2);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
|
|||||||
csDeviceService.devAccessAskTemplate(nDid,version,1);
|
csDeviceService.devAccessAskTemplate(nDid,version,1);
|
||||||
redisUtil.saveByKey(AppRedisKey.DEVICE_MID + nDid,1);
|
redisUtil.saveByKey(AppRedisKey.DEVICE_MID + nDid,1);
|
||||||
try {
|
try {
|
||||||
Thread.sleep(2000);
|
Thread.sleep(3000);
|
||||||
Object object = redisUtil.getObjectByKey("online" + nDid);
|
Object object = redisUtil.getObjectByKey("online" + nDid);
|
||||||
if (Objects.nonNull(object)) {
|
if (Objects.nonNull(object)) {
|
||||||
scheduler.shutdown();
|
scheduler.shutdown();
|
||||||
@@ -143,10 +143,6 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
|
|||||||
csEquipmentDeliveryService.updateRunStatusBynDid(nDid, AccessEnum.OFFLINE.getCode());
|
csEquipmentDeliveryService.updateRunStatusBynDid(nDid, AccessEnum.OFFLINE.getCode());
|
||||||
startScheduledTask(scheduler,nDid,version);
|
startScheduledTask(scheduler,nDid,version);
|
||||||
logDto.setOperate("客户端离线进入定时任务");
|
logDto.setOperate("客户端离线进入定时任务");
|
||||||
//记录装置掉线时间
|
|
||||||
CsDeviceOnlineLogs record = onlineLogsService.findLastData(nDid);
|
|
||||||
record.setOfflineTime(LocalDateTime.now());
|
|
||||||
onlineLogsService.updateById(record);
|
|
||||||
}
|
}
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
@@ -157,6 +153,7 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
|
|||||||
//装置下线
|
//装置下线
|
||||||
csEquipmentDeliveryService.updateRunStatusBynDid(nDid, AccessEnum.OFFLINE.getCode());
|
csEquipmentDeliveryService.updateRunStatusBynDid(nDid, AccessEnum.OFFLINE.getCode());
|
||||||
startScheduledTask(scheduler,nDid,version);
|
startScheduledTask(scheduler,nDid,version);
|
||||||
|
logDto.setOperate("客户端离线进入定时任务");
|
||||||
}
|
}
|
||||||
csLogsFeignClient.addUserLog(logDto);
|
csLogsFeignClient.addUserLog(logDto);
|
||||||
}
|
}
|
||||||
@@ -176,7 +173,7 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
|
|||||||
if (mqttClient) {
|
if (mqttClient) {
|
||||||
csDeviceService.devAccessAskTemplate(nDid,version,1);
|
csDeviceService.devAccessAskTemplate(nDid,version,1);
|
||||||
try {
|
try {
|
||||||
Thread.sleep(2000);
|
Thread.sleep(3000);
|
||||||
Integer status = csEquipmentDeliveryService.queryEquipmentBynDid(nDid).getRunStatus();
|
Integer status = csEquipmentDeliveryService.queryEquipmentBynDid(nDid).getRunStatus();
|
||||||
if (Objects.equals(status,AccessEnum.ONLINE.getCode())){
|
if (Objects.equals(status,AccessEnum.ONLINE.getCode())){
|
||||||
logDto.setResult(1);
|
logDto.setResult(1);
|
||||||
@@ -192,6 +189,10 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
|
|||||||
sendEventToUser(dto2);
|
sendEventToUser(dto2);
|
||||||
addLogs(dto2);
|
addLogs(dto2);
|
||||||
}
|
}
|
||||||
|
//记录装置掉线时间
|
||||||
|
CsDeviceOnlineLogs record = onlineLogsService.findLastData(nDid);
|
||||||
|
record.setOfflineTime(LocalDateTime.now());
|
||||||
|
onlineLogsService.updateById(record);
|
||||||
}
|
}
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
@@ -205,9 +206,13 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
|
|||||||
addLogs(dto2);
|
addLogs(dto2);
|
||||||
}
|
}
|
||||||
logDto.setResult(0);
|
logDto.setResult(0);
|
||||||
|
//记录装置掉线时间
|
||||||
|
CsDeviceOnlineLogs record = onlineLogsService.findLastData(nDid);
|
||||||
|
record.setOfflineTime(LocalDateTime.now());
|
||||||
|
onlineLogsService.updateById(record);
|
||||||
}
|
}
|
||||||
csLogsFeignClient.addUserLog(logDto);
|
csLogsFeignClient.addUserLog(logDto);
|
||||||
}, 0, 2, TimeUnit.MINUTES);
|
}, 0, 10, TimeUnit.SECONDS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user