From ca53374b44659763ececd997defbee6611ff9908 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B5=E5=95=B8=E9=9D=9E?= <13281114856@qq.com>
Date: Mon, 18 Jul 2022 16:31:19 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=94=A8=E6=88=B7=E7=99=BB?=
 =?UTF-8?q?=E5=BD=95=E9=89=B4=E6=9D=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../interceptor/AuthTokenServiceImpl.java     | 14 ++++++++---
 .../mortals/xhx/feign/user/IUserFeign.java    | 14 +++++++++++
 .../xhx/module/user/web/UserController.java   | 23 +++++++++++--------
 3 files changed, 39 insertions(+), 12 deletions(-)

diff --git a/base-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthTokenServiceImpl.java b/base-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthTokenServiceImpl.java
index 698d9c56..7fbc7aa0 100644
--- a/base-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthTokenServiceImpl.java
+++ b/base-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthTokenServiceImpl.java
@@ -3,12 +3,14 @@ package com.mortals.xhx.base.framework.interceptor;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.mortals.framework.ap.SysConstains;
+import com.mortals.framework.common.Rest;
 import com.mortals.framework.service.IAuthTokenService;
 import com.mortals.framework.service.ICacheService;
 import com.mortals.framework.service.IUser;
 import com.mortals.framework.util.DateUtils;
 import com.mortals.framework.util.StringUtils;
 import com.mortals.xhx.base.system.user.model.UserEntity;
+import com.mortals.xhx.feign.user.IUserFeign;
 import io.jsonwebtoken.Claims;
 import io.jsonwebtoken.Jwts;
 import io.jsonwebtoken.SignatureAlgorithm;
@@ -69,6 +71,8 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
 
     @Autowired
     private ICacheService cacheService;
+    @Autowired
+    private IUserFeign userFeign;
 
     /**
      * 鑾峰彇淇℃伅
@@ -85,11 +89,15 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
                 Claims claims = parseToken(token);
                 String uuid = (String) claims.get(SysConstains.LOGIN_USER_KEY);
                 String userKey = getTokenKey(uuid);
-                cacheService.select(portalDb);
-                String userStr = cacheService.get(userKey);
-                cacheService.select(db);
+//                cacheService.select(portalDb);
+//                String userStr = cacheService.get(userKey);
+//                cacheService.select(db);
+
+                Rest<String> rest = userFeign.getToken(userKey);
+                String userStr = rest.getData();
                 if (StringUtils.isNotEmpty(userStr)) {
                     UserEntity userEntity = JSONObject.parseObject(userStr, UserEntity.class);
+                    userEntity.setToken(token);
                     return userEntity;
                 }
             } catch (Exception e) {
diff --git a/common-lib/src/main/java/com/mortals/xhx/feign/user/IUserFeign.java b/common-lib/src/main/java/com/mortals/xhx/feign/user/IUserFeign.java
index eb0e524d..880a6b09 100644
--- a/common-lib/src/main/java/com/mortals/xhx/feign/user/IUserFeign.java
+++ b/common-lib/src/main/java/com/mortals/xhx/feign/user/IUserFeign.java
@@ -65,6 +65,15 @@ public interface IUserFeign extends IFeign {
     String portalLogin(@RequestBody UserPdu userPdu);
 
 
+    /**
+     * 鑾峰彇token
+     *
+     * @param
+     * @return
+     */
+    @PostMapping(value = "/user/token")
+    Rest<String> getToken(@RequestParam(value = "userKey") String userKey);
+
 
 }
 
@@ -100,6 +109,11 @@ class UserFeignFallbackFactory implements FallbackFactory<IUserFeign> {
                 return JSON.toJSONString(Rest.fail("鐧诲綍澶辫触!"));
             }
 
+            @Override
+            public Rest<String> getToken(String userKey) {
+                return Rest.fail("token鑾峰彇澶辫触");
+            }
+
 
         };
     }
diff --git a/portal-manager/src/main/java/com/mortals/xhx/module/user/web/UserController.java b/portal-manager/src/main/java/com/mortals/xhx/module/user/web/UserController.java
index 96e2e2b8..d8bfc206 100644
--- a/portal-manager/src/main/java/com/mortals/xhx/module/user/web/UserController.java
+++ b/portal-manager/src/main/java/com/mortals/xhx/module/user/web/UserController.java
@@ -81,7 +81,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
         this.addDict(model, "userType", paramService.getParamBySecondOrganize("User", "userType"));
         this.addDict(model, "status", paramService.getParamBySecondOrganize("User", "status"));
         List<RoleEntity> roleList = roleService.find(new RoleEntity());
