Browse Source

定时任务 修改

feature/screenDataPush
songyunpeng 5 years ago
parent
commit
c671aa0fce
  1. 97
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushDayTaskImpl.java
  2. 19
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectPushTask.java
  3. 140
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectPushTaskImpl.java

97
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushDayTaskImpl.java

@ -41,7 +41,7 @@ public class ScreenProjectDataPushDayTaskImpl implements ScreenProjectDataMonthP
@Override
public void run(String param) {
for (int i = 0; i < 14; i++) {
for (int i = 0; i < 12; i++) {
createThread(i);
}
}
@ -55,38 +55,34 @@ public class ScreenProjectDataPushDayTaskImpl implements ScreenProjectDataMonthP
projectGridDaily();
} else if (methodIndex == 1) {
projectOrgDaily();
} else if (methodIndex == 2) {
uploadProjectInfo();
} else if (methodIndex == 3) {
uploadProjectProcess();
} else if (methodIndex == 4) {
} else if (methodIndex == 2) {
//001、基层党建-党员基本情况
customerCpcbasedata();
} else if (methodIndex == 5) {
} else if (methodIndex == 3) {
//002、党建引领-先锋模范数据
customerPioneerdata();
} else if (methodIndex == 6) {
} else if (methodIndex == 4) {
//003、党建引领-党员联系群众数据
customerPartylinkmassesdata();
} else if (methodIndex == 7) {
} else if (methodIndex == 5) {
//005、党建引领|基层治理-居民(党员)积分排行榜
customerPartyuserrankdata();
} else if (methodIndex == 8) {
} else if (methodIndex == 6) {
//006、基层治理-难点赌点项目上报
customerDifficultydata();
} else if (methodIndex == 9) {
} else if (methodIndex == 7) {
// 008、公众参与各类总数
customerPublicpartitotaldata();
} else if (methodIndex == 10) {
} else if (methodIndex == 8) {
// 010、中央区各类总数
customerUsertotaldata();
}else if (methodIndex == 11) {
}else if (methodIndex == 9) {
// 011、项目分类字典上报
uploadcategorydict();
}else if (methodIndex == 12) {
}else if (methodIndex == 10) {
// 012、【事件/项目分析】按类别统计-网格
categoryGridDaily();
}else if (methodIndex == 13) {
}else if (methodIndex == 11) {
// 013、【事件/项目分析】按类别统计-组织
categoryOrgDaily();
}
@ -101,77 +97,6 @@ public class ScreenProjectDataPushDayTaskImpl implements ScreenProjectDataMonthP
}
return isSuccess;
}
/**
* @return void
* @Description 项目信息上报
* @Author songyunpeng
* @Date 2021/2/24
* @Param []
**/
private void uploadProjectInfo() {
// 方法名
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName();
logger.info("<" + methodName + "|项目信息上报>定时任务开始执行");
//获取上次统计时间
Map<String, Object> param = new HashMap<>();
param.put("JOB_NAME", "uploadProjectInfo");
List<ScreenRecordEntity> screenRecordEntities = screenRecordDao.selectByMap(param);
ScreenRecordEntity screenRecordEntity = new ScreenRecordEntity();
ScreenProjectFormDTO screenProjectFormDTO = new ScreenProjectFormDTO();
if (screenRecordEntities == null || screenRecordEntities.size() == 0) {
screenProjectFormDTO.setYearMonthDay("2020-01-01");
} else {
screenRecordEntity = screenRecordEntities.get(0);
screenProjectFormDTO.setYearMonthDay(DateUtils.format(screenRecordEntity.getStatisticsTime(), DateUtils.DATE_PATTERN));
}
//记录此次统计时间 并更新时间或者新增
screenRecordEntity.setStatisticsTime(DateUtils.addDateDays(new Date(), -1));
if (StringUtils.isNotBlank(screenRecordEntity.getId())) {
screenRecordDao.updateById(screenRecordEntity);
} else {
screenRecordEntity.setJobName("uploadProjectInfo");
screenRecordDao.insert(screenRecordEntity);
}
analysisFeignClient.uploadProjectInfo(screenProjectFormDTO);
logger.info("<" + methodName + "|项目信息上报>定时任务执行结束");
}
/**
* @return void
* @Description 项目处理流程信息上报
* @Author songyunpeng
* @Date 2021/2/24
* @Param []
**/
private void uploadProjectProcess() {
// 方法名
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName();
logger.info("<" + methodName + "|项目处理流程信息上报>定时任务开始执行");
//获取上次统计时间
Map<String, Object> param = new HashMap<>();
param.put("JOB_NAME", "uploadProjectProcess");
List<ScreenRecordEntity> screenRecordEntities = screenRecordDao.selectByMap(param);
ScreenRecordEntity screenRecordEntity = new ScreenRecordEntity();
ScreenProjectFormDTO screenProjectFormDTO = new ScreenProjectFormDTO();
if (screenRecordEntities == null || screenRecordEntities.size() == 0) {
screenProjectFormDTO.setYearMonthDay("2020-01-01");
} else {
screenRecordEntity = screenRecordEntities.get(0);
screenProjectFormDTO.setYearMonthDay(DateUtils.format(screenRecordEntity.getStatisticsTime(), DateUtils.DATE_PATTERN));
}
//记录此次统计时间 并更新时间或者新增
screenRecordEntity.setStatisticsTime(DateUtils.addDateDays(new Date(), -1));
if (StringUtils.isNotBlank(screenRecordEntity.getId())) {
screenRecordDao.updateById(screenRecordEntity);
} else {
screenRecordEntity.setJobName("uploadProjectProcess");
screenRecordDao.insert(screenRecordEntity);
}
analysisFeignClient.uploadProjectProcess(screenProjectFormDTO);
logger.info("<" + methodName + "|项目处理流程信息上报>定时任务执行结束");
}
/**
* @return void
* @describe: 事件/项目分析网格内事件

19
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectPushTask.java

@ -0,0 +1,19 @@
package com.elink.esua.epdc.task.screen;
/**
* 大屏项目信息统计上报
*
* @Author wangtong
* @Date 2021/2/24 14:16
*/
public interface ScreenProjectPushTask {
/**
* 大屏数据推送
*
* @param param 入参
* @return void
* @author wangtong
* @since 2021/2/24 14:16
*/
void run(String param);
}

