| | |
| | | package com.ycl.service.caseHandler.impl; |
| | | |
| | | import com.ycl.entity.caseHandler.BaseCase; |
| | | import com.ycl.mapper.caseHandler.BaseCaseMapper; |
| | | import com.ycl.service.caseHandler.IBaseCaseService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | 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.*; |
| | | import com.ycl.entity.video.VideoAlarmReport; |
| | | import com.ycl.mapper.caseHandler.*; |
| | | import com.ycl.mapper.dict.DataDictionaryMapper; |
| | | import com.ycl.remote.dto.EventAddParamDto; |
| | | import com.ycl.remote.dto.EventProcessParamDto; |
| | | import com.ycl.service.caseHandler.IBaseCaseService; |
| | | 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.ArrayList; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | @Service |
| | | public class BaseCaseServiceImpl extends ServiceImpl<BaseCaseMapper, BaseCase> implements IBaseCaseService { |
| | | |
| | | } |
| | | // private CityPlatformService cityPlatformService; |
| | | private IViolationsService violationsService; |
| | | private IVideoAlarmReportService videoAlarmReportService; |
| | | |
| | | @Value("${fdfs.fileUrl}") |
| | | private String fileUrl; |
| | | |
| | | // @Autowired |
| | | // public void setCityPlatformService(CityPlatformService cityPlatformService) { |
| | | // this.cityPlatformService = cityPlatformService; |
| | | // } |
| | | |
| | | @Autowired |
| | | public void setViolationsService(IViolationsService violationsService) { |
| | | this.violationsService = violationsService; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setVideoAlarmReportService(IVideoAlarmReportService videoAlarmReportService) { |
| | | this.videoAlarmReportService = videoAlarmReportService; |
| | | } |
| | | |
| | | @Resource |
| | | BaseCaseMapper baseCaseMapper; |
| | | @Resource |
| | | DataDictionaryMapper dataDictionaryMapper; |
| | | @Resource |
| | | ViolationsMapper violationsMapper; |
| | | @Resource |
| | | IllegalBuildingMapper illegalBuildingMapper; |
| | | @Resource |
| | | InvestigationMapper investigationMapper; |
| | | @Resource |
| | | ArrivalSituationMapper arrivalSituationMapper; |
| | | @Resource |
| | | WritMapper writMapper; |
| | | |
| | | @Override |
| | | public String uploadEvent(Integer caseId) { |
| | | BaseCase baseCase = this.getById(caseId); |
| | | Violations violations = violationsService.getById(caseId); |
| | | String medias = ""; |
| | | String eventDesc = ""; |
| | | if (violations != null) { |
| | | eventDesc = violations.getDescription(); |
| | | VideoAlarmReport videoAlarmReport = videoAlarmReportService.getById(violations.getVideoAlarmReportId()); |
| | | if (videoAlarmReport != null) { |
| | | StringBuilder stringBuilder = new StringBuilder().append("[{'mediaURL':'").append(fileUrl).append(videoAlarmReport.getPicData()).append("'}]"); |
| | | medias = stringBuilder.toString(); |
| | | } |
| | | } |
| | | EventAddParamDto dto = EventAddParamDto.builder().y84(baseCase.getLatitude().toString()).x84(baseCase.getLongitude().toString()) |
| | | .source(11).address(baseCase.getSite()).eventDesc(eventDesc).eventSign(baseCase.getCode()).medias(medias).build(); |
| | | // ResultResponseDto<EventAddResponseDto> result = cityPlatformService.addEvent(dto); |
| | | // if (result.getCode() == 0) { |
| | | // EventAddResponseDto responseDto = result.getResult(); |
| | | // baseCase.setTaskCode(responseDto.getTaskcode()); |
| | | // this.updateById(baseCase); |
| | | // return null; |
| | | // } else { |
| | | // return result.getMsg(); |
| | | // } |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | | public String processEvent(Integer caseId) { |
| | | BaseCase baseCase = this.getById(caseId); |
| | | EventProcessParamDto paramDto = EventProcessParamDto.builder().eventSign(baseCase.getCode()).taskcode(baseCase.getTaskCode()).build(); |
| | | // ResultResponseDto<EventProcessResponseDto> responseDto = cityPlatformService.getEventProcess(paramDto); |
| | | // if (responseDto.getCode() == 0) { |
| | | // EventProcessResponseDto eventProcessResponseDto = responseDto.getResult(); |
| | | // /*********** 未处理市平台返回数据 ***************/ |
| | | // return null; |
| | | // } else { |
| | | // return responseDto.getMsg(); |
| | | // } |
| | | return null; |
| | | } |
| | | |
| | | @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; |
| | | } |
| | | |
| | | @Override |
| | | public ArrayList<String> listCaseImages(Integer id, Integer type) { |
| | | Integer illegalBuildingType = 02; |
| | | ArrayList<String> caseImages = new ArrayList<>(); |
| | | caseImages.add(investigationMapper |
| | | .selectOne(new LambdaQueryWrapper<Investigation>() |
| | | .eq(Investigation::getBaseCaseId, id)).getPic()); |
| | | caseImages.add(arrivalSituationMapper |
| | | .selectOne(new LambdaQueryWrapper<ArrivalSituation>() |
| | | .eq(ArrivalSituation::getBaseCaseId, id)).getSituationPic()); |
| | | if (type == illegalBuildingType) { |
| | | Writ writ = writMapper.selectOne(new LambdaQueryWrapper<Writ>().eq(Writ::getBaseCaseId, id)); |
| | | caseImages.add(writ.getWritPic()); |
| | | caseImages.add(writ.getOriginalPic()); |
| | | caseImages.add(writ.getOtherPic()); |
| | | caseImages.add(writ.getRectifiedPic()); |
| | | } |
| | | return caseImages; |
| | | } |
| | | } |