From ead280567beb29e26e0980c6b3770815e6fe86d9 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期日, 12 十一月 2023 10:09:14 +0800 Subject: [PATCH] 油烟统计 --- ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java | 76 +++++++++++++++++++++++++++++++++---- 1 files changed, 67 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 eea6be4..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,13 @@ 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; @@ -17,6 +19,7 @@ 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; @@ -24,8 +27,11 @@ 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> @@ -42,7 +48,7 @@ private IBaseCaseService baseCaseService; private IDataDictionaryService dataDictionaryService; private IImageResourcesService imageResourcesService; - + private ISccgRegionService regionService; @Resource BaseCaseMapper baseCaseMapper; @@ -69,20 +75,19 @@ 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()); @@ -120,6 +125,59 @@ } @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