Pārlūkot izejas kodu

account-api 模块的 AuthedAccount 添加一个 loginId 字段

reghao 5 mēneši atpakaļ
vecāks
revīzija
f8e4cb2b96

+ 1 - 0
account/account-api/src/main/java/cn/reghao/tnb/account/api/dto/AuthedAccount.java

@@ -15,6 +15,7 @@ import java.util.Set;
 public class AuthedAccount implements Serializable {
     private static final long serialVersionUID = 1L;
 
+    private String loginId;
     private long userId;
     private String userIdStr;
     private Set<String> roles;

+ 7 - 5
account/account-service/src/main/java/cn/reghao/tnb/account/app/rpc/AccountQueryImpl.java

@@ -5,6 +5,7 @@ import cn.reghao.tnb.account.api.dto.*;
 import cn.reghao.tnb.account.api.iface.AccountQuery;
 import cn.reghao.tnb.account.app.db.repository.AccountRepository;
 import cn.reghao.tnb.account.app.model.po.UserAccount;
+import cn.reghao.tnb.account.app.security.form.AccountAuthToken;
 import cn.reghao.tnb.account.app.service.AccountTokenService;
 import org.apache.dubbo.config.annotation.DubboService;
 import org.springframework.security.core.GrantedAuthority;
@@ -35,14 +36,15 @@ public class AccountQueryImpl implements AccountQuery {
 
     @Override
     public AuthedAccount getAuthedAccount(int type, String sessId) {
-        long userId = accountTokenService.getUserId(type, sessId);
-        if (userId != -1L) {
-            UserAccount userAccount = accountRepository.getUserAccountByUserId(userId);
+        AccountAuthToken accountAuthToken = accountTokenService.getAuthToken(type, sessId);
+        if (accountAuthToken != null) {
+            String loginId = accountAuthToken.getLoginId();
+            long userId = accountAuthToken.getUserId();
             String userIdStr = userIdObfuscation.obfuscate(userId);
-            Set<String> roles = userAccount.getAuthorities().stream()
+            Set<String> roles = accountAuthToken.getAuthorities().stream()
                     .map(GrantedAuthority::getAuthority)
                     .collect(Collectors.toSet());
-            return new AuthedAccount(userId, userIdStr, roles);
+            return new AuthedAccount(loginId, userId, userIdStr, roles);
         }
 
         return null;

+ 1 - 0
account/account-service/src/main/java/cn/reghao/tnb/account/app/service/AccountTokenService.java

@@ -41,6 +41,7 @@ public interface AccountTokenService {
      * @return
      * @date 2025-08-28 15:16:58
      */
+    @Deprecated
     long getUserId(int tokenType, String userdata);
 
     /**