添加英语2区分区,公会长政策fixed

This commit is contained in:
2025-03-26 18:16:37 +08:00
parent 0f732904d7
commit 545693b8b2
12 changed files with 141 additions and 22 deletions

View File

@@ -0,0 +1,99 @@
package com.accompany.scheduler.task.guild;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.accompany.business.service.guild.AgencyMonthSettleService;
import com.accompany.business.service.guild.GuildSalaryBillDateCycleService;
import com.accompany.business.util.CycleTimeUtil;
import com.accompany.common.utils.DateTimeUtil;
import com.accompany.core.enumeration.PartitionEnum;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
@Component
@Slf4j
public class GuildSettle4EnTask {
@Autowired
private AgencyMonthSettleService agencyMonthSettleService;
@Autowired
private GuildSalaryBillDateCycleService guildSalaryBillDateCycleService;
//zone = "Asia/Riyadh zone = "Etc/GMT-3" 两种方式都支持
/**
* 公户月结算,用户明细
* 每月1号凌晨0点10分执行
*/
@Scheduled(cron = "0 10 0 1 * ?")
public void monthRank4EnTaskAll2() {
Date date = new Date();
List<PartitionEnum> partitionEnumList = List.of(PartitionEnum.ENGLISH2);
for (PartitionEnum partitionEnum : partitionEnumList) {
try {
DateTime lastMonth = DateUtil.offsetMonth(date, -1);
DateTime beginTime = DateUtil.offsetDay(lastMonth, 15);
DateTime endTime = DateUtil.beginOfDay(date);
log.info("=-=monthRank4EnTaskAll2=-=:beginTime:{},endTime:{}", DateUtil.formatDateTime(beginTime), DateUtil.formatDateTime(endTime));
agencyMonthSettleService.monthRankTaskAll(partitionEnum.getId(), beginTime, endTime);
log.info("=-=monthRank4EnTaskAll2=-= end");
log.info("=-=monthRankTaskDetail2=-=:beginTime:{},endTime:{}", DateUtil.formatDateTime(beginTime), DateUtil.formatDateTime(endTime));
agencyMonthSettleService.monthRankTaskDetail(partitionEnum.getId(), beginTime, endTime);
log.info("=-=monthRankTaskDetail2=-= end");
} catch (Exception e) {
log.error("[monthRank4EnTaskAll2] 异常", e);
}
}
}
/**
* 公会月结算
* 每月16号凌晨0点10分执行
*/
@Scheduled(cron = "0 10 0 16 * ?")
public void monthRankTask() {
Date date = new Date();
List<PartitionEnum> partitionEnumList = List.of(PartitionEnum.ENGLISH2);
for (PartitionEnum partitionEnum : partitionEnumList) {
try {
DateTime beginTime = DateUtil.beginOfMonth(date);
DateTime endTime = DateUtil.beginOfDay(date);
log.info("=-=monthRankTaskAll1=-=:beginTime:{},endTime:{}", DateUtil.formatDateTime(beginTime), DateUtil.formatDateTime(endTime));
agencyMonthSettleService.monthRankTaskAll(partitionEnum.getId(), beginTime, endTime);
log.info("=-=monthRankTaskAll1=-= end");
log.info("=-=monthRankTaskDetail1=-=:beginTime:{},endTime:{}", DateUtil.formatDateTime(beginTime), DateUtil.formatDateTime(endTime));
agencyMonthSettleService.monthRankTaskDetail(partitionEnum.getId(), beginTime, endTime);
log.info("=-=monthRankTaskDetail1=-= end");
} catch (Exception e) {
log.error("[monthRankTask异常] {}", e.getMessage());
}
}
}
/**
* 主播薪资操作记录结算
*/
@Scheduled(cron = "0 10 0 * * ?")
public void settleAnchorBill() {
List<PartitionEnum> partitionEnumList = List.of(PartitionEnum.ENGLISH2);
for (PartitionEnum partitionEnum : partitionEnumList) {
try {
//发放奖励逻辑每月1号/16号为结算日沙特时间00:10次月1号结算上月16号-月结束的奖励每月16号结算本月1-15号的奖励
Date date = new Date();
Date agencyCycleBeginDate = CycleTimeUtil.getAgencyCycleBeginDate(date);
String shortDate = DateUtil.formatDate(date);
String cycleDate = DateUtil.formatDate(agencyCycleBeginDate);
if (shortDate.equals(cycleDate)) {
guildSalaryBillDateCycleService.settleAnchorBill(DateTimeUtil.convertDate(DateTimeUtil.addDays(date, -1)), partitionEnum.getId());
}
} catch (Exception e) {
log.error("[monthRankTask异常] {}", e.getMessage());
}
}
}
}

View File

@@ -80,12 +80,19 @@ public class GuildSettleTask {
@Scheduled(cron = "0 10 0 * * ?", zone = "Etc/GMT-3")
public void settleAnchorBill() {
//发放奖励逻辑每月1号/16号为结算日沙特时间00:10次月1号结算上月16号-月结束的奖励每月16号结算本月1-15号的奖励
Date date = new Date();
Date agencyCycleBeginDate = CycleTimeUtil.getAgencyCycleBeginDate(date);
String shortDate = DateUtil.formatDate(date);
String cycleDate = DateUtil.formatDate(agencyCycleBeginDate);
if (shortDate.equals(cycleDate)){
guildSalaryBillDateCycleService.settleAnchorBill(DateTimeUtil.convertDate(DateTimeUtil.addDays(date,-1)));
List<PartitionEnum> partitionEnumList = List.of(PartitionEnum.ARAB, PartitionEnum.TURKEY);
for (PartitionEnum partitionEnum : partitionEnumList) {
try {
Date date = new Date();
Date agencyCycleBeginDate = CycleTimeUtil.getAgencyCycleBeginDate(date);
String shortDate = DateUtil.formatDate(date);
String cycleDate = DateUtil.formatDate(agencyCycleBeginDate);
if (shortDate.equals(cycleDate)) {
guildSalaryBillDateCycleService.settleAnchorBill(DateTimeUtil.convertDate(DateTimeUtil.addDays(date, -1)), partitionEnum.getId());
}
} catch (Exception e) {
log.error("[monthRankTask异常] {}", e.getMessage());
}
}
}