AI接口对接

This commit is contained in:
pengjie 2024-04-25 13:58:13 +08:00
parent e81c92bf9c
commit c177639aae
4 changed files with 48 additions and 0 deletions

View File

@ -125,6 +125,13 @@ public class APIController {
return Result.ok();
}
@ApiOperation(value = "保存AI分析硬件设备报警记录", notes = "保存AI分析硬件设备报警记录", httpMethod = "POST")
@PostMapping(value = "/saveXzHardWareAlarm", produces = {"application/json;charset=UTF-8"})
public Result saveXzAiAnalyseHardWareAlarmRecord(@RequestBody final com.alibaba.fastjson.JSONObject json) {
aiAnalyseHardWareAlarmRecordService.saveXzAiAnalyseHardWareAlarmRecord(json);
return Result.ok();
}
@ApiOperation(value = "保存视频分析结果", notes = "保存视频分析结果", httpMethod = "POST")
@PostMapping(value = "/saveVideoAnalysisResult", produces = {"application/json;charset=UTF-8"})
public Result saveVideoAnalysisResult(@RequestBody com.alibaba.fastjson.JSONObject json) {

View File

@ -57,6 +57,21 @@ public class AiAnalyseHardWareAlarmRecord implements Serializable {
@Excel(name = "图片路径", width = 15)
@ApiModelProperty(value = "图片路径")
private java.lang.String imageUrl;
/**
* 录播视频
*/
@Excel(name = "录播视频", width = 15)
@ApiModelProperty(value = "录播视频")
private java.lang.String alarmVideo;
/**
* 告警描述
*/
@Excel(name = "告警描述", width = 15)
@ApiModelProperty(value = "告警描述")
private java.lang.String alarmDesc;
/**
* 类型 1-烟感报警2-明火报警3-人员到底报警4-未带安全帽报警5-区域入侵报警6-越界入侵报警7-人员聚集报警 8-反光衣9-裸土覆盖,13口罩识别,14徘徊预警,15物体滞留监测,16绊线监测
*/

View File

@ -27,6 +27,8 @@ public interface IAiAnalyseHardWareAlarmRecordService extends IService<AiAnalyse
void saveAiAnalyseHardWareAlarmRecord(JSONObject body);
void saveXzAiAnalyseHardWareAlarmRecord(JSONObject body);
List<AiAnalyseHardWareAlarmTrendVo> selectAiAnalyseHardWareAlarmTrendList(Map<String, Object> map);
List<AiAnalyseHardWareAlarmRecord> selectAiAnalyseHardWareAlarmList(Map<String, Object> map);

View File

@ -147,6 +147,30 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl<AiAnaly
asyncAiAnalyse.sendAiAnalyse(aiAnalyseHardWareAlarmRecord);
}
@Override
public void saveXzAiAnalyseHardWareAlarmRecord(JSONObject body) {
log.info("调用AiAnalyseHardWareAlarmRecordServiceImpl#saveXzAiAnalyseHardWareAlarmRecord参数为{}", body);
QueryWrapper<AiAnalyseHardWareRecord> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(AiAnalyseHardWareRecord::getHardwareId, body.getString("deviceCode"));
AiAnalyseHardWareRecord aiAnalyseHardWareRecord = aiAnalyseHardWareRecordMapper.selectOne(queryWrapper);
if (aiAnalyseHardWareRecord == null) {
throw new OpenAlertException(MessageUtil.get("EquipmentNumIncorrectErr"));
}
AiAnalyseHardWareAlarmRecord aiAnalyseHardWareAlarmRecord = new AiAnalyseHardWareAlarmRecord();
aiAnalyseHardWareAlarmRecord.setCreateTime(body.getString("alarmTime"));
aiAnalyseHardWareAlarmRecord.setAlarmType(Integer.parseInt(body.getString("eventId")));
aiAnalyseHardWareAlarmRecord.setHardwareId(aiAnalyseHardWareRecord.getHardwareId());
aiAnalyseHardWareAlarmRecord.setHardwareName(aiAnalyseHardWareRecord.getHardwareName());
aiAnalyseHardWareAlarmRecord.setAlarmVideo(body.getString("alarmVideo"));
aiAnalyseHardWareAlarmRecord.setProjectSn(aiAnalyseHardWareRecord.getProjectSn());
aiAnalyseHardWareAlarmRecord.setStatus(1);
aiAnalyseHardWareAlarmRecord.setImageUrl(body.getString("alarmImage"));
aiAnalyseHardWareAlarmRecord.setAlarmDesc(body.getString("alarmDesc"));
aiAnalyseHardWareAlarmRecordMapper.insert(aiAnalyseHardWareAlarmRecord);
//将数据通过MQTT转发到前台
asyncAiAnalyse.sendAiAnalyse(aiAnalyseHardWareAlarmRecord);
}
@Override
public List<AiAnalyseHardWareAlarmTrendVo> selectAiAnalyseHardWareAlarmTrendList(Map<String, Object> map) {