rankingActivity活动定时任务处理
This commit is contained in:
parent
ad095d0b6b
commit
766be4ec80
@ -100,6 +100,13 @@ public interface SysActivityConfigClientApi {
|
|||||||
ResultResponse<ActivityConfigDTO> effectiveActivityConf(
|
ResultResponse<ActivityConfigDTO> effectiveActivityConf(
|
||||||
@RequestBody @Validated ActivityConfigBackQryCmd query);
|
@RequestBody @Validated ActivityConfigBackQryCmd query);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询有效的活动配置.
|
||||||
|
*/
|
||||||
|
@PostMapping("/conf/bytemplate")
|
||||||
|
ResultResponse<ActivityConfigDTO> effectiveActivityByTemplate(
|
||||||
|
@RequestParam Long templateId, @RequestParam String activityType);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取模版信息.
|
* 获取模版信息.
|
||||||
|
|||||||
@ -44,6 +44,11 @@ public class ActivityConfigDTO extends DTO {
|
|||||||
@JsonSerialize(using = ToStringSerializer.class)
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
private Long templateId;
|
private Long templateId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活动类型
|
||||||
|
*/
|
||||||
|
private String activityType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 开始时间.
|
* 开始时间.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -192,10 +192,10 @@ public class WeeklyRewardsSentManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void sendLastRankingActivity(Long templateId) {
|
public void sendLastRankingActivity(Long templateId, String activityType) {
|
||||||
try {
|
try {
|
||||||
// 1. 获取活动配置信息
|
// 1. 获取活动配置信息
|
||||||
ActivityConfigDTO activityConfigDTO = getActivityConfig(templateId);
|
ActivityConfigDTO activityConfigDTO = getActivityConfig(templateId, activityType);
|
||||||
// 国王皇后活动单独发放。
|
// 国王皇后活动单独发放。
|
||||||
long kingQueenTemplateId = getKingQueenTemplateId();
|
long kingQueenTemplateId = getKingQueenTemplateId();
|
||||||
if (activityConfigDTO == null || activityConfigDTO.getTemplateId() == kingQueenTemplateId) {
|
if (activityConfigDTO == null || activityConfigDTO.getTemplateId() == kingQueenTemplateId) {
|
||||||
@ -214,13 +214,12 @@ public class WeeklyRewardsSentManager {
|
|||||||
|
|
||||||
String sysOrigin = SysOriginPlatformEnum.LIKEI.name();
|
String sysOrigin = SysOriginPlatformEnum.LIKEI.name();
|
||||||
// 获取枚举
|
// 获取枚举
|
||||||
RankingActivityType activityType = RankingActivityType.HEROES_DAY;
|
|
||||||
RankingCycleType cycleType = RankingCycleType.WEEKLY;
|
RankingCycleType cycleType = RankingCycleType.WEEKLY;
|
||||||
// 4. 获取奖励配置并更新
|
// 4. 获取奖励配置并更新
|
||||||
List<ActivityConfigRewardsDTO> kingRewardList = activityConfigDTO.getButOneRewards();
|
List<ActivityConfigRewardsDTO> kingRewardList = activityConfigDTO.getButOneRewards();
|
||||||
List<RankingActivityRecord> records = rankingActivityGateway.getRankingList(
|
List<RankingActivityRecord> records = rankingActivityGateway.getRankingList(
|
||||||
sysOrigin,
|
sysOrigin,
|
||||||
activityType,
|
RankingActivityType.valueOf(activityType),
|
||||||
cycleType,
|
cycleType,
|
||||||
lastWeekDate,
|
lastWeekDate,
|
||||||
null,
|
null,
|
||||||
@ -276,12 +275,12 @@ public class WeeklyRewardsSentManager {
|
|||||||
/**
|
/**
|
||||||
* 获取活动配置信息
|
* 获取活动配置信息
|
||||||
*/
|
*/
|
||||||
private ActivityConfigDTO getActivityConfig(Long templateId) {
|
private ActivityConfigDTO getActivityConfig(Long templateId, String activityType) {
|
||||||
try {
|
try {
|
||||||
ActivityConfigBackQryCmd query = new ActivityConfigBackQryCmd();
|
ActivityConfigBackQryCmd query = new ActivityConfigBackQryCmd();
|
||||||
query.setSysOrigin(SysOriginPlatformEnum.LIKEI.name());
|
query.setSysOrigin(SysOriginPlatformEnum.LIKEI.name());
|
||||||
query.setTemplateId(templateId);
|
query.setTemplateId(templateId);
|
||||||
return ResponseAssert.requiredSuccess(sysActivityConfigClient.effectiveActivityConf(query));
|
return ResponseAssert.requiredSuccess(sysActivityConfigClient.effectiveActivityByTemplate(templateId, activityType));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("[KingQueen] 获取活动配置失败, 错误信息: {}", e.getMessage(), e);
|
log.error("[KingQueen] 获取活动配置失败, 错误信息: {}", e.getMessage(), e);
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@ -27,7 +27,7 @@ public class RankingActivityRewardTask {
|
|||||||
/**
|
/**
|
||||||
* 每周一 0点0分执行.
|
* 每周一 0点0分执行.
|
||||||
*/
|
*/
|
||||||
// @Scheduled(cron = "0 0 0 ? * MON", zone = "Asia/Riyadh")
|
@Scheduled(cron = "0 0 0 ? * MON", zone = "Asia/Riyadh")
|
||||||
@TaskCacheLock(key = "RANKING_ACTIVITY_REWARD_TASK", expireSecond = 86400)
|
@TaskCacheLock(key = "RANKING_ACTIVITY_REWARD_TASK", expireSecond = 86400)
|
||||||
public void sendRankingActivityReward() {
|
public void sendRankingActivityReward() {
|
||||||
long startTime = System.currentTimeMillis();
|
long startTime = System.currentTimeMillis();
|
||||||
@ -39,7 +39,7 @@ public class RankingActivityRewardTask {
|
|||||||
List<ActivityConfig> lastWeekActivities =
|
List<ActivityConfig> lastWeekActivities =
|
||||||
activityConfigService.listRecentlyEndedActivities("LIKEI", 10);
|
activityConfigService.listRecentlyEndedActivities("LIKEI", 10);
|
||||||
lastWeekActivities.forEach(activityConfig -> {
|
lastWeekActivities.forEach(activityConfig -> {
|
||||||
weeklyRewardsSentManager.sendLastRankingActivity(activityConfig.getTemplateId());
|
weeklyRewardsSentManager.sendLastRankingActivity(activityConfig.getTemplateId(), activityConfig.getActivityType());
|
||||||
});
|
});
|
||||||
|
|
||||||
log.warn("========== rankingActivity 活动奖励发放定时任务完成,耗时:{} ms ==========",
|
log.warn("========== rankingActivity 活动奖励发放定时任务完成,耗时:{} ms ==========",
|
||||||
|
|||||||
@ -43,6 +43,11 @@ public class ActivityConfig implements Serializable {
|
|||||||
@JsonSerialize(using = ToStringSerializer.class)
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
private Long templateId;
|
private Long templateId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活动类型
|
||||||
|
*/
|
||||||
|
private String activityType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 开始时间.
|
* 开始时间.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -69,5 +69,7 @@ public interface ActivityConfigService {
|
|||||||
*/
|
*/
|
||||||
ActivityConfig getEffectiveActivityConf(ActivityConfigBackQryCmd query);
|
ActivityConfig getEffectiveActivityConf(ActivityConfigBackQryCmd query);
|
||||||
|
|
||||||
|
ActivityConfig getShowcaseActivityConf(Long templateId, String activityType);
|
||||||
|
|
||||||
List<ActivityConfig> listRecentlyEndedActivities(String sysOrigin, Integer limit);
|
List<ActivityConfig> listRecentlyEndedActivities(String sysOrigin, Integer limit);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -239,12 +239,23 @@ public class ActivityConfigServiceImpl implements ActivityConfigService {
|
|||||||
, ActivityConfig.class);
|
, ActivityConfig.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ActivityConfig getShowcaseActivityConf(Long templateId, String activityType) {
|
||||||
|
Criteria criteria = Criteria.where("showcase").is(true);
|
||||||
|
criteria.and("templateId").is(templateId);
|
||||||
|
criteria.and("activityType").is(activityType);
|
||||||
|
|
||||||
|
return mongoTemplate.findOne(Query.query(criteria)
|
||||||
|
.with(Sort.by(Sort.Order.desc("id")))
|
||||||
|
.limit(1)
|
||||||
|
, ActivityConfig.class);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ActivityConfig> listRecentlyEndedActivities(String sysOrigin, Integer limit) {
|
public List<ActivityConfig> listRecentlyEndedActivities(String sysOrigin, Integer limit) {
|
||||||
Date now = TimestampUtils.now();
|
Date now = TimestampUtils.now();
|
||||||
|
|
||||||
Criteria criteria = Criteria.where("sysOrigin").is(sysOrigin)
|
Criteria criteria = Criteria.where("sysOrigin").is(sysOrigin)
|
||||||
.and("showcase").is(true)
|
// .and("showcase").is(true)
|
||||||
.and("startTime").lte(now);
|
.and("startTime").lte(now);
|
||||||
|
|
||||||
return mongoTemplate.find(
|
return mongoTemplate.find(
|
||||||
|
|||||||
@ -19,6 +19,7 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -96,6 +97,11 @@ public class SysActivityConfigClientEndpoint implements SysActivityConfigClientA
|
|||||||
return ResultResponse.success(sysActivityConfigClientService.getEffectiveActivityConf(query));
|
return ResultResponse.success(sysActivityConfigClientService.getEffectiveActivityConf(query));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResultResponse<ActivityConfigDTO> effectiveActivityByTemplate(Long templateId, String activityType) {
|
||||||
|
return ResultResponse.success(sysActivityConfigClientService.getShowcaseActivityConf(templateId, activityType));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResultResponse<Map<Long, ActivityTemplateValueDTO>> mapByIds(Set<Long> collect) {
|
public ResultResponse<Map<Long, ActivityTemplateValueDTO>> mapByIds(Set<Long> collect) {
|
||||||
return ResultResponse.success(sysActivityConfigClientService.mapByIds(collect));
|
return ResultResponse.success(sysActivityConfigClientService.mapByIds(collect));
|
||||||
|
|||||||
@ -72,6 +72,8 @@ public interface SysActivityConfigClientService {
|
|||||||
*/
|
*/
|
||||||
ActivityConfigDTO getEffectiveActivityConf(ActivityConfigBackQryCmd query);
|
ActivityConfigDTO getEffectiveActivityConf(ActivityConfigBackQryCmd query);
|
||||||
|
|
||||||
|
ActivityConfigDTO getShowcaseActivityConf(Long templateId, String activityType);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取模版信息.
|
* 获取模版信息.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -96,6 +96,11 @@ public class SysActivityConfigClientServiceImpl implements SysActivityConfigClie
|
|||||||
return sysActivityConfigInnerConvertor.toActivityConfigDTO(activityConfigService.getEffectiveActivityConf(query));
|
return sysActivityConfigInnerConvertor.toActivityConfigDTO(activityConfigService.getEffectiveActivityConf(query));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ActivityConfigDTO getShowcaseActivityConf(Long templateId, String activityType) {
|
||||||
|
return sysActivityConfigInnerConvertor.toActivityConfigDTO(activityConfigService.getShowcaseActivityConf(templateId, activityType));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Long, ActivityTemplateValueDTO> mapByIds(Set<Long> collect) {
|
public Map<Long, ActivityTemplateValueDTO> mapByIds(Set<Long> collect) {
|
||||||
return sysActivityConfigInnerConvertor.toMapActivityTemplateValueDTO(
|
return sysActivityConfigInnerConvertor.toMapActivityTemplateValueDTO(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user