101captain
2022-01-04 f372e6282a957dbbc529c432f3e19a4028d7aee8
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/BigScreenStatisticsServiceImpl.java
@@ -14,12 +14,9 @@
import javax.annotation.Resource;
import com.panzhihua.common.model.vos.community.bigscreen.BigScreenResidentActStatisticsInfo;
import com.panzhihua.common.model.vos.community.bigscreen.BigScreenVolunteerActStatisticsInfo;
import com.panzhihua.service_community.dao.ComActActivityDAO;
import com.panzhihua.service_community.dao.ComActCommitteeDao;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.PageBaseDTO;
import com.panzhihua.common.model.dtos.community.convenient.PagePopularMerchantDTO;
@@ -33,12 +30,16 @@
import com.panzhihua.common.model.vos.community.bigscreen.BigScreenMicroWishStatisticsInfo;
import com.panzhihua.common.model.vos.community.bigscreen.BigScreenNeighborStatisticsInfo;
import com.panzhihua.common.model.vos.community.bigscreen.BigScreenQuestionnaireStatisticsInfo;
import com.panzhihua.common.model.vos.community.bigscreen.BigScreenResidentActStatisticsInfo;
import com.panzhihua.common.model.vos.community.bigscreen.BigScreenVolunteerActStatisticsInfo;
import com.panzhihua.common.model.vos.community.bigscreen.GridsGovernanceStatisticsVO;
import com.panzhihua.common.model.vos.community.bigscreen.ResidentAutonomyStatisticsVO;
import com.panzhihua.common.model.vos.community.convenient.ConvenientMerchantVO;
import com.panzhihua.common.model.vos.community.screen.civil.CivilVillageStatisticsVO;
import com.panzhihua.common.model.vos.community.screen.event.EventGridIncidentStatisticsVO;
import com.panzhihua.common.model.vos.community.screen.event.EventGridStatisticsVO;
import com.panzhihua.service_community.dao.ComActActivityDAO;
import com.panzhihua.service_community.dao.ComActCommitteeDao;
import com.panzhihua.service_community.dao.ComActDiscussDAO;
import com.panzhihua.service_community.dao.ComActDynDAO;
import com.panzhihua.service_community.dao.ComActEasyPhotoDAO;
@@ -135,7 +136,7 @@
        List<StatisticsCommVO> microWishRealizePercent = comActMicroWishDAO.selectRealizePercent(communityId);
        statisticsVO.setMicroWishRealizePercent(microWishRealizePercent);
        //微心愿图片
        List<String> microWishImages = comActMicroWishDAO.getPassedAllImages(communityId, pageSize);
        List<String> microWishImages = comActMicroWishDAO.getPassedAllImages(communityId, 20);
        statisticsVO.setMicroWishImages(microWishImages);
        //议事投票类型占比
@@ -149,7 +150,7 @@
        statisticsVO.setVoteTitles(voteTitles);
        //邻里圈图片
        List<String> neighborImages = comActNeighborCircleDAO.getAllImages(communityId, pageSize);
        List<String> neighborImages = comActNeighborCircleDAO.getAllImages(communityId, 20);
        statisticsVO.setNeighborImages(neighborImages);
        //邻里圈文本内容
        List<String> neighborContents = comActNeighborCircleDAO.getContents(communityId, pageSize);
@@ -195,18 +196,39 @@
        List<String> warehouseLoveTransfer = comActWarehouseDonatesDao.getWarehouseLoveTransfer(communityId, pageSize);
        statisticsVO.setWarehouseLoveTransfer(warehouseLoveTransfer);
        //捐赠图片
        List<String> warehouseImages = comActWarehouseDonatesDao.getWarehouseImages(communityId, pageSize);
        List<String> warehouseImages = comActWarehouseDonatesDao.getWarehouseImages(communityId, 20);
        statisticsVO.setWarehouseImages(warehouseImages);
        //居民活动柱状统计
        List<StatisticsCommVO> residentActHistogram = comActActivityDAO.selectResidentActHistogramData(communityId, true);
        //居民活动新增数据
        List<StatisticsCommVO> actAddPolylineData = comActActivityDAO.getActAddPolylineData(communityId, true);
        for (int i = 1; i <= currentMon; i++) {
            String temp;
            if (i > 9) {
                temp = "" + i;
            } else {
                temp = "0" + i;
            }
            boolean isExist = actAddPolylineData.stream().anyMatch(e -> nonNull(e.getFiled()) &&
                    e.getFiled().endsWith(temp));
            if (!isExist) {
                StatisticsCommVO other = new StatisticsCommVO();
                other.setFiled(temp);
                other.setNum(0);
                actAddPolylineData.add(other);
            }
        }
        actAddPolylineData = actAddPolylineData.stream().filter(e -> nonNull(e.getFiled()))
                .sorted(Comparator.comparing(e -> e.getFiled())).collect(Collectors.toList());
        //居民活动发布总数
        int residentActTotalCount = 0;
        if (!residentActHistogram.isEmpty()) {
            residentActTotalCount = residentActHistogram.stream().map(StatisticsCommVO::getNum).mapToInt(Integer::intValue).sum();
        }
        statisticsVO.setResidentActTotalCount(residentActTotalCount);
        statisticsVO.setResidentActHistogram(residentActHistogram);
