## Opt - 盒数&市场动态, 凌晨3天前取-1天

This commit is contained in:
sangelxiu1 2025-07-18 10:15:34 +08:00
parent f22246a05c
commit 89100397d7
1 changed files with 36 additions and 3 deletions

View File

@ -33,6 +33,8 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAdjusters;
@ -334,6 +336,37 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
int period = cuMemberSettlePeriod.getPkId();
return TableNameConstants.CU_MEMBER_RETAIL_S + period;
}
private String getTableNameSpecial() {
String localDate = LocalDate.now().minus(1, ChronoUnit.DAYS).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
if(isBeforeThreeAm()){
localDate = LocalDate.now().minus(2, ChronoUnit.DAYS).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
}
CuMemberSettlePeriod cuMemberSettlePeriod =iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate);
if(ObjectUtil.isEmpty(cuMemberSettlePeriod)){
return null;
}
int period = cuMemberSettlePeriod.getPkId();
return TableNameConstants.CU_MEMBER_RETAIL_RANGE + period;
}
private String getDayTableNameSpecial() {
String localDate = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
if(isBeforeThreeAm()){
localDate = LocalDate.now().minus(1, ChronoUnit.DAYS).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
}
CuMemberSettlePeriod cuMemberSettlePeriod =iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate);
if(ObjectUtil.isEmpty(cuMemberSettlePeriod)){
return null;
}
int period = cuMemberSettlePeriod.getPkId();
return TableNameConstants.CU_MEMBER_RETAIL_S + period;
}
public static boolean isBeforeThreeAm() {
LocalDateTime now = LocalDateTime.now();
// 获取当天凌晨3点的时间日期与当前日期相同时间为03:00:00
LocalDateTime threeAm = now.with(LocalTime.of(3, 0, 0));
// 比较当前时间是否在3点之前
return now.isBefore(threeAm);
}
/**
@ -587,8 +620,8 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
@Override
public CuMemberRetailDataStatisticsResultVO getRetailDataStatisticsDetail(Long pkMember, Integer pkCountry, Integer systemType) {
Long userId = SecurityUtils.getUserId();
String memberRetailTable = getTableName();
String memberSecondTable = getDayTableName();
String memberRetailTable = getTableNameSpecial();
String memberSecondTable = getDayTableNameSpecial();
//查询直推会员
List<Long> pkMemberList = baseMapper.selectDirectPushByPkMember(pkMember, systemType);
pkMemberList.add(userId);
@ -610,7 +643,7 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
Integer systemType = SecurityUtils.getSystemType();
DataStatisticsUtil.setQueryDateParam(param);
param.setCurrentDayTableName(getDayTableName());
param.setCurrentDayTableName(getDayTableNameSpecial());
param.setCurrentMonthTableName(getDayTableName(param.getYesterdayDate()));
param.setLastMonthTableName(getDayTableName(param.getLastMonthDate()));
log.info("MarketDynamicsQueryDateParam : {}", JSONUtil.toJsonStr(param));