From e6b7d6af8f9acf79f32fd386a9cead2d24ae2f9a Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期五, 30 十二月 2022 15:04:55 +0800
Subject: [PATCH] fix: 栏目订阅

---
 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 55 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 8bab837..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,13 +1,24 @@
 package com.ycl.service.caseHandler.impl;
 
+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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+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;
 
 /**
@@ -21,11 +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) {
-
-            BaseCase baseCase = BaseCase.builder().build();
+            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