Browse Source

/*完成华软无人机MQTT对接程序,在测试环境已经测试完成*/

master
htjcAdmin 2 months ago
parent
commit
6492b1ce37
3 changed files with 29 additions and 15 deletions
  1. +10
    -4
      inspect-main/inspect-main-task/src/main/java/com/inspect/taskstatus/controller/PatrolTaskStatusController.java
  2. +1
    -1
      inspect-metadata/src/main/java/com/inspect/metadata/mqtt/HuaRuanMQTTServiceImpl.java
  3. +18
    -10
      inspect-metadata/src/main/java/com/inspect/metadata/mqtt/MQTTUtils.java

+ 10
- 4
inspect-main/inspect-main-task/src/main/java/com/inspect/taskstatus/controller/PatrolTaskStatusController.java View File

@ -139,24 +139,26 @@ public class PatrolTaskStatusController extends BaseController {
@GetMapping({"/list"}) @GetMapping({"/list"})
public TableDataInfo list(PatrolTaskStatus patrolTaskStatus) { public TableDataInfo list(PatrolTaskStatus patrolTaskStatus) {
// log.info("[TASK STATUS] patrolTaskStatus: {}", patrolTaskStatus.toString());
log.info("PATROL_TASK_STATUS LIST patrolTaskStatus: {}", patrolTaskStatus.toString());
this.startPage(); this.startPage();
List<PatrolTaskStatus> list = patrolTaskStatusService.selectPatrolTaskStatusList(patrolTaskStatus); List<PatrolTaskStatus> list = patrolTaskStatusService.selectPatrolTaskStatusList(patrolTaskStatus);
// log.info("[TASK STATUS] list cnt: {}", list.size());
log.info("PATROL_TASK_STATUS LIST cnt: {}", list.size());
String taskPatrolIds = "'" + list.stream().map((item) -> { String taskPatrolIds = "'" + list.stream().map((item) -> {
return item.getTaskPatrolledId(); return item.getTaskPatrolledId();
}).collect(Collectors.joining("','")) + "'"; }).collect(Collectors.joining("','")) + "'";
// log.info("[TASK STATUS] taskPatrolIds: {}", taskPatrolIds);
log.info("PATROL_TASK_STATUS LIST taskPatrolIds: {}", taskPatrolIds);
List<PatrolTaskResultMain> resultMains = patrolTaskResultMainService.selectMainFileStatus(taskPatrolIds); List<PatrolTaskResultMain> resultMains = patrolTaskResultMainService.selectMainFileStatus(taskPatrolIds);
String taskCodeIds = "'" + list.stream().map((item) -> { String taskCodeIds = "'" + list.stream().map((item) -> {
return item.getTaskCode(); return item.getTaskCode();
}).collect(Collectors.joining("','")) + "'"; }).collect(Collectors.joining("','")) + "'";
log.info("PATROL_TASK_STATUS LIST resultMains size: {}", resultMains.size());
List<Map<String, Object>> pointList = patrolTaskInfoService.selectPatrolTaskInfoCount(taskCodeIds); List<Map<String, Object>> pointList = patrolTaskInfoService.selectPatrolTaskInfoCount(taskCodeIds);
Map<String, String> pointMap = pointList.stream().collect(Collectors.toMap((item) -> { Map<String, String> pointMap = pointList.stream().collect(Collectors.toMap((item) -> {
return (String) item.get("taskMajorId"); return (String) item.get("taskMajorId");
}, (item) -> { }, (item) -> {
return String.valueOf(item.get("num")); return String.valueOf(item.get("num"));
})); }));
log.info("PATROL_TASK_STATUS LIST pointMap size: {}", pointMap.size());
list.forEach((item) -> { list.forEach((item) -> {
item.setPatrolStatus("1"); item.setPatrolStatus("1");
item.setPointCount(pointMap.get(item.getTaskCode())); item.setPointCount(pointMap.get(item.getTaskCode()));
@ -176,14 +178,16 @@ public class PatrolTaskStatusController extends BaseController {
ResultAnalysis resultAnalysis = new ResultAnalysis(); ResultAnalysis resultAnalysis = new ResultAnalysis();
resultAnalysis.setTaskPatrolledId(item.getTaskPatrolledId()); resultAnalysis.setTaskPatrolledId(item.getTaskPatrolledId());
ResultAnalysis analysisRes = resultAnalysisService.selectTaskAbnormalData(resultAnalysis); ResultAnalysis analysisRes = resultAnalysisService.selectTaskAbnormalData(resultAnalysis);
item.setCsQxNum(analysisRes == null ? 0 : analysisRes.getCsQxNum()); item.setCsQxNum(analysisRes == null ? 0 : analysisRes.getCsQxNum());
item.setAiQxNum(analysisRes == null ? 0 : analysisRes.getAiQxNum()); item.setAiQxNum(analysisRes == null ? 0 : analysisRes.getAiQxNum());
item.setCsYcNum(analysisRes == null ? 0 : analysisRes.getCsYcNum()); item.setCsYcNum(analysisRes == null ? 0 : analysisRes.getCsYcNum());
item.setAiYcNum(analysisRes == null ? 0 : analysisRes.getAiYcNum()); item.setAiYcNum(analysisRes == null ? 0 : analysisRes.getAiYcNum());
log.info("PATROL_TASK_STATUS LIST analysisRes.getLineId: {}",
analysisRes == null ? -1 : analysisRes.getLineId());
resultAnalysis.setResultType("0"); resultAnalysis.setResultType("0");
resultAnalysis.setTaskPatrolId(item.getTaskPatrolledId()); resultAnalysis.setTaskPatrolId(item.getTaskPatrolledId());
List<ResultAnalysis> filterList = resultAnalysisService.selectResultAnalysisList(resultAnalysis); List<ResultAnalysis> filterList = resultAnalysisService.selectResultAnalysisList(resultAnalysis);
log.info("PATROL_TASK_STATUS LIST filterList size: {}", filterList.size());
Map<GroupKey, List<ResultAnalysis>> groupedFilterList = filterList.stream().collect(Collectors.groupingBy( Map<GroupKey, List<ResultAnalysis>> groupedFilterList = filterList.stream().collect(Collectors.groupingBy(
data -> new GroupKey(data.getObjectId(), data.getAlgType()) data -> new GroupKey(data.getObjectId(), data.getAlgType())
)); ));
@ -192,6 +196,8 @@ public class PatrolTaskStatusController extends BaseController {
item.setTaskEstimatedTime("0"); item.setTaskEstimatedTime("0");
} }
}); });
log.info("PATROL_TASK_STATUS LIST END");
return this.getDataTable(list); return this.getDataTable(list);
} }


+ 1
- 1
inspect-metadata/src/main/java/com/inspect/metadata/mqtt/HuaRuanMQTTServiceImpl.java View File

@ -24,7 +24,7 @@ public class HuaRuanMQTTServiceImpl {
mqttUtils.getClient().setCallback(new MqttCallback() { mqttUtils.getClient().setCallback(new MqttCallback() {
@Override @Override
public void connectionLost(Throwable cause) { public void connectionLost(Throwable cause) {
log.error("Connection lost: {}", cause.getMessage());
log.info("Connection lost: {}", cause.getMessage());
} }
@Override @Override


+ 18
- 10
inspect-metadata/src/main/java/com/inspect/metadata/mqtt/MQTTUtils.java View File

@ -12,16 +12,20 @@ import javax.annotation.PreDestroy;
@Slf4j @Slf4j
@Service @Service
public class MQTTUtils { public class MQTTUtils {
@Value("${huaRuan.mqtt.ip}")
@Value("${huaRuan.mqtt.ip:localhost}")
protected String ip; protected String ip;
@Value("${huaRuan.mqtt.clientId}")
@Value("${huaRuan.mqtt.port:1883}")
protected String port;
@Value("${huaRuan.mqtt.clientId:test}")
protected String clientId; protected String clientId;
@Value("${huaRuan.mqtt.user}")
@Value("${huaRuan.mqtt.user:admin}")
protected String user; protected String user;
@Value("${huaRuan.mqtt.pwd}")
@Value("${huaRuan.mqtt.pwd:123456}")
protected String pwd; protected String pwd;
@Value("${huaRuan.mqtt.topicFilters}")
@Value("${huaRuan.mqtt.topicFilters:test}")
protected String topicFilters; protected String topicFilters;
@Value("${mqtt.qos:1}")
protected int[] qos; // QoS 数组
private MqttClient client = null; private MqttClient client = null;
private Long id = 0L; private Long id = 0L;
@ -43,9 +47,11 @@ public class MQTTUtils {
connOpts.setPassword(pwd.toCharArray()); connOpts.setPassword(pwd.toCharArray());
connOpts.setCleanSession(true); connOpts.setCleanSession(true);
String broker = String.format("tcp://%s:%s", ip, port);
while (true) { while (true) {
try { try {
client = new MqttClient(ip, clientId, persistence);
client = new MqttClient(broker, clientId, persistence);
client.setCallback(new MqttCallback() { client.setCallback(new MqttCallback() {
@Override @Override
public void connectionLost(Throwable cause) { public void connectionLost(Throwable cause) {
@ -54,19 +60,21 @@ public class MQTTUtils {
@Override @Override
public void messageArrived(String topic, MqttMessage message) { public void messageArrived(String topic, MqttMessage message) {
// Handle incoming messages here
log.info("messageArrived: {}, message: {}", topic, message.toString());
} }
@Override @Override
public void deliveryComplete(IMqttDeliveryToken token) { public void deliveryComplete(IMqttDeliveryToken token) {
// Handle delivery completion here
} }
}); });
log.info("Connecting to MQTT broker: {}", ip);
log.info("Connecting to MQTT broker: {}", broker);
client.connect(connOpts); client.connect(connOpts);
log.info("Connected to MQTT broker"); log.info("Connected to MQTT broker");
break; // Exit the loop if connected successfully
subscribe(new String[]{topicFilters}, qos);
break;
} catch (MqttException e) { } catch (MqttException e) {
log.error("Failed to connect to MQTT broker. Reason: {}", e.getMessage()); log.error("Failed to connect to MQTT broker. Reason: {}", e.getMessage());
try { try {


Loading…
Cancel
Save