Browse Source

代码暂存

master
jianjun 6 years ago
parent
commit
83afb0e64e
  1. 3
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/LogMsgSendFilter.java
  2. 35
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/IpUtils.java
  3. 14
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java
  4. 30
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java
  5. 45
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/StatsPublicityController.java
  6. 19
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/StatsPublicityService.java
  7. 372
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsPublicityServiceImpl.java

3
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/LogMsgSendFilter.java

@ -8,6 +8,7 @@ import ch.qos.logback.classic.spi.StackTraceElementProxy;
import ch.qos.logback.core.spi.FilterReply;
import com.epmet.commons.tools.dto.form.DingTalkTextMsg;
import com.epmet.commons.tools.utils.DingdingMsgSender;
import com.epmet.commons.tools.utils.IpUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -38,6 +39,8 @@ public class LogMsgSendFilter extends LevelFilter {
stringBuilder.append("告警级别:" + event.getLevel());
stringBuilder.append("\n");
stringBuilder.append("IP地址:" + IpUtils.getServerIp());
stringBuilder.append("\n");
stringBuilder.append("故障时间:" + formatLongTime2Str(event.getTimeStamp()));
stringBuilder.append("\n");
stringBuilder.append("TraceId:" + Thread.currentThread().getName());

35
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/IpUtils.java

@ -13,6 +13,10 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.servlet.http.HttpServletRequest;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
/**
* IP工具类
@ -23,7 +27,7 @@ import javax.servlet.http.HttpServletRequest;
public class IpUtils {
private static Logger logger = LoggerFactory.getLogger(IpUtils.class);
public static String getIpAddr(HttpServletRequest request) {
public static String getIpAddr(HttpServletRequest request) {
String ip = null;
try {
ip = request.getHeader("x-forwarded-for");
@ -48,4 +52,33 @@ public class IpUtils {
return ip;
}
/**
* desc:获取本地Ip
* @return
*/
public static String getServerIp(){
String SERVER_IP = "";
try {
Enumeration netInterfaces = NetworkInterface.getNetworkInterfaces();
InetAddress ip = null;
while (netInterfaces.hasMoreElements()) {
NetworkInterface ni = (NetworkInterface) netInterfaces
.nextElement();
ip = ni.getInetAddresses().nextElement();
SERVER_IP = ip.getHostAddress();
if (!ip.isSiteLocalAddress() && !ip.isLoopbackAddress()
&& ip.getHostAddress().indexOf(":") == -1) {
SERVER_IP = ip.getHostAddress();
break;
}else{
ip = null;
}
}
} catch (SocketException e) {
logger.error("IpUtils getServerIp exception ", e);
}
return SERVER_IP;
}
}

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

