wuweihao hace 3 años
padre
commit
4f94a0ae89

+ 6 - 1
README.md

@@ -12,4 +12,9 @@
 
 
 进度
-    登陆时,更新检查等级
+    登陆时,更新检查等级
+    
+
+# 部署
+    2022-2-9 已部署sit
+    sit: http://192.168.0.245:8006/doc.html

+ 2 - 5
gis_admin/src/main/java/com/gis/admin/controller/LoginController.java

@@ -1,6 +1,5 @@
 package com.gis.admin.controller;
 
-import com.gis.admin.entity.po.SysRoleEntity;
 import com.gis.common.base.entity.po.LogEntity;
 import com.gis.common.base.service.LogService;
 import com.gis.common.constant.ConfigConstant;
@@ -15,7 +14,6 @@ import io.swagger.annotations.ApiOperation;
 import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -27,7 +25,6 @@ import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
 import java.time.LocalDateTime;
 import java.util.*;
-import java.util.concurrent.TimeUnit;
 
 /**
  * Created by owen on 2020/2/19 0019 15:53
@@ -136,7 +133,7 @@ public class LoginController {
         saveLog(userId);
 
         // 检查更新军衔等级
-        userService.updateLevel();
+        userService.updateLevel(userId);
 
         // 更新到 redis, 有效期24h, 旧token无效, 做单用户登录 86400s-> 24H
         redisUtil.set(configConstant.redisPrefix + token, token, 86400);
@@ -241,7 +238,7 @@ public class LoginController {
         saveLog(userId);
 
         // 检查更新军衔等级
-        userService.updateLevel();
+        userService.updateLevel(userId);
 
 
         // 更新到 redis, 有效期24h, 旧token无效, 做单用户登录 86400s-> 24H

+ 1 - 1
gis_admin/src/main/java/com/gis/admin/service/IntegralService.java

@@ -19,5 +19,5 @@ public interface IntegralService extends IBaseService<IntegralEntity, Long> {
 
     Result addGrade(String type, Long userId);
 
-    Integer totalGrade();
+    Integer totalGrade(Long userId);
 }

+ 1 - 1
gis_admin/src/main/java/com/gis/admin/service/SysUserService.java

@@ -43,5 +43,5 @@ public interface SysUserService extends IBaseService<SysUserEntity, Long> {
 
     void updateOnlineTime(String token);
 
-    void updateLevel();
+    void updateLevel(Long userId);
 }

+ 1 - 2
gis_admin/src/main/java/com/gis/admin/service/impl/IntegralServiceImpl.java

@@ -122,8 +122,7 @@ public class IntegralServiceImpl extends IBaseServiceImpl<IntegralEntity, Long>
     }
 
     @Override
-    public Integer totalGrade() {
-        Long userId = getTokenUserId();
+    public Integer totalGrade(Long userId) {
         return entityMapper.totalGrade(userId);
     }
 

+ 4 - 3
gis_admin/src/main/java/com/gis/admin/service/impl/SysUserServiceImpl.java

@@ -334,8 +334,8 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
     }
 
     @Override
-    public void updateLevel() {
-        Long userId = getTokenUserId();
+    public void updateLevel(Long userId) {
+        log.info("准备更新等级");
         // 每天只检查一次
         String redisKey = TypeCode.REDIS_LEVEL_KEY + userId;
         String levelKey = (String)redisUtil.get(redisKey);
@@ -344,7 +344,7 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
             return;
         }
 
-        Integer grade = integralService.totalGrade();
+        Integer grade = integralService.totalGrade(userId);
         List<RankVo> rankList = sysBaseMapper.getRankList();
         for (RankVo rankVo : rankList) {
             if (grade >= rankVo.getExp()){
@@ -354,6 +354,7 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
                 break;
             }
         }
+        log.info("完等级更新");
     }
 
 

+ 2 - 2
gis_application/src/main/resources/application.properties

@@ -1,12 +1,12 @@
 server.port=8004
 
-spring.profiles.active=dev
+spring.profiles.active=sit
 
 # \u9879\u76EE\u540D\u79F0
 project.en=army_fuzhou
 project.sc=\u798F\u5DDE\u6D77\u519B\u519B\u53F2\u9986
 # redis token \u524D\u7F00
-redis.prefix=${project.en}_token_
+redis.prefix=${project.en}_token:
 
 # \u5141\u8BB8\u4E0A\u4F20\u6587\u4EF6\u540E\u7F00
 server.file.allow=.jpg,.gif,.png,.ico,.bmp,.jpeg,.zip,.zp,.rar,.mp3,.mp4,.avi,.mov,.4dage,.wav,.wma,.m4a,.obj,.pdf,audio

+ 13 - 0
gis_cms/src/main/java/com/gis/cms/service/impl/QuestionAnswerServiceImpl.java

@@ -4,8 +4,10 @@ import com.gis.cms.entity.dto.AnswerDto;
 import com.gis.cms.entity.dto.QuestionAnswerDto;
 import com.gis.cms.entity.po.QuestionAnswerEntity;
 import com.gis.cms.mapper.QuestionAnswerMapper;
+import com.gis.cms.mapper.RaceMapper;
 import com.gis.common.base.mapper.IBaseMapper;
 import com.gis.common.base.service.impl.IBaseServiceImpl;
+import com.gis.common.constant.MsgCode;
 import com.gis.common.util.Result;
 import com.gis.cms.service.AuditLogService;
 import com.gis.cms.service.FileService;
@@ -17,6 +19,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
@@ -37,6 +40,9 @@ public class QuestionAnswerServiceImpl extends IBaseServiceImpl<QuestionAnswerEn
     @Autowired
     AuditLogService auditLogService;
 
+    @Autowired
+    RaceMapper raceMapper;
+
     @Override
     public IBaseMapper<QuestionAnswerEntity, Long> getBaseMapper() {
         return this.entityMapper;
@@ -87,6 +93,13 @@ public class QuestionAnswerServiceImpl extends IBaseServiceImpl<QuestionAnswerEn
      */
     @Override
     public Result random(Integer size) {
+        Long userId = getTokenUserId();
+        LocalDate now = LocalDate.now();
+        List<Long> list = raceMapper.findByUserIdAndDate(userId, now);
+        if (list.size() > 0) {
+            return Result.failure(MsgCode.e3006, "每天只能参与一次竞赛答题");
+        }
+
         List<QuestionAnswerEntity> random = entityMapper.random(size);
         return Result.success(random);
     }

+ 6 - 1
gis_common/src/main/java/com/gis/common/base/service/impl/IBaseServiceImpl.java

@@ -240,7 +240,12 @@ public abstract class IBaseServiceImpl<T extends BaseEntity, ID extends Serializ
 //    }
 
     public String getToken(){
-        return request.getHeader("token");
+        String token = request.getHeader("token");
+        if (token == null){
+            log.warn("请求头header token 为空");
+            return null;
+        }
+        return token;
     }
 
 }

+ 2 - 2
gis_common/src/main/java/com/gis/common/constant/TypeCode.java

@@ -40,10 +40,10 @@ public class TypeCode {
 
 
     /**排名积分,每月一号更新一次*/
-    public static final String REDIS_RACE_KEY = "race_key_";
+    public static final String REDIS_RACE_KEY = "race:";
 
     /**军衔等级, 每天登录只检查一次*/
-    public final static String REDIS_LEVEL_KEY = "level_key_";
+    public final static String REDIS_LEVEL_KEY = "level:";
 
 
 }