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 + "|部门信息上传>定时任务执行结束");
+ }
+}