From ad614c9cdbc8daa87967ab9cb77eac0ce51a0a81 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 29 十一月 2023 16:56:47 +0800
Subject: [PATCH] 时间参数校验

---
 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java |   95 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 86 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 5f0476c..b32471e 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
@@ -3,11 +3,14 @@
 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.dto.video.HKAlarmParam;
 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.region.SccgRegion;
+import com.ycl.entity.resources.ImageResources;
 import com.ycl.entity.video.VideoAlarmReport;
 import com.ycl.entity.video.VideoPoint;
 import com.ycl.enums.common.DictTypeEnum;
@@ -16,14 +19,19 @@
 import com.ycl.service.caseHandler.IBaseCaseService;
 import com.ycl.service.caseHandler.IViolationsService;
 import com.ycl.service.dict.IDataDictionaryService;
+import com.ycl.service.region.ISccgRegionService;
+import com.ycl.service.resources.IImageResourcesService;
 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.Instant;
 import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.List;
+
 
 /**
  * <p>
@@ -39,7 +47,8 @@
     private IVideoPointService videoPointService;
     private IBaseCaseService baseCaseService;
     private IDataDictionaryService dataDictionaryService;
-
+    private IImageResourcesService imageResourcesService;
+    private ISccgRegionService regionService;
     @Resource
     BaseCaseMapper baseCaseMapper;
 
@@ -61,20 +70,24 @@
         this.dataDictionaryService = dataDictionaryService;
     }
 
+    @Autowired
+    public void setImageResourcesService(IImageResourcesService imageResourcesService) {
+        this.imageResourcesService = imageResourcesService;
+    }
+
+    @Autowired
+    public void setRegionService(ISccgRegionService regionService) {
+        this.regionService = regionService;
+    }
+
     @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())
-                    .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())
                     .code(utilNumber.createCaseCode()).createTime(LocalDateTime.now()).createUser(0L).state(1).alarmTime(videoAlarmReport.getAlarmTime()).build();
             Violations violations = new Violations();
+            VideoPoint videoPoint = videoPointService.getByCode(videoAlarmReport.getPlatResourceId());
             if (videoPoint != null) {
                 baseCase.setLatitude(videoPoint.getLatitude());
                 baseCase.setLongitude(videoPoint.getLongitude());
@@ -96,11 +109,75 @@
                 }
 
                 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) {
+
+                }
             }
         }
     }
 
     @Override
+    public void saveFromHKVideo(HKAlarmParam alarmParam) {
+
+        SccgRegion region = regionService.getByCode(alarmParam.getPrefectureCodeIdaas());
+        VideoPoint videoPoint = videoPointService.getByCode(alarmParam.getEventNumber());
+
+        List<DataDictionary> dataDictionaries = dataDictionaryService.queryByRemark(alarmParam.getSubject());
+
+        Instant instant = Instant.ofEpochMilli(Long.parseLong(alarmParam.getIncidentDate()));
+
+        BaseCase baseCase = BaseCase.builder().eventSource(1).category(QuestionCategory.VIOLATION.getCode())
+                .code(utilNumber.createCaseCode()).createTime(LocalDateTime.now()).createUser(0L).state(1).
+                alarmTime(LocalDateTime.ofInstant(instant, ZoneId.systemDefault())).build();
+        Violations violations = new Violations();
+
+        baseCase.setLatitude(alarmParam.getLatitude());
+        baseCase.setLongitude(alarmParam.getLongitude());
+        if (region != null) {
+            baseCase.setStreetId(region.getId().intValue());
+        }
+        baseCase.setSite(alarmParam.getScene());
+
+        baseCaseService.save(baseCase);
+        violations.setId(baseCase.getId());
+
+        if (dataDictionaries.size() > 0) {
+            violations.setGradeId(dataDictionaries.get(0).getId());
+        }
+
+        violations.setDescription(alarmParam.getEventContent());
+        violations.setInformant(alarmParam.getReportUserName());
+        violations.setInformantPhoneCode(alarmParam.getContact());
+        if (videoPoint != null) {
+            violations.setVideoPointId(videoPoint.getId());
+        }
+        baseMapper.insert(violations);
+        String[] imgs = alarmParam.getFileUrl().split(",");
+
+        try {
+            for (int i = 0; i < imgs.length; i++) {
+                ImageResources imageResources = new ImageResources();
+                imageResources.setType("01");
+                imageResources.setBelongToId(baseCase.getId());
+                imageResources.setUrl(imgs[i]);
+                imageResources.setCreateTime(LocalDateTime.now());
+                imageResourcesService.save(imageResources);
+
+            }
+        } catch (Exception ex) {
+
+        }
+    }
+
+    @Override
     public List<VideoAndAreaVO> selectType() {
         return baseCaseMapper.selectType();
     }

--
Gitblit v1.8.0