From dcba47fc40c30398ba795228e6837955124181c7 Mon Sep 17 00:00:00 2001 From: wangchao Date: Sat, 10 Oct 2020 09:00:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E5=AE=81=20=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=87=87=E9=9B=86=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AnScreenCollController.java | 78 ++++++++- .../screen/AnScreenCollService.java | 51 ++++++ .../screen/impl/AnScreenCollServiceImpl.java | 149 ++++++++++++++++++ 3 files changed, 275 insertions(+), 3 deletions(-) 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); + }); + + } }