From 81844d308f0bb3a1c64152d0acfcac61856f24b4 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 08 May 2025 15:43:45 +0800
Subject: [PATCH] refactor(mall): 重构签到积分功能
---
src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java | 18 ++++++++++++++++--
1 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java
index 6dfb13f..d989ce3 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java
@@ -72,6 +72,10 @@
@Override
public MallScoreSignRecord judgeScoreIsContinuity(MallScoreSignRecord mallScoreSignRecord) {
+ if (mallScoreSignRecord.getSignTime() == null) {
+ return mallScoreSignRecord;
+ }
+
// 若最新签到日期,与当天相差大于一天,则更新数据库(避免定时器更新失败)
if (DateUtil.betweenDay(mallScoreSignRecord.getSignTime(), new Date(), true) > 1 || mallScoreSignRecord.getTotalCnt() == 7) {
mallScoreSignRecord.setTotalCnt(0);
@@ -93,13 +97,13 @@
MallScoreSignRecord mallScoreSignRecord = mallScoreSignRecordMapper.selectRecentSignRecord(member.getId());
if (mallScoreSignRecord == null) {
mallScoreSignRecord = new MallScoreSignRecord();
- } else {
- mallScoreSignRecord = judgeScoreIsContinuity(mallScoreSignRecord);
}
if (mallScoreSignRecord.getSignTime() != null && DateUtil.betweenDay(mallScoreSignRecord.getSignTime(), new Date(), true) == 0) {
throw new FebsException("今天已签到");
}
+
+ mallScoreSignRecord = judgeScoreIsContinuity(mallScoreSignRecord);
ScoreSettingDto scoreSetting = JSONObject.parseObject(dic.getValue(),ScoreSettingDto.class);
int days = mallScoreSignRecord.getTotalCnt() == null ? 1 : mallScoreSignRecord.getTotalCnt() + 1;
@@ -146,6 +150,16 @@
}
mallScoreSignRecord.setScore(scoreSetting.getSignInSeven());
break;
+ default:
+ if (scoreSetting.getSignInOne() == null) {
+ throw new FebsException("积分未设置");
+ }
+ if(days > 7){
+ mallScoreSignRecord.setScore(scoreSetting.getSignInSeven());
+ }else{
+ mallScoreSignRecord.setScore(scoreSetting.getSignInOne());
+ }
+ break;
}
mallScoreSignRecord.setMemberId(member.getId());
--
Gitblit v1.9.1