From 01f7d93884342dd4b1590bdb77b981176504c06f Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Fri, 8 Jan 2021 10:28:49 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=BD=E5=8A=A0=E4=B8=8A=E6=8A=A5=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epdc-cloud-job/pom.xml | 12 +- .../esua/epdc/feign/AnalysisFeignClient.java | 356 ++++++++++++++++++ .../fallback/AnalysisFeignClientFallback.java | 177 +++++++++ .../task/screen/ScreenIndexDataPushTask.java | 20 + .../screen/ScreenIndexDataPushTaskImpl.java | 216 +++++++++++ .../task/screen/ScreenPublicDataPushTask.java | 20 + .../screen/ScreenPublicDataPushTaskImpl.java | 113 ++++++ 7 files changed, 911 insertions(+), 3 deletions(-) create mode 100644 epdc-cloud-job/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java create mode 100644 epdc-cloud-job/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java create mode 100644 epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenIndexDataPushTask.java create mode 100644 epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenIndexDataPushTaskImpl.java create mode 100644 epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenPublicDataPushTask.java create mode 100644 epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenPublicDataPushTaskImpl.java diff --git a/epdc-cloud-job/pom.xml b/epdc-cloud-job/pom.xml index 9942527..8dc1c84 100644 --- a/epdc-cloud-job/pom.xml +++ b/epdc-cloud-job/pom.xml @@ -74,6 +74,12 @@ epdc-cloud-job-client ${epdc-cloud-client.version} + + + com.esua.epdc.yushan + epdc-cloud-analysis-pc-client + ${epdc-cloud-client.version} + @@ -161,10 +167,10 @@ elink@888 - + - epdc - elink833066 + yushan_epdc_test + elink-epdc@yushan false 47.104.224.45:8848 diff --git a/epdc-cloud-job/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java b/epdc-cloud-job/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java new file mode 100644 index 0000000..9af2a4d --- /dev/null +++ b/epdc-cloud-job/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java @@ -0,0 +1,356 @@ +package com.elink.esua.epdc.feign; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO; +import com.elink.esua.epdc.feign.fallback.AnalysisFeignClientFallback; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; + +/** + * 数据分析模块调用 + * + * @Author:liuchuang + * @Date:2020/9/9 15:41 + */ +@FeignClient(name = ServiceConstant.EPDC_ANALYSIS_SERVER, fallback = AnalysisFeignClientFallback.class) +public interface AnalysisFeignClient { + + /** + * 1、首页-平台各类总数上报 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:49 + */ + @PostMapping("analysis/data/stats/kcscreencoll/homepage/platformsummary") + Result homePagePlatformSummary(); + + /** + * 2、议题分析-各类总数 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/kcscreencoll/issue/summary") + Result issueSummary(); + + /** + * 3、议题分析-参与趋势 + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/kcscreencoll/issue/trend") + Result issueTrend(ScreenJobFormDTO formDto); + + /** + * 4、用户分析-各类总数 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/kcscreencoll/user/summary") + Result userSummary(); + + /** + * 5、公益互助-志愿者公益时长排名 + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/kcscreencoll/volunteer/heartrank") + Result volunteerHeartRank(ScreenJobFormDTO formDto); + + /** + * 6、用户分析-用户趋势 + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/kcscreencoll/user/userheartrank") + Result userUserHeartRank(ScreenJobFormDTO formDto); + + /** + * 7、公益互助-活动各类总数 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/kcscreencoll/act/summary") + Result actSummary(); + + /** + * 8、公益互助-活动次数趋势 + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/kcscreencoll/act/trend") + Result actTrend(ScreenJobFormDTO formDto); + + /** + * 9、公益互助-志愿者画像 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/kcscreencoll/act/volunteersummary") + Result actVolunteerSummary(); + + /** + * 10、项目分析-各类总数 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/kcscreencoll/project/summary") + Result projectSummary(); + + /** + * 11、项目分析-按分类统计 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/kcscreencoll/project/categorysummary") + Result projectCategorySummary(); + + /** + * 12、项目分析-满意度分析 + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/kcscreencoll/project/satisanalysis") + Result projectStatisticAnalysis(ScreenJobFormDTO formDto); + + /** + * 13、党建声音-新闻各类总数汇总 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/kcscreencoll/news/summary") + Result newsSummary(); + + /** + * 14、党建声音-新闻阅读参与趋势 + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/kcscreencoll/news/trend") + Result newsTrend(ScreenJobFormDTO formDto); + + /** + * 15、党建声音-热度新闻排行 + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/kcscreencoll/news/hotrank") + Result newsHotRank(ScreenJobFormDTO formDto); + + /** + * 16、党建声音-新闻按类别统计 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/kcscreencoll/news/categoryanalysis") + Result newsCategoryAnalysis(); + + /** + * 17、邻里党群-各类总数汇总 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/kcscreencoll/group/summary") + Result groupSummary(); + + /** + * 18、邻里党群-小组详情 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/kcscreencoll/group/detail") + Result groupDetail(); + + /** + * 19、邻里党群-话题参与趋势 + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/kcscreencoll/group/topictrend") + Result groupTopicTrend(ScreenJobFormDTO formDto); + + /** + * 09、党建引领|基层治理-居民(党员)积分排行榜 + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/kcscreencoll/partyuserrankdata") + Result partyUserRankData(ScreenJobFormDTO formDto); + + /** + * 01、党建能力-党员相关指标上报 + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/indexcollect/gridpartymemberdata") + Result gridPartyMemberData(ScreenJobFormDTO formDto); + + /** + * 02、党建能力-网格相关指标上报 + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/indexcollect/gridpartyability") + Result gridPartyAbility(ScreenJobFormDTO formDto); + + /** + * 03、党建能力-区街道及社区相关指标 + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/indexcollect/orgpartyability") + Result orgPartyAbility(ScreenJobFormDTO formDto); + + /** + * 04、服务能力-网格相关指标 + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/indexcollect/gridserviceability") + Result gridServiceAbility(ScreenJobFormDTO formDto); + + /** + * 05、服务能力-组织(街道|社区|全区)相关指标 + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/indexcollect/orgserviceability") + Result orgServiceAbility(ScreenJobFormDTO formDto); + + /** + * 06、治理能力-网格相关指标 + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/indexcollect/gridgovrnability") + Result gridGovernAbility(ScreenJobFormDTO formDto); + + /** + * 07、治理能力-区街道及社区相关指标 + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/indexcollect/orggovrnability") + Result orgGovernAbility(ScreenJobFormDTO formDto); + + /** + * 08、治理能力-部门相关指标 + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/9 15:55 + */ + @PostMapping("analysis/data/stats/indexcollect/deptgovrnability") + Result deptGovernAbility(ScreenJobFormDTO formDto); + + /** + * 指标数据传输完毕通知接口 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2020/9/17 10:08 + */ + @PostMapping("analysis/data/stats/indexcollect/all") + Result all(ScreenJobFormDTO formDto); + + /** + * 014、组织层级 + * + * @return void + * @author Liuchuang + * @since 2020/9/17 14:01 + */ + @PostMapping("analysis/data/stats/screencoll/customeragency") + Result customerAgency(); + + /** + * 015、网格信息上传 + * + * @return void + * @author Liuchuang + * @since 2020/9/17 14:01 + */ + @PostMapping("analysis/data/stats/screencoll/customergrid") + Result customerGrid(); + + /** + * 016、部门信息上传 + * + * @return void + * @author Liuchuang + * @since 2020/9/17 14:02 + */ + @PostMapping("analysis/data/stats/screencoll/customerdept") + Result customerDept(); + +} diff --git a/epdc-cloud-job/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java b/epdc-cloud-job/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java new file mode 100644 index 0000000..d8415fc --- /dev/null +++ b/epdc-cloud-job/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java @@ -0,0 +1,177 @@ +package com.elink.esua.epdc.feign.fallback; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO; +import com.elink.esua.epdc.feign.AnalysisFeignClient; +import org.springframework.stereotype.Component; + +/** + * @Author:liuchuang + * @Date:2020/9/9 15:42 + */ +@Component +public class AnalysisFeignClientFallback implements AnalysisFeignClient { + + @Override + public Result homePagePlatformSummary() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "homePagePlatformSummary"); + } + + @Override + public Result issueSummary() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "issueSummary"); + } + + @Override + public Result issueTrend(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "issueTrend"); + } + + @Override + public Result userSummary() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "userSummary"); + } + + @Override + public Result volunteerHeartRank(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "volunteerHeartRank"); + } + + @Override + public Result userUserHeartRank(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "userUserHeartRank"); + } + + @Override + public Result actSummary() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "actSummary"); + } + + @Override + public Result actTrend(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "actTrend"); + } + + @Override + public Result actVolunteerSummary() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "actVolunteerSummary"); + } + + @Override + public Result projectSummary() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "projectSummary"); + } + + @Override + public Result projectCategorySummary() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "projectCategorySummary"); + } + + @Override + public Result projectStatisticAnalysis(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "projectStatisticAnalysis"); + } + + @Override + public Result newsSummary() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "newsSummary"); + } + + @Override + public Result newsTrend(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "newsTrend"); + } + + @Override + public Result newsHotRank(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "newsHotRank"); + } + + @Override + public Result newsCategoryAnalysis() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "newsCategoryAnalysis"); + } + + @Override + public Result groupSummary() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "groupSummary"); + } + + @Override + public Result groupDetail() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "groupDetail"); + } + + @Override + public Result groupTopicTrend(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "groupTopicTrend"); + } + + @Override + public Result partyUserRankData(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "partyUserRankData"); + } + + @Override + public Result gridPartyMemberData(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "gridPartyMemberData"); + } + + @Override + public Result gridPartyAbility(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "gridPartyAbility"); + } + + @Override + public Result orgPartyAbility(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "orgPartyAbility"); + } + + @Override + public Result gridServiceAbility(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "gridServiceAbility"); + } + + @Override + public Result orgServiceAbility(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "orgServiceAbility"); + } + + @Override + public Result gridGovernAbility(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "gridGovernAbility"); + } + + @Override + public Result orgGovernAbility(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "orgGovernAbility"); + } + + @Override + public Result deptGovernAbility(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "deptGovernAbility"); + } + + @Override + public Result all(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "all"); + } + + @Override + public Result customerAgency() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "customerAgency"); + } + + @Override + public Result customerGrid() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "customerGrid"); + } + + @Override + public Result customerDept() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "customerDept"); + } + +} diff --git a/epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenIndexDataPushTask.java b/epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenIndexDataPushTask.java new file mode 100644 index 0000000..7167b23 --- /dev/null +++ b/epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenIndexDataPushTask.java @@ -0,0 +1,20 @@ +package com.elink.esua.epdc.task.screen; + +/** + * 大屏指标信息统计上报 + * + * @Author:liuchuang + * @Date:2020/9/9 15:20 + */ +public interface ScreenIndexDataPushTask { + + /** + * 大屏数据推送 + * + * @param param 入参 + * @return void + * @author Liuchuang + * @since 2020/9/9 15:21 + */ + void run(String param); +} diff --git a/epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenIndexDataPushTaskImpl.java b/epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenIndexDataPushTaskImpl.java new file mode 100644 index 0000000..3cbbd7c --- /dev/null +++ b/epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenIndexDataPushTaskImpl.java @@ -0,0 +1,216 @@ +package com.elink.esua.epdc.task.screen; + +import com.alibaba.fastjson.JSONObject; +import com.elink.esua.epdc.dto.ScreenIndexBasicDataParamDTO; +import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO; +import com.elink.esua.epdc.feign.AnalysisFeignClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 大屏指标信息统计上报 + * + * @Author:liuchuang + * @Date:2020/9/9 15:19 + */ +@Component("screenIndexDataPushTask") +public class ScreenIndexDataPushTaskImpl implements ScreenIndexDataPushTask { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + + @Autowired + private AnalysisFeignClient analysisFeignClient; + + @Override + public void run(String param) { + // 参数处理 + ScreenIndexBasicDataParamDTO paramDto = new ScreenIndexBasicDataParamDTO(); + if (StringUtils.isNotEmpty(param)) { + paramDto = JSONObject.parseObject(param, ScreenIndexBasicDataParamDTO.class); + } + // 01、党建能力-党员相关指标上报 + gridPartyMemberData(paramDto.getGridPartyMemberData()); + // 02、党建能力-网格相关指标上报 + gridPartyAbility(paramDto.getGridPartyAbility()); + // 03、党建能力-区街道及社区相关指标 + orgPartyAbility(paramDto.getOrgPartyAbility()); + // 04、服务能力-网格相关指标 + gridServiceAbility(paramDto.getGridServiceAbility()); + // 05、服务能力-组织(街道|社区|全区)相关指标 + orgServiceAbility(paramDto.getOrgServiceAbility()); + // 06、治理能力-网格相关指标 + gridGovernAbility(paramDto.getGridGovernAbility()); + // 07、治理能力-区街道及社区相关指标 + orgGovernAbility(paramDto.getOrgGovernAbility()); + // 08、治理能力-部门相关指标 + deptGovernAbility(paramDto.getDeptGovernAbility()); + // 指标数据传输完毕通知接口 + all(paramDto.getAll()); + } + + /** + * 01、党建能力-党员相关指标上报 + * + * @param yearMonth 统计月份 + * @return void + * @author Liuchuang + * @since 2020/9/9 16:48 + */ + public void gridPartyMemberData(String yearMonth) { + ScreenJobFormDTO formDto = new ScreenJobFormDTO(); + formDto.setYearMonth(yearMonth); + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|党建能力-党员相关指标上报>定时任务开始执行"); + analysisFeignClient.gridPartyMemberData(formDto); + logger.info("<" + methodName + "|党建能力-党员相关指标上报>定时任务执行结束"); + } + + /** + * 02、党建能力-网格相关指标上报 + * + * @param yearMonth 统计月份 + * @return void + * @author Liuchuang + * @since 2020/9/9 16:48 + */ + public void gridPartyAbility(String yearMonth) { + ScreenJobFormDTO formDto = new ScreenJobFormDTO(); + formDto.setYearMonth(yearMonth); + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|党建能力-网格相关指标上报>定时任务开始执行"); + analysisFeignClient.gridPartyAbility(formDto); + logger.info("<" + methodName + "|党建能力-网格相关指标上报>定时任务执行结束"); + } + + /** + * 03、党建能力-区街道及社区相关指标 + * + * @param yearMonth 统计月份 + * @return void + * @author Liuchuang + * @since 2020/9/9 16:48 + */ + public void orgPartyAbility(String yearMonth) { + ScreenJobFormDTO formDto = new ScreenJobFormDTO(); + formDto.setYearMonth(yearMonth); + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|党建能力-区街道及社区相关指标>定时任务开始执行"); + analysisFeignClient.orgPartyAbility(formDto); + logger.info("<" + methodName + "|党建能力-区街道及社区相关指标>定时任务执行结束"); + } + + /** + * 04、服务能力-网格相关指标 + * + * @param yearMonth 统计月份 + * @return void + * @author Liuchuang + * @since 2020/9/9 16:48 + */ + public void gridServiceAbility(String yearMonth) { + ScreenJobFormDTO formDto = new ScreenJobFormDTO(); + formDto.setYearMonth(yearMonth); + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|服务能力-网格相关指标>定时任务开始执行"); + analysisFeignClient.gridServiceAbility(formDto); + logger.info("<" + methodName + "|服务能力-网格相关指标>定时任务执行结束"); + } + + /** + * 05、服务能力-组织(街道|社区|全区)相关指标 + * + * @param yearMonth 统计月份 + * @return void + * @author Liuchuang + * @since 2020/9/9 16:48 + */ + public void orgServiceAbility(String yearMonth) { + ScreenJobFormDTO formDto = new ScreenJobFormDTO(); + formDto.setYearMonth(yearMonth); + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|服务能力-组织(街道|社区|全区)相关指标>定时任务开始执行"); + analysisFeignClient.orgServiceAbility(formDto); + logger.info("<" + methodName + "|服务能力-组织(街道|社区|全区)相关指标>定时任务执行结束"); + } + + /** + * 06、治理能力-网格相关指标 + * + * @param yearMonth 统计月份 + * @return void + * @author Liuchuang + * @since 2020/9/9 16:48 + */ + public void gridGovernAbility(String yearMonth) { + ScreenJobFormDTO formDto = new ScreenJobFormDTO(); + formDto.setYearMonth(yearMonth); + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|治理能力-网格相关指标>定时任务开始执行"); + analysisFeignClient.gridGovernAbility(formDto); + logger.info("<" + methodName + "|治理能力-网格相关指标>定时任务执行结束"); + } + + /** + * 07、治理能力-区街道及社区相关指标 + * + * @param yearMonth 统计月份 + * @return void + * @author Liuchuang + * @since 2020/9/9 16:48 + */ + public void orgGovernAbility(String yearMonth) { + ScreenJobFormDTO formDto = new ScreenJobFormDTO(); + formDto.setYearMonth(yearMonth); + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|治理能力-区街道及社区相关指标>定时任务开始执行"); + analysisFeignClient.orgGovernAbility(formDto); + logger.info("<" + methodName + "|治理能力-区街道及社区相关指标>定时任务执行结束"); + } + + /** + * 08、治理能力-部门相关指标 + * + * @param yearMonth 统计月份 + * @return void + * @author Liuchuang + * @since 2020/9/9 16:48 + */ + public void deptGovernAbility(String yearMonth) { + ScreenJobFormDTO formDto = new ScreenJobFormDTO(); + formDto.setYearMonth(yearMonth); + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|治理能力-部门相关指标>定时任务开始执行"); + analysisFeignClient.deptGovernAbility(formDto); + logger.info("<" + methodName + "|治理能力-部门相关指标>定时任务执行结束"); + } + + /** + * 指标数据传输完毕通知接口 + * + * @param yearMonth 计算月份 + * @return void + * @author Liuchuang + * @since 2020/9/17 10:05 + */ + public void all(String yearMonth) { + ScreenJobFormDTO formDto = new ScreenJobFormDTO(); + formDto.setYearMonth(yearMonth); + //方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|指标数据传输完毕通知接口>定时任务开始执行"); + analysisFeignClient.all(formDto); + logger.info("<" + methodName + "|指标数据传输完毕通知接口>定时任务执行结束"); + } + +} diff --git a/epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenPublicDataPushTask.java b/epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenPublicDataPushTask.java new file mode 100644 index 0000000..f1f661e --- /dev/null +++ b/epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenPublicDataPushTask.java @@ -0,0 +1,20 @@ +package com.elink.esua.epdc.task.screen; + +/** + * 大屏公共信息统计上报 + * + * @Author:liuchuang + * @Date:2020/9/17 13:56 + */ +public interface ScreenPublicDataPushTask { + + /** + * 大屏数据推送 + * + * @param param 入参 + * @return void + * @author Liuchuang + * @since 2020/9/9 15:21 + */ + void run(String param); +} diff --git a/epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenPublicDataPushTaskImpl.java b/epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenPublicDataPushTaskImpl.java new file mode 100644 index 0000000..8d8f5d4 --- /dev/null +++ b/epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenPublicDataPushTaskImpl.java @@ -0,0 +1,113 @@ +package com.elink.esua.epdc.task.screen; + +import com.alibaba.fastjson.JSONObject; +import com.elink.esua.epdc.dto.ScreenJobBasicDataParamDTO; +import com.elink.esua.epdc.feign.AnalysisFeignClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; + +/** + * 大屏公共信息统计上报 + * + * @Author:liuchuang + * @Date:2020/9/17 13:56 + */ +@Component("screenPublicDataPushTask") +public class ScreenPublicDataPushTaskImpl implements ScreenPublicDataPushTask { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + + private static final ExecutorService service = Executors.newFixedThreadPool(100); + + @Autowired + private AnalysisFeignClient analysisFeignClient; + + @Override + public void run(String param) { + // 参数处理 + ScreenJobBasicDataParamDTO paramDto = new ScreenJobBasicDataParamDTO(); + if (StringUtils.isNotEmpty(param)) { + paramDto = JSONObject.parseObject(param, ScreenJobBasicDataParamDTO.class); + } + for(int i = 0 ; i < 3 ; i++){ + createThread(i, paramDto); + } + } + + public Integer createThread(Integer methodIndex, ScreenJobBasicDataParamDTO paramDto){ + Future future = service.submit(new Callable() { + @Override + public Integer call() throws Exception { + Thread.sleep(200); + if (methodIndex == 0) { + customerAgency(); + } else if (methodIndex == 1){ + customerGrid(); + } else if (methodIndex == 2){ + customerDept(); + } + return 0; + } + }); + Integer isSuccess = 0; + try { + isSuccess = future.get(); + }catch (Exception e){ + e.printStackTrace(); + } + return isSuccess; + } + + /** + * 014、组织层级 + * + * @return void + * @author Liuchuang + * @since 2020/9/17 14:01 + */ + public void customerAgency() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|组织层级上传>定时任务开始执行"); + analysisFeignClient.customerAgency(); + logger.info("<" + methodName + "|组织层级上传>定时任务执行结束"); + } + + /** + * 015、网格信息上传 + * + * @return void + * @author Liuchuang + * @since 2020/9/17 14:01 + */ + public void customerGrid() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|网格信息上传>定时任务开始执行"); + analysisFeignClient.customerGrid(); + logger.info("<" + methodName + "|网格信息上传>定时任务执行结束"); + } + + /** + * 016、部门信息上传 + * + * @return void + * @author Liuchuang + * @since 2020/9/17 14:02 + */ + public void customerDept() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|部门信息上传>定时任务开始执行"); + analysisFeignClient.customerDept(); + logger.info("<" + methodName + "|部门信息上传>定时任务执行结束"); + } +}