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

@ -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;
/**
* 120event_id
*/
@ApiModelProperty(value = "120的event_id")
@TableField(value = "ai_120_id")
private String ai120Id;
}

@ -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<String> idList = findId(token);
// 根据id查询数据保存
addList(idList, token);
// 110算法接口
if (CollectionUtil.isNotEmpty(idList)) {
emergencyAlgorithm();
if (StrUtil.isNotEmpty(token)) {
// 查询所有id
List<String> 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) {

@ -68,6 +68,8 @@ public class AlarmServiceImpl extends ServiceImpl<AlarmMapper, Alarm> implements
List<String> 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<AlarmMapper, Alarm> 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;
}

@ -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

@ -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;
/**
* 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 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;
/**
* 120event_id
*/
@ApiModelProperty(value = "120的event_id")
@TableField(value = "ai_120_id")
private String ai120Id;
}

@ -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;
/**
* 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;
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失败===============");
}
}
}

@ -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<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
public void text() {
String s = "{\n" +

@ -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

Loading…
Cancel
Save