## 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.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAdjusters; import java.time.temporal.TemporalAdjusters;
@ -334,6 +336,37 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
int period = cuMemberSettlePeriod.getPkId(); int period = cuMemberSettlePeriod.getPkId();
return TableNameConstants.CU_MEMBER_RETAIL_S + period; 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 @Override
public CuMemberRetailDataStatisticsResultVO getRetailDataStatisticsDetail(Long pkMember, Integer pkCountry, Integer systemType) { public CuMemberRetailDataStatisticsResultVO getRetailDataStatisticsDetail(Long pkMember, Integer pkCountry, Integer systemType) {
Long userId = SecurityUtils.getUserId(); Long userId = SecurityUtils.getUserId();
String memberRetailTable = getTableName(); String memberRetailTable = getTableNameSpecial();
String memberSecondTable = getDayTableName(); String memberSecondTable = getDayTableNameSpecial();
//查询直推会员 //查询直推会员
List<Long> pkMemberList = baseMapper.selectDirectPushByPkMember(pkMember, systemType); List<Long> pkMemberList = baseMapper.selectDirectPushByPkMember(pkMember, systemType);
pkMemberList.add(userId); pkMemberList.add(userId);
@ -610,7 +643,7 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
Integer systemType = SecurityUtils.getSystemType(); Integer systemType = SecurityUtils.getSystemType();
DataStatisticsUtil.setQueryDateParam(param); DataStatisticsUtil.setQueryDateParam(param);
param.setCurrentDayTableName(getDayTableName()); param.setCurrentDayTableName(getDayTableNameSpecial());
param.setCurrentMonthTableName(getDayTableName(param.getYesterdayDate())); param.setCurrentMonthTableName(getDayTableName(param.getYesterdayDate()));
param.setLastMonthTableName(getDayTableName(param.getLastMonthDate())); param.setLastMonthTableName(getDayTableName(param.getLastMonthDate()));
log.info("MarketDynamicsQueryDateParam : {}", JSONUtil.toJsonStr(param)); log.info("MarketDynamicsQueryDateParam : {}", JSONUtil.toJsonStr(param));