From 4ade291ebd74dd4cd42556f07bd4f205f73c3313 Mon Sep 17 00:00:00 2001 From: wl <173@qq.com> Date: 星期三, 28 九月 2022 18:34:22 +0800 Subject: [PATCH] 案件池相关接口 --- ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 103 insertions(+), 2 deletions(-) diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java index 353d583..a4b3cd8 100644 --- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java @@ -1,18 +1,37 @@ package com.ycl.service.caseHandler.impl; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ycl.bo.casePool.CasePoolIllegalBuildingDO; +import com.ycl.bo.casePool.CasePoolViolationDO; +import com.ycl.dto.casePool.IllegalBuildingParam; +import com.ycl.dto.casePool.ViolationParam; import com.ycl.entity.caseHandler.BaseCase; +import com.ycl.entity.caseHandler.IllegalBuilding; import com.ycl.entity.caseHandler.Violations; import com.ycl.entity.video.VideoAlarmReport; import com.ycl.mapper.caseHandler.BaseCaseMapper; +import com.ycl.mapper.caseHandler.IllegalBuildingMapper; +import com.ycl.mapper.caseHandler.ViolationsMapper; +import com.ycl.mapper.dict.DataDictionaryMapper; import com.ycl.remote.dto.*; import com.ycl.remote.service.CityPlatformService; import com.ycl.service.caseHandler.IBaseCaseService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.service.caseHandler.IViolationsService; import com.ycl.service.video.IVideoAlarmReportService; +import com.ycl.vo.casePool.CasePoolIllegalBuildingVO; +import com.ycl.vo.casePool.CasePoolViolationVO; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneOffset; +import java.util.List; +import java.util.stream.Collectors; /** * <p> @@ -46,6 +65,15 @@ public void setVideoAlarmReportService(IVideoAlarmReportService videoAlarmReportService) { this.videoAlarmReportService = videoAlarmReportService; } + + @Resource + BaseCaseMapper baseCaseMapper; + @Resource + DataDictionaryMapper dataDictionaryMapper; + @Resource + ViolationsMapper violationsMapper; + @Resource + IllegalBuildingMapper illegalBuildingMapper; @Override public String uploadEvent(Integer caseId) { @@ -87,4 +115,77 @@ return responseDto.getMsg(); } } -} + + @Override + public Page listViolationsPage(Page page, Integer state, Integer resource) { + Integer type = 01; + Page<CasePoolViolationDO> violationsPage = baseCaseMapper.listViolationsPage(page, state, type, resource); + List<CasePoolViolationVO> violationVOList = violationsPage.getRecords().stream().map(item -> { + CasePoolViolationVO casePoolViolationVO = new CasePoolViolationVO(); + BeanUtils.copyProperties(item, casePoolViolationVO); + if (item.getCloseTime() == null) { + long nowTime = System.currentTimeMillis(); + long alarmTime = item.getAlarmTime().toEpochSecond(ZoneOffset.ofHours(8)); + LocalDateTime continueTimes = Instant.ofEpochMilli(nowTime - alarmTime).atZone(ZoneOffset.ofHours(8)).toLocalDateTime(); + String continueTime = continueTimes.getHour() + "鏃�" + continueTimes.getSecond() + "鍒嗛挓"; + casePoolViolationVO.setContinueTime(continueTime); + } else { + long closeTime = item.getCloseTime().toEpochSecond(ZoneOffset.ofHours(8)); + long alarmTime = item.getAlarmTime().toEpochSecond(ZoneOffset.ofHours(8)); + LocalDateTime continueTimes = Instant.ofEpochMilli(closeTime - alarmTime).atZone(ZoneOffset.ofHours(8)).toLocalDateTime(); + String continueTime = continueTimes.getHour() + "鏃�" + continueTimes.getSecond() + "鍒嗛挓"; + casePoolViolationVO.setContinueTime(continueTime); + } + casePoolViolationVO.setCategory(dataDictionaryMapper.selectById(item.getCategoryId()).getName()); + casePoolViolationVO.setType(dataDictionaryMapper.selectById(item.getTypeId()).getName()); + return casePoolViolationVO; + }).collect(Collectors.toList()); + Page<CasePoolViolationVO> casePoolViolationVOPage = new Page<>(); + BeanUtils.copyProperties(violationsPage, casePoolViolationVOPage); + casePoolViolationVOPage.setRecords(violationVOList); + return casePoolViolationVOPage; + } + + @Override + public Page listIllegalBuilding(Page page, Integer state, Integer resource) { + Integer type = 02; + Page<CasePoolIllegalBuildingDO> casePoolIllegalBuildingDTOPage = baseCaseMapper.listIllegalBuildingsPage(page, state, type, resource); + List<CasePoolIllegalBuildingVO> casePoolIllegalBuildingVOList = casePoolIllegalBuildingDTOPage + .getRecords() + .stream() + .map( + item -> { + CasePoolIllegalBuildingVO casePoolIllegalBuildingVO = new CasePoolIllegalBuildingVO(); + BeanUtils.copyProperties(item, casePoolIllegalBuildingVO); + casePoolIllegalBuildingVO.setCategory(dataDictionaryMapper.selectById(item.getCategoryId()).getName()); + return casePoolIllegalBuildingVO; + } + ).collect(Collectors.toList()); + Page<CasePoolIllegalBuildingVO> casePoolViolationVOPage = new Page<>(); + BeanUtils.copyProperties(casePoolIllegalBuildingDTOPage, casePoolViolationVOPage); + casePoolViolationVOPage.setRecords(casePoolIllegalBuildingVOList); + return casePoolViolationVOPage; + } + + @Override + public Boolean saveViolationCase(ViolationParam violationParam, Integer id) { + BaseCase baseCase = new BaseCase(); + Violations violations = new Violations(); + BeanUtils.copyProperties(violationParam, baseCase); + BeanUtils.copyProperties(violationParam, violations); + violations.setId(id); + Integer value = 1; + return violationsMapper.insert(violations) == value ? true : false; + } + + @Override + public Boolean saveIllegalBuildingCase(IllegalBuildingParam illegalBuildingParam, Integer id) { + BaseCase baseCase = new BaseCase(); + IllegalBuilding illegalBuilding = new IllegalBuilding(); + BeanUtils.copyProperties(illegalBuilding, baseCase); + BeanUtils.copyProperties(illegalBuilding, illegalBuildingParam); + illegalBuilding.setBaseCaseId(id); + Integer value = 1; + return illegalBuildingMapper.insert(illegalBuilding) == value ? true : false; + } +} \ No newline at end of file -- Gitblit v1.8.0