package com.ruoyi.alarm.globalAlarm.controller;
|
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
|
import com.ruoyi.alarm.globalAlarm.domain.GlobalAlarmCondition;
|
import com.ruoyi.alarm.globalAlarm.domain.GlobalAlarmData;
|
import com.ruoyi.alarm.globalAlarm.domain.GuidePriorityQueue;
|
import com.ruoyi.alarm.globalAlarm.domain.GuideTask;
|
import com.ruoyi.alarm.globalAlarm.service.IGlobalAlarmService;
|
import com.ruoyi.common.annotation.Anonymous;
|
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.web.bind.annotation.*;
|
import javax.annotation.Resource;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.concurrent.PriorityBlockingQueue;
|
|
/**
|
* @ClassName: globalAlarmController
|
* @Description:
|
* @Author: Administrator
|
* @Date: 2023年03月10日 10:54
|
* @Version: 1.0
|
**/
|
@RestController
|
@RequestMapping("/ardAlarm")
|
@Api(tags = "报警数据汇总接口")
|
@ApiSupport(author = "刘苏义")
|
@Anonymous
|
public class GlobalAlarmController extends BaseController {
|
|
@Resource
|
IGlobalAlarmService globalAlarmService;
|
|
@PostMapping("/List")
|
@ApiOperation(value = "实时报警聚合接口",notes = "按报警刷新时间聚合查询")
|
@ApiOperationSupport(includeParameters = {"command"},order = 1)
|
public AjaxResult selectAlarmLog(@RequestBody GlobalAlarmCondition condition) {
|
List<GlobalAlarmData> result = globalAlarmService.selectAlarmLogs(condition);
|
return AjaxResult.success(result);
|
}
|
@PostMapping("/view")
|
@ApiOperation(value = "查看报警接口",notes = "指定查看某个报警数据")
|
@ApiOperationSupport(includeParameters = {"command","id"},order = 3)
|
public AjaxResult viewAlarmLog(@RequestBody GlobalAlarmCondition condition) {
|
Object result = globalAlarmService.updateAlarmViewTime(condition);
|
return AjaxResult.success(result);
|
}
|
@GetMapping("/count")
|
@ApiOperation(value = "查看报警点数量",notes = "查询刷新时间内报警的点位数量")
|
@ApiOperationSupport(order = 2)
|
public AjaxResult countAlarmLog() {
|
Map<String, Object> stringIntegerMap = globalAlarmService.selectAlarmLogsCount();
|
return AjaxResult.success(stringIntegerMap);
|
}
|
@GetMapping("/List")
|
@ApiOperation(value = "历史报警聚合接口",notes = "通过command和时间查询历史数据")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name="command",value="报警标识",dataType="integer",paramType="query",example="1001",required=true),
|
@ApiImplicitParam(name="beginTime",value="开始时间",dataType="string",paramType="query",example="2023-06-15 00:00:00",required=true),
|
@ApiImplicitParam(name="endTime",value="结束时间",dataType="string",paramType="query",example="2023-06-15 14:18:23",required=true),
|
@ApiImplicitParam(name="pageNum",value="页码",dataType="integer",paramType="query",example="1",required=true),
|
@ApiImplicitParam(name="pageSize",value="页数量",dataType="integer",paramType="query",example="10",required=true)
|
})
|
public TableDataInfo selectAlarmList(Integer command, String beginTime, String endTime,Integer pageNum,Integer pageSize) {
|
startPage();
|
Object alarmList = globalAlarmService.selectAlarmList(command,beginTime,endTime, pageNum, pageSize);
|
return getDataTable((List)alarmList);
|
}
|
|
@GetMapping("/getQueueList")
|
@ApiOperation(value = "查询队列",notes = "查询所有相机的当前队列")
|
public AjaxResult getQueueList() {
|
Map<String, PriorityBlockingQueue<GuideTask>> cameraQueueMap = GuidePriorityQueue.cameraQueueMap;
|
return AjaxResult.success(cameraQueueMap);
|
}
|
}
|