Browse Source

Merge remote-tracking branch 'origin/dev'

dev_shibei_match
yinzuomei 5 years ago
parent
commit
00b4db3c63
  1. 23
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/IndexStatisticsFormDTO.java
  2. 5
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/CustomerAgencyFormDTO.java
  3. 7
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexCalculateController.java
  4. 6
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/plugins/OfsController.java
  5. 3
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcal/IndexCalculateService.java
  6. 43
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcal/impl/IndexCalculateServiceImpl.java

23
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/IndexStatisticsFormDTO.java

@ -0,0 +1,23 @@
package com.epmet.dto.indexcal;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2021/3/3 下午4:32
*/
@Data
public class IndexStatisticsFormDTO implements Serializable {
private static final long serialVersionUID = 1127307237675056558L;
private String customerId;
private String monthId;
private String startMonth;
private String endMonth;
}

5
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/CustomerAgencyFormDTO.java

@ -60,7 +60,7 @@ public class CustomerAgencyFormDTO implements Serializable {
private String level;
/**
* 行政地区编码
* 行政地区编码孔村榆山锦水以及孔村要有值
*/
private String areaCode;
@ -75,7 +75,8 @@ public class CustomerAgencyFormDTO implements Serializable {
private String isDisplay;
/**
* 当前组织的上级行政地区编码add0204;举例平阴县对应的是济南市3701
* v2升级当前组织的上级行政地区编码add0204;举例平阴县对应的是济南市3701
* 孔村榆山锦水以及孔村要有值
*/
private String parentAreaCode;
}

7
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexCalculateController.java

@ -10,6 +10,7 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.constant.CalculateStatus;
import com.epmet.dto.indexcal.CalculateCommonFormDTO;
import com.epmet.dto.indexcal.IndexStatisticsFormDTO;
import com.epmet.model.CalculateFlagModel;
import com.epmet.service.evaluationindex.indexcal.CpcIndexCalculateService;
import com.epmet.service.evaluationindex.indexcal.IndexCalculateService;
@ -335,4 +336,10 @@ public class IndexCalculateController {
factIndexCollectService.insertDeptGovrnAbility(formDTO, externalAppRequestParam.getCustomerId());
return new Result();
}*/
@PostMapping("indexstatistics")
public Result indexStatistics(@RequestBody IndexStatisticsFormDTO formDTO){
indexCalculateService.indexStatistics(formDTO);
return new Result();
}
}

6
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/plugins/OfsController.java

@ -26,7 +26,7 @@ public class OfsController {
* @param customerId
* @param formDTO
* @author yinzuomei
* @description 146一张清单
* @description 146一张清单 isFirst=true时,根据customerId先删除后增加
* @Date 2021/1/22 10:19
**/
@PostMapping("onelist-daily")
@ -40,7 +40,7 @@ public class OfsController {
* @param customerId
* @param formDTO
* @author yinzuomei
* @description 146合同监管
* @description 146合同监管 isFirst=true时,根据customerId先删除后增加
* @Date 2021/1/22 10:42
**/
@PostMapping("contract-daily")
@ -54,7 +54,7 @@ public class OfsController {
* @param customerId
* @param formDTO
* @author yinzuomei
* @description 146竞标管理
* @description 146竞标管理 isFirst=true时,根据customerId先删除后增加
* @Date 2021/1/22 10:53
**/
@PostMapping("bid-daily")

3
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcal/IndexCalculateService.java

@ -1,6 +1,7 @@
package com.epmet.service.evaluationindex.indexcal;
import com.epmet.dto.indexcal.CalculateCommonFormDTO;
import com.epmet.dto.indexcal.IndexStatisticsFormDTO;
/**
* 指标计算service
@ -16,4 +17,6 @@ public interface IndexCalculateService {
* @return
*/
Boolean indexCalculate(CalculateCommonFormDTO formDTO);
Boolean indexStatistics(IndexStatisticsFormDTO formDTO);
}

43
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcal/impl/IndexCalculateServiceImpl.java

@ -2,22 +2,27 @@ package com.epmet.service.evaluationindex.indexcal.impl;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.enums.EnvEnum;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.HttpClientManager;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.DataSourceConstant;
import com.epmet.dao.evaluationindex.screen.ScreenCustomerAgencyDao;
import com.epmet.dto.indexcal.CalculateCommonFormDTO;
import com.epmet.dto.indexcal.CustomerSubInfoDTO;
import com.epmet.dto.indexcal.IndexStatisticsFormDTO;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.redis.IndexCalRedis;
import com.epmet.service.crm.CustomerRelationService;
import com.epmet.service.evaluationindex.extract.dataToIndex.IndexOriginExtractService;
import com.epmet.service.evaluationindex.indexcal.*;
import com.epmet.service.evaluationindex.indexcoll.FactIndexCollectService;
import com.epmet.util.DimIdGenerator;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
@ -55,6 +60,8 @@ public class IndexCalculateServiceImpl implements IndexCalculateService {
private ScreenCustomerAgencyDao screenCustomerAgencyDao;
@Autowired
private CustomerRelationService customerRelationService;
@Autowired
private IndexOriginExtractService indexOriginExtractService;
@Override
public Boolean indexCalculate(CalculateCommonFormDTO formDTO) {
@ -203,4 +210,40 @@ public class IndexCalculateServiceImpl implements IndexCalculateService {
private Map<String, CustomerSubInfoDTO> getCustomerInfoMap(List<String> customerIds) {
return customerRelationService.getCustomerInfoMap(customerIds);
}
@Async
@Override
public Boolean indexStatistics(IndexStatisticsFormDTO formDTO) {
List<String> customerIds = new ArrayList<>();
if (StringUtils.isEmpty(formDTO.getCustomerId())){
Result<List<String>> externalCustomerIds = epmetCommonServiceOpenFeignClient.getExternalCustomerIds();
if (!externalCustomerIds.success()){
log.error("indexCalculate epmetCommonServiceOpenFeignClient.getExternalCustomerIds return fail");
return false;
}
customerIds = externalCustomerIds.getData();
}else customerIds.add(formDTO.getCustomerId());
List<String> monthIds = new ArrayList<>();
if (StringUtils.isNotEmpty(formDTO.getStartMonth()) && StringUtils.isNotEmpty(formDTO.getEndMonth())){
monthIds = DateUtils.getMonthBetween(formDTO.getStartMonth(),formDTO.getEndMonth());
log.info(JSON.toJSONString(monthIds));
}else {
if (StringUtils.isEmpty(formDTO.getMonthId())){
// 默认上月
monthIds.add(DimIdGenerator.getMonthDimId(DateUtils.addDateMonths(new Date(), -1)));
}else monthIds.add(formDTO.getMonthId());
}
List<String> finalMonthIds = monthIds;
customerIds.forEach(customerId -> {
finalMonthIds.forEach(monthId -> {
CalculateCommonFormDTO extractFormDTO = new CalculateCommonFormDTO();
extractFormDTO.setCustomerId(customerId);
extractFormDTO.setMonthId(monthId);
long start = System.currentTimeMillis();
boolean calFlag=this.indexCalculate(extractFormDTO);
HttpClientManager.getInstance().sendAlarmMsg(EnvEnum.getCurrentEnv().getName() + "客户Id:" + extractFormDTO.getCustomerId() + ";monthId:" + extractFormDTO.getMonthId() + ",calculateAll全部指标计算完成,是否成功:" + calFlag + ",总耗时:" + (System.currentTimeMillis() - start) / 1000 + "秒");
});
});
return true;
}
}

Loading…
Cancel
Save