家族-定时任务-分区进行钻石清除
This commit is contained in:
@@ -12,6 +12,8 @@ public class FamilyMemberDiamondSettlementRecord {
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
private Long familyMemberId;
|
||||
private String cycleDate;
|
||||
private Integer partitionId;
|
||||
private Integer familyId;
|
||||
private Byte roleType;
|
||||
private Long uid;
|
||||
|
@@ -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.common.utils.DateTimeUtil;
|
||||
import com.accompany.business.util.CycleTimeUtil;
|
||||
import com.accompany.core.enumeration.BillObjTypeEnum;
|
||||
import com.accompany.core.enumeration.PartitionEnum;
|
||||
import lombok.SneakyThrows;
|
||||
@@ -21,6 +21,7 @@ import org.redisson.api.RLocalCachedMap;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
@@ -44,11 +45,16 @@ public class FamilyDiamondSettlementService {
|
||||
private BillRecordService billRecordService;
|
||||
|
||||
@SneakyThrows
|
||||
public void settlement(Integer waitSecond) {
|
||||
//当天零点再前推1秒,相当于昨天23:59:59 给客户端周查询
|
||||
Date now = DateTimeUtil.addSeconds(DateTimeUtil.getBeginTimeOfDay(new Date()),-1);
|
||||
public void settlement(Integer partitionId, String cycleDate, Integer waitSecond) {
|
||||
PartitionEnum partitionEnum = PartitionEnum.getByPartitionId(partitionId);
|
||||
|
||||
List<FamilyMember> familyMemberList = familyMemberService.listValidFamilyMemberByPartitionId(PartitionEnum.ENGLISH.getId());
|
||||
if (!StringUtils.hasText(cycleDate)){
|
||||
cycleDate = CycleTimeUtil.getLastDateByZoneId(partitionEnum.getZoneId());
|
||||
}
|
||||
|
||||
Date now = new Date();
|
||||
|
||||
List<FamilyMember> familyMemberList = familyMemberService.listValidFamilyMemberByPartitionId(partitionEnum.getId());
|
||||
if (CollectionUtils.isEmpty(familyMemberList)){
|
||||
return;
|
||||
}
|
||||
@@ -110,6 +116,8 @@ public class FamilyDiamondSettlementService {
|
||||
//结算记录
|
||||
FamilyMemberDiamondSettlementRecord settlementRecord = new FamilyMemberDiamondSettlementRecord();
|
||||
settlementRecord.setFamilyMemberId(familyMember.getId());
|
||||
settlementRecord.setCycleDate(cycleDate);
|
||||
settlementRecord.setPartitionId(familyMember.getPartitionId());
|
||||
settlementRecord.setFamilyId(familyMember.getFamilyId());
|
||||
settlementRecord.setRoleType(familyMember.getRoleType());
|
||||
settlementRecord.setUid(uid);
|
||||
|
@@ -1,13 +1,14 @@
|
||||
package com.accompany.scheduler.task;
|
||||
|
||||
import com.accompany.business.service.clan.FamilyDiamondSettlementService;
|
||||
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;
|
||||
|
||||
@Slf4j
|
||||
//@Component
|
||||
@Component
|
||||
public class FamilyDiamondSettlementTask {
|
||||
|
||||
@Autowired
|
||||
@@ -18,11 +19,26 @@ public class FamilyDiamondSettlementTask {
|
||||
* 周一凌晨0点
|
||||
* */
|
||||
@Scheduled(cron = "0 0 0 1,16 * *")
|
||||
public void familyDiamondSettlement() {
|
||||
public void familyDiamondSettlementEn() {
|
||||
long now = System.currentTimeMillis();
|
||||
log.info("familyGoldSettlement() start..........");
|
||||
|
||||
service.settlement(null);
|
||||
service.settlement(PartitionEnum.ENGLISH.getId(), null, null);
|
||||
|
||||
long finish = System.currentTimeMillis();
|
||||
log.info("familyGoldSettlement() cost {}ms finish..........", finish-now);
|
||||
}
|
||||
|
||||
/**
|
||||
* 公会钻石结算
|
||||
* 周一凌晨0点
|
||||
* */
|
||||
@Scheduled(cron = "0 0 0 1,16 * *", zone = "Asia/Riyadh")
|
||||
public void familyDiamondSettlementTr() {
|
||||
long now = System.currentTimeMillis();
|
||||
log.info("familyGoldSettlement() start..........");
|
||||
|
||||
service.settlement(PartitionEnum.TURKEY.getId(), null, null);
|
||||
|
||||
long finish = System.currentTimeMillis();
|
||||
log.info("familyGoldSettlement() cost {}ms finish..........", finish-now);
|
||||
|
Reference in New Issue
Block a user