Browse Source

党员基本情况抽取定时任务添加

dev_shibei_match
zxc 5 years ago
parent
commit
42c7b6fd07
  1. 9
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java
  2. 5
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java
  3. 35
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/ScreenExtractDailyController.java
  4. 19
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenExtractDailyService.java
  5. 85
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractDailyServiceImpl.java
  6. 13
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/ScreenExtractTaskService.java
  7. 33
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/ScreenExtractTaskServiceImpl.java
  8. 33
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/ScreenExtractDailyTask.java

9
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java

@ -220,4 +220,13 @@ public interface DataStatisticalOpenFeignClient {
*/
@PostMapping("/data/stats/eidim/init-all")
Result initAllEIDims();
/**
* @Description 抽取数据到大屏
* @param extractFormDTO
* @author zxc
* @date 2020/9/24 10:15 上午
*/
@PostMapping(value = "/data/stats/screenextract/extractdailyall")
Result extractDailyAll(@RequestBody(required = false) ExtractFormDTO extractFormDTO);
}

5
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java

@ -212,4 +212,9 @@ public class DataStatisticalOpenFeignClientFallBack implements DataStatisticalOp
public Result initAllEIDims() {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "initAllEIDims");
}
@Override
public Result extractDailyAll(ExtractFormDTO extractFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "extractDailyAll",extractFormDTO);
}
}

35
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/ScreenExtractDailyController.java

@ -0,0 +1,35 @@
package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.extract.form.ExtractFormDTO;
import com.epmet.service.evaluationindex.extract.toscreen.ScreenExtractDailyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author zxc
* @DateTime 2020/9/24 9:42 上午
*/
@RestController
@RequestMapping("screenextract")
public class ScreenExtractDailyController {
@Autowired
private ScreenExtractDailyService screenExtractDailyService;
/**
* @Description 抽取数据到大屏
* @param extractFormDTO
* @author zxc
* @date 2020/9/24 10:15 上午
*/
@PostMapping("extractdailyall")
public Result screenExtractDaily(@RequestBody ExtractFormDTO extractFormDTO){
screenExtractDailyService.extractAll(extractFormDTO);
return new Result();
}
}

19
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenExtractDailyService.java

@ -0,0 +1,19 @@
package com.epmet.service.evaluationindex.extract.toscreen;
import com.epmet.dto.extract.form.ExtractFormDTO;
/**
* @Author zxc
* @DateTime 2020/9/24 9:57 上午
*/
public interface ScreenExtractDailyService {
/**
* @Description 抽取数据到大屏
* @param extractFormDTO
* @author zxc
* @date 2020/9/24 10:15 上午
*/
void extractAll(ExtractFormDTO extractFormDTO);
}

85
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractDailyServiceImpl.java

