|
@@ -3,30 +3,47 @@ package com.ozs.web.controller.sdk;
|
|
|
import com.alibaba.fastjson2.JSON;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.ozs.common.core.domain.AjaxResult;
|
|
|
+import com.ozs.common.exception.base.BaseException;
|
|
|
import com.ozs.common.utils.ApiTokenUtils;
|
|
|
+import com.ozs.common.utils.HeartbeatUtils;
|
|
|
import com.ozs.common.utils.HttpClientUtil;
|
|
|
+import com.ozs.common.utils.IgnoreUtils;
|
|
|
import com.ozs.common.utils.StringUtils;
|
|
|
+import com.ozs.common.utils.http.HttpUtils;
|
|
|
import com.ozs.common.utils.stateSecrets.SM4Utils;
|
|
|
import com.ozs.entity.BaseCameraManagement;
|
|
|
import com.ozs.entity.BaseDeviceDynamicManagement;
|
|
|
+import com.ozs.entity.BaseTerminal;
|
|
|
import com.ozs.entity.BaseUser;
|
|
|
import com.ozs.entity.MsgAlarm;
|
|
|
import com.ozs.entity.MsgAlarmExt;
|
|
|
import com.ozs.entity.MsgAlarmFrequency;
|
|
|
import com.ozs.entity.SvcAddress;
|
|
|
+import com.ozs.entity.TerminalIgnoreAlarm;
|
|
|
+import com.ozs.entity.VehiclePosition;
|
|
|
+import com.ozs.entity.vo.AlarmFilesVo;
|
|
|
+import com.ozs.entity.vo.AlarmInfoVo;
|
|
|
+import com.ozs.entity.vo.AlarmListVo;
|
|
|
import com.ozs.entity.vo.Files;
|
|
|
import com.ozs.entity.vo.HeartbeatVo;
|
|
|
import com.ozs.entity.vo.ReleaseAlarmVo;
|
|
|
import com.ozs.entity.vo.ReqMsgAlarmVo;
|
|
|
import com.ozs.entity.vo.RespGeoHazardMonitorVo;
|
|
|
+import com.ozs.entity.vo.RespHeartbeatVo;
|
|
|
import com.ozs.entity.vo.RespMsgAlarmVo;
|
|
|
+import com.ozs.entity.vo.TerminalIgnoreVo;
|
|
|
import com.ozs.service.BaseCameraManagementService;
|
|
|
import com.ozs.service.BaseDeviceDynamicManagementService;
|
|
|
+import com.ozs.service.BaseTerminalService;
|
|
|
import com.ozs.service.BaseUserService;
|
|
|
import com.ozs.service.MsgAlarmExtService;
|
|
|
import com.ozs.service.MsgAlarmFrequencyService;
|
|
|
import com.ozs.service.MsgAlarmService;
|
|
|
import com.ozs.service.SvcAddressService;
|
|
|
+import com.ozs.service.TerminalIgnoreAlarmService;
|
|
|
+import com.ozs.service.VehiclePositionService;
|
|
|
+import com.ozs.web.core.util.CameraUtil;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -74,7 +91,16 @@ public class GeoHazardMonitorTokenController {
|
|
|
private BaseUserService baseUserService;
|
|
|
@Autowired
|
|
|
private MsgAlarmExtService msgAlarmExtService;
|
|
|
-
|
|
|
+ @Autowired
|
|
|
+ private BaseTerminalService baseTerminalService;
|
|
|
+ @Autowired
|
|
|
+ private VehiclePositionService vehiclePositionService;
|
|
|
+ @Autowired
|
|
|
+ private HeartbeatUtils heartbeatUtils;
|
|
|
+ @Autowired
|
|
|
+ private TerminalIgnoreAlarmService terminalIgnoreAlarmService;
|
|
|
+ @Autowired
|
|
|
+ private IgnoreUtils ignoreUtils;
|
|
|
/**
|
|
|
* 获取web访问令牌
|
|
|
*
|
|
@@ -154,21 +180,20 @@ public class GeoHazardMonitorTokenController {
|
|
|
}
|
|
|
log.info("reqMsgAlarmVo:{}", reqMsgAlarmVo);
|
|
|
|
|
|
-// RespMsgAlarmVo respMsgAlarmVo = new RespMsgAlarmVo();
|
|
|
-// LambdaQueryWrapper<BaseCameraManagement> wrapper = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
|
-// if (!ObjectUtils.isEmpty(reqMsgAlarmVo.getAlarmMile())) {
|
|
|
-// wrapper.ge(BaseCameraManagement::getBeginMile, reqMsgAlarmVo.getAlarmMile());
|
|
|
-// wrapper.le(BaseCameraManagement::getEndMile, reqMsgAlarmVo.getAlarmMile());
|
|
|
-// }
|
|
|
-// List<BaseCameraManagement> baseCameraManagementList = baseCameraManagementService.list(wrapper);
|
|
|
-// log.info("baseCameraManagement:{}", baseCameraManagementList);
|
|
|
-// if (baseCameraManagementList.size() <= 0) {
|
|
|
-// jsonObject.put("resultCode", 0);
|
|
|
-// jsonObject.put("message", "失败");
|
|
|
-// jsonObject.put("data", "报警里程位置没有可用的相机!!!");
|
|
|
-// return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), "4370780c9a8c43e5");
|
|
|
-// }
|
|
|
- //todo 需要根据报警里程位置 拉取相机的录制视频
|
|
|
+ RespMsgAlarmVo respMsgAlarmVo = new RespMsgAlarmVo();
|
|
|
+ LambdaQueryWrapper<BaseCameraManagement> wrapper = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
|
+ if (!ObjectUtils.isEmpty(reqMsgAlarmVo.getAlarmMile())) {
|
|
|
+ wrapper.ge(BaseCameraManagement::getBeginMile, reqMsgAlarmVo.getAlarmMile());
|
|
|
+ wrapper.le(BaseCameraManagement::getEndMile, reqMsgAlarmVo.getAlarmMile());
|
|
|
+ }
|
|
|
+ List<BaseCameraManagement> baseCameraManagementList = baseCameraManagementService.list(wrapper);
|
|
|
+ log.info("baseCameraManagement:{}", baseCameraManagementList);
|
|
|
+ if (baseCameraManagementList.size() <= 0) {
|
|
|
+ jsonObject.put("resultCode", 0);
|
|
|
+ jsonObject.put("message", "失败");
|
|
|
+ jsonObject.put("data", "报警里程位置没有可用的相机!!!");
|
|
|
+ return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), "4370780c9a8c43e5");
|
|
|
+ }
|
|
|
LambdaQueryWrapper<MsgAlarm> lw = new LambdaQueryWrapper<MsgAlarm>();
|
|
|
if (!ObjectUtils.isEmpty(reqMsgAlarmVo.getAlarmId())) {
|
|
|
lw.eq(MsgAlarm::getAlarmId, reqMsgAlarmVo.getAlarmId());
|
|
@@ -204,9 +229,33 @@ public class GeoHazardMonitorTokenController {
|
|
|
msgAlarmVice.setRailwayCode(reqMsgAlarmVo.getAlarmRailway());
|
|
|
msgAlarmVice.setAlarmTime(new Date(reqMsgAlarmVo.getAlarmTime()));
|
|
|
msgAlarmFrequencyService.save(msgAlarmVice);
|
|
|
-// respMsgAlarmVo.setAlarmId(reqMsgAlarmVo.getAlarmId());
|
|
|
-// respMsgAlarmVo.setIsCancel(2);
|
|
|
-// respMsgAlarmVo.setCancelTime(null);
|
|
|
+ for (BaseCameraManagement baseCameraManagement : baseCameraManagementList) {
|
|
|
+ String invite = CameraUtil.invite(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel());
|
|
|
+ if ("304".equals(invite)|| "200".equals(invite)){
|
|
|
+ String start = HttpUtils.sendGet(CameraUtil.startRecording(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel()));
|
|
|
+ log.info("startRecording------------" + start);
|
|
|
+ if (start.startsWith(baseCameraManagement.getCameraCode() + "/" + baseCameraManagement.getChannel())) {
|
|
|
+ baseCameraManagement.setTaskId(start);
|
|
|
+ baseCameraManagement.setUpdateBy(admin.getUserId());
|
|
|
+ } else {
|
|
|
+ jsonObject.put("resultCode", 0);
|
|
|
+ jsonObject.put("message", "失败");
|
|
|
+ jsonObject.put("data", "视频录制失败:请确认流是否存在!!!");
|
|
|
+ return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), "4370780c9a8c43e5");
|
|
|
+ }
|
|
|
+ if (!baseCameraManagementService.updateById(baseCameraManagement)) {
|
|
|
+ jsonObject.put("resultCode", 0);
|
|
|
+ jsonObject.put("message", "失败");
|
|
|
+ jsonObject.put("data", "开启录制视频失败!!!");
|
|
|
+ return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), "4370780c9a8c43e5");
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ jsonObject.put("resultCode", 0);
|
|
|
+ jsonObject.put("message", "失败");
|
|
|
+ jsonObject.put("data", "视频邀约失败,视频中心没有该相机编码或通道编码的摄像头!!!");
|
|
|
+ return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), "4370780c9a8c43e5");
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
} else {
|
|
|
BeanUtils.copyProperties(reqMsgAlarmVo, msgAlarmVice);
|
|
@@ -215,13 +264,6 @@ public class GeoHazardMonitorTokenController {
|
|
|
msgAlarmVice.setAlarmTime(new Date(reqMsgAlarmVo.getAlarmTime()));
|
|
|
msgAlarmVice.setRailwayCode(reqMsgAlarmVo.getAlarmRailway());
|
|
|
msgAlarmFrequencyService.save(msgAlarmVice);
|
|
|
-// respMsgAlarmVo.setAlarmId(reqMsgAlarmVo.getAlarmId());
|
|
|
-// respMsgAlarmVo.setCameraCode(reqMsgAlarmVo.getAlarmCamera());
|
|
|
-// respMsgAlarmVo.setIsCancel(alarm.getIsRelease());
|
|
|
-// if (!ObjectUtils.isEmpty(alarm.getReleasedTime())) {
|
|
|
-// respMsgAlarmVo.setCancelTime(alarm.getReleasedTime().getTime());
|
|
|
-// }
|
|
|
-// respMsgAlarmVo.setCancelTime(null);
|
|
|
}
|
|
|
// try {
|
|
|
// MsgAlarm alarms = msgAlarmService.getOne(lw);
|
|
@@ -307,6 +349,9 @@ public class GeoHazardMonitorTokenController {
|
|
|
|
|
|
@PostMapping("/api/terminal/heartbeat")
|
|
|
public String heartbeat(@RequestParam("parameter") String parameter, HttpServletRequest request) {
|
|
|
+ Map<String,Object> twoMap=new HashMap<>();
|
|
|
+ int distance = 0;
|
|
|
+ RespHeartbeatVo respHeartbeatVo = new RespHeartbeatVo();
|
|
|
String token = apiTokenUtils.getGeoHazardMonitorToken(request);
|
|
|
log.info("token:{}", token);
|
|
|
log.info("parameter:{}", parameter);
|
|
@@ -314,11 +359,198 @@ public class GeoHazardMonitorTokenController {
|
|
|
if (StringUtils.isNotEmpty(token)) {
|
|
|
String s = SM4Utils.decryptData_ECB(parameter, "4370780c9a8c43e5");
|
|
|
HeartbeatVo heartbeatVo = JSON.parseObject(s, HeartbeatVo.class);
|
|
|
-// BeanUtils.copyProperties(heartbeatVo, msgAlarm);
|
|
|
+ VehiclePosition vehiclePosition = new VehiclePosition();
|
|
|
+ BeanUtils.copyProperties(heartbeatVo, vehiclePosition);
|
|
|
+ LambdaQueryWrapper<BaseTerminal> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(BaseTerminal::getTerminalCode, vehiclePosition.getTerminalCode());
|
|
|
+ BaseTerminal baseTerminal = baseTerminalService.getOne(wrapper);
|
|
|
+ vehiclePosition.setTravelMile(heartbeatVo.getCurrentMile());
|
|
|
+ vehiclePosition.setVehicleCode(baseTerminal.getVehicleCode());
|
|
|
+ //机车行驶表添加数据
|
|
|
+ boolean save = vehiclePositionService.save(vehiclePosition);
|
|
|
+ //目视距离和里程位置
|
|
|
+ if (save) {
|
|
|
+ LambdaQueryWrapper<MsgAlarm> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.le(MsgAlarm::getAlarmMile, heartbeatVo.getCurrentMile());
|
|
|
+ queryWrapper.ge(MsgAlarm::getAlarmMile, (heartbeatVo.getCurrentMile() + 10000));
|
|
|
+ queryWrapper.eq(MsgAlarm::getLineDir,heartbeatVo.getLineDir());
|
|
|
+ queryWrapper.orderByAsc(MsgAlarm::getAlarmMile);
|
|
|
+ List<MsgAlarm> list = msgAlarmService.list(queryWrapper);
|
|
|
+ //有报警信息的时候
|
|
|
+ if (list.size() > 0) {
|
|
|
+ //获取报警里程所监控的所有相机
|
|
|
+ LambdaQueryWrapper<BaseCameraManagement> camera = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
|
+ camera.ge(BaseCameraManagement::getBeginMile, list.get(0).getAlarmMile());
|
|
|
+ camera.le(BaseCameraManagement::getEndMile, list.get(0).getAlarmMile());
|
|
|
+ camera.eq(BaseCameraManagement::getLineDir,heartbeatVo.getLineDir());
|
|
|
+ camera.orderByAsc(BaseCameraManagement::getInstallMile);
|
|
|
+ List<BaseCameraManagement> baseCameraManagementList = baseCameraManagementService.list(camera);
|
|
|
+ if (baseCameraManagementList.size()>0) {
|
|
|
+ //获取视频点播地址
|
|
|
+ String playFlv = CameraUtil.getPlayFlv(baseCameraManagementList.get(0).getCameraCode(), baseCameraManagementList.get(0).getChannel(), false);
|
|
|
+ respHeartbeatVo.setCurrentStream(playFlv);
|
|
|
+ respHeartbeatVo.setIsAlarm(1);
|
|
|
+ respHeartbeatVo.setCameraCode(baseCameraManagementList.get(0).getCameraCode());
|
|
|
+ twoMap.put(respHeartbeatVo.getCameraCode(),respHeartbeatVo.getCurrentStream());
|
|
|
+ //alarmInfo对象
|
|
|
+ AlarmInfoVo alarmInfoVo = new AlarmInfoVo();
|
|
|
+ alarmInfoVo.setAlarmId(list.get(0).getAlarmId());
|
|
|
+ alarmInfoVo.setAlarmMile(list.get(0).getAlarmMile());
|
|
|
+ alarmInfoVo.setAlarmTime(list.get(0).getAlarmTime().getTime());
|
|
|
+ alarmInfoVo.setAlarmType(list.get(0).getAlarmType());
|
|
|
+ alarmInfoVo.setAlarmLevel(list.get(0).getAlarmLevel());
|
|
|
+ AlarmFilesVo[] files = new AlarmFilesVo[1];
|
|
|
+ LambdaQueryWrapper<MsgAlarmExt> ext = new LambdaQueryWrapper<>();
|
|
|
+ ext.eq(MsgAlarmExt::getAlarmId, list.get(0).getAlarmId());
|
|
|
+ MsgAlarmExt one = msgAlarmExtService.getOne(ext);
|
|
|
+ files[0] = new AlarmFilesVo();
|
|
|
+ files[0].setAlarmAttType(one.getAlarmAttType());
|
|
|
+ files[0].setAlarmAttPath(one.getAlarmAttPath());
|
|
|
+ //返回结果
|
|
|
+ alarmInfoVo.setAlarmFiles(files);
|
|
|
+ respHeartbeatVo.setAlarmInfo(alarmInfoVo);
|
|
|
+ }else {
|
|
|
+ jsonObject.put("resultCode", 0);
|
|
|
+ jsonObject.put("message", "失败");
|
|
|
+ jsonObject.put("data", "报警里程无可用相机");
|
|
|
+ return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), "4370780c9a8c43e5");
|
|
|
+ }
|
|
|
+ for (int i = 0; i < list.size(); i++) {
|
|
|
+ //获取剩余的报警信息
|
|
|
+ LambdaQueryWrapper<BaseCameraManagement> ment = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
|
+ ment.ge(BaseCameraManagement::getBeginMile, list.get(i).getAlarmMile());
|
|
|
+ ment.le(BaseCameraManagement::getEndMile, list.get(i).getAlarmMile());
|
|
|
+ ment.eq(BaseCameraManagement::getLineDir, heartbeatVo.getLineDir());
|
|
|
+ ment.orderByAsc(BaseCameraManagement::getInstallMile);
|
|
|
+ if (i == 0) {
|
|
|
+ wrapper.last("limit 1,1000000");
|
|
|
+ }
|
|
|
+ List<BaseCameraManagement> baseList = baseCameraManagementService.list(camera);
|
|
|
+ if (baseList.size() > 0) {
|
|
|
+ for (int o = 0; o < baseList.size(); o++) {
|
|
|
+ String flv = CameraUtil.getPlayFlv(baseList.get(o).getCameraCode(), baseList.get(o).getChannel(), false);
|
|
|
+ List<AlarmListVo> listVos = new ArrayList<>();
|
|
|
+ AlarmListVo alarmListVo = new AlarmListVo();
|
|
|
+ //alarmList对象
|
|
|
+ alarmListVo.setCameraStream(flv);
|
|
|
+ alarmListVo.setCameraCode(baseList.get(o).getCameraCode());
|
|
|
+ twoMap.put(alarmListVo.getCameraCode(),alarmListVo.getCameraStream());
|
|
|
+ //alarmInfo对象
|
|
|
+ AlarmInfoVo alarmInfoVo1 = new AlarmInfoVo();
|
|
|
+ alarmInfoVo1.setAlarmId(list.get(i).getAlarmId());
|
|
|
+ alarmInfoVo1.setAlarmMile(list.get(i).getAlarmMile());
|
|
|
+ alarmInfoVo1.setAlarmTime(list.get(i).getAlarmTime().getTime());
|
|
|
+ alarmInfoVo1.setAlarmType(list.get(i).getAlarmType());
|
|
|
+ alarmInfoVo1.setAlarmLevel(list.get(i).getAlarmLevel());
|
|
|
+ AlarmFilesVo[] vo = new AlarmFilesVo[1];
|
|
|
+ LambdaQueryWrapper<MsgAlarmExt> alarm = new LambdaQueryWrapper<>();
|
|
|
+ alarm.eq(MsgAlarmExt::getAlarmId, list.get(0).getAlarmId());
|
|
|
+ MsgAlarmExt msgAlarmExt = msgAlarmExtService.getOne(alarm);
|
|
|
+ vo[0] = new AlarmFilesVo();
|
|
|
+ vo[0].setAlarmAttType(msgAlarmExt.getAlarmAttType());
|
|
|
+ vo[0].setAlarmAttPath(msgAlarmExt.getAlarmAttPath());
|
|
|
+ //返回结果
|
|
|
+ alarmInfoVo1.setAlarmFiles(vo);
|
|
|
+ listVos.add(alarmListVo);
|
|
|
+ AlarmListVo[] array = listVos.toArray(new AlarmListVo[]{});
|
|
|
+ respHeartbeatVo.setAlarmList(array);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ jsonObject.put("resultCode", 0);
|
|
|
+ jsonObject.put("message", "失败");
|
|
|
+ jsonObject.put("data", "报警里程无可用相机");
|
|
|
+ return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), "4370780c9a8c43e5");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //没有报警信息的时候
|
|
|
+ distance = heartbeatVo.getVisualDistance() + heartbeatVo.getCurrentMile();
|
|
|
+ LambdaQueryWrapper<BaseCameraManagement> base=new LambdaQueryWrapper<>();
|
|
|
+ base.gt(BaseCameraManagement::getInstallMiles,distance);
|
|
|
+ base.eq(BaseCameraManagement::getLineDir,heartbeatVo.getLineDir());
|
|
|
+ base.orderByAsc(BaseCameraManagement::getInstallMiles);
|
|
|
+ wrapper.last("limit 4");
|
|
|
+ List<BaseCameraManagement> list1 = baseCameraManagementService.list(base);
|
|
|
+ String flv = CameraUtil.getPlayFlv(list1.get(0).getCameraCode(), list1.get(0).getChannel(), false);
|
|
|
+ for (BaseCameraManagement baseCameraManagement : list1) {
|
|
|
+ String flv1 = CameraUtil.getPlayFlv(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel(), false);
|
|
|
+ twoMap.put(baseCameraManagement.getCameraCode(),flv1);
|
|
|
+ String invite = CameraUtil.invite(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel());
|
|
|
+ if (!"304".equals(invite)&& !"200".equals(invite)){
|
|
|
+ jsonObject.put("resultCode", 0);
|
|
|
+ jsonObject.put("message", "失败");
|
|
|
+ jsonObject.put("data", "视频邀约失败,视频中心没有该相机编码或通道编码的摄像头!!!");
|
|
|
+ return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), "4370780c9a8c43e5");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ respHeartbeatVo.setCurrentStream(flv);
|
|
|
+ respHeartbeatVo.setIsAlarm(2);
|
|
|
+ respHeartbeatVo.setCameraCode(list1.get(0).getCameraCode());
|
|
|
+ respHeartbeatVo.setAlarmList(null);
|
|
|
+ respHeartbeatVo.setAlarmInfo(null);
|
|
|
+ }
|
|
|
+ heartbeatUtils.createHeartbeat(heartbeatVo.getTerminalCode(),twoMap);
|
|
|
+ jsonObject.put("resultCode", 1);
|
|
|
+ jsonObject.put("message", "成功");
|
|
|
+ jsonObject.put("data", respHeartbeatVo);
|
|
|
+ return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), "4370780c9a8c43e5");
|
|
|
+ } else {
|
|
|
+ jsonObject.put("resultCode", 0);
|
|
|
+ jsonObject.put("message", "失败");
|
|
|
+ jsonObject.put("data", "心跳机制交互失败");
|
|
|
+ return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), "4370780c9a8c43e5");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ jsonObject.put("resultCode", 2);
|
|
|
+ jsonObject.put("message", "失败");
|
|
|
+ jsonObject.put("data", "token验证失败");
|
|
|
+ return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), "4370780c9a8c43e5");
|
|
|
+ }
|
|
|
|
|
|
- jsonObject.put("resultCode", 1);
|
|
|
- jsonObject.put("message", "成功");
|
|
|
- jsonObject.put("data", null);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @PostMapping("/api/terminal/ignore")
|
|
|
+ public String terminalIgnore(@RequestParam("parameter") String parameter, HttpServletRequest request){
|
|
|
+ String token = apiTokenUtils.getGeoHazardMonitorToken(request);
|
|
|
+ Map<String,Object> map=new HashMap<>();
|
|
|
+ log.info("token:{}", token);
|
|
|
+ log.info("parameter:{}", parameter);
|
|
|
+ JSONObject jsonObject = new JSONObject();
|
|
|
+ if (StringUtils.isNotEmpty(token)) {
|
|
|
+ String s = SM4Utils.decryptData_ECB(parameter, "4370780c9a8c43e5");
|
|
|
+ TerminalIgnoreVo terminalIgnoreVo = JSON.parseObject(s, TerminalIgnoreVo.class);
|
|
|
+ map.put("terminalCode",terminalIgnoreVo.getTerminalCode());
|
|
|
+ map.put("alarmId",terminalIgnoreVo.getAlarmId());
|
|
|
+ LambdaQueryWrapper<MsgAlarm> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(MsgAlarm::getAlarmId, terminalIgnoreVo.getAlarmId());
|
|
|
+ MsgAlarm msgAlarm = msgAlarmService.getOne(wrapper);
|
|
|
+ if (ObjectUtils.isEmpty(msgAlarm)) {
|
|
|
+ map.put("isIgnore",1);
|
|
|
+ jsonObject.put("resultCode", 0);
|
|
|
+ jsonObject.put("message", "失败");
|
|
|
+ jsonObject.put("data", map);
|
|
|
+ return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), "4370780c9a8c43e5");
|
|
|
+ }
|
|
|
+ TerminalIgnoreAlarm terminalIgnoreAlarm=new TerminalIgnoreAlarm();
|
|
|
+ terminalIgnoreAlarm.setAlarmId(terminalIgnoreVo.getAlarmId());
|
|
|
+ terminalIgnoreAlarm.setTerminalCode(terminalIgnoreVo.getTerminalCode());
|
|
|
+ terminalIgnoreAlarm.setIgnoreTime(new Date());
|
|
|
+ terminalIgnoreAlarm.setCreateBy(terminalIgnoreVo.getTerminalCode());
|
|
|
+ terminalIgnoreAlarm.setUpdateBy(terminalIgnoreVo.getTerminalCode());
|
|
|
+ boolean save = terminalIgnoreAlarmService.save(terminalIgnoreAlarm);
|
|
|
+ if (save) {
|
|
|
+ ignoreUtils.createIgnore("HL"+terminalIgnoreAlarm.getTerminalCode(),terminalIgnoreAlarm.getAlarmId());
|
|
|
+ map.put("isIgnore",2);
|
|
|
+ jsonObject.put("resultCode", 1);
|
|
|
+ jsonObject.put("message", "成功");
|
|
|
+ jsonObject.put("data", map);
|
|
|
+ } else {
|
|
|
+ map.put("isIgnore",3);
|
|
|
+ jsonObject.put("resultCode", 0);
|
|
|
+ jsonObject.put("message", "失败");
|
|
|
+ jsonObject.put("data", map);
|
|
|
+ }
|
|
|
return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), "4370780c9a8c43e5");
|
|
|
} else {
|
|
|
jsonObject.put("resultCode", 2);
|
|
@@ -326,7 +558,6 @@ public class GeoHazardMonitorTokenController {
|
|
|
jsonObject.put("data", "token验证失败");
|
|
|
return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), "4370780c9a8c43e5");
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
public static void main(String[] args) {
|