Administrator
2025-05-08 81844d308f0bb3a1c64152d0acfcac61856f24b4
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());