瀏覽代碼

1。修复日志问题
2。修复redis 存储名称问题

a0000 2 年之前
父節點
當前提交
e888cd716c

+ 0 - 5
pom.xml

@@ -202,11 +202,6 @@
             <artifactId>spring-boot-starter-freemarker</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-devtools</artifactId>
-        </dependency>
-
         <dependency>
             <groupId>org.webjars</groupId>
             <artifactId>angularjs</artifactId>

+ 3 - 1
src/main/java/com/YuyeTech/TPlat/filter/gameFilter.java

@@ -37,6 +37,8 @@ public class gameFilter implements Filter {
     @Autowired
     private JwtTokenUtil jwtTokenUtil;
 
+    @Value("${spring.application.name}")
+    private String applicationName;
     //添加redis 防止恶意请求
     @Autowired
     private StringRedisTemplate redisTemplate;
@@ -75,7 +77,7 @@ public class gameFilter implements Filter {
          * game接口都需要限制访问
          */
         //设置5秒内可以访问5次,同一个接口
-        String redisKey = "limit-req:".concat(req.getRequestURL().toString()).concat(":").concat(ipAddr);
+        String redisKey = applicationName.concat(":limit-req:").concat(req.getRequestURL().toString()).concat(":").concat(ipAddr);
         int _limitTime = 5, _limitCount = 10;
         if (!redisTemplate.hasKey(redisKey)) {
             redisTemplate.opsForValue().set(redisKey, String.valueOf(1), _limitTime, TimeUnit.SECONDS);

+ 3 - 2
src/main/java/com/YuyeTech/TPlat/game/controller/BackstageManagerController.java

@@ -3,6 +3,7 @@ package com.YuyeTech.TPlat.game.controller;
 import com.YuyeTech.TPlat.constant.CookieConstant;
 import com.YuyeTech.TPlat.constant.RedisConstant;
 import com.YuyeTech.TPlat.dataobject.AdminInfo;
+import com.YuyeTech.TPlat.enums.RedisType;
 import com.YuyeTech.TPlat.game.userinfo.projo.UserInfo;
 import com.YuyeTech.TPlat.enums.ResultEnum;
 import com.YuyeTech.TPlat.form.AdminForm;
@@ -133,8 +134,8 @@ public class BackstageManagerController {
         Cookie cookie = CookieUtil.get(request, CookieConstant.TOKEN);
         if (cookie != null) {
             //2. 清除redis
-            stringRedisTemplate.opsForValue().getOperations().delete(String.format(RedisConstant.TOKEN_PREFIX, cookie.getValue()));
-
+//            stringRedisTemplate.opsForValue().getOperations().delete(String.format(RedisConstant.TOKEN_PREFIX, cookie.getValue()));
+            redisSettingMap.deleteValue(RedisType.TOKEN,cookie.getValue());
             //3. 清除cookie
             CookieUtil.set(response, CookieConstant.TOKEN, null, 0);
         }

+ 30 - 8
src/main/java/com/YuyeTech/TPlat/game/controller/LoginController.java

@@ -11,6 +11,7 @@ import com.YuyeTech.TPlat.game.TP_AppleInfo.projo.AppleInfo;
 import com.YuyeTech.TPlat.game.TP_AppleInfo.service.AppleInfoService;
 import com.YuyeTech.TPlat.game.TP_WxInfo.projo.WxInfo;
 import com.YuyeTech.TPlat.game.TP_WxInfo.service.WxInfoService;
+import com.YuyeTech.TPlat.game.TP_WxInfo.vo.WxInfoVo;
 import com.YuyeTech.TPlat.game.userinfo.projo.MainInfo;
 import com.YuyeTech.TPlat.game.userinfo.projo.UserInfo;
 import com.YuyeTech.TPlat.game.userinfo.service.MainInfoService;
@@ -141,7 +142,8 @@ public class LoginController {
         //检查redis 的token 是否存在,存在则删除
         String headToken = request.getHeader("token");
         if (StringUtils.isNotBlank(headToken)) {
-            Boolean bSuccess = redisTemplate.delete(String.format(RedisConstant.TOKEN_PREFIX, headToken));
+//            Boolean bSuccess = redisTemplate.delete(String.format(RedisConstant.TOKEN_PREFIX, headToken));
+            Boolean bSuccess = redisSettingMap.deleteValue(RedisType.TOKEN,headToken);
             if (!bSuccess) {
                 //删除不成功,redis不存在,是非法token
                 log.info("redis 没有对应的token");
@@ -165,7 +167,10 @@ public class LoginController {
                 wxInfo.setUserId(mainInfo.getUserId());
                 wxInfo.setOpenid(openid);
                 wxInfo.setUnionid(unionid);
+                wxInfo.setCreateTime(DateUtil.date());
+                wxInfo.setUpdateTime(DateUtil.date());
                 wxInfoService.addWxInfo(wxInfo);
+//                wxInfoService.saveReturnVo(CopyUtil.copy(wxInfo, WxInfoVo.class));
             } else {
                 mainInfo = mainInfoService.findMainInfoById(wxInfo.getUserId());
             }
@@ -212,7 +217,7 @@ public class LoginController {
     }
 
     /**
-     * 查询是否存在userInfo对应用户数据,如果存在。则判断为新用户
+     * 查询是否存在userInfo对应用户数据,如果存在。则判断为新用户
      * @param userId
      * @return
      */
@@ -241,7 +246,8 @@ public class LoginController {
         //检查redis 的token 是否存在,存在则删除
         String headToken = request.getHeader("token");
         if (StringUtils.isNotBlank(headToken)) {
-            Boolean bSuccess = redisTemplate.delete(String.format(RedisConstant.TOKEN_PREFIX, headToken));
+//            Boolean bSuccess = redisTemplate.delete(String.format(RedisConstant.TOKEN_PREFIX, headToken));
+            Boolean bSuccess = redisSettingMap.deleteValue(RedisType.TOKEN,headToken);
             if (!bSuccess) {
                 //删除不成功,redis不存在,是非法token
 //                throw new WxInfoException(ResultEnum.TOKEN_IS_ILLEGAL.getCode(), ResultEnum.TOKEN_IS_ILLEGAL.getMessage());
@@ -272,7 +278,10 @@ public class LoginController {
                     wxInfo = new WxInfo();
                     wxInfo.setUserId(mainInfo.getUserId());
                     wxInfo.setOpenid(session.getOpenid());
+                    wxInfo.setCreateTime(DateUtil.date());
+                    wxInfo.setUpdateTime(DateUtil.date());
                     wxInfoService.addWxInfo(wxInfo);
+//                    wxInfoService.saveReturnVo(CopyUtil.copy(wxInfo, WxInfoVo.class));
                 }
 
                 //拿到微信对应的用户userid
@@ -601,7 +610,10 @@ public class LoginController {
                 wxInfo.setUnionid(unionid);
                 wxInfo.setOpenid(openid);
                 wxInfo.setUserId(userId);
+                wxInfo.setCreateTime(DateUtil.date());
+                wxInfo.setUpdateTime(DateUtil.date());
                 wxInfoService.addWxInfo(wxInfo);
+//                wxInfoService.saveReturnVo(CopyUtil.copy(wxInfo, WxInfoVo.class));
             } else {
                 //提示用户微信已被使用
                 return ResultVOUtil.error(UserEnum.USER_HAS_REGISTER_WX.getCode(), UserEnum.USER_HAS_REGISTER_WX.getMessage());
@@ -844,9 +856,15 @@ public class LoginController {
 //        }
         //todo 假如删除了用户的main_info 信息(正常流程是不会删除),会导致客户的一直判断跳转新用户界面,
         //     如果需要清空用户信息,清除main_info 信息后,要删除对应的token值,
-        LoginVO loginVO = new LoginVO();
-        loginVO.setNewUser(bUserInfoByUserId(userId));
-        return ResultVOUtil.success(loginVO);
+        try {
+            mainInfoService.findMainInfoById(userId);
+            LoginVO loginVO = new LoginVO();
+            loginVO.setNewUser(bUserInfoByUserId(userId));
+            return ResultVOUtil.success(loginVO);
+        }catch (UserException e){
+            return ResultVOUtil.error(ResultEnum.TOKEN_FILTER_ERROR);
+        }
+
     }
 
     /**
@@ -860,7 +878,8 @@ public class LoginController {
 
         String headToken = request.getHeader("token");
         if (StringUtils.isNotBlank(headToken)) {
-            Boolean bSuccess = redisTemplate.delete(String.format(RedisConstant.TOKEN_PREFIX, headToken));
+//            Boolean bSuccess = redisTemplate.delete(String.format(RedisConstant.TOKEN_PREFIX, headToken));
+            Boolean bSuccess = redisSettingMap.deleteValue(RedisType.TOKEN,headToken);
             if (!bSuccess) {
                 //删除不成功,redis不存在,是非法token
                 log.info("redis 没有对应的token");
@@ -882,7 +901,8 @@ public class LoginController {
         //检查redis 的token 是否存在,存在则删除
         String headToken = request.getHeader("token");
         if (StringUtils.isNotBlank(headToken)) {
-            Boolean bSuccess = redisTemplate.delete(String.format(RedisConstant.TOKEN_PREFIX, headToken));
+//            Boolean bSuccess = redisTemplate.delete(String.format(RedisConstant.TOKEN_PREFIX, headToken));
+            Boolean bSuccess = redisSettingMap.deleteValue(RedisType.TOKEN,headToken);
             if (!bSuccess) {
                 //删除不成功,redis不存在,是非法token
                 log.info("redis 没有对应的token");
@@ -925,6 +945,8 @@ public class LoginController {
                 appleInfo = new AppleInfo();
                 appleInfo.setUserId(mainInfo.getUserId());
                 appleInfo.setAppleId(json.getString("sub"));
+                appleInfo.setCreateTime(DateUtil.date());
+                appleInfo.setUpdateTime(DateUtil.date());
                 appleInfoService.addAppleInfo(appleInfo);
             } else {
                 mainInfo = mainInfoService.findMainInfoById(appleInfo.getUserId());

+ 5 - 0
src/main/java/com/YuyeTech/TPlat/utils/RedisSettingMap.java

@@ -232,6 +232,11 @@ public class RedisSettingMap {
                  * 删除短信key的值
                  */
                 return redisTemplate.delete(getSMSKey(key));
+            case TOKEN:
+                /**
+                 * 删除token的值
+                 */
+                return redisTemplate.delete(getTokenKey(key));
             default: return null;
         }
     }

+ 3 - 2
src/main/resources/application-prd.yml

@@ -4,9 +4,10 @@ spring:
       on-profile: prd #生产环境
   datasource:
     driver-class-name: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://127.0.0.1:3306/tplat?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&useSSL=false&serverTimezone=GMT%2b8 #&serverTimezone=UTC
     username: TPlat
-    password: "EJLdWybzbWkGZ8bi" # "abc123456abc" "!@#ABC456"
+    password: EJLdWybzbWkGZ8bi
+    url: jdbc:mysql://127.0.0.1:3306/tplat?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&useSSL=false&serverTimezone=GMT%2b8 #&serverTimezone=UTC
+
 
     hikari:
       minimum-idle: 5

+ 1 - 1
src/main/resources/logback-spring.xml

@@ -81,7 +81,7 @@
         <logger level="WARN" name="com.netflix"/>
         <logger level="DEBUG" name="org.hibernate.SQL"/>
     </springProfile>
-    <springProfile name="prod">
+    <springProfile name="prd">
 
         <!--root节点 全局日志级别,用来指定最基础的日志输出级别-->
         <root level="INFO">

+ 0 - 3
src/main/resources/templates/logging.html

@@ -40,9 +40,6 @@
         let hostname = window.location.hostname;
         port = window.location.port;
         let _f = "wss://";
-        if (hostname.indexOf("192.168.0.108") > -1) {//暂时设置一个本地ip
-            _f = "ws://";
-        }
         websocket = new WebSocket(_f + hostname + ":" + port + ctx + "/websocket/logging");
         console.log(_f + hostname + ":" + port + ctx + "/websocket/logging");
     } else {