diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/RankJob.java b/ruoyi-admin/src/main/java/com/ruoyi/job/RankJob.java index 25704a21..3fecd538 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/RankJob.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/RankJob.java @@ -10,9 +10,11 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.GetMapping; import java.time.DayOfWeek; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; @Component @Slf4j @@ -29,10 +31,12 @@ public class RankJob { @Autowired private AnchorService anchorService; + // 凌晨0点1分执行一次 @Scheduled(cron = "0 1 0 * * ? ") public void persistentDb() { - LocalDate date = LocalDate.now().plusDays(-1); + LocalDate now = LocalDate.now(); + LocalDate date = now.plusDays(-1); try { rankService.saveDayRank(date,1); } catch (Exception e) { @@ -43,29 +47,30 @@ public class RankJob { } catch (Exception e) { log.error("保存邀请 日榜失败", e); } - DayOfWeek week = date.getDayOfWeek(); + DayOfWeek week = now.getDayOfWeek(); if (week.getValue() == 1) { // 昨天是周一 做一下持久化 + LocalDate lastWeekDate = now.plusDays(-7); try { - rankService.saveWeekRank(date,1); + rankService.saveWeekRank(lastWeekDate,1); } catch (Exception e) { log.error("保存魅力 周榜失败", e); } try { - rankService.saveWeekRank(date,2); + rankService.saveWeekRank(lastWeekDate,2); } catch (Exception e) { log.error("保存邀请 周榜失败", e); } } - int month = date.getDayOfMonth(); + int month = now.getDayOfMonth(); if (month == 1) { // 昨天是1号 + LocalDate lastMonthDate = now.plusMonths(-1); try { - rankService.saveMonthRank(date,1); + rankService.saveMonthRank(lastMonthDate,1); } catch (Exception e) { log.error("保存魅力 月榜失败", e); } try { - - rankService.saveMonthRank(date,2); + rankService.saveMonthRank(lastMonthDate,2); } catch (Exception e) { log.error("保存邀请 月榜失败", e); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/app/RankAppController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/app/RankAppController.java index 220ccb22..a3d7742a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/app/RankAppController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/app/RankAppController.java @@ -11,7 +11,9 @@ import com.ruoyi.cai.rank.RankManager; import com.ruoyi.cai.rank.RankNode; import com.ruoyi.cai.service.RankService; import com.ruoyi.cai.service.UserService; +import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.utils.StringUtils; import io.swagger.v3.oas.annotations.Operation; @@ -96,6 +98,7 @@ public class RankAppController { @GetMapping("/love") @Operation(summary = "魅力榜") + @Log(title = "魅力榜单查询", businessType = BusinessType.OTHER, isSaveDb = true) public R> loveRank( @Parameter(description = "类型 1-上周 2-昨日 3-日榜 4-周榜 5-月榜 6-总榜") Integer type){ if(type == null){ @@ -152,6 +155,7 @@ public class RankAppController { @GetMapping("/invite") @Operation(summary = "邀请榜") + @Log(title = "邀请榜单查询", businessType = BusinessType.OTHER, isSaveDb = true) public R> inviteRank( @Parameter(description = "类型 1-上周 2-昨日 3-日榜 4-周榜 5-月榜 6-总榜") Integer type){ if(type == null){ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/app/SettingAppController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/app/SettingAppController.java index ccd4c3e9..1e7f5e49 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/app/SettingAppController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/app/SettingAppController.java @@ -1,5 +1,6 @@ package com.ruoyi.web.controller.cai.app; +import cn.dev33.satoken.annotation.SaIgnore; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.cai.domain.Gift; import com.ruoyi.cai.domain.Goods; @@ -108,6 +109,7 @@ public class SettingAppController { @GetMapping("/agreement/user") @Operation(summary = "获取用户协议") @Log(title = "获取用户协议", businessType = BusinessType.OTHER, isSaveDb = false) + @SaIgnore public R userAgreement() { String userAgreement = agreementSettingService.getAgreementSetting().getUserAgreement(); return R.ok(new AgreementDTO(userAgreement)); @@ -116,6 +118,7 @@ public class SettingAppController { @GetMapping("/agreement/privacy") @Operation(summary = "获取隐私协议") @Log(title = "获取隐私协议", businessType = BusinessType.OTHER, isSaveDb = false) + @SaIgnore public R privacyAgreement() { String privacyAgreement = agreementSettingService.getAgreementSetting().getPrivacyAgreement(); return R.ok(new AgreementDTO(privacyAgreement)); diff --git a/ruoyi-admin/src/test/java/com/ruoyi/test/business/RankTest.java b/ruoyi-admin/src/test/java/com/ruoyi/test/business/RankTest.java new file mode 100644 index 00000000..c7da78f5 --- /dev/null +++ b/ruoyi-admin/src/test/java/com/ruoyi/test/business/RankTest.java @@ -0,0 +1,37 @@ +package com.ruoyi.test.business; + +import com.ruoyi.cai.service.RankService; +import lombok.extern.slf4j.Slf4j; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import java.time.DayOfWeek; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; + +@SpringBootTest +@Slf4j +public class RankTest { + @Autowired + private RankService rankService; + + @Test + public void runkJobTest(){ + LocalDate date = LocalDate.parse("2024-03-18", DateTimeFormatter.ofPattern("yyyy-MM-dd")); + DayOfWeek week = date.getDayOfWeek(); + if (week.getValue() == 1) { // 昨天是周一 做一下持久化 + LocalDate lastWeekDate = date.plusDays(-7); + try { + rankService.saveWeekRank(lastWeekDate,1); + } catch (Exception e) { + log.error("保存魅力 周榜失败", e); + } + try { + rankService.saveWeekRank(lastWeekDate,2); + } catch (Exception e) { + log.error("保存邀请 周榜失败", e); + } + } + } +}