公会-土耳其-结算-拆分1和16
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package com.accompany.admin.service.api;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.accompany.admin.mapper.api.MyApiAdminMapper;
|
||||
import com.accompany.admin.model.GiftSendRecordMgr;
|
||||
import com.accompany.admin.model.MainlandAccount;
|
||||
@@ -13,6 +15,7 @@ import com.accompany.business.model.UserLevelCharm;
|
||||
import com.accompany.business.model.UserLevelExperience;
|
||||
import com.accompany.business.service.apple.IOSRefundV2Service;
|
||||
import com.accompany.business.service.guild.AgencyMonthSettleDetailService;
|
||||
import com.accompany.business.service.guild.AgencyMonthSettleService;
|
||||
import com.accompany.business.service.guild.GuildUsdOperateService;
|
||||
import com.accompany.business.service.level.LevelService;
|
||||
import com.accompany.business.service.room.RoomManageService;
|
||||
@@ -28,7 +31,9 @@ import com.accompany.common.utils.CommonUtil;
|
||||
import com.accompany.common.utils.DateTimeUtil;
|
||||
import com.accompany.common.utils.GsonUtil;
|
||||
import com.accompany.common.utils.StringUtils;
|
||||
import com.accompany.core.base.SpringContextHolder;
|
||||
import com.accompany.core.constant.BlockTypeEnum;
|
||||
import com.accompany.core.enumeration.PartitionEnum;
|
||||
import com.accompany.core.exception.AdminServiceException;
|
||||
import com.accompany.core.model.*;
|
||||
import com.accompany.core.mybatismapper.AccountLoginRecordMapper;
|
||||
@@ -420,4 +425,5 @@ public class MyApiService {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -136,21 +136,4 @@ public class MyApiController {
|
||||
return BusiResult.success();
|
||||
}
|
||||
|
||||
@GetMapping("/chargeChannelClac")
|
||||
public BusiResult<Void> chargeChannelClac(Long roomId) {
|
||||
if (null == roomId || !roomId.equals(603L)) {
|
||||
throw new AdminServiceException(BusiStatus.PARAMERROR);
|
||||
}
|
||||
myApiService.chargeChannelClac();
|
||||
return BusiResult.success();
|
||||
}
|
||||
|
||||
@GetMapping("/repairBlockTime")
|
||||
public BusiResult<Void> repairBlockTime(Long roomId) {
|
||||
if (null == roomId || !roomId.equals(603L)) {
|
||||
throw new AdminServiceException(BusiStatus.PARAMERROR);
|
||||
}
|
||||
myApiService.repairBlockTime();
|
||||
return BusiResult.success();
|
||||
}
|
||||
}
|
||||
|
@@ -70,14 +70,14 @@ public class AgencyMonthSettleService {
|
||||
.hallSalary(dataVo.getHallSalary()).salaryRate(dataVo.getSalaryRate()).createTime(new Date()).statDate(beginDate).endDate(endDate).build();
|
||||
agencyMonthSettleDetails.add(agencyMonthSettleDetail);
|
||||
}
|
||||
agencyMonthSettleDetailService.saveBatch(agencyMonthSettleDetails);
|
||||
//agencyMonthSettleDetailService.saveBatch(agencyMonthSettleDetails);
|
||||
|
||||
/*for (UserHallEnergyLevelDataVo dataVo : userHallEnergyLevelDataVos) {
|
||||
for (UserHallEnergyLevelDataVo dataVo : userHallEnergyLevelDataVos) {
|
||||
if (dataVo.getHallSalary().doubleValue() == 0) {
|
||||
continue;
|
||||
}
|
||||
guildUsdOperateService.settlementGold(dataVo.getHallId(), dataVo.getUid(), dataVo.getHallSalary());
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
public void monthRankTaskDetail(Integer partitionId, Date beginDate, Date endDate) {
|
||||
|
@@ -37,7 +37,7 @@
|
||||
and hm.guild_id = ed.guild_id
|
||||
and ed.cycle_date = #{cycleDate}
|
||||
left join guild h on hm.guild_id = h.id
|
||||
where hm.partition_id #{partitionId}
|
||||
where hm.partition_id = #{partitionId}
|
||||
<if test="guildId != null">
|
||||
and hm.guild_id = #{guildId}
|
||||
</if>
|
||||
|
@@ -7,21 +7,13 @@ 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 com.accompany.core.model.PartitionInfo;
|
||||
import com.accompany.core.service.partition.PartitionInfoService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
@@ -30,23 +22,44 @@ public class GuildSettleTask {
|
||||
private AgencyMonthSettleService agencyMonthSettleService;
|
||||
@Autowired
|
||||
private GuildSalaryBillDateCycleService guildSalaryBillDateCycleService ;
|
||||
@Autowired
|
||||
private PartitionInfoService partitionInfoService;
|
||||
@Resource(name = "bizExecutor")
|
||||
private ThreadPoolExecutor bizExecutor;
|
||||
|
||||
//zone = "Asia/Riyadh zone = "Etc/GMT-3" 两种方式都支持
|
||||
|
||||
/**
|
||||
* 公户月结算,用户明细
|
||||
* 每月1号凌晨0点10分执行
|
||||
*/
|
||||
@Scheduled(cron = "0 10 0 1 * ?", zone = "Etc/GMT-3")
|
||||
public void monthRankTaskAll2() {
|
||||
Date date = new Date();
|
||||
List<PartitionEnum> partitionEnumList = List.of(PartitionEnum.ARAB, PartitionEnum.TURKEY);
|
||||
for (PartitionEnum partitionEnum : partitionEnumList) {
|
||||
try {
|
||||
DateTime lastMonth = DateUtil.offsetMonth(date, -1);
|
||||
DateTime beginTime = DateUtil.offsetDay(lastMonth, 15);
|
||||
DateTime endTime = DateUtil.beginOfDay(date);
|
||||
log.info("=-=monthRankTaskAll2=-=:beginTime:{},endTime:{}", DateUtil.formatDateTime(beginTime) , DateUtil.formatDateTime(endTime));
|
||||
agencyMonthSettleService.monthRankTaskAll(partitionEnum.getId(), beginTime, endTime);
|
||||
log.info("=-=monthRankTaskAll2=-= 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("[monthRankTaskAll2] 异常", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 公会月结算
|
||||
* 每月16号凌晨0点10分执行
|
||||
*/
|
||||
@Scheduled(cron = "0 10 0 1,16 * ?", zone = "Etc/GMT-3")
|
||||
@Scheduled(cron = "0 10 0 16 * ?", zone = "Etc/GMT-3")
|
||||
public void monthRankTask() {
|
||||
Date date = new Date();
|
||||
List<PartitionEnum> partitionEnumList = List.of(PartitionEnum.ARAB, PartitionEnum.TURKEY);
|
||||
for (PartitionEnum partitionEnum : partitionEnumList) {
|
||||
bizExecutor.execute(()->{
|
||||
try {
|
||||
DateTime beginTime = DateUtil.beginOfMonth(date);
|
||||
DateTime endTime = DateUtil.beginOfDay(date);
|
||||
log.info("=-=monthRankTaskAll1=-=:beginTime:{},endTime:{}", DateUtil.formatDateTime(beginTime) , DateUtil.formatDateTime(endTime));
|
||||
@@ -55,7 +68,9 @@ public class GuildSettleTask {
|
||||
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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,34 +1,29 @@
|
||||
package com.accompany.scheduler.task.guild;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.accompany.business.service.guild.GuildService;
|
||||
import com.accompany.business.service.guild.SSGuildService;
|
||||
import com.accompany.common.utils.DateTimeUtil;
|
||||
import com.accompany.core.enumeration.PartitionEnum;
|
||||
import com.accompany.core.model.PartitionInfo;
|
||||
import com.accompany.core.service.partition.PartitionInfoService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
public class SSGuildTask {
|
||||
|
||||
@Autowired
|
||||
private PartitionInfoService partitionInfoService;
|
||||
|
||||
@Autowired
|
||||
private SSGuildService ssGuildService;
|
||||
|
||||
@Resource(name = "bizExecutor")
|
||||
private ThreadPoolExecutor bizExecutor;
|
||||
|
||||
private static final DateTimeFormatter dateFormatters = DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATETIME_PATTERN);
|
||||
|
||||
@@ -37,31 +32,37 @@ public class SSGuildTask {
|
||||
*/
|
||||
@Scheduled(cron = "0 0/5 * * * ?")
|
||||
public void ssTaskByMinutes() {
|
||||
PartitionInfo byId = partitionInfoService.getById(PartitionEnum.ARAB.getId());
|
||||
ZonedDateTime zonedDateTime = DateTimeUtil.convertWithZoneId(new Date(), byId.getZoneId());
|
||||
log.info("=-=ssTaskByMinutes=-=:东三区时间:{}", zonedDateTime.format(dateFormatters));
|
||||
String cycleOne = zonedDateTime.withDayOfMonth(1).format(DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_PATTERN));
|
||||
String cycleTwo = zonedDateTime.withDayOfMonth(16).format(DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_PATTERN));
|
||||
List<String> cycleDates = Arrays.asList(cycleOne, cycleTwo);
|
||||
ssGuildService.ssTaskByMinutes(cycleDates, PartitionEnum.ARAB.getId());
|
||||
log.info("=-=ssTaskByMinutes=-=:cycleOne:{},cycleTwo:{}", cycleOne , cycleTwo);
|
||||
List<PartitionEnum> partitionEnumList = List.of(PartitionEnum.ARAB, PartitionEnum.TURKEY);
|
||||
for (PartitionEnum partitionEnum : partitionEnumList) {
|
||||
bizExecutor.execute(() -> {
|
||||
ZonedDateTime zonedDateTime = DateTimeUtil.convertWithZoneId(new Date(), partitionEnum.getZoneId());
|
||||
log.info("=-=ssTaskByMinutes=-=:东三区时间:{}", zonedDateTime.format(dateFormatters));
|
||||
String cycleOne = zonedDateTime.withDayOfMonth(1).format(DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_PATTERN));
|
||||
String cycleTwo = zonedDateTime.withDayOfMonth(16).format(DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_PATTERN));
|
||||
List<String> cycleDates = Arrays.asList(cycleOne, cycleTwo);
|
||||
ssGuildService.ssTaskByMinutes(cycleDates, partitionEnum.getId());
|
||||
log.info("=-=ssTaskByMinutes=-=:cycleOne:{},cycleTwo:{}", cycleOne , cycleTwo);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 每5minutes
|
||||
*/
|
||||
@Scheduled(cron = "0 10 0 1 * ?", zone = "Etc/GMT-3")
|
||||
public void ssMonthTask() {
|
||||
PartitionInfo byId = partitionInfoService.getById(PartitionEnum.ARAB.getId());
|
||||
ZonedDateTime zonedDateTime = DateTimeUtil.convertWithZoneId(new Date(), byId.getZoneId());
|
||||
log.info("=-=ssMonthTask=-=:东三区时间:{}", zonedDateTime.format(dateFormatters));
|
||||
String cycleOne = zonedDateTime.minusMonths(1).withDayOfMonth(1).format(DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_PATTERN));
|
||||
String cycleTwo = zonedDateTime.minusMonths(1).withDayOfMonth(16).format(DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_PATTERN));
|
||||
List<String> cycleDates = Arrays.asList(cycleOne, cycleTwo);
|
||||
log.info("=-=ssMonthTask=-=:cycleOne:{},cycleTwo:{}", cycleOne , cycleTwo);
|
||||
ssGuildService.ssMonthTask(cycleDates, PartitionEnum.ARAB.getId());
|
||||
log.info("================ssMonthTask end===============");
|
||||
ssGuildService.ssTaskByMinutes(cycleDates, PartitionEnum.ARAB.getId());
|
||||
List<PartitionEnum> partitionEnumList = List.of(PartitionEnum.ARAB, PartitionEnum.TURKEY);
|
||||
for (PartitionEnum partitionEnum : partitionEnumList) {
|
||||
bizExecutor.execute(() -> {
|
||||
ZonedDateTime zonedDateTime = DateTimeUtil.convertWithZoneId(new Date(), partitionEnum.getZoneId());
|
||||
log.info("=-=ssMonthTask=-=:东三区时间:{}", zonedDateTime.format(dateFormatters));
|
||||
String cycleOne = zonedDateTime.minusMonths(1).withDayOfMonth(1).format(DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_PATTERN));
|
||||
String cycleTwo = zonedDateTime.minusMonths(1).withDayOfMonth(16).format(DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_PATTERN));
|
||||
List<String> cycleDates = Arrays.asList(cycleOne, cycleTwo);
|
||||
log.info("=-=ssMonthTask=-=:cycleOne:{},cycleTwo:{}", cycleOne , cycleTwo);
|
||||
ssGuildService.ssMonthTask(cycleDates, partitionEnum.getId());
|
||||
log.info("================ssMonthTask end===============");
|
||||
ssGuildService.ssTaskByMinutes(cycleDates, partitionEnum.getId());
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user