wushunjie
吴顺杰 11 months ago
parent 94b891179d
commit 88bded6e41

@ -2,6 +2,7 @@ package com.yingji.entity;
import cn.hutool.core.annotation.Alias; import cn.hutool.core.annotation.Alias;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
@ -192,5 +193,12 @@ public class Alarm implements Serializable {
*/ */
@ApiModelProperty(value = "紧急系数") @ApiModelProperty(value = "紧急系数")
private Double aiNum; private Double aiNum;
/**
* 120event_id
*/
@ApiModelProperty(value = "120的event_id")
@TableField(value = "ai_120_id")
private String ai120Id;
} }

@ -1,5 +1,6 @@
package com.yingji.quartz; package com.yingji.quartz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
@ -49,13 +50,17 @@ public class AlarmQuartz {
public void savaData() { public void savaData() {
// 获取token // 获取token
String token = alarmService.getToken(); String token = alarmService.getToken();
// 查询所有id if (StrUtil.isNotEmpty(token)) {
List<String> idList = findId(token); // 查询所有id
// 根据id查询数据保存 List<String> idList = findId(token);
addList(idList, token); // 根据id查询数据保存
// 110算法接口 addList(idList, token);
if (CollectionUtil.isNotEmpty(idList)) { // 110算法接口
emergencyAlgorithm(); if (CollectionUtil.isNotEmpty(idList)) {
emergencyAlgorithm();
}
} else {
log.error("============110算法接口获取token失败=============");
} }
} }
@ -101,7 +106,7 @@ public class AlarmQuartz {
alarmRequest.setValue(x); alarmRequest.setValue(x);
// 查询数据 // 查询数据
Alarm alarm = alarmService.findDataList(alarmRequest, token); Alarm alarm = alarmService.findDataList(alarmRequest, token);
if (alarm != null) { if (BeanUtil.isNotEmpty(alarm)) {
alarm.setSourceId(x); alarm.setSourceId(x);
list.add(alarm); list.add(alarm);
successNum++; successNum++;
@ -110,14 +115,20 @@ public class AlarmQuartz {
int randomNumber = random.nextInt(101) + 100; int randomNumber = random.nextInt(101) + 100;
Thread.sleep(randomNumber); Thread.sleep(randomNumber);
} else { } else {
if (CollectionUtil.isNotEmpty(list)) {
alarmService.saveAll(list);
}
return; return;
} }
} }
} catch (Exception e) { } catch (Exception e) {
log.info("==========================" + e.getMessage()); log.info("==========================" + e.getMessage());
e.printStackTrace();
} }
} }
alarmService.saveAll(list); if (CollectionUtil.isNotEmpty(list)) {
alarmService.saveAll(list);
}
log.info("成功条数==========================" + successNum); log.info("成功条数==========================" + successNum);
} }
@ -156,7 +167,8 @@ public class AlarmQuartz {
if (data == null) { if (data == null) {
return idList; return idList;
} }
sourceService.addList(data); // todo 注释保存id
// sourceService.addList(data);
idList.addAll(data); idList.addAll(data);
size += data.size(); size += data.size();
if (data.size() == pageSize) { if (data.size() == pageSize) {

@ -68,6 +68,8 @@ public class AlarmServiceImpl extends ServiceImpl<AlarmMapper, Alarm> implements
List<String> records = null; List<String> records = null;
// 获取id // 获取id
String body = HttpRequest.post(specificWarn).header("Authorization", "Basic " + token).body(bodyJson).execute().body(); String body = HttpRequest.post(specificWarn).header("Authorization", "Basic " + token).body(bodyJson).execute().body();
log.info("===========================================");
log.info("++++++++++++++++" + body + "++++++++++++++");
JSONObject json = JSONObject.parse(body); JSONObject json = JSONObject.parse(body);
Object response = json.get("response"); Object response = json.get("response");
if (BeanUtil.isNotEmpty(response)) { if (BeanUtil.isNotEmpty(response)) {
@ -101,19 +103,30 @@ public class AlarmServiceImpl extends ServiceImpl<AlarmMapper, Alarm> implements
Object response = json.get("response"); Object response = json.get("response");
if (BeanUtil.isNotEmpty(response)) { if (BeanUtil.isNotEmpty(response)) {
String recordsStr = JSONUtil.toJsonStr(response); String recordsStr = JSONUtil.toJsonStr(response);
if (StrUtil.isEmpty(recordsStr)) {
return null;
}
records = JSONUtil.toBean(recordsStr, Alarm.class); records = JSONUtil.toBean(recordsStr, Alarm.class);
if (records == null) {
return null;
}
JSONObject recordsJson = JSONObject.parse(recordsStr); JSONObject recordsJson = JSONObject.parse(recordsStr);
if (BeanUtil.isEmpty(recordsJson)) {
return null;
}
Object bjdhsj = recordsJson.get("bjdhsj"); Object bjdhsj = recordsJson.get("bjdhsj");
String bjdhsjStr = JSONUtil.toJsonStr(bjdhsj); if (BeanUtil.isNotEmpty(bjdhsj)) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss").withZone(ZoneId.systemDefault()); String bjdhsjStr = JSONUtil.toJsonStr(bjdhsj);
LocalDateTime emergencyEventTime = LocalDateTime.parse(bjdhsjStr, formatter); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss").withZone(ZoneId.systemDefault());
records.setEmergencyEventTime(emergencyEventTime); LocalDateTime emergencyEventTime = LocalDateTime.parse(bjdhsjStr, formatter);
records.setCreateTime(LocalDateTime.now()); records.setEmergencyEventTime(emergencyEventTime);
records.setUpdateTime(LocalDateTime.now()); records.setCreateTime(LocalDateTime.now());
records.setDelFlag(0); records.setUpdateTime(LocalDateTime.now());
records.setDelFlag(0);
}
} }
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException(e); log.info("系统内部异常,请联系管理员");
} }
return records; return records;
} }

