init
This commit is contained in:
@@ -23,15 +23,15 @@ public class CaiUnitTest {
|
||||
|
||||
@Test
|
||||
public void rank(){
|
||||
List<RankNode> nodes = rankManager.getLoveRankDayToday(9);
|
||||
List<RankNode> 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());
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
@@ -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<RankLoveRemark> 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<List<RankNodeLove>> loveRank(
|
||||
@@ -38,17 +64,17 @@ public class RankController {
|
||||
if(type == null){
|
||||
return R.ok(Collections.emptyList());
|
||||
}
|
||||
List<RankNode> rankNodeList = null;
|
||||
List<RankNode> 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<RankNode> 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{
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.ruoyi.cai.dto.app.vo.rank;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RankLoveRemark {
|
||||
|
||||
private String remark;
|
||||
}
|
||||
61
ruoyi-cai/src/main/java/com/ruoyi/cai/job/RankJob.java
Normal file
61
ruoyi-cai/src/main/java/com/ruoyi/cai/job/RankJob.java
Normal file
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -123,20 +123,20 @@ public class RankManager {
|
||||
|
||||
}
|
||||
|
||||
public List<RankNode> getLoveRankDayLastDay(int limit){
|
||||
public List<RankNode> getLoveRankLastDay(int limit){
|
||||
return getLoveRankDay(LocalDate.now().plusDays(-1),limit);
|
||||
}
|
||||
public List<RankNode> getLoveRankDayLastWeek(int limit){
|
||||
public List<RankNode> getLoveRankLastWeek(int limit){
|
||||
return getLoveRankWeek(LocalDate.now().plusWeeks(-7),limit);
|
||||
}
|
||||
|
||||
public List<RankNode> getLoveRankDayToday(int limit){
|
||||
public List<RankNode> getLoveRankToday(int limit){
|
||||
return getLoveRankDay(LocalDate.now(),limit);
|
||||
}
|
||||
public List<RankNode> getLoveRankDayWeek(int limit){
|
||||
public List<RankNode> getLoveRankWeek(int limit){
|
||||
return getLoveRankWeek(LocalDate.now(),limit);
|
||||
}
|
||||
public List<RankNode> getLoveRankDayMonth(int limit){
|
||||
public List<RankNode> getLoveRankMonth(int limit){
|
||||
return getLoveRankMonth(LocalDate.now(),limit);
|
||||
}
|
||||
|
||||
@@ -184,20 +184,20 @@ public class RankManager {
|
||||
return res;
|
||||
}
|
||||
|
||||
public List<RankNode> getInviteRankDayLastDay(int limit){
|
||||
public List<RankNode> getInviteRankLastDay(int limit){
|
||||
return getInviteRankDay(LocalDate.now().plusDays(-1),limit);
|
||||
}
|
||||
public List<RankNode> getInviteRankDayLastWeek(int limit){
|
||||
public List<RankNode> getInviteRankLastWeek(int limit){
|
||||
return getInviteRankWeek(LocalDate.now().plusWeeks(-7),limit);
|
||||
}
|
||||
|
||||
public List<RankNode> getInviteRankDayToday(int limit){
|
||||
public List<RankNode> getInviteRankToday(int limit){
|
||||
return getInviteRankDay(LocalDate.now(),limit);
|
||||
}
|
||||
public List<RankNode> getInviteRankDayWeek(int limit){
|
||||
public List<RankNode> getInviteRankWeek(int limit){
|
||||
return getInviteRankWeek(LocalDate.now(),limit);
|
||||
}
|
||||
public List<RankNode> getInviteRankDayMonth(int limit){
|
||||
public List<RankNode> getInviteRankMonth(int limit){
|
||||
return getInviteRankMonth(LocalDate.now(),limit);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user