SS公会榜单fixed
SS公会榜单1
This commit is contained in:
@@ -186,6 +186,7 @@ public enum BillObjTypeEnum {
|
||||
GUILD_USD_TO_PLATFORM_OUT((byte) 125, "公会usd提现支出", BillTypeEnum.OUT, CurrencyEnum.GUILD_USD),
|
||||
|
||||
GUILD_SETTLEMENT_USD_IN((byte) 124, "公会周期结算会长usd收入", BillTypeEnum.IN, CurrencyEnum.GUILD_USD),
|
||||
SS_GUILD_MONTH_MEMBER_DIAMOND((byte) 125, "游戏开黑收入", BillTypeEnum.IN, CurrencyEnum.GOLD),
|
||||
;
|
||||
|
||||
BillObjTypeEnum(byte value, String desc, BillTypeEnum type, CurrencyEnum currency) {
|
||||
|
@@ -6,8 +6,9 @@ public enum ActivityType {
|
||||
|
||||
activity_charge(1, "Monthly Recharge","Monthly Recharge","每月充值活动","Aylık şarj etkinliği",ACTIVITY_FIRST_COMMON,true),
|
||||
SS_GUILD(2, "SS GUILD","SS GUILD","SS GUILD","SS GUILD",ACTIVITY_FIRST_COMMON,true),
|
||||
SS_GUILD_DRESS_REWARD(3, "SS GUILD DRESS REWARD","SS GUILD DRESS REWARD","SS GUILD DRESS REWARD","SS GUILD DRESS REWARD",ACTIVITY_FIRST_COMMON,true),
|
||||
SS_GUILD_GOLD_REWARD(4, "SS GUILD GOLD REWARD","SS GUILD GOLD REWARD","SS GUILD GOLD REWARD","SS GUILD GOLD REWARD",ACTIVITY_FIRST_COMMON,true),
|
||||
SS_GUILD_S_GOLD_REWARD(3, "SS GUILD GOLD REWARD","SS GUILD GOLD REWARD","SS GUILD GOLD REWARD","SS GUILD GOLD REWARD",ACTIVITY_FIRST_COMMON,true),
|
||||
SS_GUILD_SS_GOLD_REWARD(4, "SS GUILD GOLD REWARD","SS GUILD GOLD REWARD","SS GUILD GOLD REWARD","SS GUILD GOLD REWARD",ACTIVITY_FIRST_COMMON,true),
|
||||
SS_GUILD_DRESS_REWARD(5, "SS GUILD DRESS REWARD","SS GUILD DRESS REWARD","SS GUILD DRESS REWARD","SS GUILD DRESS REWARD",ACTIVITY_FIRST_COMMON,true),
|
||||
;
|
||||
|
||||
private Integer type;
|
||||
|
@@ -0,0 +1,18 @@
|
||||
package com.accompany.business.constant.activity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class GuildSSConstant {
|
||||
public enum SSMarkEnmu {
|
||||
B(1),
|
||||
A(2),
|
||||
S(3),
|
||||
SS(4),
|
||||
;
|
||||
public final Integer level;
|
||||
SSMarkEnmu(Integer level) {
|
||||
this.level = level;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,56 @@
|
||||
package com.accompany.business.model.guild;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import java.util.Date;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* SS金币发放明细表实体类
|
||||
*
|
||||
* @author
|
||||
* @since 2024-09-04
|
||||
*/
|
||||
@Data
|
||||
public class SsMonthCoinRecord implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
/**
|
||||
* 时间
|
||||
*/
|
||||
private String cycleDate;
|
||||
private Long uid;
|
||||
private Long guildMemberId;
|
||||
private Integer guildId;
|
||||
/**
|
||||
* 公会总流水
|
||||
*/
|
||||
private BigDecimal guildDiamondNum;
|
||||
/**
|
||||
* 主播流水
|
||||
*/
|
||||
private BigDecimal diamondNum;
|
||||
/**
|
||||
* 金币数量
|
||||
*/
|
||||
private Long goldNum;
|
||||
/**
|
||||
* 发放状态,1-已发放,0-待发放
|
||||
*/
|
||||
private Long sendStatus;
|
||||
|
||||
/**
|
||||
* 发送人
|
||||
*/
|
||||
private String sendUser;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
private Date updateTime;
|
||||
}
|
@@ -6,5 +6,6 @@ import lombok.Data;
|
||||
@Data
|
||||
public class GuildMemberDiamondStatisticsVo extends GuildMemberDiamondStatistics {
|
||||
private Integer hallMemberCount;
|
||||
private Long guildMemberId;
|
||||
|
||||
}
|
||||
|
@@ -21,4 +21,5 @@ public class GuildSSMemberVo {
|
||||
private Integer ssLevel;
|
||||
private BigDecimal diamondNum;
|
||||
private Long goldNum;
|
||||
private Long ownerErbanNo;
|
||||
}
|
||||
|
@@ -29,6 +29,8 @@ public class GuildSSRankDetailVo {
|
||||
private String markScore;
|
||||
private Integer ssLevel;
|
||||
private Long uid;
|
||||
private Integer memberNum;
|
||||
private Long ownerErbanNo;
|
||||
}
|
||||
|
||||
|
||||
|
@@ -33,11 +33,13 @@ public interface GuildMemberDiamondStatisticsMapper extends BaseMapper<GuildMemb
|
||||
|
||||
List<GuildSSRankDetailVo> ssGuildRankList(@Param("cycleDates") List<String> cycleDates,
|
||||
@Param("partitionId") Integer partitionId,
|
||||
@Param("guildId") Integer guildId,
|
||||
@Param("minDiamondNum") Long minDiamondNum,
|
||||
@Param("limit") Integer limit);
|
||||
@Param("guildId") Integer guildId);
|
||||
|
||||
Double ssGuildMemberDetail(@Param("cycleDates") List<String> cycleDates,
|
||||
List<GuildMemberDiamondStatisticsVo> sumSSGuildMemberDetailList(@Param("cycleDates") List<String> cycleDates,
|
||||
@Param("guildId") Integer guildId,
|
||||
@Param("uid") Long uid, @Param("minDiamond") Long minDiamond);
|
||||
|
||||
Double sumSSGuildMemberDetail(@Param("cycleDates") List<String> cycleDates,
|
||||
@Param("guildId") Integer guildId,
|
||||
@Param("uid") Long uid);
|
||||
|
||||
|
@@ -0,0 +1,14 @@
|
||||
package com.accompany.business.mybatismapper.guild;
|
||||
|
||||
import com.accompany.business.model.guild.SsMonthCoinRecord;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* SS金币发放明细表 Mapper 接口
|
||||
*
|
||||
* @author
|
||||
* @since 2024-09-04
|
||||
*/
|
||||
public interface SsMonthCoinRecordMapper extends BaseMapper<SsMonthCoinRecord> {
|
||||
|
||||
}
|
@@ -32,6 +32,7 @@ public interface ActivityH5AwardRecordService extends IService<ActivityH5AwardRe
|
||||
* @param activitySkipType
|
||||
*/
|
||||
void sendAward(ActivityType activityType,Long uid, Integer level, String date, ActivitySkipType activitySkipType);
|
||||
void sendAwardCheckSend(ActivityType activityType,Long uid, Integer level, String date, ActivitySkipType activitySkipType, Long statusCacheDay);
|
||||
void sendAward(ActivityType activityType,Long uid, Integer level, String date, ActivitySkipType activitySkipType,String msg);
|
||||
void delLoopCoinQywxMessage(ActivityType activityType);
|
||||
String getRecitalCoinLoopQywxMessage(ActivityType activityType, Long uid, ActivityH5LevelAward award, Integer level);
|
||||
|
@@ -26,6 +26,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.redisson.api.RSet;
|
||||
import org.redisson.api.RedissonClient;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -34,6 +35,7 @@ import org.springframework.util.CollectionUtils;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -80,6 +82,17 @@ public class ActivityH5AwardRecordServiceImpl extends ServiceImpl<ActivityH5Awar
|
||||
this.sendAward(activityType,uid,level,date,activitySkipType,null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendAwardCheckSend(ActivityType activityType, Long uid, Integer level, String date, ActivitySkipType activitySkipType, Long statusCacheDay) {
|
||||
String activityRewardSignKey = ActivityH5RedisKey.activity_reward_sign.getKey(activityType.name(), level.toString(), date, uid.toString());
|
||||
RSet<Integer> set = redissonClient.getSet(activityRewardSignKey);
|
||||
boolean added = set.add(level);
|
||||
set.expire(statusCacheDay, TimeUnit.DAYS);
|
||||
if (added) {
|
||||
this.sendAward(activityType,uid,level,date,activitySkipType,null);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendAwardForRegion(ActivityType activityType, Long uid, Integer level, String date, ActivitySkipType activitySkipType, String msg, Byte region) {
|
||||
ActivityH5LevelExp activityH5LevelExp = activityH5LevelExpService.getLevelExp(level,activityType.getType());
|
||||
|
@@ -24,6 +24,8 @@ public interface ActivityH5LevelExpService extends IService<ActivityH5LevelExp>
|
||||
|
||||
TreeMap<BigDecimal, ActivityExpVo> expTreeMap(ActivityType activityType);
|
||||
|
||||
TreeMap<BigDecimal, ActivityExpVo> expTreeMapByList(List<ActivityExpVo> activityExpVos);
|
||||
|
||||
/**
|
||||
* exp达到
|
||||
* @param expTreeMap
|
||||
|
@@ -42,6 +42,12 @@ public class ActivityH5LevelExpServiceImpl extends ServiceImpl<ActivityH5LevelEx
|
||||
public TreeMap<BigDecimal, ActivityExpVo> expTreeMap(ActivityType activityType) {
|
||||
TreeMap<BigDecimal, ActivityExpVo> treeMap = new TreeMap<>();
|
||||
List<ActivityExpVo> levelList = this.getLevelList(activityType);
|
||||
return expTreeMapByList(levelList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TreeMap<BigDecimal, ActivityExpVo> expTreeMapByList(List<ActivityExpVo> levelList) {
|
||||
TreeMap<BigDecimal, ActivityExpVo> treeMap = new TreeMap<>();
|
||||
if (CollectionUtils.isEmpty(levelList)) {
|
||||
return treeMap;
|
||||
}
|
||||
|
@@ -1,6 +1,5 @@
|
||||
package com.accompany.business.service.activity.h5;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.accompany.business.constant.activity.ActivityH5RedisKey;
|
||||
import com.accompany.business.constant.activity.ActivitySkipType;
|
||||
import com.accompany.business.constant.activity.ActivityType;
|
||||
@@ -20,7 +19,6 @@ import com.accompany.core.service.partition.PartitionInfoService;
|
||||
import com.accompany.payment.service.RechargeUserService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.redisson.api.*;
|
||||
import org.redisson.client.codec.LongCodec;
|
||||
@@ -36,7 +34,6 @@ import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.TemporalAdjusters;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
|
@@ -1,14 +1,17 @@
|
||||
package com.accompany.business.service.guild;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.accompany.business.constant.activity.ActivityType;
|
||||
import com.accompany.business.model.guild.GuildDiamondWage;
|
||||
import com.accompany.business.model.guild.GuildMember;
|
||||
import com.accompany.business.model.guild.GuildMemberDiamondStatistics;
|
||||
import com.accompany.business.mybatismapper.guild.GuildMemberDiamondStatisticsMapper;
|
||||
import com.accompany.business.service.activity.h5.ActivityH5LevelExpService;
|
||||
import com.accompany.business.vo.activity.h5.ActivityDiffExpVo;
|
||||
import com.accompany.business.vo.activity.h5.ActivityExpVo;
|
||||
import com.accompany.business.vo.guild.*;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
@@ -25,6 +28,8 @@ public class GuildMemberDiamondStatisticsService extends ServiceImpl<GuildMember
|
||||
|
||||
@Autowired
|
||||
private GuildDiamondWageService guildDiamondWageService;
|
||||
@Autowired
|
||||
private ActivityH5LevelExpService activityH5LevelExpService;
|
||||
|
||||
public void update(String cycleDate, GuildMember guildMember, double diamond){
|
||||
Date now = new Date();
|
||||
@@ -97,11 +102,45 @@ public class GuildMemberDiamondStatisticsService extends ServiceImpl<GuildMember
|
||||
return levelMonths;
|
||||
}
|
||||
|
||||
public List<GuildSSRankDetailVo> ssGuildRankList(List<String> cycleDates, Integer partitionId, Integer guildId, Long minDiamondNum, Integer limit) {
|
||||
return baseMapper.ssGuildRankList(cycleDates, partitionId, guildId, minDiamondNum, limit);
|
||||
public List<GuildSSRankDetailVo> ssGuildRankList(List<String> cycleDates, Integer partitionId, Integer guildId) {
|
||||
List<GuildSSRankDetailVo> guildSSRankDetailVos = baseMapper.ssGuildRankList(cycleDates, partitionId, guildId);
|
||||
if (CollectionUtils.isEmpty(guildSSRankDetailVos)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
int rank = 1;
|
||||
List<ActivityExpVo> ssRankExpVos = activityH5LevelExpService.getLevelList(ActivityType.SS_GUILD);
|
||||
for (GuildSSRankDetailVo guildSSRankDetailVo : guildSSRankDetailVos) {
|
||||
ActivityDiffExpVo activityDiffExpVo = activityH5LevelExpService.calCurrentOrNextPosition(ssRankExpVos,
|
||||
guildSSRankDetailVo.getDiamondNum().doubleValue(), guildSSRankDetailVo.getMemberNum().longValue());
|
||||
if (activityDiffExpVo.getLevel() >= 1 && rank <= 30) {
|
||||
guildSSRankDetailVo.setRank(rank++);
|
||||
}
|
||||
guildSSRankDetailVo.setMarkScore(activityDiffExpVo.getName());
|
||||
guildSSRankDetailVo.setSsLevel(activityDiffExpVo.getLevel());
|
||||
}
|
||||
return guildSSRankDetailVos;
|
||||
}
|
||||
|
||||
public Double ssGuildMemberDetail(List<String> cycleDates, Integer guildId, Long uid) {
|
||||
return baseMapper.ssGuildMemberDetail(cycleDates, guildId, uid);
|
||||
/**
|
||||
* 统计主播钻石流水 sum
|
||||
* @param cycleDates
|
||||
* @param guildId allow null
|
||||
* @param uid allow null
|
||||
* @return
|
||||
*/
|
||||
public Double sumSSGuildMemberDetail(List<String> cycleDates, Integer guildId, Long uid) {
|
||||
return baseMapper.sumSSGuildMemberDetail(cycleDates, guildId, uid);
|
||||
}
|
||||
|
||||
/**
|
||||
* 统计主播钻石流水
|
||||
* @param cycleDates
|
||||
* @param guildId allow null
|
||||
* @param uid allow null
|
||||
* @param minDiamond allow null
|
||||
* @return
|
||||
*/
|
||||
List<GuildMemberDiamondStatisticsVo> sumSSGuildMemberDetailList(List<String> cycleDates, Integer guildId, Long uid, Long minDiamond) {
|
||||
return baseMapper.sumSSGuildMemberDetailList(cycleDates, guildId, uid, minDiamond);
|
||||
}
|
||||
}
|
||||
|
@@ -1,25 +1,35 @@
|
||||
package com.accompany.business.service.guild;
|
||||
|
||||
import com.accompany.business.constant.activity.ActivitySkipType;
|
||||
import com.accompany.business.constant.activity.ActivityType;
|
||||
import com.accompany.business.constant.activity.GuildSSConstant;
|
||||
import com.accompany.business.model.UserLevelExperience;
|
||||
import com.accompany.business.model.activity.h5.ActivityH5LevelAward;
|
||||
import com.accompany.business.model.guild.Guild;
|
||||
import com.accompany.business.model.guild.GuildMember;
|
||||
import com.accompany.business.service.activity.h5.ActivityH5AwardRecordService;
|
||||
import com.accompany.business.service.activity.h5.ActivityH5LevelAwardService;
|
||||
import com.accompany.business.service.activity.h5.ActivityH5LevelExpService;
|
||||
import com.accompany.business.service.activity.h5.ActivityRankRuleService;
|
||||
import com.accompany.business.service.level.LevelService;
|
||||
import com.accompany.business.service.purse.UserPurseService;
|
||||
import com.accompany.business.service.record.BillRecordService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.business.vo.activity.h5.ActivityDiffExpVo;
|
||||
import com.accompany.business.vo.activity.h5.ActivityExpVo;
|
||||
import com.accompany.business.vo.guild.GuildMemberDiamondStatisticsVo;
|
||||
import com.accompany.business.vo.guild.GuildSSMemberVo;
|
||||
import com.accompany.business.vo.guild.GuildSSRankDetailVo;
|
||||
import com.accompany.business.vo.guild.GuildSSRankVo;
|
||||
import com.accompany.common.result.BusiResult;
|
||||
import com.accompany.common.utils.DateTimeUtil;
|
||||
import com.accompany.core.enumeration.BillObjTypeEnum;
|
||||
import com.accompany.core.enumeration.PartitionEnum;
|
||||
import com.accompany.core.exception.ServiceException;
|
||||
import com.accompany.core.model.PartitionInfo;
|
||||
import com.accompany.core.model.Users;
|
||||
import com.accompany.core.service.partition.PartitionInfoService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -28,13 +38,11 @@ import java.math.BigDecimal;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.TemporalAdjusters;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.TreeMap;
|
||||
import java.util.*;
|
||||
|
||||
import static com.accompany.common.status.BusiStatus.ACCESS_DENIED;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
public class SSGuildService {
|
||||
|
||||
@@ -47,6 +55,8 @@ public class SSGuildService {
|
||||
@Autowired
|
||||
private ActivityH5LevelExpService activityH5LevelExpService;
|
||||
@Autowired
|
||||
private ActivityH5LevelAwardService activityH5LevelAwardService;
|
||||
@Autowired
|
||||
private ActivityRankRuleService activityRankRuleService;
|
||||
@Autowired
|
||||
private GuildMemberService guildMemberService;
|
||||
@@ -54,6 +64,10 @@ public class SSGuildService {
|
||||
private GuildService guildService;
|
||||
@Autowired
|
||||
private LevelService levelService;
|
||||
@Autowired
|
||||
private SsMonthCoinRecordService ssMonthCoinRecordService;
|
||||
@Autowired
|
||||
private ActivityH5AwardRecordService activityH5AwardRecordService;
|
||||
|
||||
private static final DateTimeFormatter dateFormatters = DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_PATTERN);
|
||||
|
||||
@@ -72,66 +86,164 @@ public class SSGuildService {
|
||||
guildSSRankVo.setMonthEndTime(cycleEndDateTime.toInstant().toEpochMilli());
|
||||
guildSSRankVo.setStartDate(zonedDateTime.withDayOfMonth(1).format(DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_PATTERN_DOT)));
|
||||
guildSSRankVo.setEndDate(cycleEndDateTime.format(DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_PATTERN_DOT)));
|
||||
List<ActivityExpVo> expVos = activityH5LevelExpService.getLevelList(ActivityType.SS_GUILD);
|
||||
BigDecimal minDiamondNum = expVos.get(0).getExp();
|
||||
UserLevelExperience userExper = levelService.getUserExper(uid);
|
||||
guildSSRankVo.setWealth(userExper.getLevelExperience().getLevelSeq());
|
||||
guildSSRankVo.setLimitWealth(activityRankRuleService.getCommonLimitWealth());
|
||||
List<GuildSSRankDetailVo> guildSSRankDetailVos = guildMemberDiamondStatisticsService.ssGuildRankList(cycleDates, users.getPartitionId(), null, minDiamondNum.longValue(), 30);
|
||||
guildSSRankVo.setRankList(guildSSRankDetailVos);
|
||||
List<GuildSSRankDetailVo> guildSSRankDetailVos = guildMemberDiamondStatisticsService.ssGuildRankList(cycleDates, users.getPartitionId(), null);
|
||||
List<GuildSSRankDetailVo> result = new ArrayList<>();
|
||||
guildSSRankVo.setRankList(result);
|
||||
GuildMember vaildGuildMemberByUid = guildMemberService.getVaildGuildMemberByUid(uid);
|
||||
Integer guildId = null;
|
||||
if (vaildGuildMemberByUid != null) {
|
||||
guildId = vaildGuildMemberByUid.getGuildId();
|
||||
}
|
||||
GuildSSRankDetailVo selfRank = null;
|
||||
TreeMap<BigDecimal, ActivityExpVo> ssRankExpVos = activityH5LevelExpService.expTreeMap(ActivityType.SS_GUILD);
|
||||
if (CollectionUtils.isNotEmpty(guildSSRankDetailVos)) {
|
||||
int rank = 1;
|
||||
for (GuildSSRankDetailVo guildSSRankDetailVo : guildSSRankDetailVos) {
|
||||
guildSSRankDetailVo.setRank(rank++);
|
||||
ActivityDiffExpVo activityDiffExpVo = activityH5LevelExpService.calCurrentOrNextPosition(ssRankExpVos, guildSSRankDetailVo.getDiamondNum().doubleValue());
|
||||
guildSSRankDetailVo.setMarkScore(activityDiffExpVo.getName());
|
||||
guildSSRankDetailVo.setSsLevel(activityDiffExpVo.getLevel());
|
||||
guildSSRankDetailVo.setDiamondNum(null);
|
||||
if (guildSSRankDetailVo.getRank() > 0) {
|
||||
result.add(guildSSRankDetailVo);
|
||||
}
|
||||
if (guildSSRankDetailVo.getGuildId().equals(guildId)) {
|
||||
selfRank = guildSSRankDetailVo;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (guildId != null) {
|
||||
Guild vaildGuildById = guildService.getVaildGuildById(guildId);
|
||||
Users guildOwner = usersService.getUsersByUid(vaildGuildById.getOwnerUid());
|
||||
if (selfRank == null) {
|
||||
List<GuildSSRankDetailVo> guildSSRankDetailVos1 = guildMemberDiamondStatisticsService.ssGuildRankList(cycleDates, users.getPartitionId(), guildId, minDiamondNum.longValue(), 1);
|
||||
if (CollectionUtils.isNotEmpty(guildSSRankDetailVos1)) {
|
||||
selfRank = guildSSRankDetailVos1.get(0);
|
||||
ActivityDiffExpVo activityDiffExpVo = activityH5LevelExpService.calCurrentOrNextPosition(ssRankExpVos, selfRank.getDiamondNum().doubleValue());
|
||||
selfRank.setMarkScore(activityDiffExpVo.getName());
|
||||
selfRank.setSsLevel(activityDiffExpVo.getLevel());
|
||||
} else {
|
||||
selfRank = new GuildSSRankDetailVo();
|
||||
selfRank.setGuildId(guildId);
|
||||
selfRank.setGuildName(vaildGuildById.getName());
|
||||
selfRank.setUid(vaildGuildById.getOwnerUid());
|
||||
selfRank.setAvatar(guildOwner.getAvatar());
|
||||
selfRank.setDiamondNum(BigDecimal.valueOf(0));
|
||||
selfRank.setMarkScore("-");
|
||||
selfRank.setSsLevel(0);
|
||||
}
|
||||
}
|
||||
GuildSSMemberVo memberVo = GuildSSMemberVo.builder().guildName(selfRank.getGuildName())
|
||||
.erbanNo(users.getErbanNo())
|
||||
.nick(users.getNick())
|
||||
.ssLevel(selfRank.getSsLevel())
|
||||
.markScore(selfRank.getMarkScore())
|
||||
.guildId(guildId)
|
||||
.avatar(users.getAvatar())
|
||||
.goldNum(0L)
|
||||
.diamondNum(BigDecimal.valueOf(guildMemberDiamondStatisticsService.ssGuildMemberDetail(cycleDates, guildId, uid))).build();
|
||||
guildSSRankVo.setMemberVo(memberVo);
|
||||
}
|
||||
guildSSRankVo.setSelfRank(selfRank);
|
||||
if(guildId == null){ //非主播
|
||||
return BusiResult.success(guildSSRankVo);
|
||||
}
|
||||
Guild vaildGuildById = guildService.getVaildGuildById(guildId);
|
||||
Users guildOwner = usersService.getUsersByUid(vaildGuildById.getOwnerUid());
|
||||
if (selfRank == null) {
|
||||
selfRank = new GuildSSRankDetailVo();
|
||||
selfRank.setGuildId(guildId);
|
||||
selfRank.setOwnerErbanNo(guildOwner.getErbanNo());
|
||||
selfRank.setGuildName(vaildGuildById.getName());
|
||||
selfRank.setUid(vaildGuildById.getOwnerUid());
|
||||
selfRank.setAvatar(guildOwner.getAvatar());
|
||||
selfRank.setDiamondNum(BigDecimal.valueOf(0));
|
||||
selfRank.setMarkScore("-");
|
||||
selfRank.setSsLevel(0);
|
||||
}
|
||||
|
||||
ActivityType activityType = null;
|
||||
if (GuildSSConstant.SSMarkEnmu.S.level.equals(selfRank.getSsLevel())) {
|
||||
activityType = ActivityType.SS_GUILD_S_GOLD_REWARD;
|
||||
} else if (GuildSSConstant.SSMarkEnmu.SS.level.equals(selfRank.getSsLevel())) {
|
||||
activityType = ActivityType.SS_GUILD_SS_GOLD_REWARD;
|
||||
}
|
||||
Long goldNum = 0L;
|
||||
Double diamondNum = guildMemberDiamondStatisticsService.sumSSGuildMemberDetail(cycleDates, guildId, uid);
|
||||
if (activityType != null) {
|
||||
List<ActivityExpVo> levelList = activityH5LevelExpService.getLevelList(activityType);
|
||||
TreeMap<BigDecimal, ActivityExpVo> treeMap = activityH5LevelExpService.expTreeMapByList(levelList);
|
||||
ActivityDiffExpVo activityDiffExpVo = activityH5LevelExpService.calCurrentOrNextPosition(treeMap, diamondNum);
|
||||
List<ActivityH5LevelAward> activityH5LevelAwards = activityH5LevelAwardService.listByLevel(activityDiffExpVo.getLevel(), activityType.getType());
|
||||
goldNum = activityH5LevelAwards.get(0).getAwardNum().longValue();
|
||||
}
|
||||
|
||||
GuildSSMemberVo memberVo = GuildSSMemberVo.builder().guildName(selfRank.getGuildName())
|
||||
.erbanNo(users.getErbanNo())
|
||||
.nick(users.getNick())
|
||||
.ssLevel(selfRank.getSsLevel())
|
||||
.markScore(selfRank.getMarkScore())
|
||||
.guildId(guildId)
|
||||
.avatar(users.getAvatar())
|
||||
.goldNum(goldNum)
|
||||
.ownerErbanNo(guildOwner.getErbanNo())
|
||||
.diamondNum(BigDecimal.valueOf(diamondNum)).build();
|
||||
guildSSRankVo.setMemberVo(memberVo);
|
||||
return BusiResult.success(guildSSRankVo);
|
||||
}
|
||||
|
||||
public void ssMonthTask(List<String> cycleDates, Integer partitionId) {
|
||||
try {
|
||||
List<GuildSSRankDetailVo> guildSSRankDetailVos = guildMemberDiamondStatisticsService.ssGuildRankList(cycleDates, partitionId, null);
|
||||
if (CollectionUtils.isEmpty(guildSSRankDetailVos)) {
|
||||
log.info("====ssMonthTask============= empty data");
|
||||
return;
|
||||
}
|
||||
ActivityType activityType = null;
|
||||
for (GuildSSRankDetailVo rankDetailVo : guildSSRankDetailVos) {
|
||||
if (GuildSSConstant.SSMarkEnmu.S.level.equals(rankDetailVo.getSsLevel())) {
|
||||
activityType = ActivityType.SS_GUILD_S_GOLD_REWARD;
|
||||
} else if (GuildSSConstant.SSMarkEnmu.SS.level.equals(rankDetailVo.getSsLevel())) {
|
||||
activityType = ActivityType.SS_GUILD_SS_GOLD_REWARD;
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
List<ActivityExpVo> levelList = activityH5LevelExpService.getLevelList(activityType);
|
||||
if (CollectionUtils.isEmpty(levelList)) {
|
||||
return;
|
||||
}
|
||||
long minDiamond = levelList.get(0).getExp().longValue();
|
||||
List<GuildMemberDiamondStatisticsVo> guildMemberDatas =
|
||||
guildMemberDiamondStatisticsService.sumSSGuildMemberDetailList(cycleDates, rankDetailVo.getGuildId(), null, minDiamond);
|
||||
if (CollectionUtils.isEmpty(guildMemberDatas)) {
|
||||
log.info("=====ssMonthTask=====empty guildMemberData,guildId:{}", rankDetailVo.getGuildId());
|
||||
continue;
|
||||
}
|
||||
TreeMap<BigDecimal, ActivityExpVo> treeMap = activityH5LevelExpService.expTreeMapByList(levelList);
|
||||
for (GuildMemberDiamondStatisticsVo data : guildMemberDatas) {
|
||||
ActivityDiffExpVo activityDiffExpVo = activityH5LevelExpService.calCurrentOrNextPosition(treeMap, data.getDiamondNum());
|
||||
if (activityDiffExpVo.getLevel() <= 0) {
|
||||
continue;
|
||||
}
|
||||
List<ActivityH5LevelAward> activityH5LevelAwards = activityH5LevelAwardService.listByLevel(activityDiffExpVo.getLevel(), activityType.getType());
|
||||
if (CollectionUtils.isEmpty(activityH5LevelAwards)) {
|
||||
log.info("=====ssMonthTask=====empty guildMemberData Gold,guildId:{}", rankDetailVo.getGuildId());
|
||||
continue;
|
||||
}
|
||||
Long rewardGoldNum = activityH5LevelAwards.get(0).getAwardNum().longValue();
|
||||
Boolean checkExist = ssMonthCoinRecordService.checkExist(rankDetailVo.getGuildId(), data.getUid(), data.getGuildMemberId(), cycleDates.get(0));
|
||||
if (checkExist) {
|
||||
continue;
|
||||
}
|
||||
ssMonthCoinRecordService.saveRecord(rankDetailVo.getGuildId(), data.getUid(), data.getGuildMemberId(), cycleDates.get(0), rankDetailVo.getDiamondNum(), BigDecimal.valueOf(data.getDiamondNum()), rewardGoldNum);
|
||||
//不搞自动发,搞手动后台发了
|
||||
// userPurseService.addDiamond(data.getUid(), rewardGoldNum, BillObjTypeEnum.SS_GUILD_MONTH_MEMBER_DIAMOND.getDesc());
|
||||
// billRecordService.insertGeneralBillRecord(data.getUid(), data.getUid(), null, BillObjTypeEnum.SS_GUILD_MONTH_MEMBER_DIAMOND, rewardGoldNum.doubleValue());
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("=====ssMonthTask===== error:{}", e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public void ssTaskByMinutes(List<String> cycleDates, Integer partitionId) {
|
||||
try {
|
||||
List<GuildSSRankDetailVo> guildSSRankDetailVos = guildMemberDiamondStatisticsService.ssGuildRankList(cycleDates, partitionId, null);
|
||||
if (CollectionUtils.isEmpty(guildSSRankDetailVos)) {
|
||||
log.info("====ssTaskByMinutes============= empty data");
|
||||
return;
|
||||
}
|
||||
List<ActivityExpVo> levelList = activityH5LevelExpService.getLevelList(ActivityType.SS_GUILD_S_GOLD_REWARD);
|
||||
if (CollectionUtils.isEmpty(levelList)) {
|
||||
log.info("====ssTaskByMinutes============= empty levelList");
|
||||
return;
|
||||
}
|
||||
long minDiamond = levelList.get(0).getExp().longValue();
|
||||
for (GuildSSRankDetailVo rankDetailVo : guildSSRankDetailVos) {
|
||||
if (GuildSSConstant.SSMarkEnmu.S.level.equals(rankDetailVo.getSsLevel())) {
|
||||
} else if (GuildSSConstant.SSMarkEnmu.SS.level.equals(rankDetailVo.getSsLevel())) {
|
||||
} else if (GuildSSConstant.SSMarkEnmu.A.level.equals(rankDetailVo.getSsLevel())){
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
List<GuildMemberDiamondStatisticsVo> guildMemberDatas =
|
||||
guildMemberDiamondStatisticsService.sumSSGuildMemberDetailList(cycleDates, rankDetailVo.getGuildId(), null, minDiamond);
|
||||
if (CollectionUtils.isEmpty(guildMemberDatas)) {
|
||||
log.info("=====ssTaskByMinutes=====empty guildMemberData,guildId:{}", rankDetailVo.getGuildId());
|
||||
continue;
|
||||
}
|
||||
for (GuildMemberDiamondStatisticsVo data : guildMemberDatas) {
|
||||
activityH5AwardRecordService.sendAwardCheckSend(ActivityType.SS_GUILD, data.getUid(), rankDetailVo.getSsLevel(), cycleDates.get(0), ActivitySkipType.normal, 60L);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("=====ssTaskByMinutes===== error:{}", e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -0,0 +1,20 @@
|
||||
package com.accompany.business.service.guild;
|
||||
|
||||
import com.accompany.business.model.guild.SsMonthCoinRecord;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* SS金币发放明细表 服务类
|
||||
*
|
||||
* @author
|
||||
* @since 2024-09-04
|
||||
*/
|
||||
public interface SsMonthCoinRecordService extends IService<SsMonthCoinRecord> {
|
||||
|
||||
int saveRecord(Integer guildId, Long uid, Long guildMemberId, String cycleDate, BigDecimal guildDiamondNum, BigDecimal diamondNum, Long goldNum);
|
||||
|
||||
|
||||
Boolean checkExist(Integer guildId, Long uid, Long guildMemberId, String cycleDate);
|
||||
}
|
@@ -0,0 +1,52 @@
|
||||
package com.accompany.business.service.guild;
|
||||
|
||||
import com.accompany.business.model.guild.SsMonthCoinRecord;
|
||||
import com.accompany.business.mybatismapper.guild.SsMonthCoinRecordMapper;
|
||||
import com.accompany.business.service.purse.UserPurseService;
|
||||
import com.accompany.business.service.record.BillRecordService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* SS金币发放明细表 服务实现类
|
||||
*
|
||||
* @author
|
||||
* @since 2024-09-04
|
||||
*/
|
||||
@Service
|
||||
public class SsMonthCoinRecordServiceImpl extends ServiceImpl<SsMonthCoinRecordMapper, SsMonthCoinRecord> implements SsMonthCoinRecordService {
|
||||
@Autowired
|
||||
private UserPurseService userPurseService;
|
||||
@Autowired
|
||||
private BillRecordService billRecordService;
|
||||
|
||||
@Override
|
||||
public int saveRecord(Integer guildId, Long uid, Long guildMemberId, String cycleDate, BigDecimal guildDiamondNum, BigDecimal diamondNum, Long goldNum) {
|
||||
SsMonthCoinRecord ssMonthCoinRecord = new SsMonthCoinRecord();
|
||||
ssMonthCoinRecord.setDiamondNum(diamondNum);
|
||||
ssMonthCoinRecord.setCycleDate(cycleDate);
|
||||
ssMonthCoinRecord.setGoldNum(goldNum);
|
||||
ssMonthCoinRecord.setGuildMemberId(guildMemberId);
|
||||
ssMonthCoinRecord.setUid(uid);
|
||||
ssMonthCoinRecord.setGuildId(guildId);
|
||||
ssMonthCoinRecord.setGuildDiamondNum(guildDiamondNum);
|
||||
ssMonthCoinRecord.setCreateTime(new Date());
|
||||
return baseMapper.insert(ssMonthCoinRecord);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean checkExist(Integer guildId, Long uid, Long guildMemberId, String cycleDate) {
|
||||
LambdaQueryWrapper<SsMonthCoinRecord> wrapper = Wrappers.lambdaQuery();
|
||||
wrapper.eq(SsMonthCoinRecord::getGuildMemberId, guildMemberId)
|
||||
.eq(SsMonthCoinRecord::getUid, uid)
|
||||
.eq(SsMonthCoinRecord::getGuildId, guildId)
|
||||
.eq(SsMonthCoinRecord::getCycleDate, cycleDate);
|
||||
return baseMapper.selectCount(wrapper) > 0;
|
||||
}
|
||||
}
|
@@ -206,6 +206,7 @@ public class BillRecordService extends ServiceImpl<BillRecordMapper, BillRecord>
|
||||
objTypes.add(BillObjTypeEnum.GAME_PARTNER_GOLD_IN.getValue());
|
||||
objTypes.add(BillObjTypeEnum.GUILD_USD_EXCHANGE_GOLD_IN.getValue());
|
||||
objTypes.add(BillObjTypeEnum.GUILD_USD_TO_RECHARGE_USER_IN.getValue());
|
||||
objTypes.add(BillObjTypeEnum.SS_GUILD_MONTH_MEMBER_DIAMOND.getValue());
|
||||
break;
|
||||
case GOLD_OUT:
|
||||
objTypes.add(BillObjTypeEnum.WITHDRAW.getValue());
|
||||
|
@@ -102,11 +102,14 @@
|
||||
g.name guildName,
|
||||
g.owner_uid uid,
|
||||
sum(gd.diamond_num) diamondNum,
|
||||
u.avatar avatar
|
||||
u.avatar avatar,
|
||||
u.erban_no ownerErbanNo,
|
||||
ifnull(a.memberNum, 0) memberNum
|
||||
from guild_member_diamond_statistics gd
|
||||
left join guild_member gm on gm.id = gd.guild_member_id
|
||||
left join guild g on g.id = gm.guild_id
|
||||
left join users u on u.uid = g.owner_uid
|
||||
left join (select guild_id, count(distinct uid) memberNum from guild_member where `enable` = 1 GROUP BY guild_id) a on a.guild_id = g.id
|
||||
where g.`enable` = 1 and gm.`enable` = 1
|
||||
<foreach collection="cycleDates" close=")" item="cycleD" open="and gd.cycle_date in(" separator=",">
|
||||
#{cycleD}
|
||||
@@ -117,12 +120,35 @@
|
||||
<if test="guildId != null">
|
||||
and gd.guild_id = #{guildId}
|
||||
</if>
|
||||
group by gd.guild_id having diamondNum >= #{minDiamondNum}
|
||||
ORDER BY diamondNum desc
|
||||
limit #{limit}
|
||||
group by gd.guild_id
|
||||
ORDER BY diamondNum desc,memberNum desc
|
||||
</select>
|
||||
|
||||
<select id="ssGuildMemberDetail" resultType="java.lang.Double">
|
||||
<select id="sumSSGuildMemberDetailList" resultType="com.accompany.business.vo.guild.GuildMemberDiamondStatisticsVo">
|
||||
select
|
||||
gm.guild_id guildId,
|
||||
gd.uid uid,
|
||||
gd.guild_member_id guildMemberId,
|
||||
ifnull(sum(gd.diamond_num),0) diamondNum
|
||||
from guild_member_diamond_statistics gd
|
||||
left join guild_member gm on gm.id = gd.guild_member_id
|
||||
where gm.`enable` = 1
|
||||
<foreach collection="cycleDates" close=")" item="cycleD" open="and gd.cycle_date in(" separator=",">
|
||||
#{cycleD}
|
||||
</foreach>
|
||||
<if test="uid != null">
|
||||
and gm.uid = #{uid}
|
||||
</if>
|
||||
<if test="guildId != null">
|
||||
and gm.guild_id = #{guildId}
|
||||
</if>
|
||||
group by gm.guild_id, gm.uid,gd.guild_member_id
|
||||
<if test="minDiamond != null">
|
||||
having diamondNum >= #{minDiamond}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="sumSSGuildMemberDetail" resultType="java.lang.Double">
|
||||
select ifnull(sum(gd.diamond_num),0) diamondNum
|
||||
from guild_member_diamond_statistics gd
|
||||
left join guild_member gm on gm.id = gd.guild_member_id
|
||||
@@ -131,10 +157,10 @@
|
||||
#{cycleD}
|
||||
</foreach>
|
||||
<if test="uid != null">
|
||||
and gd.uid = #{uid}
|
||||
and gm.uid = #{uid}
|
||||
</if>
|
||||
<if test="guildId != null">
|
||||
and gd.guild_id = #{guildId}
|
||||
and gm.guild_id = #{guildId}
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.accompany.business.mybatismapper.guild.SsMonthCoinRecordMapper">
|
||||
|
||||
</mapper>
|
@@ -3,6 +3,7 @@ package com.accompany.business.controller.activity.h5;
|
||||
import com.accompany.business.service.guild.SSGuildService;
|
||||
import com.accompany.business.vo.guild.GuildSSRankVo;
|
||||
import com.accompany.common.result.BusiResult;
|
||||
import com.accompany.core.enumeration.PartitionEnum;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -11,6 +12,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* 每月充值活动
|
||||
*/
|
||||
@@ -28,4 +31,15 @@ public class SSGuildController {
|
||||
return ssGuildService.activitySSGuildMonthlyRank(uid);
|
||||
}
|
||||
|
||||
@GetMapping("/taskMonth")
|
||||
public BusiResult<Void> taskMonth(String cycleOne, String cycleTwo, Integer partitionId) {
|
||||
ssGuildService.ssMonthTask(Arrays.asList(cycleOne, cycleTwo), partitionId);
|
||||
return BusiResult.success();
|
||||
}
|
||||
|
||||
@GetMapping("/ssTaskByMinutes")
|
||||
public BusiResult<Void> ssTaskByMinutes(String cycleOne, String cycleTwo, Integer partitionId) {
|
||||
ssGuildService.ssTaskByMinutes(Arrays.asList(cycleOne, cycleTwo), partitionId);
|
||||
return BusiResult.success();
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,67 @@
|
||||
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 java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
public class SSGuildTask {
|
||||
|
||||
@Autowired
|
||||
private PartitionInfoService partitionInfoService;
|
||||
|
||||
@Autowired
|
||||
private SSGuildService ssGuildService;
|
||||
|
||||
|
||||
private static final DateTimeFormatter dateFormatters = DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATETIME_PATTERN);
|
||||
|
||||
/**
|
||||
* 每3minutes
|
||||
*/
|
||||
@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.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);
|
||||
ssGuildService.ssTaskByMinutes(cycleDates, PartitionEnum.ARAB.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.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);
|
||||
log.info("=-=ssMonthTask=-=:cycleOne:{},cycleTwo:{}", cycleOne , cycleTwo);
|
||||
ssGuildService.ssMonthTask(cycleDates, PartitionEnum.ARAB.getId());
|
||||
log.info("================ssMonthTask end===============");
|
||||
ssGuildService.ssTaskByMinutes(cycleDates, PartitionEnum.ARAB.getId());
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user