@ -40,11 +40,3 @@ clientId: BNjP9S8p2EJZyt1UF+D6kCsK6ZVapyKqiGzarEdsZ3QmIWoVdB7YkrX2GBAmCDO16tQ/ak
# 110clientSecret # 110clientSecret
clientSecret: AM4oMOsJj0ULAUOOXlz5xHjIF4kp9W63ajZrXxTGLHEn 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

@ -1,6 +1,7 @@
package com.yingji.entity; package com.yingji.entity;
import cn.hutool.core.annotation.Alias; import cn.hutool.core.annotation.Alias;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
@ -136,5 +137,12 @@ public class AcceptEvents implements Serializable {
@ApiModelProperty(value = "受理序号") @ApiModelProperty(value = "受理序号")
@Alias("AcceptOrder") @Alias("AcceptOrder")
private String acceptOrder; private String acceptOrder;
/**
* 110emergency_event_id
*/
@ApiModelProperty(value = "110的emergency_event_id")
@TableField(value = "ai_110_id")
private Long ai110Id;
} }

@ -2,6 +2,7 @@ package com.yingji.entity;
import cn.hutool.core.annotation.Alias; import cn.hutool.core.annotation.Alias;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
@ -173,13 +174,13 @@ public class Alarm implements Serializable {
* *
*/ */
@ApiModelProperty(value = "预警大类") @ApiModelProperty(value = "预警大类")
private String aiCategories; private String aiClass;
/** /**
* *
*/ */
@ApiModelProperty(value = "预警小类") @ApiModelProperty(value = "预警小类")
private String aiSubCategories; private String aiClass2;
/** /**
* *
@ -192,5 +193,12 @@ public class Alarm implements Serializable {
*/ */
@ApiModelProperty(value = "紧急系数") @ApiModelProperty(value = "紧急系数")
private Double aiNum; private Double aiNum;
/**
* 120event_id
*/
@ApiModelProperty(value = "120的event_id")
@TableField(value = "ai_120_id")
private String ai120Id;
} }

@ -1,6 +1,7 @@
package com.yingji.entity; package com.yingji.entity;
import cn.hutool.core.annotation.Alias; import cn.hutool.core.annotation.Alias;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
@ -136,5 +137,12 @@ public class AcceptEvents implements Serializable {
@ApiModelProperty(value = "受理序号") @ApiModelProperty(value = "受理序号")
@Alias("AcceptOrder") @Alias("AcceptOrder")
private String acceptOrder; private String acceptOrder;
/**
* 110emergency_event_id
*/
@ApiModelProperty(value = "110的emergency_event_id")
@TableField(value = "ai_110_id")
private Long ai110Id;
} }

@ -1,5 +1,6 @@
package com.yingji.quartz; package com.yingji.quartz;
import cn.hutool.core.util.StrUtil;
import com.yingji.service.AccidentService; import com.yingji.service.AccidentService;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -29,7 +30,11 @@ public class AccidentQuartz {
@Scheduled(cron = "*/10 * * * * ? ") @Scheduled(cron = "*/10 * * * * ? ")
public void savaData() { public void savaData() {
String accessToken = accidentService.getAuthorizeToken(); String accessToken = accidentService.getAuthorizeToken();
accidentService.getAccidentUrl(accessToken); if (StrUtil.isNotEmpty(accessToken)) {
log.info("=================120定时任务结束==============="); accidentService.getAccidentUrl(accessToken);
log.info("=================120定时任务结束===============");
} else {
log.info("=================120定时任务获取token失败===============");
}
} }
} }

@ -188,6 +188,8 @@ public class AccidentServiceImpl implements AccidentService {
Event one = eventService.getOne(wrapper); Event one = eventService.getOne(wrapper);
if (BeanUtil.isEmpty(one)) { if (BeanUtil.isEmpty(one)) {
eventService.save(event); eventService.save(event);
// 调用120和110事件对比接口
linkAlgorithm(event.getEventId());
} else { } else {
eventService.updateById(event); 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<String, String> 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 @Override
public void text() { public void text() {
String s = "{\n" + String s = "{\n" +

@ -28,18 +28,6 @@ knife4j:
# test1: # test1:
# group-name: 应急算法 # 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授权码 # 120获取token授权码
getAuthorizeValidateUrl: http://192.180.22.214:7015/api/Authorize/validate/v1 getAuthorizeValidateUrl: http://192.180.22.214:7015/api/Authorize/validate/v1

Loading…
Cancel
Save