Browse Source

追加上报功能定时任务

feature/qst_copy
zhangyuan 5 years ago
parent
commit
01f7d93884
  1. 12
      epdc-cloud-job/pom.xml
  2. 356
      epdc-cloud-job/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java
  3. 177
      epdc-cloud-job/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java
  4. 20
      epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenIndexDataPushTask.java
  5. 216
      epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenIndexDataPushTaskImpl.java
  6. 20
      epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenPublicDataPushTask.java
  7. 113
      epdc-cloud-job/src/main/java/com/elink/esua/epdc/task/screen/ScreenPublicDataPushTaskImpl.java

12
epdc-cloud-job/pom.xml

@ -74,6 +74,12 @@
<artifactId>epdc-cloud-job-client</artifactId>
<version>${epdc-cloud-client.version}</version>
</dependency>
<dependency>
<groupId>com.esua.epdc.yushan</groupId>
<artifactId>epdc-cloud-analysis-pc-client</artifactId>
<version>${epdc-cloud-client.version}</version>
</dependency>
<!-- client end -->
<!-- commons start -->
@ -161,10 +167,10 @@
<spring.redis.password>elink@888</spring.redis.password>
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/esua_epdc_job?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
<![CDATA[jdbc:mysql://rm-m5eguiv2827bdye798o.mysql.rds.aliyuncs.com:10001/yushan_esua_epdc_job?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epdc</spring.datasource.druid.username>
<spring.datasource.druid.password>elink833066</spring.datasource.druid.password>
<spring.datasource.druid.username>yushan_epdc_test</spring.datasource.druid.username>
<spring.datasource.druid.password>elink-epdc@yushan</spring.datasource.druid.password>
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>47.104.224.45:8848</nacos.server-addr>

356
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;
/**
* 数据分析模块调用
*
* @Authorliuchuang
* @Date2020/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();
}

177
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;
/**
* @Authorliuchuang
* @Date2020/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");
}
}

20
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;
/**
* 大屏指标信息统计上报
*
* @Authorliuchuang
* @Date2020/9/9 15:20
*/
public interface ScreenIndexDataPushTask {
/**
* 大屏数据推送
*
* @param param 入参
* @return void
* @author Liuchuang
* @since 2020/9/9 15:21
*/
void run(String param);
}

216
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;
/**
* 大屏指标信息统计上报
*
* @Authorliuchuang
* @Date2020/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 + "|指标数据传输完毕通知接口>定时任务执行结束");
}
}

20
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;
/**
* 大屏公共信息统计上报
*
* @Authorliuchuang
* @Date2020/9/17 13:56
*/
public interface ScreenPublicDataPushTask {
/**
* 大屏数据推送
*
* @param param 入参
* @return void
* @author Liuchuang
* @since 2020/9/9 15:21
*/
void run(String param);
}

113
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;
/**
* 大屏公共信息统计上报
*
* @Authorliuchuang
* @Date2020/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<Integer> future = service.submit(new Callable<Integer>() {
@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 + "|部门信息上传>定时任务执行结束");
}
}
Loading…
Cancel
Save