From 74fab5598d9b28dd12db3e2991d45e4081104753 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 02 八月 2023 13:37:25 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-api/src/main/java/com/java110/api/controller/app/AppController.java |   41 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 40 insertions(+), 1 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/controller/app/AppController.java b/service-api/src/main/java/com/java110/api/controller/app/AppController.java
index 8b7e034..cb72564 100644
--- a/service-api/src/main/java/com/java110/api/controller/app/AppController.java
+++ b/service-api/src/main/java/com/java110/api/controller/app/AppController.java
@@ -94,6 +94,8 @@
             IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
             privilegeSMOImpl.hasPrivilege(restTemplate, pd, "/app/" + service);
             responseEntity = apiSMOImpl.doApi(postInfo, headers,request);
+            //todo 鍐欏叆 token
+            wirteToken(request,pd,service,responseEntity);
         } catch (Throwable e) {
             logger.error("璇锋眰post 鏂规硶[" + service + "]澶辫触锛�" + postInfo, e);
             responseEntity = ResultVo.error("璇锋眰鍙戠敓寮傚父锛�" + e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
@@ -101,6 +103,40 @@
         logger.debug("api锛歿} 杩斿洖淇℃伅涓猴細{}", service, responseEntity);
 
         return responseEntity;
+    }
+
+    /**
+     * 鍐欏叆 token
+     * @param request
+     * @param pd
+     * @param service
+     * @param responseEntity
+     */
+    private void wirteToken(HttpServletRequest request, IPageData pd, String service, ResponseEntity<String> responseEntity) {
+        String[] services = new String[]{
+                "login.accessTokenLogin"
+        };
+
+        if(responseEntity.getStatusCode() != HttpStatus.OK){
+            return;
+        }
+        boolean flag = false;
+        for(String tmpService : services){
+            if(tmpService.equals(service)){
+                flag =true;
+            }
+        }
+
+        if(!flag){
+            return;
+        }
+
+        JSONObject paramOut = JSONObject.parseObject(responseEntity.getBody());
+        if(!"0".equals(paramOut.getString("code"))){
+            return;
+        }
+        String token = paramOut.getJSONObject("data").getString("token");
+        pd.setToken(token);
     }
 
     /**
@@ -203,7 +239,7 @@
             IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
             privilegeSMOImpl.hasPrivilege(restTemplate, pd, "/app/" + resource + "/" + action);
             responseEntity = apiSMOImpl.doApi(postInfo, headers, request);
-            //responseEntity = apiServiceSMOImpl.service(JSONObject.toJSONString(getParameterStringMap(request)), headers);
+
         } catch (Throwable e) {
             logger.error("璇锋眰post 鏂规硶[" + action + "]澶辫触锛�" + postInfo, e);
             responseEntity = ResultVo.error("璇锋眰鍙戠敓寮傚父锛�" + e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
@@ -315,6 +351,9 @@
             if ("userId".equals(key)) {
                 headers.put("user_id", claims.get(key));
             }
+            if("userName".equals(key)){
+                headers.put("userName", "-");
+            }
             headers.put(key, claims.get(key));
         }
     }

--
Gitblit v1.8.0