//        statisticsVO.setResidentActHistogram(residentActHistogram);
        statisticsVO.setResidentActHistogram(actAddPolylineData);
        //业主委员会党员占比
        List<StatisticsCommVO> committeePartyPercent = comActCommitteeDao.selectCommitteePartyPercent(communityId);
        statisticsVO.setCommitteePartyPercent(committeePartyPercent);
@@ -244,9 +266,6 @@
            });
        }
        statisticsVO.setVillageStatisticsList(villageStatisticsList);
        // 查询社区事件列表
        List<EventGridIncidentStatisticsVO> gridIncidentList = comMngPopulationDAO.getGridsGovernanceEventList(communityId);
        statisticsVO.setGridIncidentList(gridIncidentList);
        //事件分析新增折线数据
        Date nowDate = new Date();
        List<StatisticsCommVO> eventAddPolylineData = comPropertyDao.getEventAddPolylineData(communityId);
@@ -539,7 +558,7 @@
        statisticsInfo.setNeighborCircleData(neighborCircleData);
        if (!neighborCircleData.isEmpty()) {
            statisticsInfo.setPublishContentNum(neighborCircleData.stream().map(StatisticsCommVO::getNum).mapToInt(Integer::intValue).sum());
            statisticsInfo.setPublishTopicNum(neighborCircleData.size());
            statisticsInfo.setPublishTopicNum(neighborCircleData.stream().filter(e -> !"无话题".equals(e.getFiled())).collect(Collectors.toList()).size());
        }
        //邻里圈新增折线数据
        Date nowDate = new Date();
@@ -804,6 +823,50 @@
        return R.ok(comActActivityDAO.indexActList(page, pageBaseDTO, false));
    }
    /**
     * 清网治格-根据事件分类获取近1月的社区事件数据
     * @param type
     * @param communityId
     * @return
     */
    @Override
    public R getEventList(Integer type, Long communityId) {
        // 查询社区事件列表
        List<EventGridIncidentStatisticsVO> gridIncidentList = comMngPopulationDAO.getGridsGovernanceEventList(communityId);
        List<EventGridIncidentStatisticsVO> returnGridIncidentList = new ArrayList<>();
        if (!gridIncidentList.isEmpty()) {
            gridIncidentList.forEach(e -> {
                if (e.getEventType().equals(2)) {
                    String[] lngLatString = e.getLatLng().split(",");
                    e.setLatLng(lngLatString[1] + "," + lngLatString[0]);
                }
            });
            returnGridIncidentList = gridIncidentList.stream().filter(e -> type.equals(e.getType())).collect(Collectors.toList());
        }
        return R.ok(returnGridIncidentList);
    }
    /**
     * 清网治格-社区事件数据分页
     * @param pageBaseDTO
     * @return
     */
    @Override
    public R pageEventList(PageBaseDTO pageBaseDTO) {
        Page page = retrievePage(pageBaseDTO);
        IPage<EventGridIncidentStatisticsVO> iPage = comMngPopulationDAO.pageEventList(page, pageBaseDTO);
        List<EventGridIncidentStatisticsVO> gridIncidentList = iPage.getRecords();
        if (!gridIncidentList.isEmpty()) {
            gridIncidentList.forEach(e -> {
                if (e.getEventType().equals(2)) {
                    String[] lngLatString = e.getLatLng().split(",");
                    e.setLatLng(lngLatString[1] + "," + lngLatString[0]);
                }
            });
        }
        return R.ok(iPage);
    }
    private Page retrievePage(PageBaseDTO pageBaseDTO) {
        Long pageNum = pageBaseDTO.getPageNum();
        Long size = pageBaseDTO.getPageSize();