package com.ruoyi.dataInterchange.controller;
|
|
import com.alibaba.fastjson2.JSON;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.utils.bean.BeanUtils;
|
import com.ruoyi.dataInterchange.api.vo.UPWarnMsgAdptInfoVo;
|
import com.ruoyi.dataInterchange.dao.UPWarnMsgAdptInfoDao;
|
import com.ruoyi.dataInterchange.dao.UPWarnMsgUrgeTodoAckDao;
|
import com.ruoyi.dataInterchange.model.UPWarnMsgAdptInfo;
|
import com.ruoyi.dataInterchange.model.UPWarnMsgUrgeTodoAck;
|
import com.ruoyi.dataInterchange.util.haikang.model.SubscriptionEvent;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.Iterator;
|
import java.util.List;
|
|
/**
|
* 报警信息控制器
|
*
|
* @author zhibing.pu
|
* @Date 2025/4/2 10:08
|
*/
|
@Slf4j
|
@RestController
|
@RequestMapping("/warnMsgAdptInfo")
|
public class UPWarnMsgAdptInfoController {
|
|
@Resource
|
private UPWarnMsgAdptInfoDao upWarnMsgAdptInfoDao;
|
|
@Resource
|
private UPWarnMsgUrgeTodoAckDao upWarnMsgUrgeTodoAckDao;
|
|
|
/**
|
* 查询大于给定日期的所有报警数据
|
*
|
* @param createTime
|
* @return
|
*/
|
@PostMapping("/findByCreateTimeAfter")
|
public R<List<UPWarnMsgAdptInfoVo>> findByCreateTimeAfter(@RequestParam("createTime") Long createTime) {
|
if (-1 == createTime) {
|
Iterator<UPWarnMsgAdptInfo> iterator = upWarnMsgAdptInfoDao.findAll().iterator();
|
List<UPWarnMsgAdptInfoVo> list = new ArrayList<>();
|
while (iterator.hasNext()) {
|
UPWarnMsgAdptInfo upWarnMsgAdptInfo = iterator.next();
|
UPWarnMsgAdptInfoVo vo = new UPWarnMsgAdptInfoVo();
|
BeanUtils.copyProperties(upWarnMsgAdptInfo, vo);
|
UPWarnMsgUrgeTodoAck warnMsgUrgeTodoAck = upWarnMsgUrgeTodoAckDao.findBySupervisionId(upWarnMsgAdptInfo.getInfoId());
|
if (null != warnMsgUrgeTodoAck) {
|
vo.setResult(warnMsgUrgeTodoAck.getResult());
|
}
|
list.add(vo);
|
}
|
return R.ok(list);
|
} else {
|
List<UPWarnMsgAdptInfo> adptInfoList = upWarnMsgAdptInfoDao.findByCreateTimeAfter(createTime);
|
List<UPWarnMsgAdptInfoVo> list = new ArrayList<>();
|
for (UPWarnMsgAdptInfo upWarnMsgAdptInfo : adptInfoList) {
|
UPWarnMsgAdptInfoVo vo = new UPWarnMsgAdptInfoVo();
|
BeanUtils.copyProperties(upWarnMsgAdptInfo, vo);
|
UPWarnMsgUrgeTodoAck warnMsgUrgeTodoAck = upWarnMsgUrgeTodoAckDao.findBySupervisionId(upWarnMsgAdptInfo.getInfoId());
|
if (null != warnMsgUrgeTodoAck) {
|
vo.setResult(warnMsgUrgeTodoAck.getResult());
|
}
|
list.add(vo);
|
}
|
return R.ok(list);
|
}
|
}
|
|
|
/**
|
* 根据信息id查询报警原始数据
|
*
|
* @param infoId
|
* @return
|
*/
|
@PostMapping("/findByInfoId")
|
public R<UPWarnMsgAdptInfoVo> findByInfoId(@RequestParam("infoId") Integer infoId) {
|
UPWarnMsgAdptInfo warnMsgAdptInfo = upWarnMsgAdptInfoDao.findByInfoIdIs(infoId);
|
if(null != warnMsgAdptInfo){
|
UPWarnMsgAdptInfoVo vo = new UPWarnMsgAdptInfoVo();
|
BeanUtils.copyProperties(warnMsgAdptInfo, vo);
|
return R.ok(vo);
|
}
|
return R.ok();
|
}
|
|
|
/**
|
* 海康威视报警信息推送
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/alarmNotice")
|
public void alarmNotice(@RequestBody SubscriptionEvent event) {
|
log.error("收到危海康的事件回调");
|
log.error(JSON.toJSONString(event));
|
}
|
}
|