From 664184af3e070dee665ee736caffa0297804975f Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 18 Mar 2025 11:46:02 +0800
Subject: [PATCH] perf(mall): 移除会员利润计算中的异步执行

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java |    8 ++++++--
 1 files changed, 6 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..62d0087 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,14 +97,14 @@
         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;
         switch (days) {

--
Gitblit v1.9.1