wl
2022-09-28 4ade291ebd74dd4cd42556f07bd4f205f73c3313
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;
    }
}