140
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectPushTaskImpl.java

@ -0,0 +1,140 @@
package com.elink.esua.epdc.task.screen;
import com.elink.esua.epdc.commons.tools.utils.DateUtils;
import com.elink.esua.epdc.dao.ScreenRecordDao;
import com.elink.esua.epdc.dto.screen.form.ScreenProjectFormDTO;
import com.elink.esua.epdc.entity.ScreenRecordEntity;
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.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
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("screenProjectPushTask")
public class ScreenProjectPushTaskImpl implements ScreenProjectPushTask {
private final Logger logger = LoggerFactory.getLogger(getClass());
private static final ExecutorService service = Executors.newFixedThreadPool(100);
@Autowired
private AnalysisFeignClient analysisFeignClient;
@Autowired
private ScreenRecordDao screenRecordDao;
@Override
public void run(String param) {
for (int i = 0; i < 2; i++) {
createThread(i);
}
}
public Integer createThread(Integer methodIndex) {
Future<Integer> future = service.submit(new Callable<Integer>() {
@Override
public Integer call() throws Exception {
Thread.sleep(200);
if (methodIndex == 0) {
uploadProjectInfo();
} else if (methodIndex == 1) {
uploadProjectProcess();
}
return 0;
}
});
Integer isSuccess = 0;
try {
isSuccess = future.get();
} catch (Exception e) {
e.printStackTrace();
}
return isSuccess;
}
/**
* @return void
* @Description 项目信息上报
* @Author songyunpeng
* @Date 2021/2/24
* @Param []
**/
private void uploadProjectInfo() {
// 方法名
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName();
logger.info("<" + methodName + "|项目信息上报>定时任务开始执行");
//获取上次统计时间
Map<String, Object> param = new HashMap<>();
param.put("JOB_NAME", "uploadProjectInfo");
List<ScreenRecordEntity> screenRecordEntities = screenRecordDao.selectByMap(param);
ScreenRecordEntity screenRecordEntity = new ScreenRecordEntity();
ScreenProjectFormDTO screenProjectFormDTO = new ScreenProjectFormDTO();
if (screenRecordEntities == null || screenRecordEntities.size() == 0) {
screenProjectFormDTO.setYearMonthDay("2020-01-01");
} else {
screenRecordEntity = screenRecordEntities.get(0);
screenProjectFormDTO.setYearMonthDay(DateUtils.format(screenRecordEntity.getStatisticsTime(), DateUtils.DATE_PATTERN));
}
//记录此次统计时间 并更新时间或者新增
screenRecordEntity.setStatisticsTime(DateUtils.addDateDays(new Date(), -1));
if (StringUtils.isNotBlank(screenRecordEntity.getId())) {
screenRecordDao.updateById(screenRecordEntity);
} else {
screenRecordEntity.setJobName("uploadProjectInfo");
screenRecordDao.insert(screenRecordEntity);
}
analysisFeignClient.uploadProjectInfo(screenProjectFormDTO);
logger.info("<" + methodName + "|项目信息上报>定时任务执行结束");
}
/**
* @return void
* @Description 项目处理流程信息上报
* @Author songyunpeng
* @Date 2021/2/24
* @Param []
**/
private void uploadProjectProcess() {
// 方法名
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName();
logger.info("<" + methodName + "|项目处理流程信息上报>定时任务开始执行");
//获取上次统计时间
Map<String, Object> param = new HashMap<>();
param.put("JOB_NAME", "uploadProjectProcess");
List<ScreenRecordEntity> screenRecordEntities = screenRecordDao.selectByMap(param);
ScreenRecordEntity screenRecordEntity = new ScreenRecordEntity();
ScreenProjectFormDTO screenProjectFormDTO = new ScreenProjectFormDTO();
if (screenRecordEntities == null || screenRecordEntities.size() == 0) {
screenProjectFormDTO.setYearMonthDay("2020-01-01");
} else {
screenRecordEntity = screenRecordEntities.get(0);
screenProjectFormDTO.setYearMonthDay(DateUtils.format(screenRecordEntity.getStatisticsTime(), DateUtils.DATE_PATTERN));
}
//记录此次统计时间 并更新时间或者新增
screenRecordEntity.setStatisticsTime(DateUtils.addDateDays(new Date(), -1));
if (StringUtils.isNotBlank(screenRecordEntity.getId())) {
screenRecordDao.updateById(screenRecordEntity);
} else {
screenRecordEntity.setJobName("uploadProjectProcess");
screenRecordDao.insert(screenRecordEntity);
}
analysisFeignClient.uploadProjectProcess(screenProjectFormDTO);
logger.info("<" + methodName + "|项目处理流程信息上报>定时任务执行结束");
}
}
Loading…
Cancel
Save