@ -29,7 +29,7 @@ public interface DataStatisticalOpenFeignClient {
* @author: jianjun liu
*/
@PostMapping(value = "data/stats/statspublicity/articleSummaryDailyStatsjob")
Result articleSummaryDailyStatsjob(@RequestParam(value = "date",required = false) String date);
Result articleSummaryDailyStatsjob(StatsFormDTO formDTO);
/**
* desc: 定时任务 统计文章总数及在线文章总数 包含 机关 部门 网格
@ -39,7 +39,7 @@ public interface DataStatisticalOpenFeignClient {
* @author: jianjun liu
*/
@PostMapping(value = "data/stats/statspublicity/tagUsedDailyStatsjob")
Result tagUsedDailyStatsjob(@RequestParam(value = "date",required = false) String date);
Result tagUsedDailyStatsjob(StatsFormDTO formDTO);
/**
* desc: 统计发表文章最多的分类 包含 机关 部门 网格
@ -48,7 +48,7 @@ public interface DataStatisticalOpenFeignClient {
* @author: jianjun liu
*/
@PostMapping(value = "data/stats/statspublicity/tagUsedMonthlyStatsjob")
Result tagUsedMonthlyStatsjob(@RequestParam(value = "date",required = false) String date);
Result tagUsedMonthlyStatsjob(StatsFormDTO formDTO);
/**
* desc: 统计发表文章最多的分类 包含 机关 部门 网格
@ -57,7 +57,7 @@ public interface DataStatisticalOpenFeignClient {
* @author: jianjun liu
*/
@PostMapping(value = "data/stats/statspublicity/tagUsedQuarterlyStatsjob")
Result tagUsedQuarterlyStatsjob(@RequestParam(value = "date",required = false) String date);
Result tagUsedQuarterlyStatsjob(StatsFormDTO formDTO);
/**
* desc: 统计阅读最多的标签 包含 机关 网格
@ -66,7 +66,7 @@ public interface DataStatisticalOpenFeignClient {
* @author: jianjun liu
*/
@PostMapping(value = "data/stats/statspublicity/tagViewedDailyStatsjob")
Result tagViewedDailyStatsjob(@RequestParam(value = "date",required = false) String date);
Result tagViewedDailyStatsjob(StatsFormDTO formDTO);
/**
* desc: 统计阅读最多的标签 包含 机关 网格
@ -75,7 +75,7 @@ public interface DataStatisticalOpenFeignClient {
* @author: jianjun liu
*/
@PostMapping(value = "data/stats/statspublicity/tagViewedMonthlyStatsjob")
Result tagViewedMonthlyStatsjob(@RequestParam(value = "date",required = false) String date);
Result tagViewedMonthlyStatsjob(StatsFormDTO formDTO);
/**
* desc: 统计阅读最多的标签 包含 机关 网格
@ -85,7 +85,7 @@ public interface DataStatisticalOpenFeignClient {
* @param date
*/
@PostMapping(value = "data/stats/statspublicity/tagViewedQuarterlyStatsjob")
Result tagViewedQuarterlyStatsjob(@RequestParam(value = "date",required = false) String date);
Result tagViewedQuarterlyStatsjob(StatsFormDTO formDTO);
/**
* @Description 统计 网格小组 dim网格-

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

@ -27,8 +27,8 @@ public class DataStatisticalOpenFeignClientFallBack implements DataStatisticalOp
* @author: jianjun liu
*/
@Override
public Result articleSummaryDailyStatsjob(String date) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "articleSummaryDailyStatsjob");
public Result articleSummaryDailyStatsjob(StatsFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "articleSummaryDailyStatsjob",formDTO);
}
/**
@ -39,8 +39,8 @@ public class DataStatisticalOpenFeignClientFallBack implements DataStatisticalOp
* @author: jianjun liu
*/
@Override
public Result tagUsedDailyStatsjob(String date) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "tagUsedDailyStatsjob");
public Result tagUsedDailyStatsjob(StatsFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "tagUsedDailyStatsjob",formDTO);
}
/**
@ -50,8 +50,8 @@ public class DataStatisticalOpenFeignClientFallBack implements DataStatisticalOp
* @author: jianjun liu
*/
@Override
public Result tagUsedMonthlyStatsjob(String date) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "tagUsedMonthlyStatsjob");
public Result tagUsedMonthlyStatsjob(StatsFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "tagUsedMonthlyStatsjob",formDTO);
}
/**
@ -61,8 +61,8 @@ public class DataStatisticalOpenFeignClientFallBack implements DataStatisticalOp
* @author: jianjun liu
*/
@Override
public Result tagUsedQuarterlyStatsjob(String date) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "tagUsedQuarterlyStatsjob");
public Result tagUsedQuarterlyStatsjob(StatsFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "tagUsedQuarterlyStatsjob",formDTO);
}
/**
@ -72,8 +72,8 @@ public class DataStatisticalOpenFeignClientFallBack implements DataStatisticalOp
* @author: jianjun liu
*/
@Override
public Result tagViewedDailyStatsjob(String date) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "tagViewedDailyStatsjob");
public Result tagViewedDailyStatsjob(StatsFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "tagViewedDailyStatsjob",formDTO);
}
/**
@ -83,8 +83,8 @@ public class DataStatisticalOpenFeignClientFallBack implements DataStatisticalOp
* @author: jianjun liu
*/
@Override
public Result tagViewedMonthlyStatsjob(String date) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "tagViewedMonthlyStatsjob");
public Result tagViewedMonthlyStatsjob(StatsFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "tagViewedMonthlyStatsjob",formDTO);
}
/**
@ -92,11 +92,11 @@ public class DataStatisticalOpenFeignClientFallBack implements DataStatisticalOp
*
* @date: 2020/6/22 9:09
* @author: jianjun liu
* @param date
* @param formDTO
*/
@Override
public Result tagViewedQuarterlyStatsjob(String date) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "tagViewedQuarterlyStatsjob",date);
public Result tagViewedQuarterlyStatsjob(StatsFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "tagViewedQuarterlyStatsjob",formDTO);
}
@Override

45
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/StatsPublicityController.java

