后台-每天播报昨天星级厨房奖励榜欧皇榜榜一

This commit is contained in:
2023-02-22 15:58:33 +08:00
parent a4eb74aaef
commit b82556aba0

View File

@@ -1,5 +1,7 @@
package com.accompany.scheduler.task;
import com.accompany.business.mybatismapper.activity.LuckySeaActMapper;
import com.accompany.business.service.activities.vo.LuckySeaRankListVo;
import com.accompany.business.service.push.EnterpriseWechatPushService;
import com.accompany.business.service.user.UsersService;
import com.accompany.common.config.WebSecurityConfig;
@@ -17,8 +19,7 @@ import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Map;
import java.util.Set;
import java.util.*;
@Component
public class RankWechatTask {
@@ -33,6 +34,8 @@ public class RankWechatTask {
private UsersService usersService;
@Autowired
private EnterpriseWechatPushService enterpriseWechatPushService;
@Autowired
private LuckySeaActMapper luckySeaActMapper;
@Scheduled(cron = "0 1 0 * * ?")
public void sout(){
@@ -40,13 +43,17 @@ public class RankWechatTask {
return;
}
String yesterDayStr = LocalDateTime.now().minusDays(1L).format(DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_PATTERN));
pushKryptonDay2Wechat(yesterDayStr);
pushVigourDay2Wechat(yesterDayStr);
LocalDateTime yesterday = LocalDateTime.now().minusDays(1L);
String yesterdayStr = yesterday.format(DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_PATTERN));
pushKryptonDay2Wechat(yesterdayStr);
pushVigourDay2Wechat(yesterdayStr);
pushLuckySeaAWechat(yesterdayStr);
pushLuckySeaBWechat(yesterdayStr);
}
private void pushKryptonDay2Wechat(String yesterDayStr){
Set<Map<String, Object>> rankMap = jedisService.zrevrangeWithScore(getKryptonDayKey(yesterDayStr), 0L, 0L);
String rankKey = RedisKey.krypton_rank.getKey(Constant.RankDatetype.day + ":" + yesterDayStr);
Set<Map<String, Object>> rankMap = jedisService.zrevrangeWithScore(rankKey, 0L, 0L);
if (CollectionUtils.isEmpty(rankMap)){
return;
}
@@ -65,12 +72,9 @@ public class RankWechatTask {
}
}
private String getKryptonDayKey(String date){
return RedisKey.krypton_rank.getKey(Constant.RankDatetype.day + ":" + date);
}
private void pushVigourDay2Wechat(String yesterDayStr){
Set<Map<String, Object>> rankMap = jedisService.zrevrangeWithScore(getVigourDayKey(yesterDayStr), 0L, 0L);
String rankKey = RedisKey.vigour_rank.getKey(Constant.RankDatetype.day + ":" + yesterDayStr);
Set<Map<String, Object>> rankMap = jedisService.zrevrangeWithScore(rankKey, 0L, 0L);
if (CollectionUtils.isEmpty(rankMap)){
return;
}
@@ -89,8 +93,34 @@ public class RankWechatTask {
}
}
private String getVigourDayKey(String date){
return RedisKey.vigour_rank.getKey(Constant.RankDatetype.day + ":" + date);
private void pushLuckySeaAWechat(String yesterDayStr){
Date yesterday = DateTimeUtil.convertStrToDate(yesterDayStr, DateTimeUtil.DEFAULT_DATE_PATTERN);
Date beginTimeOfDay = DateTimeUtil.getBeginTimeOfDay(yesterday);
Date endTimeOfDay = DateTimeUtil.getEndTimeOfDay(yesterday);
List<LuckySeaRankListVo> rankList = luckySeaActMapper.listDiamondRank(0, 1, beginTimeOfDay, endTimeOfDay);
for (LuckySeaRankListVo vo: rankList){
MarkdownMessage msg = new MarkdownMessage();
msg.add(MarkdownMessage.getHeaderText(3, String.format("%s 星级厨房奖励榜榜一大佬", yesterDayStr)));
msg.add(MarkdownMessage.getReferenceText(String.format("平台ID [%d]", vo.getErbanNo())));
msg.add(MarkdownMessage.getReferenceText(String.format("昵称 [%s]", vo.getNick())));
msg.add(MarkdownMessage.getReferenceText(String.format("当日累计收礼钻石价值 [%d]", vo.getNum())));
enterpriseWechatPushService.pushMessageByKey(webSecurityConfig.getActivityEnterpriseWechatPushKey(), msg);
}
}
private void pushLuckySeaBWechat(String yesterDayStr){
Date yesterday = DateTimeUtil.convertStrToDate(yesterDayStr, DateTimeUtil.DEFAULT_DATE_PATTERN);
Date beginTimeOfDay = DateTimeUtil.getBeginTimeOfDay(yesterday);
Date endTimeOfDay = DateTimeUtil.getEndTimeOfDay(yesterday);
List<LuckySeaRankListVo> rankList = luckySeaActMapper.listLuckyManRank(0, 1, beginTimeOfDay, endTimeOfDay);
for (LuckySeaRankListVo vo: rankList){
MarkdownMessage msg = new MarkdownMessage();
msg.add(MarkdownMessage.getHeaderText(3, String.format("%s 星级厨房欧皇榜榜一大佬", yesterDayStr)));
msg.add(MarkdownMessage.getReferenceText(String.format("平台ID [%d]", vo.getErbanNo())));
msg.add(MarkdownMessage.getReferenceText(String.format("昵称 [%s]", vo.getNick())));
msg.add(MarkdownMessage.getReferenceText(String.format("当日累计收礼钻石价值 [%d]", vo.getNum())));
enterpriseWechatPushService.pushMessageByKey(webSecurityConfig.getActivityEnterpriseWechatPushKey(), msg);
}
}
}