@ -0,0 +1,85 @@
package com.epmet.service.evaluationindex.extract.toscreen.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.dto.extract.form.ExtractFormDTO;
import com.epmet.service.evaluationindex.extract.toscreen.PartyBaseInfoService;
import com.epmet.service.evaluationindex.extract.toscreen.PioneerDataExtractService;
import com.epmet.service.evaluationindex.extract.toscreen.ScreenExtractDailyService;
import com.epmet.service.stats.DimCustomerService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
/**
* @Author zxc
* @DateTime 2020/9/24 9:57 上午
*/
@Service
@Slf4j
public class ScreenExtractDailyServiceImpl implements ScreenExtractDailyService {
@Autowired
private DimCustomerService dimCustomerService;
@Autowired
private PartyBaseInfoService partyBaseInfoService;
@Autowired
private PioneerDataExtractService pioneerDataExtractService;
/**
* @Description 抽取数据到大屏
* @param extractFormDTO
* @author zxc
* @date 2020/9/24 10:15 上午
*/
@Override
public void extractAll(ExtractFormDTO extractFormDTO) {
List<String> customerIds = new ArrayList<>();
if (StringUtils.isNotBlank(extractFormDTO.getCustomerId())){
customerIds.add(extractFormDTO.getCustomerId());
}else {
int pageNo = NumConstant.ONE;
int pageSize = NumConstant.ONE_HUNDRED;
customerIds = dimCustomerService.selectCustomerIdPage(pageNo, pageSize);
}
if (!CollectionUtils.isEmpty(customerIds)){
customerIds.forEach(customerId -> {
if (StringUtils.isNotBlank(extractFormDTO.getStartDate()) && StringUtils.isNotBlank(extractFormDTO.getEndDate())){
List<String> daysBetween = DateUtils.getDaysBetween(extractFormDTO.getStartDate(), extractFormDTO.getEndDate());
daysBetween.forEach(dateId -> {
extractDaily(customerId,dateId);
});
}else if (StringUtils.isNotBlank(extractFormDTO.getDateId())){
extractDaily(customerId,extractFormDTO.getDateId());
}else {
String dateId = LocalDate.now().minusDays(NumConstant.ONE).toString().replace("-", "");
extractDaily(customerId,dateId);
}
});
}
}
/**
* @Description 按天计算
* @param customerId
* @param dateId
* @author zxc
* @date 2020/9/24 10:16 上午
*/
public void extractDaily(String customerId,String dateId){
partyBaseInfoService.statsPartyMemberBaseInfoToScreen(customerId,dateId);
pioneerDataExtractService.extractGridPioneerData(customerId,dateId);
pioneerDataExtractService.extractCommunityPioneerData(customerId,dateId);
pioneerDataExtractService.extractStreetPioneerData(customerId,dateId);
pioneerDataExtractService.extractDistrictPioneerData(customerId,dateId);
pioneerDataExtractService.extractCityPioneerData(customerId,dateId);
pioneerDataExtractService.extractProvincePioneerData(customerId,dateId);
}
}

13
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/ScreenExtractTaskService.java

@ -0,0 +1,13 @@
package com.epmet.service;
import com.epmet.commons.tools.utils.Result;
/**
* @Author zxc
* @DateTime 2020/9/24 10:21 上午
*/
public interface ScreenExtractTaskService {
Result screenExtractDaily(String params);
}

33
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/ScreenExtractTaskServiceImpl.java

@ -0,0 +1,33 @@
package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.extract.form.ExtractFormDTO;
import com.epmet.feign.DataStatisticalOpenFeignClient;
import com.epmet.service.ScreenExtractTaskService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @Author zxc
* @DateTime 2020/9/24 10:22 上午
*/
@Service
@Slf4j
public class ScreenExtractTaskServiceImpl implements ScreenExtractTaskService {
@Autowired
private DataStatisticalOpenFeignClient dataStatisticalOpenFeignClient;
@Override
public Result screenExtractDaily(String params) {
ExtractFormDTO extractFormDTO = new ExtractFormDTO();
if (StringUtils.isNotBlank(params)) {
extractFormDTO = JSON.parseObject(params, ExtractFormDTO.class);
}
return dataStatisticalOpenFeignClient.extractDailyAll(extractFormDTO);
}
}

33
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/ScreenExtractDailyTask.java

@ -0,0 +1,33 @@
package com.epmet.task;
import com.epmet.commons.tools.utils.Result;
import com.epmet.service.ScreenExtractTaskService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Author zxc
* @DateTime 2020/9/24 10:26 上午
*/
@Component("screenExtractDailyTask")
public class ScreenExtractDailyTask implements ITask{
@Autowired
private ScreenExtractTaskService screenExtractTaskService;
private Logger logger = LoggerFactory.getLogger(getClass());
@Override
public void run(String params) {
logger.info("ScreenExtractDailyTask定时任务正在执行,参数为:{}", params);
Result result = screenExtractTaskService.screenExtractDaily(params);
if (result.success()){
logger.info("ScreenExtractDailyTask定时任务执行成功");
}else {
logger.error("ScreenExtractDailyTask定时任务执行失败:" + result.getMsg());
}
}
}
Loading…
Cancel
Save