소스 검색

bugfix:新用户登录token返回

lyx 3 달 전
부모
커밋
daec7bd91f
1개의 변경된 파일30개의 추가작업 그리고 23개의 파일을 삭제
  1. 30 23
      alien-store/src/main/java/shop/alien/store/service/LifeUserService.java

+ 30 - 23
alien-store/src/main/java/shop/alien/store/service/LifeUserService.java

@@ -155,7 +155,9 @@ public class LifeUserService extends ServiceImpl<LifeUserMapper, LifeUser> {
                 tokenMap.put("userId", lifeUser.getId().toString());
                 tokenMap.put("userType", "user");
 //                userVo.setToken(JWTUtils1.createToken(tokenMap));
-                baseRedisService.setString("user_" + phoneNum, userVo.getToken());
+                String token = getToken(phoneNum, userVo.getUserName(), tokenMap);
+                userVo.setToken(token);
+                baseRedisService.setString("user_" + phoneNum, token);
                 return userVo;
             } else {
                 return null;
@@ -168,34 +170,39 @@ public class LifeUserService extends ServiceImpl<LifeUserMapper, LifeUser> {
             tokenMap.put("userName", user.getUserName());
             tokenMap.put("userId", user.getId().toString());
             tokenMap.put("userType", "user");
-            int effectiveTimeInt = Integer.parseInt(effectiveTime.substring(0, effectiveTime.length() - 1));
-            String effectiveTimeUnit = effectiveTime.substring(effectiveTime.length() - 1);
-            long effectiveTimeIntLong = 0L;
-            switch (effectiveTimeUnit) {
-                case "s": {
-                    effectiveTimeIntLong = effectiveTimeInt * 1000L;
-                    break;
-                }
-                case "m": {
-                    effectiveTimeIntLong = effectiveTimeInt * 60L * 1000L;
-                    break;
-                }
-                case "h": {
-                    effectiveTimeIntLong = effectiveTimeInt * 60L * 60L * 1000L;
-                    break;
-                }
-                case "d": {
-                    effectiveTimeIntLong = effectiveTimeInt * 24L * 60L * 60L * 1000L;
-                    break;
-                }
-            }
-            String token = JwtUtil.createJWT("user_" + phoneNum, user.getUserName(), JSONObject.toJSONString(tokenMap), effectiveTimeIntLong);
+            String token = getToken(phoneNum, user.getUserName(), tokenMap);
             userVo.setToken(token);
             baseRedisService.setString("user_" + phoneNum, token);
             return userVo;
         }
     }
 
+    private String getToken(String phoneNum, String userVo, Map<String, String> tokenMap) {
+        int effectiveTimeInt = Integer.parseInt(effectiveTime.substring(0, effectiveTime.length() - 1));
+        String effectiveTimeUnit = effectiveTime.substring(effectiveTime.length() - 1);
+        long effectiveTimeIntLong = 0L;
+        switch (effectiveTimeUnit) {
+            case "s": {
+                effectiveTimeIntLong = effectiveTimeInt * 1000L;
+                break;
+            }
+            case "m": {
+                effectiveTimeIntLong = effectiveTimeInt * 60L * 1000L;
+                break;
+            }
+            case "h": {
+                effectiveTimeIntLong = effectiveTimeInt * 60L * 60L * 1000L;
+                break;
+            }
+            case "d": {
+                effectiveTimeIntLong = effectiveTimeInt * 24L * 60L * 60L * 1000L;
+                break;
+            }
+        }
+        String token = JwtUtil.createJWT("user_" + phoneNum, userVo, JSONObject.toJSONString(tokenMap), effectiveTimeIntLong);
+        return token;
+    }
+
     public LifeUser getUserByPhone(String phoneNum) {
         LambdaQueryWrapper<LifeUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
         lambdaQueryWrapper.eq(LifeUser::getUserPhone, phoneNum);