diff --git a/ruoyi-admin/src/test/java/com/ruoyi/test/CaiUnitTest.java b/ruoyi-admin/src/test/java/com/ruoyi/test/CaiUnitTest.java index 90df06aa..fc2ca953 100644 --- a/ruoyi-admin/src/test/java/com/ruoyi/test/CaiUnitTest.java +++ b/ruoyi-admin/src/test/java/com/ruoyi/test/CaiUnitTest.java @@ -23,15 +23,15 @@ public class CaiUnitTest { @Test public void rank(){ - List nodes = rankManager.getLoveRankDayToday(9); + List nodes = rankManager.getLoveRankToday(9); for (RankNode node : nodes) { log.info("userId={}, score={}", node.getUserId(),node.getScore()); } - nodes = rankManager.getLoveRankDayLastDay(9); + nodes = rankManager.getLoveRankLastDay(9); for (RankNode node : nodes) { log.info("userId={}, score={}", node.getUserId(),node.getScore()); } - nodes = rankManager.getInviteRankDayToday(9); + nodes = rankManager.getInviteRankToday(9); for (RankNode node : nodes) { log.info("userId={}, score={}", node.getUserId(),node.getScore()); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/ForbidFilterController.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/admin/ForbidFilterController.java similarity index 98% rename from ruoyi-cai/src/main/java/com/ruoyi/cai/controller/ForbidFilterController.java rename to ruoyi-cai/src/main/java/com/ruoyi/cai/controller/admin/ForbidFilterController.java index 4de10a01..bff00728 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/ForbidFilterController.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/admin/ForbidFilterController.java @@ -1,4 +1,4 @@ -package com.ruoyi.cai.controller; +package com.ruoyi.cai.controller.admin; import cn.dev33.satoken.annotation.SaCheckPermission; import com.baomidou.mybatisplus.core.toolkit.Wrappers; diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/RankController.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/RankAppController.java similarity index 74% rename from ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/RankController.java rename to ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/RankAppController.java index b2059f98..02eccd3d 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/RankController.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/RankAppController.java @@ -1,6 +1,7 @@ package com.ruoyi.cai.controller.app; import com.ruoyi.cai.domain.User; +import com.ruoyi.cai.dto.app.vo.rank.RankLoveRemark; import com.ruoyi.cai.dto.app.vo.rank.RankNodeInvite; import com.ruoyi.cai.dto.app.vo.rank.RankNodeLove; import com.ruoyi.cai.enums.GenderEnum; @@ -24,13 +25,38 @@ import java.util.stream.Collectors; @RestController @RequestMapping("/api/rank") @Tag(name = "排行榜接口") -public class RankController { +public class RankAppController { @Autowired private RankManager rankManager; @Autowired private UserService userService; + + @GetMapping("/loveRemark") + @Operation(summary = "榜单说明") + public R remark(){ + String remark = + "(魅力上周榜排名奖励)\n" + + "第一名:888元\n" + + "第二名:588元\n" + + "第三名:388元\n" + + "第四名:288元\n" + + "第五名:188元\n" + + "第六至十名:138元\n" + + "(魅力昨日榜排名奖励)\n" + + "第一名:138元\n" + + "第二名:108元\n" + + "第三名:88元\n" + + "第四名:58元\n" + + "第五名:38元\n" + + "第六至十名:28元\n" + + "提示:凡是刷魅力榜的封号,平台拥有对本次活动的最终解释权。"; + RankLoveRemark res = new RankLoveRemark(); + res.setRemark(remark); + return R.ok(res); + } + @GetMapping("/love") @Operation(summary = "魅力榜") public R> loveRank( @@ -38,17 +64,17 @@ public class RankController { if(type == null){ return R.ok(Collections.emptyList()); } - List rankNodeList = null; + List rankNodeList; if(type == 1){ - rankNodeList = rankManager.getLoveRankDayLastWeek(10); + rankNodeList = rankManager.getLoveRankLastWeek(10); }else if(type == 2){ - rankNodeList = rankManager.getLoveRankDayLastDay(10); + rankNodeList = rankManager.getLoveRankLastDay(10); }else if(type == 3){ - rankNodeList = rankManager.getLoveRankDayToday(30); + rankNodeList = rankManager.getLoveRankToday(30); }else if(type == 4){ - rankNodeList = rankManager.getLoveRankDayWeek(30); + rankNodeList = rankManager.getLoveRankWeek(30); }else if(type == 5){ - rankNodeList = rankManager.getLoveRankDayMonth(30); + rankNodeList = rankManager.getLoveRankMonth(30); }else if(type == 6){ rankNodeList = rankManager.getLoveRankTotal(30); }else{ @@ -94,15 +120,15 @@ public class RankController { } List rankNodeList; if(type == 1){ - rankNodeList = rankManager.getInviteRankDayLastWeek(10); + rankNodeList = rankManager.getInviteRankLastWeek(10); }else if(type == 2){ - rankNodeList = rankManager.getInviteRankDayLastDay(10); + rankNodeList = rankManager.getInviteRankLastDay(10); }else if(type == 3){ - rankNodeList = rankManager.getInviteRankDayToday(30); + rankNodeList = rankManager.getInviteRankToday(30); }else if(type == 4){ - rankNodeList = rankManager.getInviteRankDayWeek(30); + rankNodeList = rankManager.getInviteRankWeek(30); }else if(type == 5){ - rankNodeList = rankManager.getInviteRankDayMonth(30); + rankNodeList = rankManager.getInviteRankMonth(30); }else if(type == 6){ rankNodeList = rankManager.getInviteRankTotal(30); }else{ diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/rank/RankLoveRemark.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/rank/RankLoveRemark.java new file mode 100644 index 00000000..7952dd42 --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/rank/RankLoveRemark.java @@ -0,0 +1,9 @@ +package com.ruoyi.cai.dto.app.vo.rank; + +import lombok.Data; + +@Data +public class RankLoveRemark { + + private String remark; +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/job/RankJob.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/job/RankJob.java new file mode 100644 index 00000000..438a742b --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/job/RankJob.java @@ -0,0 +1,61 @@ +package com.ruoyi.cai.job; + +import com.ruoyi.cai.service.RankService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.time.DayOfWeek; +import java.time.LocalDate; +import java.time.LocalDateTime; + +@Component +@Slf4j +public class RankJob { + + @Autowired + private RankService rankService; + + public void persistentDb() { + LocalDate date = LocalDateTime.now().plusDays(-1).toLocalDate(); + try { + rankService.saveDayRank(date,1); + } catch (Exception e) { + log.error("保存魅力 日榜失败", e); + } + try { + rankService.saveDayRank(date,2); + } catch (Exception e) { + log.error("保存邀请 日榜失败", e); + } + DayOfWeek week = date.getDayOfWeek(); + if (week.getValue() == 1) { // 昨天是周一 做一下持久化 + try { + rankService.saveWeekRank(date,1); + } catch (Exception e) { + log.error("保存魅力 周榜失败", e); + } + try { + rankService.saveWeekRank(date,2); + } catch (Exception e) { + log.error("保存邀请 周榜失败", e); + } + } + int month = date.getDayOfMonth(); + if (month == 1) { // 昨天是1号 + try { + rankService.saveMonthRank(date,1); + } catch (Exception e) { + log.error("保存魅力 月榜失败", e); + } + try { + + rankService.saveMonthRank(date,2); + } catch (Exception e) { + log.error("保存邀请 月榜失败", e); + } + } + + } + +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/rank/RankManager.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/rank/RankManager.java index 30705169..5cb01105 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/rank/RankManager.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/rank/RankManager.java @@ -123,20 +123,20 @@ public class RankManager { } - public List getLoveRankDayLastDay(int limit){ + public List getLoveRankLastDay(int limit){ return getLoveRankDay(LocalDate.now().plusDays(-1),limit); } - public List getLoveRankDayLastWeek(int limit){ + public List getLoveRankLastWeek(int limit){ return getLoveRankWeek(LocalDate.now().plusWeeks(-7),limit); } - public List getLoveRankDayToday(int limit){ + public List getLoveRankToday(int limit){ return getLoveRankDay(LocalDate.now(),limit); } - public List getLoveRankDayWeek(int limit){ + public List getLoveRankWeek(int limit){ return getLoveRankWeek(LocalDate.now(),limit); } - public List getLoveRankDayMonth(int limit){ + public List getLoveRankMonth(int limit){ return getLoveRankMonth(LocalDate.now(),limit); } @@ -184,20 +184,20 @@ public class RankManager { return res; } - public List getInviteRankDayLastDay(int limit){ + public List getInviteRankLastDay(int limit){ return getInviteRankDay(LocalDate.now().plusDays(-1),limit); } - public List getInviteRankDayLastWeek(int limit){ + public List getInviteRankLastWeek(int limit){ return getInviteRankWeek(LocalDate.now().plusWeeks(-7),limit); } - public List getInviteRankDayToday(int limit){ + public List getInviteRankToday(int limit){ return getInviteRankDay(LocalDate.now(),limit); } - public List getInviteRankDayWeek(int limit){ + public List getInviteRankWeek(int limit){ return getInviteRankWeek(LocalDate.now(),limit); } - public List getInviteRankDayMonth(int limit){ + public List getInviteRankMonth(int limit){ return getInviteRankMonth(LocalDate.now(),limit); }