家族-周期-HalfMonthCycleTimeUtil-与阿语区FullMonthCycleTimeUtil隔离

This commit is contained in:
2025-10-10 11:10:23 +08:00
parent c7a4342694
commit 5702f33a43
4 changed files with 13 additions and 52 deletions

View File

@@ -3,7 +3,6 @@ package com.accompany.business.service.guild;
import com.accompany.business.model.guild.GuildSalaryBillDateCycle;
import com.accompany.business.mybatismapper.guild.GuildSalaryBillDateCycleMapper;
import com.accompany.business.vo.guild.AnchorSalaryBillAdminVo;
import com.accompany.business.vo.guild.GuildDateCycleVo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

View File

@@ -71,6 +71,11 @@ public class FullMonthCycleTimeUtil {
return getLastDateZdt(zdt).format(dateFormatter);
}
public static ZonedDateTime getLastDateZdtByZoneId(String zoneId){
ZonedDateTime zdt = DateTimeUtil.getDateTimeByZoneId(zoneId);
return getLastDateZdt(zdt);
}
public static String getLastDateByZoneId(String zoneId) {
ZonedDateTime zdt = DateTimeUtil.getDateTimeByZoneId(zoneId);
return getLastDate(zdt);

View File

@@ -33,7 +33,7 @@ public class FamilyDiamondSettlementTask {
* 公会钻石结算
* 周一凌晨0点
* */
@Scheduled(cron = "0 0 0 1,16 * *", zone = "Asia/Riyadh")
@Scheduled(cron = "0 0 0 1,16 * *", zone = "Europe/Istanbul")
public void familyDiamondSettlementTr() {
long now = System.currentTimeMillis();
log.info("familyGoldSettlement() start..........");

View File

@@ -3,7 +3,6 @@ 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.FullMonthCycleTimeUtil;
import com.accompany.business.util.HalfMonthCycleTimeUtil;
import com.accompany.common.utils.DateTimeUtil;
import com.accompany.core.enumeration.PartitionEnum;
import lombok.extern.slf4j.Slf4j;
@@ -28,35 +27,13 @@ public class GuildSettleTask {
* 公户月结算,用户明细
* 每月1号凌晨0点10分执行
*/
@Scheduled(cron = "0 10 0 1 * ?")
public void settleEn() {
List<PartitionEnum> partitionEnumList = List.of(PartitionEnum.ENGLISH);
@Scheduled(cron = "0 10 0 1 * ?", zone = "Asia/Riyadh")
public void monthRankTaskAll() {
List<PartitionEnum> partitionEnumList = List.of(PartitionEnum.ARAB);
for (PartitionEnum partitionEnum : partitionEnumList) {
try {
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);
guildSettleService.settle(partitionEnum.getId(), lastCycDate, lastCycEndDate);
log.info("=-=guild settle=-= end");
} catch (Exception e) {
log.error("[guild settle] 异常", e);
}
}
}
/**
* 公户月结算,用户明细
* 每月1号凌晨0点10分执行
*/
@Scheduled(cron = "0 10 0 1 * ?", zone = "Etc/GMT-3")
public void monthRankTaskAll2() {
List<PartitionEnum> partitionEnumList = List.of(PartitionEnum.ARAB, PartitionEnum.TURKEY);
for (PartitionEnum partitionEnum : partitionEnumList) {
try {
ZonedDateTime lastDateZdt = HalfMonthCycleTimeUtil.getLastDateZdtByZoneId(partitionEnum.getZoneId());
ZonedDateTime lastEndDateZdt = HalfMonthCycleTimeUtil.getLastDateZdt(lastDateZdt);
ZonedDateTime lastDateZdt = FullMonthCycleTimeUtil.getLastDateZdtByZoneId(partitionEnum.getZoneId());
ZonedDateTime lastEndDateZdt = FullMonthCycleTimeUtil.getCycleEndDateZdt(lastDateZdt);
String lastCycDate = lastDateZdt.format(DateTimeUtil.dateFormatter);
String lastCycEndDate = lastEndDateZdt.format(DateTimeUtil.dateFormatter);
log.info("=-=guild settle=-=:beginTime:{},endTime:{}", lastCycDate, lastCycEndDate);
@@ -71,29 +48,9 @@ public class GuildSettleTask {
/**
* 主播薪资操作记录结算
*/
@Scheduled(cron = "0 10 0 * * ?")
public void settleEnAnchorBill() {
List<PartitionEnum> partitionEnumList = List.of(PartitionEnum.ENGLISH);
for (PartitionEnum partitionEnum : partitionEnumList) {
try {
String today = DateTimeUtil.getZonedTodayStr(partitionEnum.getZoneId());
String cycleDate = FullMonthCycleTimeUtil.getCurCycleDateByZoneId(partitionEnum.getZoneId());
if (today.equals(cycleDate)) {
String lastCycleDate = FullMonthCycleTimeUtil.getLastDateByZoneId(partitionEnum.getZoneId());
guildSalaryBillDateCycleService.settleAnchorBill(lastCycleDate, partitionEnum.getId());
}
} catch (Exception e) {
log.error("[monthRankTask异常] {}", e.getMessage());
}
}
}
/**
* 主播薪资操作记录结算
*/
@Scheduled(cron = "0 10 0 * * ?", zone = "Etc/GMT-3")
@Scheduled(cron = "0 10 0 * * ?", zone = "Asia/Riyadh")
public void settleAnchorBill() {
List<PartitionEnum> partitionEnumList = List.of(PartitionEnum.ARAB, PartitionEnum.TURKEY);
List<PartitionEnum> partitionEnumList = List.of(PartitionEnum.ARAB);
for (PartitionEnum partitionEnum : partitionEnumList) {
try {
String today = DateTimeUtil.getZonedTodayStr(partitionEnum.getZoneId());