-        super.addDict(model, "roleId", roleList.stream().collect(Collectors.toMap(e->e.getId().toString(), e->e.getName())));
+        super.addDict(model, "roleId", roleList.stream().collect(Collectors.toMap(e -> e.getId().toString(), e -> e.getName())));
         super.init(model, context);
     }
 
@@ -90,9 +90,9 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
     protected int viewAfter(Long id, Map<String, Object> model, UserEntity entity, Context context) throws AppException {
         Map<Long, String> roleMap = roleService.find(new RoleQuery()).stream().collect(Collectors.toMap(x -> x.getId(), y -> y.getName()));
         List<RoleUserEntity> roleUserList = roleUserService.find(new RoleUserQuery().userId(id));
-        if(!ObjectUtils.isEmpty(roleUserList)){
+        if (!ObjectUtils.isEmpty(roleUserList)) {
             entity.setRoleId(roleUserList.stream().map(RoleUserEntity::getRoleId).map(String::valueOf).collect(Collectors.joining(",")));
-            entity.setRoleName(roleUserList.stream().map(m->roleMap.get(m.getRoleId())).filter(f->f!=null).collect(Collectors.joining(",")));
+            entity.setRoleName(roleUserList.stream().map(m -> roleMap.get(m.getRoleId())).filter(f -> f != null).collect(Collectors.joining(",")));
 
         }
         return super.viewAfter(id, model, entity, context);
@@ -112,7 +112,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
             Result result = this.getService().findExt(query, pageInfo, context);
             model.put("data", result.getList());
             model.put("pageInfo", result.getPageInfo());
-            super.parsePageInfo(model,result.getPageInfo());
+            super.parsePageInfo(model, result.getPageInfo());
             this.parsePageInfo(model, result.getPageInfo());
             code = this.doListAfter(query, model, context);
             this.recordSysLog(this.request, busiDesc + " 銆愭垚鍔熴€�");
@@ -125,7 +125,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
         ret.setCode(code);
         ret.setData(model);
         ret.setDict(model.get(KEY_RESULT_DICT));
-        ret.setMsg(model.get(MESSAGE_INFO)==null?"":model.remove(MESSAGE_INFO).toString());
+        ret.setMsg(model.get(MESSAGE_INFO) == null ? "" : model.remove(MESSAGE_INFO).toString());
         return ret;
     }
 
@@ -175,15 +175,16 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
 
     /**
      * 绔欑偣鎺堟潈
+     *
      * @return
      */
     @PostMapping(value = "siteAuth")
     public String siteAuth(@RequestBody UserEntityExt entityExt) {
         JSONObject ret = new JSONObject();
         Map<String, Object> model = new HashMap<>();
-        String busiDesc =  this.getModuleDesc() + "绔欑偣鎺堟潈";
+        String busiDesc = this.getModuleDesc() + "绔欑偣鎺堟潈";
         try {
-            this.service.siteAuth(entityExt,getContext());
+            this.service.siteAuth(entityExt, getContext());
             recordSysLog(request, busiDesc + "銆愭垚鍔熴€�");
             ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
             ret.put(KEY_RESULT_MSG, "鎺堟潈鎴愬姛锛�");
@@ -199,15 +200,19 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
 
     /**
      * 鑾峰彇楠岃瘉token
+     *
      * @return
      */
     @PostMapping(value = "token")
     @UnAuth
-    public Rest<String> getToken(@RequestParam(value = "userKey") String  userKey) {
+    public Rest<String> getToken(@RequestParam(value = "userKey") String userKey) {
 
         try {
             String userStr = cacheService.get(userKey);
-           return Rest.ok("鑾峰彇token鎴愬姛锛�",userStr);
+            if (!ObjectUtils.isEmpty(userStr)) {
+                return Rest.ok("鑾峰彇token鎴愬姛锛�", userStr);
+            }
+            return Rest.fail("鑾峰彇token寮傚父!");
         } catch (Exception e) {
             log.error("鏌ヨtoken閿欒", e);
             return Rest.fail("鑾峰彇token寮傚父!");
-- 
2.24.3