From 88bded6e412d02236cef37616405c0f321e16853 Mon Sep 17 00:00:00 2001 From: wu Date: Wed, 29 May 2024 09:13:43 +0800 Subject: [PATCH] bugfix --- .../main/java/com/yingji/entity/Alarm.java | 8 +++++ .../java/com/yingji/quartz/AlarmQuartz.java | 32 +++++++++++++------ .../yingji/service/impl/AlarmServiceImpl.java | 29 ++++++++++++----- alarm/src/main/resources/application-dev.yml | 8 ----- .../java/com/yingji/entity/AcceptEvents.java | 8 +++++ .../main/java/com/yingji/entity/Alarm.java | 12 +++++-- .../java/com/yingji/entity/AcceptEvents.java | 8 +++++ .../com/yingji/quartz/AccidentQuartz.java | 9 ++++-- .../service/impl/AccidentServiceImpl.java | 15 +++++++++ rescue/src/main/resources/application-dev.yml | 12 ------- 10 files changed, 99 insertions(+), 42 deletions(-) diff --git a/alarm/src/main/java/com/yingji/entity/Alarm.java b/alarm/src/main/java/com/yingji/entity/Alarm.java index c190e5b..c742ede 100644 --- a/alarm/src/main/java/com/yingji/entity/Alarm.java +++ b/alarm/src/main/java/com/yingji/entity/Alarm.java @@ -2,6 +2,7 @@ package com.yingji.entity; import cn.hutool.core.annotation.Alias; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; @@ -192,5 +193,12 @@ public class Alarm implements Serializable { */ @ApiModelProperty(value = "紧急系数") private Double aiNum; + + /** + * 120的event_id + */ + @ApiModelProperty(value = "120的event_id") + @TableField(value = "ai_120_id") + private String ai120Id; } diff --git a/alarm/src/main/java/com/yingji/quartz/AlarmQuartz.java b/alarm/src/main/java/com/yingji/quartz/AlarmQuartz.java index fffca04..c5c959f 100644 --- a/alarm/src/main/java/com/yingji/quartz/AlarmQuartz.java +++ b/alarm/src/main/java/com/yingji/quartz/AlarmQuartz.java @@ -1,5 +1,6 @@ package com.yingji.quartz; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; @@ -49,13 +50,17 @@ public class AlarmQuartz { public void savaData() { // 获取token String token = alarmService.getToken(); - // 查询所有id - List idList = findId(token); - // 根据id查询数据保存 - addList(idList, token); - // 110算法接口 - if (CollectionUtil.isNotEmpty(idList)) { - emergencyAlgorithm(); + if (StrUtil.isNotEmpty(token)) { + // 查询所有id + List idList = findId(token); + // 根据id查询数据保存 + addList(idList, token); + // 110算法接口 + if (CollectionUtil.isNotEmpty(idList)) { + emergencyAlgorithm(); + } + } else { + log.error("============110算法接口获取token失败============="); } } @@ -101,7 +106,7 @@ public class AlarmQuartz { alarmRequest.setValue(x); // 查询数据 Alarm alarm = alarmService.findDataList(alarmRequest, token); - if (alarm != null) { + if (BeanUtil.isNotEmpty(alarm)) { alarm.setSourceId(x); list.add(alarm); successNum++; @@ -110,14 +115,20 @@ public class AlarmQuartz { int randomNumber = random.nextInt(101) + 100; Thread.sleep(randomNumber); } else { + if (CollectionUtil.isNotEmpty(list)) { + alarmService.saveAll(list); + } return; } } } catch (Exception e) { log.info("==========================" + e.getMessage()); + e.printStackTrace(); } } - alarmService.saveAll(list); + if (CollectionUtil.isNotEmpty(list)) { + alarmService.saveAll(list); + } log.info("成功条数==========================" + successNum); } @@ -156,7 +167,8 @@ public class AlarmQuartz { if (data == null) { return idList; } - sourceService.addList(data); + // todo 注释保存id +// sourceService.addList(data); idList.addAll(data); size += data.size(); if (data.size() == pageSize) { diff --git a/alarm/src/main/java/com/yingji/service/impl/AlarmServiceImpl.java b/alarm/src/main/java/com/yingji/service/impl/AlarmServiceImpl.java index fe429e7..e38e2b1 100644 --- a/alarm/src/main/java/com/yingji/service/impl/AlarmServiceImpl.java +++ b/alarm/src/main/java/com/yingji/service/impl/AlarmServiceImpl.java @@ -68,6 +68,8 @@ public class AlarmServiceImpl extends ServiceImpl implements List records = null; // 获取id String body = HttpRequest.post(specificWarn).header("Authorization", "Basic " + token).body(bodyJson).execute().body(); + log.info("==========================================="); + log.info("++++++++++++++++" + body + "++++++++++++++"); JSONObject json = JSONObject.parse(body); Object response = json.get("response"); if (BeanUtil.isNotEmpty(response)) { @@ -101,19 +103,30 @@ public class AlarmServiceImpl extends ServiceImpl implements Object response = json.get("response"); if (BeanUtil.isNotEmpty(response)) { String recordsStr = JSONUtil.toJsonStr(response); + if (StrUtil.isEmpty(recordsStr)) { + return null; + } records = JSONUtil.toBean(recordsStr, Alarm.class); + if (records == null) { + return null; + } JSONObject recordsJson = JSONObject.parse(recordsStr); + if (BeanUtil.isEmpty(recordsJson)) { + return null; + } Object bjdhsj = recordsJson.get("bjdhsj"); - String bjdhsjStr = JSONUtil.toJsonStr(bjdhsj); - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss").withZone(ZoneId.systemDefault()); - LocalDateTime emergencyEventTime = LocalDateTime.parse(bjdhsjStr, formatter); - records.setEmergencyEventTime(emergencyEventTime); - records.setCreateTime(LocalDateTime.now()); - records.setUpdateTime(LocalDateTime.now()); - records.setDelFlag(0); + if (BeanUtil.isNotEmpty(bjdhsj)) { + String bjdhsjStr = JSONUtil.toJsonStr(bjdhsj); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss").withZone(ZoneId.systemDefault()); + LocalDateTime emergencyEventTime = LocalDateTime.parse(bjdhsjStr, formatter); + records.setEmergencyEventTime(emergencyEventTime); + records.setCreateTime(LocalDateTime.now()); + records.setUpdateTime(LocalDateTime.now()); + records.setDelFlag(0); + } } } catch (Exception e) { - throw new RuntimeException(e); + log.info("系统内部异常,请联系管理员"); } return records; } diff --git a/alarm/src/main/resources/application-dev.yml b/alarm/src/main/resources/application-dev.yml index 287eb22..668eef7 100644 --- a/alarm/src/main/resources/application-dev.yml +++ b/alarm/src/main/resources/application-dev.yml @@ -40,11 +40,3 @@ clientId: BNjP9S8p2EJZyt1UF+D6kCsK6ZVapyKqiGzarEdsZ3QmIWoVdB7YkrX2GBAmCDO16tQ/ak # 110clientSecret clientSecret: AM4oMOsJj0ULAUOOXlz5xHjIF4kp9W63ajZrXxTGLHEn -# 120获取token授权码 -getAuthorizeValidateUrl: http://192.180.22.214:7015/api/Authorize/validate/v1 - -# 120获取token -getAuthorizeTokenUrl: http://192.180.22.214:7015/api/Authorize/token/get/v1 - -# 120获取数据 -getAccidentUrl: http://192.180.22.214:7015/api/Event/accident/list/get/v2 diff --git a/page/src/main/java/com/yingji/entity/AcceptEvents.java b/page/src/main/java/com/yingji/entity/AcceptEvents.java index 57ba52f..15ac252 100644 --- a/page/src/main/java/com/yingji/entity/AcceptEvents.java +++ b/page/src/main/java/com/yingji/entity/AcceptEvents.java @@ -1,6 +1,7 @@ package com.yingji.entity; import cn.hutool.core.annotation.Alias; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; @@ -136,5 +137,12 @@ public class AcceptEvents implements Serializable { @ApiModelProperty(value = "受理序号") @Alias("AcceptOrder") private String acceptOrder; + + /** + * 110的emergency_event_id + */ + @ApiModelProperty(value = "110的emergency_event_id") + @TableField(value = "ai_110_id") + private Long ai110Id; } diff --git a/page/src/main/java/com/yingji/entity/Alarm.java b/page/src/main/java/com/yingji/entity/Alarm.java index bfb6379..c742ede 100644 --- a/page/src/main/java/com/yingji/entity/Alarm.java +++ b/page/src/main/java/com/yingji/entity/Alarm.java @@ -2,6 +2,7 @@ package com.yingji.entity; import cn.hutool.core.annotation.Alias; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; @@ -173,13 +174,13 @@ public class Alarm implements Serializable { * 预警大类 */ @ApiModelProperty(value = "预警大类") - private String aiCategories; + private String aiClass; /** * 预警小类 */ @ApiModelProperty(value = "预警小类") - private String aiSubCategories; + private String aiClass2; /** * 紧急程度 @@ -192,5 +193,12 @@ public class Alarm implements Serializable { */ @ApiModelProperty(value = "紧急系数") private Double aiNum; + + /** + * 120的event_id + */ + @ApiModelProperty(value = "120的event_id") + @TableField(value = "ai_120_id") + private String ai120Id; } diff --git a/rescue/src/main/java/com/yingji/entity/AcceptEvents.java b/rescue/src/main/java/com/yingji/entity/AcceptEvents.java index 57ba52f..15ac252 100644 --- a/rescue/src/main/java/com/yingji/entity/AcceptEvents.java +++ b/rescue/src/main/java/com/yingji/entity/AcceptEvents.java @@ -1,6 +1,7 @@ package com.yingji.entity; import cn.hutool.core.annotation.Alias; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; @@ -136,5 +137,12 @@ public class AcceptEvents implements Serializable { @ApiModelProperty(value = "受理序号") @Alias("AcceptOrder") private String acceptOrder; + + /** + * 110的emergency_event_id + */ + @ApiModelProperty(value = "110的emergency_event_id") + @TableField(value = "ai_110_id") + private Long ai110Id; } diff --git a/rescue/src/main/java/com/yingji/quartz/AccidentQuartz.java b/rescue/src/main/java/com/yingji/quartz/AccidentQuartz.java index aee717a..5cf3d3d 100644 --- a/rescue/src/main/java/com/yingji/quartz/AccidentQuartz.java +++ b/rescue/src/main/java/com/yingji/quartz/AccidentQuartz.java @@ -1,5 +1,6 @@ package com.yingji.quartz; +import cn.hutool.core.util.StrUtil; import com.yingji.service.AccidentService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -29,7 +30,11 @@ public class AccidentQuartz { @Scheduled(cron = "*/10 * * * * ? ") public void savaData() { String accessToken = accidentService.getAuthorizeToken(); - accidentService.getAccidentUrl(accessToken); - log.info("=================120定时任务结束==============="); + if (StrUtil.isNotEmpty(accessToken)) { + accidentService.getAccidentUrl(accessToken); + log.info("=================120定时任务结束==============="); + } else { + log.info("=================120定时任务获取token失败==============="); + } } } diff --git a/rescue/src/main/java/com/yingji/service/impl/AccidentServiceImpl.java b/rescue/src/main/java/com/yingji/service/impl/AccidentServiceImpl.java index 13644d9..9fae1e7 100644 --- a/rescue/src/main/java/com/yingji/service/impl/AccidentServiceImpl.java +++ b/rescue/src/main/java/com/yingji/service/impl/AccidentServiceImpl.java @@ -188,6 +188,8 @@ public class AccidentServiceImpl implements AccidentService { Event one = eventService.getOne(wrapper); if (BeanUtil.isEmpty(one)) { eventService.save(event); + // 调用120和110事件对比接口 + linkAlgorithm(event.getEventId()); } else { eventService.updateById(event); } @@ -230,6 +232,19 @@ public class AccidentServiceImpl implements AccidentService { } } + /** + * 120算法接口 + */ + public void linkAlgorithm(String eventId) { + log.info("============120和110对比算法接口开始" + LocalDateTime.now() + "============="); + Map map = new HashMap<>(); + map.put("event_id", eventId); + String body = JSONUtil.toJsonStr(map); + String response = HttpRequest.post("http://localhost:9002/link_algorithm").body(body).execute().body(); + log.info("++++++120和110对比算法响应数据++++++" + response); + log.info("============120和110对比算法接口结束" + LocalDateTime.now() + "============="); + } + @Override public void text() { String s = "{\n" + diff --git a/rescue/src/main/resources/application-dev.yml b/rescue/src/main/resources/application-dev.yml index 287eb22..647069b 100644 --- a/rescue/src/main/resources/application-dev.yml +++ b/rescue/src/main/resources/application-dev.yml @@ -28,18 +28,6 @@ knife4j: # test1: # group-name: 应急算法 -# 110获取token -getToken: http://2.46.4.198:8008/token - -# 110获取数据 -specificWarn: http://2.46.4.198:8008/rs/k4r3h/DataAnalysisService/sz/share/specificWarn - -# 110clientId -clientId: BNjP9S8p2EJZyt1UF+D6kCsK6ZVapyKqiGzarEdsZ3QmIWoVdB7YkrX2GBAmCDO16tQ/ak86pZgP5ZS3s4EGdco= - -# 110clientSecret -clientSecret: AM4oMOsJj0ULAUOOXlz5xHjIF4kp9W63ajZrXxTGLHEn - # 120获取token授权码 getAuthorizeValidateUrl: http://192.180.22.214:7015/api/Authorize/validate/v1