From 8e3052593eba165893677e13df4d7a72296b2f3f Mon Sep 17 00:00:00 2001
From: baizonghao <1719256278@qq.com>
Date: 星期日, 05 三月 2023 13:37:00 +0800
Subject: [PATCH] 视频报警API
---
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java | 70 +++++++++++++++++++++++++++++++++--
1 files changed, 66 insertions(+), 4 deletions(-)
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java
index 6cc78f5..bfe056f 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java
@@ -1,10 +1,25 @@
package com.ycl.service.caseHandler.impl;
-import com.ycl.entity.caseHandler.Violations;
-import com.ycl.mapper.caseHandler.ViolationsMapper;
-import com.ycl.service.caseHandler.IViolationsService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.entity.caseHandler.BaseCase;
+import com.ycl.entity.caseHandler.EventSource;
+import com.ycl.entity.caseHandler.QuestionCategory;
+import com.ycl.entity.caseHandler.Violations;
+import com.ycl.entity.video.VideoAlarmReport;
+import com.ycl.entity.video.VideoPoint;
+import com.ycl.mapper.caseHandler.BaseCaseMapper;
+import com.ycl.mapper.caseHandler.ViolationsMapper;
+import com.ycl.service.caseHandler.IBaseCaseService;
+import com.ycl.service.caseHandler.IViolationsService;
+import com.ycl.service.video.impl.IVideoPointService;
+import com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.List;
/**
* <p>
@@ -17,4 +32,51 @@
@Service
public class ViolationsServiceImpl extends ServiceImpl<ViolationsMapper, Violations> implements IViolationsService {
-}
+ private IVideoPointService videoPointService;
+ private IBaseCaseService baseCaseService;
+
+ @Resource
+ BaseCaseMapper baseCaseMapper;
+
+ @Autowired
+ public void setVideoPointService(IVideoPointService videoPointService) {
+ this.videoPointService = videoPointService;
+ }
+ @Autowired
+ public void setBaseCaseService(IBaseCaseService baseCaseService) {
+ this.baseCaseService = baseCaseService;
+ }
+
+ @Override
+ public void saveFromVideo(List<VideoAlarmReport> videoAlarmReports) {
+ for (VideoAlarmReport videoAlarmReport : videoAlarmReports) {
+ VideoPoint videoPoint = null;
+ LambdaQueryWrapper<VideoPoint> queryWrapper = new LambdaQueryWrapper<VideoPoint>().eq(VideoPoint::getPlatResourceId, videoAlarmReport.getPlatResourceId());
+ List<VideoPoint> pointList = videoPointService.list(queryWrapper);
+ if (pointList.size() > 0) {
+ videoPoint = pointList.get(0);
+ }
+ BaseCase baseCase = BaseCase.builder().eventSource(EventSource.VIDEO.getCode()).category(QuestionCategory.VIOLATION.getCode())
+ .createTime(LocalDateTime.now()).createUser(0L).state(1).alarmTime(videoAlarmReport.getAlarmTime()).build();
+ Violations violations = new Violations();
+ if (videoPoint != null) {
+ baseCase.setLatitude(videoPoint.getLatitude());
+ baseCase.setLongitude(videoPoint.getLongitude());
+ baseCase.setStreetId(videoPoint.getStreetId());
+ baseCase.setCommunityId(videoPoint.getCommunityId());
+ baseCase.setSite(videoPoint.getAddress());
+ }
+ baseCaseService.save(baseCase);
+ violations.setId(baseCase.getId());
+ violations.setVideoAlarmReportId(videoAlarmReport.getId());
+ violations.setVideoPointId(videoPoint.getId());
+ violations.setDescription(videoAlarmReport.getAlgoName());
+ baseMapper.insert(violations);
+ }
+ }
+
+ @Override
+ public List<VideoAndAreaVO> selectType() {
+ return baseCaseMapper.selectType();
+ }
+}
\ No newline at end of file
--
Gitblit v1.8.0