修改AI报警上报接口
This commit is contained in:
parent
1ccddf3c1f
commit
1a5583efac
@ -1,17 +1,23 @@
|
|||||||
package com.xmgl.recognition.modules.admin.controller;
|
package com.xmgl.recognition.modules.admin.controller;
|
||||||
|
|
||||||
|
import cn.xuyanwu.spring.file.storage.FileInfo;
|
||||||
|
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.modules.admin.entity.Device;
|
import com.xmgl.recognition.modules.admin.entity.Device;
|
||||||
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.IDeviceService;
|
||||||
|
import com.xmgl.recognition.modules.admin.service.IFileDetailService;
|
||||||
import com.xmgl.recognition.modules.admin.service.ISystemDictDataService;
|
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;
|
||||||
|
import com.xmgl.recognition.util.FileUtil;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.collections.MapUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
@ -19,8 +25,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import com.xmgl.recognition.util.ParamEnum;
|
import com.xmgl.recognition.util.ParamEnum;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Title: Controller
|
* @Title: Controller
|
||||||
@ -38,6 +46,9 @@ public class HardWareCallbackController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IDeviceService deviceService;
|
private IDeviceService deviceService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private FileStorageService fileStorageService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IDeviceAlarmService deviceAlarmService;
|
private IDeviceAlarmService deviceAlarmService;
|
||||||
|
|
||||||
@ -46,24 +57,35 @@ public class HardWareCallbackController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* AI设备报警信息上报
|
* AI设备报警信息上报
|
||||||
* @param deviceAlarm
|
* @param map
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@ApiOperation(value = " AI设备报警信息上报", notes = "AI设备报警信息上报" , httpMethod="POST")
|
@ApiOperation(value = " AI设备报警信息上报", notes = "AI设备报警信息上报" , httpMethod="POST")
|
||||||
@PostMapping(value = "/aiDeviceAlarm/add")
|
@PostMapping(value = "/saveHardWareAlarm")
|
||||||
public Result<Object> addEnvironmentAlarm(@RequestBody DeviceAlarm deviceAlarm) {
|
public Result<Object> saveHardWareAlarm(@RequestBody Map<String, Object> map) {
|
||||||
// 查询字典类型确认报警类型
|
// 查询字典类型确认报警类型
|
||||||
List<SystemDictData> systemDictDataList = systemDictDataService.getByType("ai_alarm_type");
|
List<SystemDictData> systemDictDataList = systemDictDataService.getByType("ai_alarm_type");
|
||||||
List<SystemDictData> dictData = systemDictDataList.stream().filter(d -> d.getDictLabel().equals(deviceAlarm.getType())).collect(Collectors.toList());
|
List<SystemDictData> dictData = systemDictDataList.stream().filter(d -> d.getDictLabel().equals(MapUtils.getInteger(map, "type"))).collect(Collectors.toList());
|
||||||
if (dictData.size() == 0) {
|
if (dictData.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, deviceAlarm.getDeviceCode()));
|
.eq(Device::getCode, MapUtils.getString(map, "hardwareId")));
|
||||||
if (device == null) {
|
if (device == null) {
|
||||||
return Result.error("该设备未绑定!");
|
return Result.error("该设备未绑定!");
|
||||||
}
|
}
|
||||||
|
DeviceAlarm deviceAlarm = new DeviceAlarm();
|
||||||
|
deviceAlarm.setDeviceCode(device.getCode());
|
||||||
|
deviceAlarm.setType(MapUtils.getInteger(map, "type"));
|
||||||
|
String image = MapUtils.getString(map, "image");
|
||||||
|
MultipartFile multipartFile = FileUtil.base64toMultipart(image, "text.jpg");
|
||||||
|
FileInfo upload = fileStorageService.of(multipartFile)
|
||||||
|
.setPlatform("minio-1")
|
||||||
|
.upload();
|
||||||
|
deviceAlarm.setImage(upload.getUrl());
|
||||||
|
deviceAlarm.setReportTime(DateUtil.parseStringToDate(MapUtils.getString(map, "datetime")));
|
||||||
|
deviceAlarm.setAddress(MapUtils.getString(map, "location"));
|
||||||
deviceAlarm.setCreateTime(new Date());
|
deviceAlarm.setCreateTime(new Date());
|
||||||
deviceAlarm.setSn(device.getSn());
|
deviceAlarm.setSn(device.getSn());
|
||||||
deviceAlarm.setDeptId(device.getDeptId());
|
deviceAlarm.setDeptId(device.getDeptId());
|
||||||
|
|||||||
@ -49,6 +49,18 @@ public class MonitorDev implements Serializable {
|
|||||||
@Excel(name = "设备编码", width = 15)
|
@Excel(name = "设备编码", width = 15)
|
||||||
@ApiModelProperty(value = "设备编码")
|
@ApiModelProperty(value = "设备编码")
|
||||||
private String code;
|
private String code;
|
||||||
|
/**
|
||||||
|
* 视频播放地址
|
||||||
|
*/
|
||||||
|
@Excel(name = "视频播放地址", width = 15)
|
||||||
|
@ApiModelProperty(value = "视频播放地址")
|
||||||
|
private String url;
|
||||||
|
/**
|
||||||
|
* 设备IP
|
||||||
|
*/
|
||||||
|
@Excel(name = "设备IP", width = 15)
|
||||||
|
@ApiModelProperty(value = "设备IP")
|
||||||
|
private String ip;
|
||||||
/**
|
/**
|
||||||
* 设备状态(0:离线;1:在线;)
|
* 设备状态(0:离线;1:在线;)
|
||||||
*/
|
*/
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user