TRX 1 gadu atpakaļ
vecāks
revīzija
48b001b131

+ 14 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/base/ReTokenParam.java

@@ -0,0 +1,14 @@
+package com.zhongshu.card.client.model.base;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author TRX
+ * @date 2024/6/5
+ */
+@Data
+public class ReTokenParam {
+    @Schema(description = "刷新token")
+    private String refreshToken;
+}

+ 14 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/base/TokenParam.java

@@ -0,0 +1,14 @@
+package com.zhongshu.card.client.model.base;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author TRX
+ * @date 2024/6/5
+ */
+@Data
+public class TokenParam {
+    @Schema(description = "token")
+    private String token;
+}

+ 24 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/org/IndexController.java

@@ -2,10 +2,13 @@ package com.zhongshu.card.server.core.controller.org;
 
 import com.github.microservice.auth.client.constant.AuthConstant;
 import com.github.microservice.auth.client.model.LoginTokenModel;
+import com.github.microservice.auth.client.model.UserTokenModel;
 import com.github.microservice.auth.security.annotations.ResourceAuth;
 import com.github.microservice.auth.security.helper.AuthHelper;
 import com.github.microservice.auth.security.type.AuthType;
 import com.zhongshu.card.client.model.base.AuthTypeParam;
+import com.zhongshu.card.client.model.base.ReTokenParam;
+import com.zhongshu.card.client.model.base.TokenParam;
 import com.zhongshu.card.client.model.org.*;
 import com.zhongshu.card.client.ret.ResultContent;
 import com.zhongshu.card.client.ret.ResultState;
@@ -75,4 +78,25 @@ public class IndexController {
         return result;
     }
 
+    @Operation(summary = "刷新token", description = "刷新token")
+    @RequestMapping(value = "refreshToken", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
+    public ResultContent refreshToken(@RequestBody ReTokenParam param, HttpServletRequest request, HttpServletResponse response) {
+        ResultContent<UserTokenModel> result = indexService.refreshToken(param.getRefreshToken());
+        if (result != null && result.getState() == ResultState.Success) {
+            UserTokenModel tokenModel = (UserTokenModel) result.getContent();
+            response.setHeader("accessToken", tokenModel.getAccessToken());
+            Cookie cookie = new Cookie("accessToken", String.valueOf(tokenModel.getExpireTime()));
+            cookie.setMaxAge(60 * 60 * 24 * 30);
+            cookie.setPath("/");
+            response.addCookie(cookie);
+        }
+        return result;
+    }
+
+    @Operation(summary = "退出登录", description = "退出登录")
+    @RequestMapping(value = "loginOut", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
+    public ResultContent loginOut(@RequestBody TokenParam param) {
+        return indexService.loginOut(param.getToken());
+    }
+
 }

+ 35 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/org/IndexService.java

@@ -1,7 +1,9 @@
 package com.zhongshu.card.server.core.service.org;
 
+import com.github.microservice.auth.client.content.ResultState;
 import com.github.microservice.auth.client.model.LoginTokenModel;
 import com.github.microservice.auth.client.model.UserAuthLoginModel;
+import com.github.microservice.auth.client.model.UserTokenModel;
 import com.github.microservice.auth.client.service.UserService;
 import com.github.microservice.auth.security.helper.AuthHelper;
 import com.github.microservice.components.data.mongo.mongo.helper.DBHelper;
@@ -130,4 +132,37 @@ public class IndexService {
         }
         return ResultContent.buildFail(msg);
     }
+
+    /**
+     * 刷新token
+     *
+     * @param refreshToken
+     * @return
+     */
+    public ResultContent<UserTokenModel> refreshToken(String refreshToken) {
+        UserTokenModel model = new UserTokenModel();
+        com.github.microservice.auth.client.content.ResultContent<UserTokenModel> resultContent = userService.refreshToken(refreshToken);
+        if (resultContent.getState() == ResultState.Success) {
+            model = resultContent.getContent();
+        } else {
+            return ResultContent.buildFail(resultContent.getMsg());
+        }
+        return ResultContent.buildSuccess(model);
+    }
+
+    /**
+     * 退出登录
+     *
+     * @param token
+     * @return
+     */
+    public ResultContent loginOut(String token) {
+        com.github.microservice.auth.client.content.ResultContent<Void> resultContent = userService.removeTokenLogin(token);
+        if (resultContent.getState() == ResultState.Success) {
+        } else {
+            return ResultContent.buildFail(resultContent.getMsg());
+        }
+        return ResultContent.buildSuccess();
+    }
+
 }

+ 1 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/org/UserAccountServiceImpl.java

@@ -119,7 +119,7 @@ public class UserAccountServiceImpl extends SuperService implements UserAccountS
             userAccount.setUserId(uid);
             userAccount.setPhone(entity.getContactPhone());
             userAccount.setLoginName(entity.getContactPhone());
-            if (!StringUtils.isEmpty(entity.getContactPhone())) {
+            if (!StringUtils.isNotEmpty(entity.getContactPhone())) {
                 userAccount.setName("用户" + entity.getContactPhone());
             } else {
                 userAccount.setName("用户");