修改AI报警上报接口

This commit is contained in:
pengjie 2023-12-26 14:56:04 +08:00
parent 1a5583efac
commit b47296ab5c
2 changed files with 20 additions and 16 deletions

View File

@ -5,11 +5,11 @@ import cn.xuyanwu.spring.file.storage.FileStorageService;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.xmgl.recognition.jeecg.common.api.vo.Result; import com.xmgl.recognition.jeecg.common.api.vo.Result;
import com.xmgl.recognition.jeecg.common.util.DateUtil; import com.xmgl.recognition.jeecg.common.util.DateUtil;
import com.xmgl.recognition.modules.admin.entity.Algorithm;
import com.xmgl.recognition.modules.admin.entity.Device; import com.xmgl.recognition.modules.admin.entity.Device;
import com.xmgl.recognition.modules.admin.entity.DeviceAlgorithm;
import com.xmgl.recognition.modules.admin.entity.SystemDictData; import com.xmgl.recognition.modules.admin.entity.SystemDictData;
import com.xmgl.recognition.modules.admin.service.IDeviceService; import com.xmgl.recognition.modules.admin.service.*;
import com.xmgl.recognition.modules.admin.service.IFileDetailService;
import com.xmgl.recognition.modules.admin.service.ISystemDictDataService;
import com.xmgl.recognition.modules.enterprise.entity.DeviceAlarm; import com.xmgl.recognition.modules.enterprise.entity.DeviceAlarm;
import com.xmgl.recognition.modules.enterprise.service.IDeviceAlarmService; import com.xmgl.recognition.modules.enterprise.service.IDeviceAlarmService;
import com.xmgl.recognition.util.CommonUtil; import com.xmgl.recognition.util.CommonUtil;
@ -53,7 +53,7 @@ public class HardWareCallbackController {
private IDeviceAlarmService deviceAlarmService; private IDeviceAlarmService deviceAlarmService;
@Autowired @Autowired
private ISystemDictDataService systemDictDataService; private IAlgorithmService algorithmService;
/** /**
* AI设备报警信息上报 * AI设备报警信息上报
@ -63,15 +63,16 @@ public class HardWareCallbackController {
@ApiOperation(value = " AI设备报警信息上报", notes = "AI设备报警信息上报" , httpMethod="POST") @ApiOperation(value = " AI设备报警信息上报", notes = "AI设备报警信息上报" , httpMethod="POST")
@PostMapping(value = "/saveHardWareAlarm") @PostMapping(value = "/saveHardWareAlarm")
public Result<Object> saveHardWareAlarm(@RequestBody Map<String, Object> map) { public Result<Object> saveHardWareAlarm(@RequestBody Map<String, Object> map) {
// 查询字典类型确认报警类型 String hardwareId = MapUtils.getString(map, "hardwareId");
List<SystemDictData> systemDictDataList = systemDictDataService.getByType("ai_alarm_type"); // 确认报警类型
List<SystemDictData> dictData = systemDictDataList.stream().filter(d -> d.getDictLabel().equals(MapUtils.getInteger(map, "type"))).collect(Collectors.toList()); List<Algorithm> algorithmList = algorithmService.list();
if (dictData.size() == 0) { List<Algorithm> algorithm = algorithmList.stream().filter(d -> d.getSortIndex().equals(MapUtils.getInteger(map, "type"))).collect(Collectors.toList());
if (algorithm.size() == 0) {
return Result.error("报警类型错误!"); return Result.error("报警类型错误!");
} }
// TODO 查询设备相关的项目信息 // TODO 查询设备相关的项目信息
Device device = deviceService.getOne(Wrappers.<Device>lambdaQuery() Device device = deviceService.getOne(Wrappers.<Device>lambdaQuery()
.eq(Device::getCode, MapUtils.getString(map, "hardwareId"))); .eq(Device::getCode, hardwareId));
if (device == null) { if (device == null) {
return Result.error("该设备未绑定!"); return Result.error("该设备未绑定!");
} }

View File

@ -6,7 +6,9 @@ import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.xmgl.recognition.annotation.OperLog; import com.xmgl.recognition.annotation.OperLog;
import com.xmgl.recognition.jeecg.common.util.PageUtil; import com.xmgl.recognition.jeecg.common.util.PageUtil;
import com.xmgl.recognition.modules.admin.entity.Algorithm;
import com.xmgl.recognition.modules.admin.entity.SystemDictData; import com.xmgl.recognition.modules.admin.entity.SystemDictData;
import com.xmgl.recognition.modules.admin.service.IAlgorithmService;
import com.xmgl.recognition.modules.admin.service.ISystemDictDataService; import com.xmgl.recognition.modules.admin.service.ISystemDictDataService;
import com.xmgl.recognition.util.CommonUtil; import com.xmgl.recognition.util.CommonUtil;
import com.xmgl.recognition.util.ParamEnum; import com.xmgl.recognition.util.ParamEnum;
@ -67,7 +69,7 @@ public class DeviceAlarmController {
private IDeviceAlarmService deviceAlarmService; private IDeviceAlarmService deviceAlarmService;
@Autowired @Autowired
private ISystemDictDataService systemDictDataService; private IAlgorithmService algorithmService;
/** /**
* 分页列表查询 * 分页列表查询
@ -124,9 +126,10 @@ public class DeviceAlarmController {
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
List<DeviceAlarm> deviceAlarmList = deviceAlarmService.getList(Wrappers.<DeviceAlarm>lambdaQuery() List<DeviceAlarm> deviceAlarmList = deviceAlarmService.getList(Wrappers.<DeviceAlarm>lambdaQuery()
.between(DeviceAlarm::getReportTime, DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date()))); .between(DeviceAlarm::getReportTime, DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date())));
List<SystemDictData> systemDictData = systemDictDataService.getByType(ParamEnum.SysDictType.AI_ALARM_TYPE.getValue()); List<Algorithm> algorithms = algorithmService.list();
deviceAlarmList.stream().forEach(d -> { deviceAlarmList.stream().forEach(d -> {
d.setTypeName(CommonUtil.getDictValue(systemDictData, d.getType())); List<Algorithm> algorithmList = algorithms.stream().filter(a -> a.getSortIndex().equals(d.getType())).collect(Collectors.toList());
d.setTypeName(algorithmList.size() > 0 ? algorithmList.get(0).getTitle() : "");
}); });
resultMap.put("deviceAlarmList", deviceAlarmList); resultMap.put("deviceAlarmList", deviceAlarmList);
resultMap.put("todayAlarm", deviceAlarmService.count(Wrappers.<DeviceAlarm>lambdaQuery() resultMap.put("todayAlarm", deviceAlarmService.count(Wrappers.<DeviceAlarm>lambdaQuery()
@ -156,11 +159,11 @@ public class DeviceAlarmController {
Map<Integer, List<DeviceAlarm>> collect = list.stream().collect(Collectors.groupingBy(l -> l.getType())); Map<Integer, List<DeviceAlarm>> collect = list.stream().collect(Collectors.groupingBy(l -> l.getType()));
Map<Integer, Integer> resultMap = collect.entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, e -> e.getValue().size())); Map<Integer, Integer> resultMap = collect.entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, e -> e.getValue().size()));
List<Map<String, Object>> resultList = new ArrayList<>(); List<Map<String, Object>> resultList = new ArrayList<>();
List<SystemDictData> systemDictData = systemDictDataService.getByType(ParamEnum.SysDictType.AI_ALARM_TYPE.getValue()); List<Algorithm> algorithms = algorithmService.list();
systemDictData.stream().forEach(s -> { algorithms.stream().forEach(s -> {
Map<String, Object> map1 = new HashMap<>(); Map<String, Object> map1 = new HashMap<>();
map1.put("type", s.getDictValue()); map1.put("type", s.getTitle());
map1.put("num", resultMap.get(s.getDictLabel())); map1.put("num", resultMap.get(s.getSortIndex()));
resultList.add(map1); resultList.add(map1);
}); });
/*resultMap.entrySet().stream().forEach(r -> { /*resultMap.entrySet().stream().forEach(r -> {