From c99438c64037b06c629e37f1f1acb5ce48a31036 Mon Sep 17 00:00:00 2001
From: 17808 <1780814303@qq.com>
Date: 星期三, 13 九月 2023 13:05:38 +0800
Subject: [PATCH] Merge branch 'lyl-dev'

---
 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java |   73 ++++++++++++++++++++++++++++++++----
 1 files changed, 64 insertions(+), 9 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 d2016ca..eea6be4 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,22 +1,29 @@
 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.common.util.UtilNumber;
 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.dict.DataDictionary;
+import com.ycl.entity.resources.ImageResources;
 import com.ycl.entity.video.VideoAlarmReport;
 import com.ycl.entity.video.VideoPoint;
+import com.ycl.enums.common.DictTypeEnum;
+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.dict.IDataDictionaryService;
+import com.ycl.service.resources.IImageResourcesService;
 import com.ycl.service.video.impl.IVideoPointService;
-import com.ycl.service.video.impl.VideoPointServiceImpl;
+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;
 
@@ -33,39 +40,87 @@
 
     private IVideoPointService videoPointService;
     private IBaseCaseService baseCaseService;
+    private IDataDictionaryService dataDictionaryService;
+    private IImageResourcesService imageResourcesService;
+
+    @Resource
+    BaseCaseMapper baseCaseMapper;
+
+    @Autowired
+    UtilNumber utilNumber;
 
     @Autowired
     public void setVideoPointService(IVideoPointService videoPointService) {
         this.videoPointService = videoPointService;
     }
+
     @Autowired
     public void setBaseCaseService(IBaseCaseService baseCaseService) {
         this.baseCaseService = baseCaseService;
+    }
+
+    @Autowired
+    public void setDataDictionaryService(IDataDictionaryService dataDictionaryService) {
+        this.dataDictionaryService = dataDictionaryService;
+    }
+
+    @Autowired
+    public void setImageResourcesService(IImageResourcesService imageResourcesService) {
+        this.imageResourcesService = imageResourcesService;
     }
 
     @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());
+            LambdaQueryWrapper<VideoPoint> queryWrapper = new LambdaQueryWrapper<VideoPoint>()
+                    .eq(VideoPoint::getPlatResourceId, videoAlarmReport.getPlatResourceId())
+                    .or().eq(VideoPoint::getCode, 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(0).state(1).alarmTime(videoAlarmReport.getAlarmTime()).build();
+                    .code(utilNumber.createCaseCode()).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());
+                baseCase.setGridId(videoPoint.getGridId());
+                baseCase.setSite(videoPoint.getAddress());
 
+                baseCaseService.save(baseCase);
+                violations.setId(baseCase.getId());
+                violations.setVideoAlarmReportId(videoAlarmReport.getId());
+                violations.setVideoPointId(videoPoint.getId());
+                violations.setDescription(videoAlarmReport.getAlgoName());
+
+                List<DataDictionary> list = dataDictionaryService.queryByCode(DictTypeEnum.EVENT_GRADE_TYPE.getCode(), videoAlarmReport.getAlarmName().trim());
+                if (list.size() > 0) {
+                    violations.setGradeId(list.get(0).getId());
+                }
+
+                baseMapper.insert(violations);
+
+                try {
+                    ImageResources imageResources = new ImageResources();
+                    imageResources.setType("01");
+                    imageResources.setBelongToId(baseCase.getId());
+                    imageResources.setUrl(videoAlarmReport.getPicData());
+                    imageResources.setCreateTime(LocalDateTime.now());
+                    imageResourcesService.save(imageResources);
+                } catch (Exception ex) {
+
+                }
             }
-            baseCaseService.save(baseCase);
-            violations.setId(baseCase.getId());
-            violations.setVideoAlarmReportId(videoAlarmReport.getId());
-            baseMapper.insert(violations);
         }
     }
-}
+
+    @Override
+    public List<VideoAndAreaVO> selectType() {
+        return baseCaseMapper.selectType();
+    }
+}
\ No newline at end of file

--
Gitblit v1.8.0