家族-周期-HalfMonthCycleTimeUtil

This commit is contained in:
2025-09-22 14:10:16 +08:00
parent 3b23e19144
commit 9b0560fbc8
18 changed files with 83 additions and 77 deletions

View File

@@ -8,7 +8,7 @@ import com.accompany.business.model.guild.GuildSettleRecord;
import com.accompany.business.param.BasePageParams;
import com.accompany.business.service.guild.*;
import com.accompany.business.service.user.UsersService;
import com.accompany.business.util.CycleTimeUtil;
import com.accompany.business.util.FullMonthCycleTimeUtil;
import com.accompany.common.status.BusiStatus;
import com.accompany.core.enumeration.PartitionEnum;
import com.accompany.core.exception.AdminServiceException;
@@ -82,9 +82,9 @@ public class GuildSettleRecordAdminService {
throw new AdminServiceException(BusiStatus.PARTITION_ERROR);
}
String curCycleDate = CycleTimeUtil.getCurCycleDateByZoneId(partitionInfo.getZoneId());
String curCycleDate = FullMonthCycleTimeUtil.getCurCycleDateByZoneId(partitionInfo.getZoneId());
if (curCycleDate.equals(basePageParams.getDateCycle())){
String endDate = CycleTimeUtil.getCurCycleEndDateByZoneId(partitionInfo.getZoneId());
String endDate = FullMonthCycleTimeUtil.getCurCycleEndDateByZoneId(partitionInfo.getZoneId());
List<GuildSettleRecord> poList = guildSettleService.cal(basePageParams.getPartitionId(), curCycleDate, endDate, gId, basePageParams.getRegionId());
if (CollectionUtils.isEmpty(poList)){
return voPage;

View File

@@ -10,7 +10,7 @@ import com.accompany.business.param.BasePageParams;
import com.accompany.business.service.guild.*;
import com.accompany.business.service.purse.UserPurseService;
import com.accompany.business.service.user.UsersService;
import com.accompany.business.util.CycleTimeUtil;
import com.accompany.business.util.FullMonthCycleTimeUtil;
import com.accompany.business.vo.guild.AgencyOwnerVo;
import com.accompany.business.vo.guild.AnchorSalaryBillAdminVo;
import com.accompany.business.vo.guild.GuildDateCycleVo;
@@ -159,7 +159,7 @@ public class GuildUsdBillRecordAdminService {
guildId = guildMember.getGuildId();
}
String curCycleDate = CycleTimeUtil.getCurCycleDateByZoneId(ZoneId.systemDefault().getId());
String curCycleDate = FullMonthCycleTimeUtil.getCurCycleDateByZoneId(ZoneId.systemDefault().getId());
Page<AnchorSalaryBillAdminVo> anchorSalaryBillAdminVoPage = new Page<>();
if (curCycleDate.equals(dateCycle)) {
@@ -248,8 +248,8 @@ public class GuildUsdBillRecordAdminService {
List<GuildDateCycleVo> agencyDateCycleVos = new ArrayList<>();
for (int i = 0; i < month; i++) {
ZonedDateTime zdt = now.minusMonths(i);
String cycleDate = CycleTimeUtil.getCycleDate(zdt);
String cycleEndDate = CycleTimeUtil.getCycleEndDate(zdt);
String cycleDate = FullMonthCycleTimeUtil.getCycleDate(zdt);
String cycleEndDate = FullMonthCycleTimeUtil.getCycleEndDate(zdt);
GuildDateCycleVo dateCycle = new GuildDateCycleVo();
dateCycle.setDateCycle(cycleDate);

View File

@@ -9,7 +9,7 @@ import com.accompany.business.service.family.FamilyMemberSerialService;
import com.accompany.business.service.family.FamilyMemberService;
import com.accompany.business.service.family.FamilyMemberWeekLevelRewardService;
import com.accompany.business.service.user.UsersService;
import com.accompany.business.util.CycleTimeUtil;
import com.accompany.business.util.HalfMonthCycleTimeUtil;
import com.accompany.common.constant.Constant;
import com.accompany.common.utils.DateTimeUtil;
import com.accompany.core.enumeration.PartitionEnum;
@@ -61,7 +61,7 @@ public class FamilyMemberWeekLevelRewardDiamondListener implements ApplicationLi
BigDecimal goldNum = BigDecimal.valueOf(totalDiamondNum);
ZonedDateTime zdt = DateTimeUtil.convertWithZoneId(time, partitionEnum.getZoneId());
String cycleDate = CycleTimeUtil.getCycleDate(zdt);
String cycleDate = HalfMonthCycleTimeUtil.getCycleDate(zdt);
String date = zdt.format(DateTimeUtil.dateFormatter);
familyMemberSerialService.update(cycleDate, date, familyMember, goldNum);

View File

@@ -8,9 +8,7 @@ import com.accompany.business.service.guild.GuildMemberDiamondStatisticsService;
import com.accompany.business.service.guild.GuildMemberService;
import com.accompany.business.service.guild.GuildRankService;
import com.accompany.business.service.guildpolicy2.GuildDiamondStatisticsPolicy2Service;
import com.accompany.business.service.room.RoomDayDiamondNumService;
import com.accompany.business.service.user.UsersService;
import com.accompany.business.util.CycleTimeUtil;
import com.accompany.business.util.FullMonthCycleTimeUtil;
import com.accompany.common.constant.Constant;
import com.accompany.core.model.PartitionInfo;
@@ -39,8 +37,6 @@ public class SuperLuckyGiftDiamondIncomeListener implements ApplicationListener<
@Autowired
private GuildDiamondStatisticsDayService guildDiamondStatisticsDayService;
@Autowired
private RoomDayDiamondNumService roomDayDiamondNumService;
@Autowired
private GuildDiamondStatisticsPolicy2Service guildDiamondStatisticsPolicy2Service;
@Async
@@ -64,8 +60,8 @@ public class SuperLuckyGiftDiamondIncomeListener implements ApplicationListener<
Date time = message.getCreateTime();
Double totalDiamondNum = message.getTotalDiamondNum();
if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())) {
String cycleDate = CycleTimeUtil.getCycleDateByZoneId(time, partitionInfo.getZoneId());
String statDate = CycleTimeUtil.getCycleDay(time, partitionInfo.getZoneId());
String cycleDate = FullMonthCycleTimeUtil.getCycleDateByZoneId(time, partitionInfo.getZoneId());
String statDate = FullMonthCycleTimeUtil.getCycleDay(time, partitionInfo.getZoneId());
guildMemberDiamondStatisticsService.update(cycleDate, guildMember, totalDiamondNum);
guildDiamondStatisticsDayService.updateDayDiamondStatistics(cycleDate, statDate, guildMember, totalDiamondNum);
} else if (Constant.ClanMode.GUILD_POLICY2.equals(partitionInfo.getClanMode())) {

View File

@@ -9,7 +9,7 @@ import com.accompany.business.service.family.FamilyMemberService;
import com.accompany.business.service.purse.FamilyDiamondSettlementPurseService;
import com.accompany.business.service.purse.UserPurseService;
import com.accompany.business.service.record.BillRecordService;
import com.accompany.business.util.CycleTimeUtil;
import com.accompany.business.util.HalfMonthCycleTimeUtil;
import com.accompany.core.enumeration.BillObjTypeEnum;
import com.accompany.core.enumeration.PartitionEnum;
import lombok.SneakyThrows;
@@ -49,7 +49,7 @@ public class FamilyDiamondSettlementService {
PartitionEnum partitionEnum = PartitionEnum.getByPartitionId(partitionId);
if (!StringUtils.hasText(cycleDate)){
cycleDate = CycleTimeUtil.getLastDateByZoneId(partitionEnum.getZoneId());
cycleDate = HalfMonthCycleTimeUtil.getLastDateByZoneId(partitionEnum.getZoneId());
}
Date now = new Date();

View File

@@ -6,7 +6,7 @@ import com.accompany.business.model.family.FamilyGiftRecord;
import com.accompany.business.model.family.FamilyMember;
import com.accompany.business.model.family.FamilyMemberSerial;
import com.accompany.business.mybatismapper.family.FamilyGiftRecordMapper;
import com.accompany.business.util.CycleTimeUtil;
import com.accompany.business.util.HalfMonthCycleTimeUtil;
import com.accompany.business.vo.family.FamilyIncomeAdminVo;
import com.accompany.business.vo.family.FamilyMemberAdminVo;
import com.accompany.business.vo.family.FamilyMemberIncomeAdminVo;
@@ -64,7 +64,7 @@ public class FamilyGiftRecordService {
PartitionEnum partitionEnum = PartitionEnum.getByPartitionId(familyMember.getPartitionId());
ZonedDateTime zdt = DateTimeUtil.getDateTimeByZoneId(partitionEnum.getZoneId());
String cycleDate = CycleTimeUtil.getCycleDate(zdt);
String cycleDate = HalfMonthCycleTimeUtil.getCycleDate(zdt);
String date = zdt.format(DateTimeUtil.dateFormatter);
BigDecimal goldNum = BigDecimal.valueOf(giftSendRecord.getTotalGoldNum());

View File

@@ -1,12 +1,11 @@
package com.accompany.business.service.family;
import com.accompany.business.constant.family.FamilyConstant;
import com.accompany.business.model.family.FamilyGiftRecord;
import com.accompany.business.model.family.FamilyMember;
import com.accompany.business.model.family.FamilyMemberSerial;
import com.accompany.business.service.room.FamilyMemberRoomMicRecordService;
import com.accompany.business.service.user.UsersService;
import com.accompany.business.util.CycleTimeUtil;
import com.accompany.business.util.HalfMonthCycleTimeUtil;
import com.accompany.business.vo.family.*;
import com.accompany.business.vo.guild.CycleDateVo;
import com.accompany.common.status.BusiStatus;
@@ -57,8 +56,8 @@ public class FamilyIncomeService {
//填充缺省时间
if (!StringUtils.hasText(startDate) || !StringUtils.hasText(endDate)) {
ZonedDateTime zdt = ZonedDateTime.now(zoneId);
startDate = CycleTimeUtil.getCycleDate(zdt);
endDate = CycleTimeUtil.getCycleEndDate(zdt);
startDate = HalfMonthCycleTimeUtil.getCycleDate(zdt);
endDate = HalfMonthCycleTimeUtil.getCycleEndDate(zdt);
}
LocalDate startDateLd = LocalDate.parse(startDate, DateTimeUtil.dateFormatter);
@@ -76,12 +75,12 @@ public class FamilyIncomeService {
FamilyIncomeVo vo = new FamilyIncomeVo();
List<CycleDateVo> cycleDateVoList = CycleTimeUtil.listCycleDateVo(familyMember.getCreateTime(),
List<CycleDateVo> cycleDateVoList = HalfMonthCycleTimeUtil.listCycleDateVo(familyMember.getCreateTime(),
zoneId, DateTimeUtil.DEFAULT_DATE_PATTERN_DOT);
vo.setCycleDateList(cycleDateVoList);
ZonedDateTime zdt = ZonedDateTime.ofInstant(startTime.toInstant(), zoneId);
String curCycleDate = CycleTimeUtil.getCycleDate(zdt);
String curCycleDate = HalfMonthCycleTimeUtil.getCycleDate(zdt);
vo.setCurCycleDate(cycleDateVoList.stream().filter(cycleDateVo -> cycleDateVo.getCycleDate().equals(curCycleDate)).findAny().get());
FamilyMemberDailyIncomeVo dailyIncomeVo = getFamilyMemberDailyIncomeVo(familyMember.getId(), familyId, uid, startDate, startTime, endDate, endTime);

View File

@@ -2,7 +2,7 @@ package com.accompany.business.service.guild;
import com.accompany.business.model.guild.GuildDiamondSalary;
import com.accompany.business.mybatismapper.guild.GuildDiamondSalaryMapper;
import com.accompany.business.util.CycleTimeUtil;
import com.accompany.business.util.FullMonthCycleTimeUtil;
import com.accompany.business.vo.guild.GuildCycleDiamondWageLevelVo;
import com.accompany.core.enumeration.PartitionEnum;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -24,7 +24,7 @@ public class GuildDiamondSalaryService extends ServiceImpl<GuildDiamondSalaryMap
public GuildCycleDiamondWageLevelVo getCycleDiamondSalaryLevel(Integer guildId, Integer partitionId){
PartitionEnum partitionEnum = PartitionEnum.getByPartitionId(partitionId);
String cycleDate = CycleTimeUtil.getCurCycleDateByZoneId(partitionEnum.getZoneId());
String cycleDate = FullMonthCycleTimeUtil.getCurCycleDateByZoneId(partitionEnum.getZoneId());
BigDecimal cycleDiamond = guildMemberDiamondStatisticsService.getTotalDiamondInCycle(cycleDate, guildId);
TreeMap<BigDecimal, GuildDiamondSalary> diamondSalaryMap = getDiamondSalaryMap(partitionId);
Map.Entry<BigDecimal, GuildDiamondSalary> curDiamondLevel = diamondSalaryMap.headMap(cycleDiamond, true).lastEntry();

View File

@@ -2,7 +2,7 @@ package com.accompany.business.service.guild;
import com.accompany.business.model.guild.GuildDiamondWage;
import com.accompany.business.mybatismapper.guild.GuildDiamondWageMapper;
import com.accompany.business.util.CycleTimeUtil;
import com.accompany.business.util.FullMonthCycleTimeUtil;
import com.accompany.business.vo.guild.GuildCycleDiamondWageLevelVo;
import com.accompany.core.enumeration.PartitionEnum;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -24,7 +24,7 @@ public class GuildDiamondWageService extends ServiceImpl<GuildDiamondWageMapper,
public GuildCycleDiamondWageLevelVo getCycleDiamondWageLevel(Integer guildId, Integer partitionId){
PartitionEnum partitionEnum = PartitionEnum.getByPartitionId(partitionId);
String cycleDate = CycleTimeUtil.getCurCycleDateByZoneId(partitionEnum.getZoneId());
String cycleDate = FullMonthCycleTimeUtil.getCurCycleDateByZoneId(partitionEnum.getZoneId());
BigDecimal cycleDiamond = guildMemberDiamondStatisticsService.getTotalDiamondInCycle(cycleDate, guildId);
TreeMap<BigDecimal, GuildDiamondWage> diamondWageMap = getDiamondWageMap(partitionId);
Map.Entry<BigDecimal, GuildDiamondWage> curDiamondLevel = diamondWageMap.headMap(cycleDiamond, true).lastEntry();

View File

@@ -7,7 +7,6 @@ import com.accompany.business.model.guild.GuildMember;
import com.accompany.business.mybatismapper.guild.GuildGiftRecordMapper;
import com.accompany.business.service.guildpolicy2.GuildDiamondStatisticsPolicy2Service;
import com.accompany.business.service.user.UsersService;
import com.accompany.business.util.CycleTimeUtil;
import com.accompany.business.util.FullMonthCycleTimeUtil;
import com.accompany.common.constant.Constant;
import com.accompany.common.status.BusiStatus;
@@ -78,9 +77,9 @@ public class GuildGiftRecordService extends ServiceImpl<GuildGiftRecordMapper, G
Date createTime = giftSendRecord.getCreateTime();
if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())) {
String cycleDate = CycleTimeUtil.getCycleDateByZoneId(createTime, partitionInfo.getZoneId());
String cycleDate = FullMonthCycleTimeUtil.getCycleDateByZoneId(createTime, partitionInfo.getZoneId());
guildMemberDiamondStatisticsService.update(cycleDate, guildMember, giftSendRecord.getTotalDiamondNum());
String statDate = CycleTimeUtil.getCycleDay(createTime, partitionInfo.getZoneId());
String statDate = FullMonthCycleTimeUtil.getCycleDay(createTime, partitionInfo.getZoneId());
guildDiamondStatisticsDayService.updateDayDiamondStatistics(cycleDate, statDate, guildMember, giftSendRecord.getTotalDiamondNum());
} else if (Constant.ClanMode.GUILD_POLICY2.equals(partitionInfo.getClanMode())) {
String cycleDate = FullMonthCycleTimeUtil.getCycleDateByZoneId(createTime, partitionInfo.getZoneId());

View File

@@ -3,12 +3,11 @@ package com.accompany.business.service.guild;
import com.accompany.business.constant.guild.GuildConstant;
import com.accompany.business.model.UserPurse;
import com.accompany.business.model.guild.GuildDiamondSalary;
import com.accompany.business.model.guild.GuildDiamondWage;
import com.accompany.business.model.guild.GuildMember;
import com.accompany.business.service.purse.UserPurseService;
import com.accompany.business.service.room.GuildMemberRoomMicRecordService;
import com.accompany.business.service.user.UsersService;
import com.accompany.business.util.CycleTimeUtil;
import com.accompany.business.util.FullMonthCycleTimeUtil;
import com.accompany.business.vo.guild.*;
import com.accompany.common.constant.Constant;
import com.accompany.common.status.BusiStatus;
@@ -89,22 +88,22 @@ public class GuildIncomeService {
UserPurse userPurse = userPurseService.queryUserPurse(me.getUid());
vo.setDiamondNum(BigDecimal.valueOf(userPurse.getGolds()));
List<String> cycleDateList = CycleTimeUtil.getCurAndLastCycleDateByZoneId(zoneId);
List<String> cycleDateList = FullMonthCycleTimeUtil.getCurAndLastCycleDateByZoneId(zoneId);
List<GuildUsdAccountCycleUsdStatVo> cycleUsdStatVoList = guildUsdBillRecordService.getCycleUsdStatInCycleDateList(memberId, cycleDateList);
Map<String, GuildUsdAccountCycleUsdStatVo> cycleUsdStatVoMap = !CollectionUtils.isEmpty(cycleUsdStatVoList)? cycleUsdStatVoList.stream()
.collect(Collectors.toMap(GuildUsdAccountCycleUsdStatVo::getCycleDate, statVo->statVo)): Collections.emptyMap();
String curCycleDate = cycleDateList.get(0);
GuildUsdAccountCycleUsdStatVo curCycle = cycleUsdStatVoMap.getOrDefault(curCycleDate, new GuildUsdAccountCycleUsdStatVo(curCycleDate));
curCycle.setCycleDate(CycleTimeUtil.getCycleDateInterval(curCycleDate));
curCycle.setCycleDate(FullMonthCycleTimeUtil.getCycleDateInterval(curCycleDate));
vo.setCurCycle(curCycle);
if (PartitionEnum.TURKEY.getId() == me.getPartitionId()){
ZonedDateTime now = ZonedDateTime.now(ZoneId.of(zoneId));
ZonedDateTime zonedStartTime = CycleTimeUtil.getCycleTimeZdt(now);
ZonedDateTime zonedStartTime = FullMonthCycleTimeUtil.getCycleTimeZdt(now);
Date systemStartTime = DateTimeUtil.converLocalDateTimeToDate(zonedStartTime.withZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime());
ZonedDateTime zonedEndTime = CycleTimeUtil.getCycleEndTimeZdt(now);
ZonedDateTime zonedEndTime = FullMonthCycleTimeUtil.getCycleEndTimeZdt(now);
Date systemEndTime = DateTimeUtil.converLocalDateTimeToDate(zonedEndTime.withZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime());
GuildMemberRoomMicRecord roomMicRecord = guildMemberRoomMicRecordService.getTotalRemainTimeByGuildMemberId(systemStartTime, systemEndTime, memberId);
@@ -113,7 +112,7 @@ public class GuildIncomeService {
String lastCycleDate = cycleDateList.get(1);
GuildUsdAccountCycleUsdStatVo lastCycle = cycleUsdStatVoMap.getOrDefault(lastCycleDate, new GuildUsdAccountCycleUsdStatVo(lastCycleDate));
lastCycle.setCycleDate(CycleTimeUtil.getCycleDateInterval(lastCycleDate));
lastCycle.setCycleDate(FullMonthCycleTimeUtil.getCycleDateInterval(lastCycleDate));
vo.setLastCycle(lastCycle);
return vo;
@@ -124,8 +123,8 @@ public class GuildIncomeService {
return null;
}
String cycleDate = CycleTimeUtil.getCurCycleDateByZoneId(zoneId);
String cycleDateInterval = CycleTimeUtil.getCycleDateInterval(cycleDate);
String cycleDate = FullMonthCycleTimeUtil.getCurCycleDateByZoneId(zoneId);
String cycleDateInterval = FullMonthCycleTimeUtil.getCycleDateInterval(cycleDate);
GuildIncomeAgencyVo vo = new GuildIncomeAgencyVo();
vo.setCurCycleInterval(cycleDateInterval);

View File

@@ -8,7 +8,7 @@ import com.accompany.business.model.guild.GuildUsdWithdrawRecord;
import com.accompany.business.mybatismapper.guild.GuildUsdBillRecordMapper;
import com.accompany.business.param.BasePageParams;
import com.accompany.business.service.user.UsersService;
import com.accompany.business.util.CycleTimeUtil;
import com.accompany.business.util.FullMonthCycleTimeUtil;
import com.accompany.business.vo.guild.AnchorSalaryBillAdminVo;
import com.accompany.business.vo.guild.GuildUsdAccountCycleUsdStatVo;
import com.accompany.business.vo.guild.GuildUsdBillRecordVo;
@@ -64,7 +64,7 @@ public class GuildUsdBillRecordService extends ServiceImpl<GuildUsdBillRecordMap
PartitionInfo partitionInfo = partitionInfoService.getById(u.getPartitionId());
ZonedDateTime zdt = DateTimeUtil.getDateTimeByZoneId(null != partitionInfo ? partitionInfo.getZoneId() : ZoneId.systemDefault().getId());
record.setCycleDate(CycleTimeUtil.getCycleDate(zdt));
record.setCycleDate(FullMonthCycleTimeUtil.getCycleDate(zdt));
boolean usdIsOutput = CurrencyEnum.GUILD_USD.equals(typeEnum.getOutputCurrency());
@@ -102,7 +102,7 @@ public class GuildUsdBillRecordService extends ServiceImpl<GuildUsdBillRecordMap
}
public List<GuildUsdBillRecord> listRechargeUserOrderByUsdDesc(List<Long> rechargeUserUidList, String zoneId){
String cycleDate = CycleTimeUtil.getCurCycleDateByZoneId(zoneId);
String cycleDate = FullMonthCycleTimeUtil.getCurCycleDateByZoneId(zoneId);
return this.baseMapper.listRechargeUserOrderByUsdDesc(rechargeUserUidList, cycleDate, GuildUsdOperateTypeEnum.USD_TO_RECHARGE_USER.getType());
}

View File

@@ -9,7 +9,7 @@ import com.accompany.business.model.guildgame.GameUsdWithdrawRecord;
import com.accompany.business.mybatismapper.guildgame.GameUsdBillRecordMapper;
import com.accompany.business.param.BasePageParams;
import com.accompany.business.service.user.UsersService;
import com.accompany.business.util.CycleTimeUtil;
import com.accompany.business.util.FullMonthCycleTimeUtil;
import com.accompany.business.vo.guildgame.AnchorGameSalaryBillAdminVo;
import com.accompany.business.vo.guildgame.GameUsdAccountCycleUsdStatVo;
import com.accompany.business.vo.guildgame.GameUsdBillRecordVo;
@@ -112,7 +112,7 @@ public class GameUsdBillRecordService extends ServiceImpl<GameUsdBillRecordMappe
public List<GameUsdBillRecord> listRechargeUserOrderByUsdDesc(List<Long> rechargeUserUidList, String zoneId){
String cycleDate = CycleTimeUtil.getCurCycleDateByZoneId(zoneId);
String cycleDate = FullMonthCycleTimeUtil.getCurCycleDateByZoneId(zoneId);
return this.baseMapper.listRechargeUserOrderByUsdDesc(rechargeUserUidList, cycleDate, GameUsdOperateTypeEnum.USD_TO_RECHARGE_USER.getType());
}

View File

@@ -17,7 +17,7 @@ import com.accompany.business.service.level.LevelService;
import com.accompany.business.service.record.BillRecordService;
import com.accompany.business.service.user.UserBackpackService;
import com.accompany.business.service.user.UsersService;
import com.accompany.business.util.CycleTimeUtil;
import com.accompany.business.util.FullMonthCycleTimeUtil;
import com.accompany.business.vo.DiamondGiveHistoryPageVo;
import com.accompany.business.vo.DiamondGiveHistoryVo;
import com.accompany.business.vo.SimpleUserVo;
@@ -609,11 +609,11 @@ public class DiamondGiveHistoryService extends ServiceImpl<DiamondGiveHistoryMap
DiamondGiveHistoryPageVo diamondGiveHistoryPageVo = new DiamondGiveHistoryPageVo();
if (periodType == 1) {
cycleDateEnd = DateTimeUtil.convertWithZoneId(new Date(), partitionInfo.getZoneId());
cycleDateBegin = CycleTimeUtil.getCycleDateZdt(cycleDateEnd).withHour(0).withMinute(0).withSecond(0).withNano(0);
cycleDateBegin = FullMonthCycleTimeUtil.getCycleDateZdt(cycleDateEnd).withHour(0).withMinute(0).withSecond(0).withNano(0);
} else {
ZonedDateTime zdt = DateTimeUtil.convertWithZoneId(new Date(), partitionInfo.getZoneId());
cycleDateBegin = CycleTimeUtil.getLastDateZdt(zdt).withHour(0).withMinute(0).withSecond(0).withNano(0);
cycleDateEnd = CycleTimeUtil.getCycleDateZdt(zdt).withHour(0).withMinute(0).withSecond(0).withNano(0).minusSeconds(1);
cycleDateBegin = FullMonthCycleTimeUtil.getLastDateZdt(zdt).withHour(0).withMinute(0).withSecond(0).withNano(0);
cycleDateEnd = FullMonthCycleTimeUtil.getCycleDateZdt(zdt).withHour(0).withMinute(0).withSecond(0).withNano(0).minusSeconds(1);
}
Long aLong = this.totalGiveGoldNOSub(uid, Date.from(cycleDateBegin.toInstant()), Date.from(cycleDateEnd.toInstant()));

View File

@@ -1,6 +1,5 @@
package com.accompany.business.util;
import cn.hutool.core.date.DateUtil;
import com.accompany.business.vo.guild.CycleDateVo;
import com.accompany.common.utils.DateTimeUtil;
@@ -55,6 +54,11 @@ public class FullMonthCycleTimeUtil {
return getCycleEndDateZdt(zdt).withHour(23).withMinute(59).withSecond(59);
}
public static String getCurCycleEndDateByZoneId(String zoneId) {
ZonedDateTime zdt = DateTimeUtil.getDateTimeByZoneId(zoneId);
return getCycleEndDate(zdt);
}
public static String getCycleEndDate(ZonedDateTime zdt) {
return getCycleEndDateZdt(zdt).format(dateFormatter);
}
@@ -67,6 +71,11 @@ public class FullMonthCycleTimeUtil {
return getLastDateZdt(zdt).format(dateFormatter);
}
public static String getLastDateByZoneId(String zoneId) {
ZonedDateTime zdt = DateTimeUtil.getDateTimeByZoneId(zoneId);
return getLastDate(zdt);
}
public static List<String> getCurAndLastCycleDateByZoneId(String zoneId) {
ZonedDateTime zdt = DateTimeUtil.getDateTimeByZoneId(zoneId);
String curCycle = getCycleDate(zdt);
@@ -117,12 +126,4 @@ public class FullMonthCycleTimeUtil {
return list;
}
public static Date getAgencyCycleBeginDate(Date now) {
return DateUtil.beginOfMonth(now);
}
public static Date getAgencyCycleEndDate(Date now) {
Date beginOfMonth = DateUtil.beginOfMonth(now);
return DateTimeUtil.addMonth(beginOfMonth,1);
}
}

View File

@@ -1,6 +1,5 @@
package com.accompany.business.util;
import cn.hutool.core.date.DateUtil;
import com.accompany.business.vo.guild.CycleDateVo;
import com.accompany.common.utils.DateTimeUtil;
@@ -13,7 +12,7 @@ import java.util.Comparator;
import java.util.Date;
import java.util.List;
public class CycleTimeUtil {
public class HalfMonthCycleTimeUtil {
private static final DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_PATTERN);
@@ -38,6 +37,9 @@ public class CycleTimeUtil {
}
public static ZonedDateTime getCycleDateZdt(ZonedDateTime zdt) {
if (zdt.getDayOfMonth() >= 16) {
return zdt.withDayOfMonth(16);
}
return zdt.with(TemporalAdjusters.firstDayOfMonth());
}
@@ -50,7 +52,10 @@ public class CycleTimeUtil {
}
public static ZonedDateTime getCycleEndDateZdt(ZonedDateTime zdt) {
return zdt.with(TemporalAdjusters.lastDayOfMonth());
if (zdt.getDayOfMonth() >= 16) {
return zdt.with(TemporalAdjusters.lastDayOfMonth());
}
return zdt.withDayOfMonth(15);
}
public static ZonedDateTime getCycleEndTimeZdt(ZonedDateTime zdt) {
@@ -62,7 +67,10 @@ public class CycleTimeUtil {
}
public static ZonedDateTime getLastDateZdt(ZonedDateTime zdt) {
return zdt.minusMonths(1L).with(TemporalAdjusters.firstDayOfMonth());
if (zdt.getDayOfMonth() >= 16) {
return zdt.with(TemporalAdjusters.firstDayOfMonth());
}
return zdt.minusMonths(1L).withDayOfMonth(16);
}
public static String getLastDate(ZonedDateTime zdt) {
@@ -71,12 +79,12 @@ public class CycleTimeUtil {
public static ZonedDateTime getLastDateZdtByZoneId(String zonedId) {
ZonedDateTime zdt = DateTimeUtil.getDateTimeByZoneId(zonedId);
return getCycleDateZdt(zdt).minusMonths(1L);
return getLastDateZdt(zdt);
}
public static String getLastDateByZoneId(String zonedId) {
ZonedDateTime zdt = DateTimeUtil.getDateTimeByZoneId(zonedId);
return getCycleDateZdt(zdt).minusMonths(1L).format(dateFormatter);
return getLastDateZdt(zdt).format(dateFormatter);
}
public static List<String> getCurAndLastCycleDateByZoneId(String zoneId) {
@@ -93,7 +101,10 @@ public class CycleTimeUtil {
public static String getCycleDateInterval(String cycleDate, String dateTimeFormatter) {
Date cycleStartTime = DateTimeUtil.convertStrToDate(cycleDate, DateTimeUtil.DEFAULT_DATE_PATTERN);
String cycleStartDate = DateTimeUtil.convertDate(cycleStartTime, dateTimeFormatter);
String cycleEndDate = DateTimeUtil.convertDate(DateTimeUtil.getEndTimeOfMonth(cycleStartTime), dateTimeFormatter);
Date monthStartTime = DateTimeUtil.getBeginTimeOfMonth(cycleStartTime);
String cycleEndDate = cycleStartTime.compareTo(monthStartTime) > 0?
DateTimeUtil.convertDate(DateTimeUtil.getEndTimeOfMonth(cycleStartTime), dateTimeFormatter):
DateTimeUtil.convertDate(DateTimeUtil.addDays(cycleStartTime, 14), dateTimeFormatter);
return String.format("%s-%s", cycleStartDate, cycleEndDate);
}

View File

@@ -4,7 +4,7 @@ import cn.hutool.core.date.DateUtil;
import com.accompany.business.constant.guild.GuildUsdOperateTypeEnum;
import com.accompany.business.service.guild.GuildUsdBillRecordService;
import com.accompany.business.service.purse.DiamondGiveHistoryService;
import com.accompany.business.util.CycleTimeUtil;
import com.accompany.business.util.FullMonthCycleTimeUtil;
import com.accompany.common.constant.Constant;
import com.accompany.common.result.BusiResult;
import com.accompany.common.utils.DateTimeUtil;
@@ -55,7 +55,7 @@ public class RechargeUserController {
PartitionInfo partitionInfo = partitionInfoService.getById(info.getPartitionId());
ZonedDateTime zonedDateTime = DateTimeUtil.convertWithZoneId(new Date(), partitionInfo.getZoneId());
ZonedDateTime cycleDateZdt = CycleTimeUtil.getCycleDateZdt(zonedDateTime).withHour(0).withMinute(0).withSecond(0).withNano(0);
ZonedDateTime cycleDateZdt = FullMonthCycleTimeUtil.getCycleDateZdt(zonedDateTime).withHour(0).withMinute(0).withSecond(0).withNano(0);
Long aLong = diamondGiveHistoryService.totalGiveGoldNOSub(uid, Date.from(cycleDateZdt.toInstant()), new Date());
info.setTotalGiveGold(aLong == 0 ? 0 : (-1 * aLong));

View File

@@ -2,7 +2,8 @@ package com.accompany.scheduler.task.guild;
import com.accompany.business.service.guild.GuildSettleService;
import com.accompany.business.service.guild.GuildSalaryBillDateCycleService;
import com.accompany.business.util.CycleTimeUtil;
import com.accompany.business.util.FullMonthCycleTimeUtil;
import com.accompany.business.util.HalfMonthCycleTimeUtil;
import com.accompany.common.utils.DateTimeUtil;
import com.accompany.core.enumeration.PartitionEnum;
import lombok.extern.slf4j.Slf4j;
@@ -32,8 +33,8 @@ public class GuildSettleTask {
List<PartitionEnum> partitionEnumList = List.of(PartitionEnum.ENGLISH);
for (PartitionEnum partitionEnum : partitionEnumList) {
try {
ZonedDateTime lastDateZdt = CycleTimeUtil.getLastDateZdtByZoneId(partitionEnum.getZoneId());
ZonedDateTime lastEndDateZdt = CycleTimeUtil.getLastDateZdt(lastDateZdt);
ZonedDateTime lastDateZdt = HalfMonthCycleTimeUtil.getLastDateZdtByZoneId(partitionEnum.getZoneId());
ZonedDateTime lastEndDateZdt = HalfMonthCycleTimeUtil.getLastDateZdt(lastDateZdt);
String lastCycDate = lastDateZdt.format(DateTimeUtil.dateFormatter);
String lastCycEndDate = lastEndDateZdt.format(DateTimeUtil.dateFormatter);
log.info("=-=guild settle=-=:beginTime:{},endTime:{}", lastCycDate, lastCycEndDate);
@@ -54,8 +55,8 @@ public class GuildSettleTask {
List<PartitionEnum> partitionEnumList = List.of(PartitionEnum.ARAB, PartitionEnum.TURKEY);
for (PartitionEnum partitionEnum : partitionEnumList) {
try {
ZonedDateTime lastDateZdt = CycleTimeUtil.getLastDateZdtByZoneId(partitionEnum.getZoneId());
ZonedDateTime lastEndDateZdt = CycleTimeUtil.getLastDateZdt(lastDateZdt);
ZonedDateTime lastDateZdt = HalfMonthCycleTimeUtil.getLastDateZdtByZoneId(partitionEnum.getZoneId());
ZonedDateTime lastEndDateZdt = HalfMonthCycleTimeUtil.getLastDateZdt(lastDateZdt);
String lastCycDate = lastDateZdt.format(DateTimeUtil.dateFormatter);
String lastCycEndDate = lastEndDateZdt.format(DateTimeUtil.dateFormatter);
log.info("=-=guild settle=-=:beginTime:{},endTime:{}", lastCycDate, lastCycEndDate);
@@ -76,9 +77,9 @@ public class GuildSettleTask {
for (PartitionEnum partitionEnum : partitionEnumList) {
try {
String today = DateTimeUtil.getZonedTodayStr(partitionEnum.getZoneId());
String cycleDate = CycleTimeUtil.getCurCycleDateByZoneId(partitionEnum.getZoneId());
String cycleDate = FullMonthCycleTimeUtil.getCurCycleDateByZoneId(partitionEnum.getZoneId());
if (today.equals(cycleDate)) {
String lastCycleDate = CycleTimeUtil.getLastDateByZoneId(partitionEnum.getZoneId());
String lastCycleDate = FullMonthCycleTimeUtil.getLastDateByZoneId(partitionEnum.getZoneId());
guildSalaryBillDateCycleService.settleAnchorBill(lastCycleDate, partitionEnum.getId());
}
} catch (Exception e) {
@@ -96,9 +97,9 @@ public class GuildSettleTask {
for (PartitionEnum partitionEnum : partitionEnumList) {
try {
String today = DateTimeUtil.getZonedTodayStr(partitionEnum.getZoneId());
String cycleDate = CycleTimeUtil.getCurCycleDateByZoneId(partitionEnum.getZoneId());
String cycleDate = FullMonthCycleTimeUtil.getCurCycleDateByZoneId(partitionEnum.getZoneId());
if (today.equals(cycleDate)) {
String lastCycleDate = CycleTimeUtil.getLastDateByZoneId(partitionEnum.getZoneId());
String lastCycleDate = FullMonthCycleTimeUtil.getLastDateByZoneId(partitionEnum.getZoneId());
guildSalaryBillDateCycleService.settleAnchorBill(lastCycleDate, partitionEnum.getId());
}
} catch (Exception e) {