package com.ycl.service.videoAlarm.impl;
|
|
import com.alibaba.fastjson.JSON;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.ycl.dto.videoAlarm.AlarmDataParam;
|
import com.ycl.dto.videoAlarm.AlarmParam;
|
import com.ycl.dto.videoAlarm.CameraInfParam;
|
import com.ycl.entity.videoAlarm.VideoAlarmReport;
|
import com.ycl.mapper.videoAlarm.VideoAlarmReportMapper;
|
import com.ycl.service.videoAlarm.IVideoAlarmReportService;
|
import org.springframework.stereotype.Service;
|
|
import java.text.ParseException;
|
import java.text.SimpleDateFormat;
|
import java.time.Instant;
|
import java.time.LocalDateTime;
|
import java.time.ZoneId;
|
import java.time.format.DateTimeFormatter;
|
import java.util.Date;
|
|
/**
|
* VideoAlarmReportServiceImpl
|
*
|
* @version V1.0
|
* @author: AI
|
* @date: 2022-09-20 17:36
|
**/
|
@Service
|
public class VideoAlarmReportServiceImpl extends ServiceImpl<VideoAlarmReportMapper, VideoAlarmReport> implements IVideoAlarmReportService {
|
|
@Override
|
public void save(AlarmParam alarmParam) {
|
if (alarmParam != null && alarmParam.getAlarmData().size() > 0) {
|
CameraInfParam cameraInf = alarmParam.getCameraInf();
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
|
String picData = "{}";
|
for (int i = 0; i < alarmParam.getAlarmData().size(); i++) {
|
AlarmDataParam alarmData = alarmParam.getAlarmData().get(i);
|
/******************** 处理图片 **********************/
|
try {
|
Date date = sdf.parse(alarmData.getAlarmTime());
|
Instant instant = date.toInstant();
|
ZoneId zoneId = ZoneId.systemDefault();
|
|
VideoAlarmReport videoAlarmReport = VideoAlarmReport.builder()
|
.ip(cameraInf.getIp()).port(cameraInf.getPort())
|
.user(cameraInf.getUser()).password(cameraInf.getPassword())
|
.channel(cameraInf.getChannel()).platResourceId(cameraInf.getPlatResourceID())
|
.picData(picData).alarmTime(instant.atZone(zoneId).toLocalDateTime())
|
.alarmId(alarmData.getAlarmID()).algoType(alarmData.getAlgoType())
|
.algoName(alarmData.getAlgoName()).alarmObj(JSON.toJSONString(alarmData.getAlarmObject()))
|
.build();
|
baseMapper.insert(videoAlarmReport);
|
} catch (ParseException e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
}
|
}
|