فهرست منبع

fix: 回答问题接口补充体力校验限制

hidewnd 2 هفته پیش
والد
کامیت
4ef2470447

+ 1 - 1
yt-question/yt-question-service/src/main/java/com/ytpm/question/service/impl/QuestionServiceImpl.java

@@ -52,7 +52,7 @@ public class QuestionServiceImpl implements QuestionService {
         if (!UserStatusEnum.NORMAL.getCode().equals(user.getUserStatus())) {
             return new Result<>(StatusCode.ACCESS_ERR, "当前用户处于风控中");
         }
-        if (user.getPower() == null || user.getPower() <= 1) {
+        if (user.getPower() == null || user.getPower() <= 0) {
             return new Result<>(StatusCode.ACCESS_ERR, "用户体力不足,无法答题");
         }
         YtDyzAnswerRecord record = new YtDyzAnswerRecord();

+ 8 - 1
yt-question/yt-question-service/src/main/java/com/ytpm/question/service/impl/WxLoginServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ytpm.question.service.impl;
 
 
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.http.HttpUtil;
@@ -193,7 +194,13 @@ public class WxLoginServiceImpl extends AbstractLoginService {
         newUser.setLastLoginIp(param.getLoginIp());
         newUser.setPhone(param.getPhone());
         newUser.setDeviceId(param.getDeviceId());
-        newUser.setLoginDays(old.getLoginDays() + 1);
+        YtDyzLoginRecord wxLoginRecord = loginRecordMapper.getLastLoginRecord(old.getUserId(), 0);
+        YtDyzLoginRecord visitorLoginRecord = loginRecordMapper.getLastLoginRecord(old.getUserId(), 1);
+        if (wxLoginRecord == null && visitorLoginRecord == null
+                || wxLoginRecord != null && wxLoginRecord.getLoginTime() != null
+                && DateUtil.compare(wxLoginRecord.getLoginTime(), newUser.getLastLoginTime(), "yyyy-MM-dd") < 0) {
+            newUser.setLoginDays(old.getLoginDays() + 1);
+        }
         newUser.setPhoneJson(param.getPhoneJson());
         appUserMapper.updateUser(newUser);
     }