diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/AnScreenCollController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/AnScreenCollController.java index cf9464e37f..fa1abb21c7 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/AnScreenCollController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/AnScreenCollController.java @@ -1,12 +1,14 @@ package com.epmet.controller; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.screencoll.ScreenCollFormDTO; +import com.epmet.dto.screencoll.form.*; import com.epmet.service.evaluationindex.screen.AnScreenCollService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** - * @Description + * @Description 安宁数据采集接口 * @ClassName AnScreenCollController * @Auth wangc * @Date 2020-10-09 13:30 @@ -17,4 +19,74 @@ public class AnScreenCollController { @Autowired private AnScreenCollService screenCollService; + + /** + * @Description 安宁大屏数据采集 - 基层党员-各类总数 + * @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329494 + * @param formDTO + * @return void + * @author wangc + * @date 2020.10.09 17:20 + */ + @PostMapping("pmtotal") + public Result pmTotal(@RequestHeader("CustomerId") String customerId, @RequestBody ScreenCollFormDTO formDTO){ + screenCollService.pmTotal(formDTO,customerId); + return new Result(); + } + + /** + * @Description 安宁大屏数据采集 - 基层党员-党员排行榜单 + * @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329483 + * @param formDTO + * @return void + * @author wangc + * @date 2020.10.09 17:19 + */ + @PostMapping("pmrank") + public Result pmRank(@RequestHeader("CustomerId") String customerId, @RequestBody ScreenCollFormDTO formDTO){ + screenCollService.pmRank(formDTO,customerId); + return new Result(); + } + + /** + * @Description 安宁大屏数据采集 - 基层组织(党群数|议题数|项目数)-按月 + * @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329498 + * @param formDTO + * @return void + * @author wangc + * @date 2020.10.09 17:22 + */ + @PostMapping("grassrootsorg") + public Result grassrootsOrg(@RequestHeader("CustomerId") String customerId, @RequestBody ScreenCollFormDTO formDTO){ + screenCollService.grassrootsOrg(formDTO,customerId); + return new Result(); + } + + /** + * @Description 安宁大屏数据采集 - 基层治理-各类数 + * @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329499 + * @param formDTO + * @return void + * @author wangc + * @date 2020.10.09 17:23 + */ + @PostMapping("grassrootsgovern") + public Result grassrootsGovern(@RequestHeader("CustomerId") String customerId, @RequestBody ScreenCollFormDTO formDTO){ + screenCollService.grassrootsGovern(formDTO,customerId); + return new Result(); + } + + /** + * @Description 安宁大屏数据采集 - 中央区-项目概要 + * @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329502 + * @param formDTO + * @return void + * @author wangc + * @date 2020.10.09 16:41 + */ + @PostMapping("projectFile") + public Result projectFile(@RequestHeader("CustomerId") String customerId, @RequestBody ScreenCollFormDTO formDTO){ + screenCollService.communityProjectProfile(formDTO,customerId); + return new Result(); + } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/AnScreenCollService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/AnScreenCollService.java index a6cc1f35da..15a9d72a35 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/AnScreenCollService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/AnScreenCollService.java @@ -1,8 +1,59 @@ package com.epmet.service.evaluationindex.screen; +import com.epmet.dto.screencoll.ScreenCollFormDTO; +import com.epmet.dto.screencoll.form.*; + /** * 大屏数据采集api - 安宁 */ public interface AnScreenCollService { + + /** + * @Description 安宁大屏数据采集 - 中央区-项目概要 + * @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329502 + * @param formDTO + * @return void + * @author wangc + * @date 2020.10.09 16:41 + */ + void communityProjectProfile(ScreenCollFormDTO formDTO,String customerId); + + /** + * @Description 安宁大屏数据采集 - 基层党员-党员排行榜单 + * @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329483 + * @param formDTO + * @return void + * @author wangc + * @date 2020.10.09 17:19 + */ + void pmRank(ScreenCollFormDTO formDTO,String customerId); + + /** + * @Description 安宁大屏数据采集 - 基层党员-各类总数 + * @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329494 + * @param formDTO + * @return void + * @author wangc + * @date 2020.10.09 17:20 + */ + void pmTotal(ScreenCollFormDTO formDTO,String customerId); + + /** + * @Description 安宁大屏数据采集 - 基层组织(党群数|议题数|项目数)-按月 + * @param formDTO + * @return void + * @author wangc + * @date 2020.10.09 17:22 + */ + void grassrootsOrg(ScreenCollFormDTO formDTO,String customerId); + + /** + * @Description 安宁大屏数据采集 - 基层治理-各类数 + * @param formDTO + * @return void + * @author wangc + * @date 2020.10.09 17:23 + */ + void grassrootsGovern(ScreenCollFormDTO formDTO,String customerId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/AnScreenCollServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/AnScreenCollServiceImpl.java index 35d8b93007..74a97ed599 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/AnScreenCollServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/AnScreenCollServiceImpl.java @@ -1,16 +1,26 @@ package com.epmet.service.evaluationindex.screen.impl; import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.utils.DateUtils; import com.epmet.constant.DataSourceConstant; import com.epmet.dao.evaluationindex.screen.ScreenAnCommunityProjectProfileDao; import com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsGovernMonthlyDao; import com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsOrgMonthlyDao; import com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsPmRankDao; import com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsPmTotalMonthlyDao; +import com.epmet.dto.screencoll.ScreenCollFormDTO; +import com.epmet.dto.screencoll.form.*; import com.epmet.service.evaluationindex.screen.AnScreenCollService; +import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + + +import java.util.List; + /** * @Description 安宁数据采集 @@ -33,4 +43,143 @@ public class AnScreenCollServiceImpl implements AnScreenCollService { private ScreenAnGrassRootsPmRankDao pmRankDao; @Autowired private ScreenAnGrassRootsPmTotalMonthlyDao pmTotalMonthlyDao; + + + /** + * @Description 安宁大屏数据采集 - 中央区-项目概要 + * @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329502 + * @param formDTO + * @return void + * @author wangc + * @date 2020.10.09 16:41 + */ + @Override + public void communityProjectProfile(ScreenCollFormDTO formDTO,String customerId) { + List dataList = formDTO.getDataList(); + if(CollectionUtils.isEmpty(dataList)) return ; + if(formDTO.getIsFirst()){ + int affectRows = communityProjectProfileDao.deleteBatch(customerId); + while(affectRows >= NumConstant.ONE){ + affectRows = communityProjectProfileDao.deleteBatch(customerId); + } + } + Lists.partition(formDTO.getDataList(),NumConstant.ONE_THOUSAND).forEach(list -> { + communityProjectProfileDao.insertBatch(list,customerId); + }); + + } + + /** + * @Description 安宁大屏数据采集 - 基层党员-党员排行榜单 + * @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329483 + * @param formDTO + * @return void + * @author wangc + * @date 2020.10.09 17:19 + */ + @Override + public void pmRank(ScreenCollFormDTO formDTO,String customerId) { + List dataList = formDTO.getDataList(); + if(CollectionUtils.isEmpty(dataList)) return ; + if(formDTO.getIsFirst()){ + int affectRows = pmRankDao.deleteBatch(customerId); + while(affectRows >= NumConstant.ONE){ + affectRows = pmRankDao.deleteBatch(customerId); + } + } + Lists.partition(formDTO.getDataList(),NumConstant.ONE_THOUSAND).forEach(list -> { + pmRankDao.insertBatch(list,customerId); + }); + } + + /** + * @Description 安宁大屏数据采集 - 基层党员-各类总数 + * @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329494 + * @param formDTO + * @return void + * @author wangc + * @date 2020.10.09 17:20 + */ + @Override + public void pmTotal(ScreenCollFormDTO formDTO,String customerId) { + List dataList = formDTO.getDataList(); + if(CollectionUtils.isEmpty(dataList)) return ; + + if(formDTO.getIsFirst()){ + int affectRows = pmTotalMonthlyDao.deleteBatch(customerId,formDTO.getMonthId()); + while(affectRows >= NumConstant.ONE){ + affectRows = pmTotalMonthlyDao.deleteBatch(customerId,formDTO.getMonthId()); + } + } + String quarterId = DateUtils.getQuarterId(formDTO.getMonthId()); + String yearId = DateUtils.getYearId(formDTO.getMonthId()); + Lists.partition(formDTO.getDataList(),NumConstant.ONE_THOUSAND).forEach(list -> { + pmTotalMonthlyDao.insertBatch(list, + customerId, + formDTO.getMonthId(), + quarterId, + yearId); + }); + + } + + /** + * @Description 安宁大屏数据采集 - 基层组织(党群数|议题数|项目数)-按月 + * @param formDTO + * @return void + * @author wangc + * @date 2020.10.09 17:22 + */ + @Override + public void grassrootsOrg(ScreenCollFormDTO formDTO,String customerId) { + List dataList = formDTO.getDataList(); + if(CollectionUtils.isEmpty(dataList)) return ; + + if(formDTO.getIsFirst()){ + int affectRows = orgMonthlyDao.deleteBatch(customerId,formDTO.getMonthId()); + while(affectRows >= NumConstant.ONE){ + affectRows = orgMonthlyDao.deleteBatch(customerId,formDTO.getMonthId()); + } + } + String quarterId = DateUtils.getQuarterId(formDTO.getMonthId()); + String yearId = DateUtils.getYearId(formDTO.getMonthId()); + Lists.partition(formDTO.getDataList(),NumConstant.ONE_THOUSAND).forEach(list -> { + orgMonthlyDao.insertBatch(list, + customerId, + formDTO.getMonthId(), + quarterId, + yearId); + }); + + } + + /** + * @Description 安宁大屏数据采集 - 基层治理-各类数 + * @param formDTO + * @return void + * @author wangc + * @date 2020.10.09 17:23 + */ + @Override + public void grassrootsGovern(ScreenCollFormDTO formDTO,String customerId) { + List dataList = formDTO.getDataList(); + if(CollectionUtils.isEmpty(dataList)) return ; + + if(formDTO.getIsFirst()){ + int affectRows = governMonthlyDao.deleteBatch(customerId,formDTO.getMonthId()); + while(affectRows >= NumConstant.ONE){ + affectRows = governMonthlyDao.deleteBatch(customerId,formDTO.getMonthId()); + } + } + String quarterId = DateUtils.getQuarterId(formDTO.getMonthId()); + String yearId = DateUtils.getYearId(formDTO.getMonthId()); + Lists.partition(formDTO.getDataList(),NumConstant.ONE_THOUSAND).forEach(list -> { + governMonthlyDao.insertBatch(list, + customerId, + formDTO.getMonthId(), + quarterId, + yearId); + }); + + } }