@ -1,13 +1,14 @@
package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.StatsFormDTO;
import com.epmet.service.StatsPublicityService;
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;
import java.util.Date;
import java.util.concurrent.ExecutorService;
/**
@ -26,77 +27,77 @@ public class StatsPublicityController {
/**
* desc:统计文章总数及在线文章总数 包含 机关 部门 网格
*
* @param statsDate 默认为T-1天如果传 则统计的是statsDate的数据
* @param formDTO 默认为T-1天如果传 则统计的是formDTO的数据
* @return
*/
@PostMapping(value = "articleSummaryDailyStatsjob")
public Result<Boolean> articleSummaryDailyStatsjob(Date statsDate) {
return new Result<Boolean>().ok(statsPublicityService.articleSummaryDailyStatsjob(statsDate));
public Result<Boolean> articleSummaryDailyStatsjob(@RequestBody(required = false) StatsFormDTO formDTO) {
return new Result<Boolean>().ok(statsPublicityService.articleSummaryDailyStatsjob(formDTO));
}
/**
* desc: 统计发表文章最多的分类 包含 机关 部门 网格
*
* @param statsDate 默认为T-1天如果传 则统计的是statsDate的数据
* @param formDTO 默认为T-1天如果传 则统计的是formDTO的数据
* @return
*/
@PostMapping(value = "tagUsedDailyStatsjob")
public Result<Boolean> tagUsedDailyStatsjob(Date statsDate) {
return new Result<Boolean>().ok(statsPublicityService.tagUsedDailyStatsjob(statsDate));
public Result<Boolean> tagUsedDailyStatsjob(@RequestBody(required = false) StatsFormDTO formDTO) {
return new Result<Boolean>().ok(statsPublicityService.tagUsedDailyStatsjob(formDTO));
}
/**
* desc:, 统计发表文章最多的分类 包含 机关 部门 网格
*
* @param statsDate 默认为T-1天如果传 则统计的是statsDate的数据
* @param formDTO 默认为T-1天如果传 则统计的是formDTO的数据
* @return
*/
@PostMapping(value = "tagUsedMonthlyStatsjob")
public Result<Boolean> tagUsedMonthlyStatsjob(Date statsDate) {
return new Result<Boolean>().ok(statsPublicityService.tagUsedMonthlyStatsjob(statsDate));
public Result<Boolean> tagUsedMonthlyStatsjob(@RequestBody(required = false) StatsFormDTO formDTO) {
return new Result<Boolean>().ok(statsPublicityService.tagUsedMonthlyStatsjob(formDTO));
}
/**
* desc: 统计发表文章最多的分类 包含 机关 部门 网格
*
* @param statsDate 默认为T-1天如果传 则统计的是statsDate的数据
* @param formDTO 默认为T-1天如果传 则统计的是formDTO的数据
* @return
*/
@PostMapping(value = "tagUsedQuarterlyStatsjob")
public Result<Boolean> tagUsedQuarterlyStatsjob(Date statsDate) {
return new Result<Boolean>().ok(statsPublicityService.tagUsedQuarterlyStatsjob(statsDate));
public Result<Boolean> tagUsedQuarterlyStatsjob(@RequestBody(required = false) StatsFormDTO formDTO) {
return new Result<Boolean>().ok(statsPublicityService.tagUsedQuarterlyStatsjob(formDTO));
}
/**
* desc: 统计阅读最多的标签 包含 机关 网格
*
* @param statsDate 默认为T-1天如果传 则统计的是statsDate的数据
* @param formDTO 默认为T-1天如果传 则统计的是formDTO的数据
* @return
*/
@PostMapping(value = "tagViewedDailyStatsjob")
public Result<Boolean> tagViewedDailyStatsjob(Date statsDate) {
return new Result<Boolean>().ok(statsPublicityService.tagViewedDailyStatsjob(statsDate));
public Result<Boolean> tagViewedDailyStatsjob(@RequestBody(required = false) StatsFormDTO formDTO) {
return new Result<Boolean>().ok(statsPublicityService.tagViewedDailyStatsjob(formDTO));
}
/**
* desc: 统计阅读最多的标签 包含 机关 网格
*
* @param statsDate 默认为T-1天如果传 则统计的是statsDate的数据
* @param formDTO 默认为T-1天如果传 则统计的是formDTO的数据
* @return
*/
@PostMapping(value = "tagViewedMonthlyStatsjob")
public Result<Boolean> tagViewedMonthlyStatsjob(Date statsDate) {
return new Result<Boolean>().ok(statsPublicityService.tagViewedMonthlyStatsjob(statsDate));
public Result<Boolean> tagViewedMonthlyStatsjob(@RequestBody(required = false) StatsFormDTO formDTO) {
return new Result<Boolean>().ok(statsPublicityService.tagViewedMonthlyStatsjob(formDTO));
}
/**
* desc: 统计阅读最多的标签 包含 机关 网格
*
* @param statsDate 默认为T-1天如果传 则统计的是statsDate的数据
* @param formDTO 默认为T-1天如果传 则统计的是formDTO的数据
* @return
*/
@PostMapping(value = "tagViewedQuarterlyStatsjob")
public Result<Boolean> tagViewedQuarterlyStatsjob(Date statsDate) {
return new Result<Boolean>().ok(statsPublicityService.tagViewedQuarterlyStatsjob(statsDate));
public Result<Boolean> tagViewedQuarterlyStatsjob(@RequestBody(required = false) StatsFormDTO formDTO) {
return new Result<Boolean>().ok(statsPublicityService.tagViewedQuarterlyStatsjob(formDTO));
}
}

19
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/StatsPublicityService.java

@ -1,7 +1,7 @@
package com.epmet.service;
import java.util.Date;
import com.epmet.dto.StatsFormDTO;
public interface StatsPublicityService {
/**
@ -10,8 +10,9 @@ public interface StatsPublicityService {
* @return: Boolean
* @date: 2020/6/17 16:11
* @author: jianjun liu
* @param statsDate
*/
Boolean articleSummaryDailyStatsjob(Date statsDate);
Boolean articleSummaryDailyStatsjob(StatsFormDTO statsDate);
/**
* desc: 按日 统计每个标签被引用的使用文章数
@ -19,18 +20,20 @@ public interface StatsPublicityService {
* @return: Boolean
* @date: 2020/6/17 16:11
* @author: jianjun liu
* @param statsDate
*/
Boolean tagUsedDailyStatsjob(Date statsDate);
Boolean tagUsedDailyStatsjob(StatsFormDTO statsDate);
/**
* desc: 按月 统计每个标签被引用的使用文章数
*
* @param
* @param statsDate
* @return:
* @date: 2020/6/19 18:44
* @author: jianjun liu
*/
Boolean tagUsedMonthlyStatsjob(Date statsDate);
Boolean tagUsedMonthlyStatsjob(StatsFormDTO statsDate);
/**
* desc: 按季年统计标签被使用次数
@ -40,7 +43,7 @@ public interface StatsPublicityService {
* @date: 2020/6/20 10:44
* @author: jianjun liu
*/
Boolean tagUsedQuarterlyStatsjob(Date statsDate);
Boolean tagUsedQuarterlyStatsjob(StatsFormDTO statsDate);
/**
* desc: 按日 统计每个标签的阅读数
@ -50,7 +53,7 @@ public interface StatsPublicityService {
* @date: 2020/6/20 8:40
* @author: jianjun liu
*/
Boolean tagViewedDailyStatsjob(Date statsDate);
Boolean tagViewedDailyStatsjob(StatsFormDTO statsDate);
/**
* desc: 按月统计标签被查看次数
@ -60,7 +63,7 @@ public interface StatsPublicityService {
* @date: 2020/6/20 10:44
* @author: jianjun liu
*/
Boolean tagViewedMonthlyStatsjob(Date statsDate);
Boolean tagViewedMonthlyStatsjob(StatsFormDTO statsDate);
/**
* desc: 按季年统计标签被查看次数
@ -70,5 +73,5 @@ public interface StatsPublicityService {
* @date: 2020/6/20 10:44
* @author: jianjun liu
*/
Boolean tagViewedQuarterlyStatsjob(Date statsDate);
Boolean tagViewedQuarterlyStatsjob(StatsFormDTO statsDate);
}

372
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsPublicityServiceImpl.java

@ -7,6 +7,7 @@ import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.constant.DimAgencyConstant;
import com.epmet.constant.ProjectConstant;
import com.epmet.dto.StatsFormDTO;
import com.epmet.dto.voice.ArticleGridPublishedSummaryDTO;
import com.epmet.dto.voice.ArticleViewedSummaryDTO;
import com.epmet.entity.stats.*;
@ -21,6 +22,7 @@ import com.epmet.service.voice.ArticleVisitRecordService;
import com.epmet.service.voice.TagCustomerService;
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.stereotype.Service;
import org.springframework.util.CollectionUtils;
@ -105,80 +107,100 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
private FactTagViewedAgencyYearlyService factTagViewedAgencyYearlyService;
@Override
public Boolean articleSummaryDailyStatsjob(Date statsDate) {
public Boolean articleSummaryDailyStatsjob(StatsFormDTO formDTO) {
Date statsDate = getStatsDateFromParam(formDTO);
String statsDateStr = DateUtils.format(statsDate);
DimIdGenerator.DimIdBean dimIdBean = DimIdGenerator.getDimIdBean(statsDate);
//如果不传时间 则统计数据为今天之前的数据和,否则统计的是截止到传入的日期数据的和
if (statsDate == null) {
//查询的是昨天及以前的数据
statsDate = DateUtils.integrate(DateUtils.addDateDays(statsDate, -NumConstant.ONE), DateUtils.DATE_PATTERN);
//入参有客户Id的则按客户Id执行,没有的则全部客户都执行
if (null != formDTO && StringUtils.isNotBlank(formDTO.getCustomerId())) {
statsSummaryByCustomerId(dimIdBean, statsDateStr, formDTO.getCustomerId());
} else {
statsDate = DateUtils.integrate(statsDate, DateUtils.DATE_PATTERN);
}
DimIdGenerator.DimIdBean dimIdBean = DimIdGenerator.getDimIdBean(statsDate);
int pageNo = NumConstant.ONE;
int pageSize = NumConstant.ONE_HUNDRED;
List<String> customerIdList = null;
String statsDateStr = DateUtils.format(statsDate);
do {
customerIdList = dimCustomerService.selectCustomerIdPage(pageNo++, pageSize);
if (!CollectionUtils.isEmpty(customerIdList)) {
for (String customerId : customerIdList) {
try {
//key:所在机关Id
Map<String, ArticleGridPublishedSummaryDTO> agencySummaryMap = new HashMap<>();
statsPublishedGridDaily(statsDateStr, dimIdBean, customerId, agencySummaryMap);
statsPublishedDepartmentDaily(statsDateStr, dimIdBean, customerId, agencySummaryMap);
statsPublishedAgencyDaily(statsDateStr, dimIdBean, customerId, agencySummaryMap);
} catch (Exception e) {
log.error("articlePublishedCountDayStats exception", e);
int pageNo = NumConstant.ONE;
int pageSize = NumConstant.ONE_HUNDRED;
List<String> customerIdList = null;
do {
customerIdList = dimCustomerService.selectCustomerIdPage(pageNo++, pageSize);
if (!CollectionUtils.isEmpty(customerIdList)) {
for (String customerId : customerIdList) {
statsSummaryByCustomerId(dimIdBean, statsDateStr, customerId);
}
}
}
} while (!CollectionUtils.isEmpty(customerIdList) && customerIdList.size() == pageSize);
} while (!CollectionUtils.isEmpty(customerIdList) && customerIdList.size() == pageSize);
}
return true;
}
@Override
public Boolean tagUsedDailyStatsjob(Date statsDate) {
private Date getStatsDateFromParam(StatsFormDTO formDTO) {
Date statsDate = DateUtils.integrate(DateUtils.addDateDays(statsDate, -NumConstant.ONE), DateUtils.DATE_PATTERN);
if (null != formDTO && StringUtils.isNotBlank(formDTO.getDate())) {
statsDate = DateUtils.parse(formDTO.getDate(), DateUtils.DATE_PATTERN);
}
return statsDate;
}
//如果不传时间 则统计数据为今天之前的数据和,否则统计的是截止到传入的日期数据的和
if (statsDate == null) {
//当天的凌晨时间 即为今天之前的数据
statsDate = DateUtils.integrate(DateUtils.addDateDays(new Date(), -NumConstant.ONE), DateUtils.DATE_PATTERN);
} else {
statsDate = DateUtils.integrate(statsDate, DateUtils.DATE_PATTERN);
private void statsSummaryByCustomerId(DimIdGenerator.DimIdBean dimIdBean, String statsDateStr, String customerId) {
try {
//key:所在机关Id
Map<String, ArticleGridPublishedSummaryDTO> agencySummaryMap = new HashMap<>();
statsPublishedGridDaily(statsDateStr, dimIdBean, customerId, agencySummaryMap);
statsPublishedDepartmentDaily(statsDateStr, dimIdBean, customerId, agencySummaryMap);
statsPublishedAgencyDaily(statsDateStr, dimIdBean, customerId, agencySummaryMap);
} catch (Exception e) {
log.error("articlePublishedCountDayStats exception", e);
}
}
@Override
public Boolean tagUsedDailyStatsjob(StatsFormDTO formDTO) {
Date statsDate = getStatsDateFromParam(formDTO);
DimIdGenerator.DimIdBean dimIdBean = DimIdGenerator.getDimIdBean(statsDate);
int pageNo = NumConstant.ONE;
int pageSize = NumConstant.ONE_HUNDRED;
List<String> customerIdList = null;
do {
customerIdList = dimCustomerService.selectCustomerIdPage(pageNo++, pageSize);
if (!CollectionUtils.isEmpty(customerIdList)) {
for (String customerId : customerIdList) {
Date finalStatsDate = statsDate;
//统计
try {
statsTagUsedDaily(finalStatsDate, dimIdBean, customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "tagUsedDailyStatsjob", customerId, dimIdBean.getDateId()), e);
if (null != formDTO && StringUtils.isNotBlank(formDTO.getCustomerId())) {
//统计
try {
statsTagUsedDaily(statsDate, dimIdBean, formDTO.getCustomerId());
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "tagUsedDailyStatsjob", formDTO.getCustomerId(), dimIdBean.getDateId()), e);
}
} else {
int pageNo = NumConstant.ONE;
int pageSize = NumConstant.ONE_HUNDRED;
List<String> customerIdList = null;
do {
customerIdList = dimCustomerService.selectCustomerIdPage(pageNo++, pageSize);
if (!CollectionUtils.isEmpty(customerIdList)) {
for (String customerId : customerIdList) {
//统计
try {
statsTagUsedDaily(statsDate, dimIdBean, customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "tagUsedDailyStatsjob", customerId, dimIdBean.getDateId()), e);
}
}
}
}
} while (!CollectionUtils.isEmpty(customerIdList) && customerIdList.size() == pageSize);
} while (!CollectionUtils.isEmpty(customerIdList) && customerIdList.size() == pageSize);
}
return true;
}
@Override
public Boolean tagUsedMonthlyStatsjob(Date statsDate) {
//如果不传时间 则统计数据为今天之前的数据和,否则统计的是截止到传入的日期数据的和
if (statsDate == null) {
//当天的凌晨时间 即为今天之前的数据
statsDate = DateUtils.integrate(DateUtils.addDateDays(new Date(), -NumConstant.ONE), DateUtils.DATE_PATTERN);
} else {
statsDate = DateUtils.integrate(statsDate, DateUtils.DATE_PATTERN);
}
public Boolean tagUsedMonthlyStatsjob(StatsFormDTO formDTO) {
Date statsDate = getStatsDateFromParam(formDTO);
DimIdGenerator.DimIdBean dimIdBean = DimIdGenerator.getDimIdBean(statsDate);
if (null != formDTO && StringUtils.isNotBlank(formDTO.getCustomerId())) {
try {
statsTagUsedMonthly(dimIdBean.getMonthId(), formDTO.getCustomerId());
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "tagUsedMonthlyStatsjob", formDTO.getCustomerId(), dimIdBean.getMonthId()), e);
}
}
} else
{
int pageNo = NumConstant.ONE;
int pageSize = NumConstant.ONE_HUNDRED;
List<String> customerIdList = null;
@ -194,133 +216,163 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
}
}
} while (!CollectionUtils.isEmpty(customerIdList) && customerIdList.size() == pageSize);
return true;
}
return true;
}
@Override
public Boolean tagViewedDailyStatsjob(Date statsDate) {
public Boolean tagViewedDailyStatsjob(StatsFormDTO formDTO) {
//如果不传时间 则统计数据为今天之前的数据和,否则统计的是截止到传入的日期数据的和
if (statsDate == null) {
//当天的凌晨时间 即为今天之前的数据
statsDate = DateUtils.integrate(DateUtils.addDateDays(new Date(), -NumConstant.ONE), DateUtils.DATE_PATTERN);
} else {
statsDate = DateUtils.integrate(statsDate, DateUtils.DATE_PATTERN);
}
Date statsDate = getStatsDateFromParam(formDTO);
DimIdGenerator.DimIdBean dimIdBean = DimIdGenerator.getDimIdBean(statsDate);
int pageNo = NumConstant.ONE;
int pageSize = NumConstant.ONE_HUNDRED;
List<String> customerIdList = null;
do {
customerIdList = dimCustomerService.selectCustomerIdPage(pageNo++, pageSize);
if (!CollectionUtils.isEmpty(customerIdList)) {
for (String customerId : customerIdList) {
try {
statsTagViewedDaily(statsDate, dimIdBean, customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "tagViewedDailyStatsjob", customerId, dimIdBean.getDateId()), e);
if (null != formDTO && StringUtils.isNotBlank(formDTO.getCustomerId())) {
try {
statsTagUsedMonthly(dimIdBean.getMonthId(), formDTO.getCustomerId());
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "tagUsedMonthlyStatsjob", customerId, dimIdBean.getMonthId()), e);
}
} else {
int pageNo = NumConstant.ONE;
int pageSize = NumConstant.ONE_HUNDRED;
List<String> customerIdList = null;
do {
customerIdList = dimCustomerService.selectCustomerIdPage(pageNo++, pageSize);
if (!CollectionUtils.isEmpty(customerIdList)) {
for (String customerId : customerIdList) {
try {
statsTagViewedDaily(statsDate, dimIdBean, customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "tagViewedDailyStatsjob", customerId, dimIdBean.getDateId()), e);
}
}
}
}
} while (!CollectionUtils.isEmpty(customerIdList) && customerIdList.size() == pageSize);
} while (!CollectionUtils.isEmpty(customerIdList) && customerIdList.size() == pageSize);
}
return true;
}
@Override
public Boolean tagViewedMonthlyStatsjob(Date statsDate) {
//如果不传时间 则统计数据为今天之前的数据和,否则统计的是截止到传入的日期数据的和
if (statsDate == null) {
//当天的凌晨时间 即为今天之前的数据
statsDate = DateUtils.integrate(DateUtils.addDateDays(new Date(), -NumConstant.ONE), DateUtils.DATE_PATTERN);
} else {
statsDate = DateUtils.integrate(statsDate, DateUtils.DATE_PATTERN);
}
public Boolean tagViewedMonthlyStatsjob(StatsFormDTO formDTO) {
Date statsDate = getStatsDateFromParam(formDTO);
DimIdGenerator.DimIdBean dimIdBean = DimIdGenerator.getDimIdBean(statsDate);
int pageNo = NumConstant.ONE;
int pageSize = NumConstant.ONE_HUNDRED;
List<String> customerIdList = null;
do {
customerIdList = dimCustomerService.selectCustomerIdPage(pageNo++, pageSize);
if (!CollectionUtils.isEmpty(customerIdList)) {
for (String customerId : customerIdList) {
try {
statsTagViewedMonthly(dimIdBean.getMonthId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "tagViewedMonthlyStatsjob", customerId, dimIdBean.getDateId()), e);
if (null != formDTO && StringUtils.isNotBlank(formDTO.getCustomerId())) {
try {
statsTagViewedMonthly(dimIdBean.getMonthId(), formDTO.getCustomerId());
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "tagViewedMonthlyStatsjob", formDTO.getCustomerId(), dimIdBean.getDateId()), e);
}
} else {
int pageNo = NumConstant.ONE;
int pageSize = NumConstant.ONE_HUNDRED;
List<String> customerIdList = null;
do {
customerIdList = dimCustomerService.selectCustomerIdPage(pageNo++, pageSize);
if (!CollectionUtils.isEmpty(customerIdList)) {
for (String customerId : customerIdList) {
try {
statsTagViewedMonthly(dimIdBean.getMonthId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "tagViewedMonthlyStatsjob", customerId, dimIdBean.getDateId()), e);
}
}
}
}
} while (!CollectionUtils.isEmpty(customerIdList) && customerIdList.size() == pageSize);
} while (!CollectionUtils.isEmpty(customerIdList) && customerIdList.size() == pageSize);
}
return true;
}
@Override
public Boolean tagUsedQuarterlyStatsjob(Date statsDate) {
//如果不传时间 则统计数据为今天之前的数据和,否则统计的是截止到传入的日期数据的和
if (statsDate == null) {
//当天的凌晨时间 即为今天之前的数据
statsDate = DateUtils.integrate(DateUtils.addDateDays(new Date(), -NumConstant.ONE), DateUtils.DATE_PATTERN);
} else {
statsDate = DateUtils.integrate(statsDate, DateUtils.DATE_PATTERN);
}
public Boolean tagUsedQuarterlyStatsjob(StatsFormDTO formDTO) {
Date statsDate = getStatsDateFromParam(formDTO);
DimIdGenerator.DimIdBean dimIdBean = DimIdGenerator.getDimIdBean(statsDate);
int pageNo = NumConstant.ONE;
int pageSize = NumConstant.ONE_HUNDRED;
List<String> customerIdList = null;
do {
customerIdList = dimCustomerService.selectCustomerIdPage(pageNo++, pageSize);
if (!CollectionUtils.isEmpty(customerIdList)) {
for (String customerId : customerIdList) {
try {
log.debug("start === statsTagUsedQuarterly ");
statsTagUsedQuarterly(dimIdBean.getQuarterId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagUsedQuarterly", customerId, dimIdBean.getQuarterId()), e);
}
try {
log.debug("start === statsTagUsedQuarterly ");
statsTagUsedYearly(dimIdBean.getYearId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagUsedYearly", customerId, dimIdBean.getYearId()), e);
}
if (null != formDTO && StringUtils.isNotBlank(formDTO.getCustomerId())) {
try {
try {
log.debug("start === statsTagUsedQuarterly ");
statsTagUsedQuarterly(dimIdBean.getQuarterId(), formDTO.getCustomerId());
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagUsedQuarterly", formDTO.getCustomerId(), dimIdBean.getQuarterId()), e);
}
try {
log.debug("start === statsTagUsedQuarterly ");
statsTagUsedYearly(dimIdBean.getYearId(), formDTO.getCustomerId());
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagUsedYearly", formDTO.getCustomerId(), dimIdBean.getYearId()), e);
}
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "tagViewedMonthlyStatsjob", formDTO.getCustomerId(), dimIdBean.getDateId()), e);
}
} while (!CollectionUtils.isEmpty(customerIdList) && customerIdList.size() == pageSize);
} else {
int pageNo = NumConstant.ONE;
int pageSize = NumConstant.ONE_HUNDRED;
List<String> customerIdList = null;
do {
customerIdList = dimCustomerService.selectCustomerIdPage(pageNo++, pageSize);
if (!CollectionUtils.isEmpty(customerIdList)) {
for (String customerId : customerIdList) {
try {
log.debug("start === statsTagUsedQuarterly ");
statsTagUsedQuarterly(dimIdBean.getQuarterId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagUsedQuarterly", customerId, dimIdBean.getQuarterId()), e);
}
try {
log.debug("start === statsTagUsedQuarterly ");
statsTagUsedYearly(dimIdBean.getYearId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagUsedYearly", customerId, dimIdBean.getYearId()), e);
}
}
}
} while (!CollectionUtils.isEmpty(customerIdList) && customerIdList.size() == pageSize);
}
return true;
}
@Override
public Boolean tagViewedQuarterlyStatsjob(Date statsDate) {
//如果不传时间 则统计数据为今天之前的数据和,否则统计的是截止到传入的日期数据的和
if (statsDate == null) {
//当天的凌晨时间 即为今天之前的数据
statsDate = DateUtils.integrate(DateUtils.addDateDays(new Date(), -NumConstant.ONE), DateUtils.DATE_PATTERN);
} else {
statsDate = DateUtils.integrate(statsDate, DateUtils.DATE_PATTERN);
}
public Boolean tagViewedQuarterlyStatsjob(StatsFormDTO formDTO) {
Date statsDate = getStatsDateFromParam(formDTO);
DimIdGenerator.DimIdBean dimIdBean = DimIdGenerator.getDimIdBean(statsDate);
int pageNo = NumConstant.ONE;
int pageSize = NumConstant.ONE_HUNDRED;
List<String> customerIdList = null;
do {
customerIdList = dimCustomerService.selectCustomerIdPage(pageNo++, pageSize);
if (!CollectionUtils.isEmpty(customerIdList)) {
for (String customerId : customerIdList) {
try {
log.debug("start === statsTagViewedQuarterly ");
statsTagViewedQuarterly(dimIdBean.getQuarterId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagViewedQuarterly", customerId, dimIdBean.getQuarterId()), e);
}
try {
log.debug("start === statsTagViewedYearly ");
statsTagViewedYearly(dimIdBean.getYearId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagViewedQuarterly", customerId, dimIdBean.getYearId()), e);
if (null != formDTO && StringUtils.isNotBlank(formDTO.getCustomerId())) {
try {
log.debug("start === statsTagViewedQuarterly ");
statsTagViewedQuarterly(dimIdBean.getQuarterId(), formDTO.getCustomerId());
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagViewedQuarterly", formDTO.getCustomerId(), dimIdBean.getQuarterId()), e);
}
try {
log.debug("start === statsTagViewedYearly ");
statsTagViewedYearly(dimIdBean.getYearId(), formDTO.getCustomerId());
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagViewedQuarterly", formDTO.getCustomerId(), dimIdBean.getYearId()), e);
}
} else {
int pageNo = NumConstant.ONE;
int pageSize = NumConstant.ONE_HUNDRED;
List<String> customerIdList = null;
do {
customerIdList = dimCustomerService.selectCustomerIdPage(pageNo++, pageSize);
if (!CollectionUtils.isEmpty(customerIdList)) {
for (String customerId : customerIdList) {
try {
log.debug("start === statsTagViewedQuarterly ");
statsTagViewedQuarterly(dimIdBean.getQuarterId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagViewedQuarterly", customerId, dimIdBean.getQuarterId()), e);
}
try {
log.debug("start === statsTagViewedYearly ");
statsTagViewedYearly(dimIdBean.getYearId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagViewedQuarterly", customerId, dimIdBean.getYearId()), e);
}
}
}
}
} while (!CollectionUtils.isEmpty(customerIdList) && customerIdList.size() == pageSize);
} while (!CollectionUtils.isEmpty(customerIdList) && customerIdList.size() == pageSize);
}
return true;
}
@ -870,13 +922,13 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
*/
private void statsTagViewedQuarterly(String quarterId, String customerId) {
List<FactTagViewedGridMonthlyEntity> gridMonthlyList = factTagViewedGridMonthlyService.getTagViewedCountByQuarterId(customerId, quarterId);
log.debug("statsTagViewedQuarterly grid quarterId:{},customerId:{},result:{}",quarterId,customerId,JSON.toJSONString(gridMonthlyList));
log.debug("statsTagViewedQuarterly grid quarterId:{},customerId:{},result:{}", quarterId, customerId, JSON.toJSONString(gridMonthlyList));
if (!CollectionUtils.isEmpty(gridMonthlyList)) {
List<FactTagViewedGridQuarterlyEntity> gridQuarterlyList = ConvertUtils.sourceToTarget(gridMonthlyList, FactTagViewedGridQuarterlyEntity.class);
factTagViewedGridQuarterlyService.deleteAndInsertByQuarterId(customerId, quarterId, gridQuarterlyList);
}
List<FactTagViewedAgencyMonthlyEntity> agencyMonthlyList = factTagViewedAgencyMonthlyService.getTagViewedCountByQuarterId(customerId, quarterId);
log.debug("statsTagViewedQuarterly agency quarterId:{},customerId:{},result:{}",quarterId,customerId,JSON.toJSONString(gridMonthlyList));
log.debug("statsTagViewedQuarterly agency quarterId:{},customerId:{},result:{}", quarterId, customerId, JSON.toJSONString(gridMonthlyList));
if (!CollectionUtils.isEmpty(agencyMonthlyList)) {
List<FactTagViewedAgencyQuarterlyEntity> agencyQuarterlyList = ConvertUtils.sourceToTarget(agencyMonthlyList, FactTagViewedAgencyQuarterlyEntity.class);
factTagViewedAgencyQuarterlyService.deleteAndInsertByQuarterId(customerId, quarterId, agencyQuarterlyList);
@ -915,13 +967,13 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
*/
private void statsTagViewedYearly(String yearId, String customerId) {
List<FactTagViewedGridMonthlyEntity> gridMonthlyList = factTagViewedGridMonthlyService.getTagViewedCountByYearId(customerId, yearId);
log.debug("statsTagViewedYearly grid yearId:{},customerId:{},result:{}",yearId,customerId,JSON.toJSONString(gridMonthlyList));
log.debug("statsTagViewedYearly grid yearId:{},customerId:{},result:{}", yearId, customerId, JSON.toJSONString(gridMonthlyList));
if (!CollectionUtils.isEmpty(gridMonthlyList)) {
List<FactTagViewedGridYearlyEntity> gridYearlyList = ConvertUtils.sourceToTarget(gridMonthlyList, FactTagViewedGridYearlyEntity.class);
factTagViewedGridYearlyService.deleteAndInsertByYearId(customerId, yearId, gridYearlyList);
}
List<FactTagViewedAgencyMonthlyEntity> agencyMonthlyList = factTagViewedAgencyMonthlyService.getTagViewedCountByYearId(customerId, yearId);
log.debug("statsTagViewedYearly agency yearId:{},customerId:{},result:{}",yearId,customerId,JSON.toJSONString(agencyMonthlyList));
log.debug("statsTagViewedYearly agency yearId:{},customerId:{},result:{}", yearId, customerId, JSON.toJSONString(agencyMonthlyList));
if (!CollectionUtils.isEmpty(agencyMonthlyList)) {
List<FactTagViewedAgencyYearlyEntity> agencyYearlyList = ConvertUtils.sourceToTarget(agencyMonthlyList, FactTagViewedAgencyYearlyEntity.class);
factTagViewedAgencyYearlyService.deleteAndInsertByYearId(customerId, yearId, agencyYearlyList);

Loading…
Cancel
Save