From 3367d3e77d7b63d4bdaa8d78e70408c10106da34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B2=E6=A0=91=E9=80=9A?= <1976590620@qq.com> Date: Thu, 4 Mar 2021 14:57:36 +0800 Subject: [PATCH] =?UTF-8?q?=E9=81=97=E6=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ScreenProjectDataPushDayTaskImpl.java | 2 +- .../ScreenProjectDataPushMonthTaskImpl.java | 168 ++++++++++++++++++ .../screen/ScreenPublicDataPushTaskImpl.java | 2 +- 3 files changed, 170 insertions(+), 2 deletions(-) create mode 100644 epdc-cloud-job/src/main/java/com/elink/esua/epdc/service/impl/ScreenProjectDataPushMonthTaskImpl.java diff --git a/epdc-cloud-job/src/main/java/com/elink/esua/epdc/service/impl/ScreenProjectDataPushDayTaskImpl.java b/epdc-cloud-job/src/main/java/com/elink/esua/epdc/service/impl/ScreenProjectDataPushDayTaskImpl.java index 03901da..27c8660 100644 --- a/epdc-cloud-job/src/main/java/com/elink/esua/epdc/service/impl/ScreenProjectDataPushDayTaskImpl.java +++ b/epdc-cloud-job/src/main/java/com/elink/esua/epdc/service/impl/ScreenProjectDataPushDayTaskImpl.java @@ -23,7 +23,7 @@ import java.util.concurrent.Future; /** * @program: esua-epdc - * @description: 大屏【事件/项目分析】信息统计上报 + * @description: 大屏【事件/项目分析】信息统计上报 日 * @author: wangtong * @create: 2021-02-24 13:48 **/ diff --git a/epdc-cloud-job/src/main/java/com/elink/esua/epdc/service/impl/ScreenProjectDataPushMonthTaskImpl.java b/epdc-cloud-job/src/main/java/com/elink/esua/epdc/service/impl/ScreenProjectDataPushMonthTaskImpl.java new file mode 100644 index 0000000..305974e --- /dev/null +++ b/epdc-cloud-job/src/main/java/com/elink/esua/epdc/service/impl/ScreenProjectDataPushMonthTaskImpl.java @@ -0,0 +1,168 @@ +package com.elink.esua.epdc.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.elink.esua.epdc.dto.ScreenJobMonthDataParamDTO; +import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO; +import com.elink.esua.epdc.feign.AnalysisFeignClient; +import com.elink.esua.epdc.service.ScreenProjectDataMonthPushTask; +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; + +/** + * @program: esua-epdc + * @description: 大屏【事件/项目分析】信息统计上报 + * @author: wangtong + * @create: 2021-02-24 13:48 + **/ +@Component("screenProjectDataPushMonthTask") +public class ScreenProjectDataPushMonthTaskImpl implements ScreenProjectDataMonthPushTask { + + 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) { + // 参数处理 + ScreenJobMonthDataParamDTO paramDto = new ScreenJobMonthDataParamDTO(); + if (StringUtils.isNotEmpty(param)) { + paramDto = JSONObject.parseObject(param, ScreenJobMonthDataParamDTO.class); + } + for(int i = 0 ; i < 5 ; i++){ + createThread(i,paramDto); + } + } + + public Integer createThread(Integer methodIndex,ScreenJobMonthDataParamDTO paramDto){ + Future future = service.submit(new Callable() { + @Override + public Integer call() throws Exception { + Thread.sleep(200); + if (methodIndex == 0) { + quantityGridMonthly(paramDto.getGridMonthDataMonthId()); + } else if (methodIndex == 1){ + quantityOrgMonthly(paramDto.getOrgMonthDataMonthId()); + }else if (methodIndex == 2){ + //004、党建引领-先进排行榜单-先进支部排行 -- + customerOrgrankdata(paramDto.getCustomerOrgRankDataMonthId()); + }else if (methodIndex == 3){ + //007、基层治理-公众参与 -- + customerUserjoin(paramDto.getCustomerUserJoinMonthId()); + }else if (methodIndex == 4){ + //009、基层治理-治理能力数据 -- + customerGovernrankdata(paramDto.getCustomerGovernRankData()); + } + return 0; + } + }); + Integer isSuccess = 0; + try { + isSuccess = future.get(); + }catch (Exception e){ + e.printStackTrace(); + } + return isSuccess; + } + + /** + * @describe: 【事件/项目分析】网格内月度数量统计 + * @author wangtong + * @date 2021/2/24 13:57 + * @params [] + * @return void + * @param gridMonthDataMonthId + */ + private void quantityGridMonthly(String gridMonthDataMonthId) { + ScreenJobFormDTO formDto = new ScreenJobFormDTO(); + formDto.setYearMonth(gridMonthDataMonthId); + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|【事件/项目分析】网格内月度数量统计>定时任务开始执行"); + analysisFeignClient.quantityGridMonthly(formDto); + logger.info("<" + methodName + "|【事件/项目分析】网格内月度数量统计>定时任务执行结束"); + } + + /** + * @describe: 【事件/项目分析】组织内月度数量统计 + * @author wangtong + * @date 2021/2/24 13:57 + * @params [] + * @return void + * @param orgMonthDataMonthId + */ + private void quantityOrgMonthly(String orgMonthDataMonthId) { + ScreenJobFormDTO formDto = new ScreenJobFormDTO(); + formDto.setYearMonth(orgMonthDataMonthId); + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|事件/项目分析】组织内月度数量统计>定时任务开始执行"); + analysisFeignClient.quantityOrgMonthly(formDto); + logger.info("<" + methodName + "|事件/项目分析】组织内月度数量统计>定时任务执行结束"); + } + + /** + * 004、党建引领-先进排行榜单-先进支部排行 + * + * @return void + * @author WK + * @since 2020/9/17 14:01 + * @param customerOrgRankDataMonthId + */ + private void customerOrgrankdata(String customerOrgRankDataMonthId) { + ScreenJobFormDTO formDto = new ScreenJobFormDTO(); + formDto.setYearMonth(customerOrgRankDataMonthId); + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|党建引领-先进排行榜单-先进支部排行>定时任务开始执行"); + analysisFeignClient.orgrankdata(formDto); + logger.info("<" + methodName + "|党建引领-先进排行榜单-先进支部排行>定时任务执行结束"); + } + + /** + * 007、基层治理-公众参与 + * + * @return void + * @author WK + * @since 2020/9/17 14:01 + * @param customerUserJoinMonthId + */ + private void customerUserjoin(String customerUserJoinMonthId) { + ScreenJobFormDTO formDto = new ScreenJobFormDTO(); + formDto.setYearMonth(customerUserJoinMonthId); + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|基层治理-公众参与>定时任务开始执行"); + analysisFeignClient.userjoin(formDto); + logger.info("<" + methodName + "|基层治理-公众参与>定时任务执行结束"); + } + + + /** + * 009、基层治理-治理能力数据 + * + * @return void + * @author WK + * @since 2020/9/17 14:01 + * @param customerGovernRankData + */ + private void customerGovernrankdata(String customerGovernRankData) { + ScreenJobFormDTO formDto = new ScreenJobFormDTO(); + formDto.setYearMonth(customerGovernRankData); + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|基层治理-治理能力数据>定时任务开始执行"); + analysisFeignClient.governrankdata(formDto); + logger.info("<" + methodName + "|基层治理-治理能力数据>定时任务执行结束"); + } +} \ No newline at end of file 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 index bd3eee6..4ff739b 100644 --- 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 @@ -17,7 +17,7 @@ import java.util.concurrent.Executors; import java.util.concurrent.Future; /** - * 大屏公共信息统计上报 + * 大屏公共信息统计上报 月 * * @Author:liuchuang * @Date:2020/9/17 13:56