zhoux 2 лет назад
Родитель
Сommit
7ab2d52c86

+ 3 - 0
src/main/java/com/dk/oauth/entity/AuthAccessToken.java

@@ -49,6 +49,9 @@ public class AuthAccessToken {
     @TableField("cp_code")
     @TableField("cp_code")
     private String cpCode;
     private String cpCode;
 
 
+    @TableField("app_code")
+    private String appCode;
+
     @TableField("token_type")
     @TableField("token_type")
     private String tokenType;
     private String tokenType;
 
 

+ 14 - 12
src/main/java/com/dk/oauth/service/impl/AuthAccessTokenServiceImpl.java

@@ -368,6 +368,7 @@ public class AuthAccessTokenServiceImpl extends ServiceImpl<AuthAccessTokenMappe
                 jwtGenerator.setClientId(clientId);
                 jwtGenerator.setClientId(clientId);
                 jwtGenerator.setCpId(company.getCpId().toString());
                 jwtGenerator.setCpId(company.getCpId().toString());
                 jwtGenerator.setCpCode(company.getCpCode());
                 jwtGenerator.setCpCode(company.getCpCode());
+                jwtGenerator.setAppCode(userLogin.getAppCode());
                 OAuthIssuerImpl oAuthIssuer = new OAuthIssuerImpl(jwtGenerator);
                 OAuthIssuerImpl oAuthIssuer = new OAuthIssuerImpl(jwtGenerator);
                 accessToken = oAuthIssuer.accessToken();
                 accessToken = oAuthIssuer.accessToken();
                 log.info("服务器生成的accessToken=" + accessToken);
                 log.info("服务器生成的accessToken=" + accessToken);
@@ -377,21 +378,23 @@ public class AuthAccessTokenServiceImpl extends ServiceImpl<AuthAccessTokenMappe
                 authAccessToken.setClientId(clientId);
                 authAccessToken.setClientId(clientId);
                 authAccessToken.setTokenId(accessToken);
                 authAccessToken.setTokenId(accessToken);
                 authAccessToken.setCreateDate(new Date());
                 authAccessToken.setCreateDate(new Date());
+                authAccessToken.setUserId(userId);
                 authAccessToken.setCpId(company.getCpId().toString());
                 authAccessToken.setCpId(company.getCpId().toString());
                 authAccessToken.setCpCode(company.getCpCode());
                 authAccessToken.setCpCode(company.getCpCode());
+                authAccessToken.setAppCode(userLogin.getAppCode());
                 authAccessToken.setTokenExpiredSeconds(OauthConstants.EXPIRES_IN);
                 authAccessToken.setTokenExpiredSeconds(OauthConstants.EXPIRES_IN);
                 log.info("---->>>SecurityUtils.getSubject().isAuthenticated() = " + SecurityUtils.getSubject().isAuthenticated());
                 log.info("---->>>SecurityUtils.getSubject().isAuthenticated() = " + SecurityUtils.getSubject().isAuthenticated());
                 // endregion
                 // endregion
 
 
-                // 记录工号状态
-//                userMapper.insertOrUpdateUserLogin();
-                UserLogin ul =  new UserLogin().setUserId(userId).setAppCode(userLogin.getAppCode())
-                        .setTokenKey(accessToken).setOpUpdateTime(LocalDateTime.now());
-//                stringRedisTemplate.opsForValue().set(Constant.RedisConstant.REDIS_USER_LOGIN.getName(), JSONObject.toJSONString(ul), 5, TimeUnit.MINUTES);
-
                 // region 加密accessToken
                 // region 加密accessToken
                 try {
                 try {
                     accessToken = AESSecurityUtil.encrypt(AESKey, accessToken);
                     accessToken = AESSecurityUtil.encrypt(AESKey, accessToken);
+                    // 往redis记录缓存
+                    Map<String,Object> ul = new HashMap<>();
+                    ul.put("accessToken",accessToken);
+                    ul.put("opUpdateTime",LocalDateTime.now());
+                    stringRedisTemplate.opsForValue().set(Constant.RedisConstant.REDIS_USER_LOGIN.getName() + '_' + userId + '_' + userLogin.getAppCode(), JSONObject.toJSONString(ul));
+
                 } catch (Exception e) {
                 } catch (Exception e) {
                     logger.error("sorry,accessToken({}) encode faild!!", accessToken);
                     logger.error("sorry,accessToken({}) encode faild!!", accessToken);
                 }
                 }
@@ -402,8 +405,7 @@ public class AuthAccessTokenServiceImpl extends ServiceImpl<AuthAccessTokenMappe
         UserLoginSuccess userLoginSuccess = new UserLoginSuccess()
         UserLoginSuccess userLoginSuccess = new UserLoginSuccess()
                 .setByUserLogin(userLogin)
                 .setByUserLogin(userLogin)
                 .setAccessToken(accessToken)
                 .setAccessToken(accessToken)
-                .setCompany(company)
-                ;
+                .setCompany(company);
 
 
         return ResponseResultUtil.success(userLoginSuccess);
         return ResponseResultUtil.success(userLoginSuccess);
     }
     }
@@ -479,15 +481,15 @@ public class AuthAccessTokenServiceImpl extends ServiceImpl<AuthAccessTokenMappe
         //生成二维码接口地址
         //生成二维码接口地址
         String url = config.getUnlimitedQRCode() + accessToken;
         String url = config.getUnlimitedQRCode() + accessToken;
         //文件名称
         //文件名称
-        String fileName=java.util.UUID.randomUUID().toString() + ".png";
+        String fileName = java.util.UUID.randomUUID().toString() + ".png";
         //文件相对路径 - 返回
         //文件相对路径 - 返回
-        String relativePath="/qr_code/"+ fileName;
+        String relativePath = "/qr_code/" + fileName;
         //文件绝对路径 - 写
         //文件绝对路径 - 写
         String absolutelyPath = this.createDirByPath("qr_code") + fileName;
         String absolutelyPath = this.createDirByPath("qr_code") + fileName;
         ResponseResultVO<String> responseResultVO = HttpUtils.postReturnFile(url, param, absolutelyPath);
         ResponseResultVO<String> responseResultVO = HttpUtils.postReturnFile(url, param, absolutelyPath);
-        if(responseResultVO.getCode()==ResponseCodeEnum.SUCCESS.getCode()){
+        if (responseResultVO.getCode() == ResponseCodeEnum.SUCCESS.getCode()) {
             return ResponseResultUtil.success(relativePath);
             return ResponseResultUtil.success(relativePath);
-        }else{
+        } else {
             return responseResultVO;
             return responseResultVO;
         }
         }