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
---
springboot/src/main/java/com/java110/boot/controller/app/AppController.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 54 insertions(+), 2 deletions(-)
diff --git a/springboot/src/main/java/com/java110/boot/controller/app/AppController.java b/springboot/src/main/java/com/java110/boot/controller/app/AppController.java
index 70b01e6..eeb5c57 100644
--- a/springboot/src/main/java/com/java110/boot/controller/app/AppController.java
+++ b/springboot/src/main/java/com/java110/boot/controller/app/AppController.java
@@ -63,11 +63,12 @@
private IPrivilegeSMO privilegeSMOImpl;
/**
- * 璧勬簮璇锋眰 post鏂瑰紡
+ * 璧勬簮璇锋眰 post鏂瑰紡 缁熶竴鍏ュ彛绫�
* <p>
* /app/user.listUser
* <p>
* /api/user.listUser
+ *
*
* @param service 璇锋眰鎺ュ彛鏂瑰紡
* @param postInfo post鍐呭
@@ -85,13 +86,21 @@
ResponseEntity<String> responseEntity = null;
try {
Map<String, String> headers = new HashMap<String, String>();
+ //todo 灏佽璇锋眰涓殑 澶翠俊鎭�
this.getRequestInfo(request, headers);
+ //todo 灏嗘帴鍙g紪鐮侊紙鏈嶅姟缂栫爜锛� 鏀惧叆澶翠俊鎭� 閫氳繃澶翠俊鎭殑鏂瑰紡 浼犻�掑埌鍚庣
headers.put(CommonConstant.HTTP_SERVICE, service);
+ // todo 璇锋眰鏂瑰紡 鏀惧叆鍒板ご淇℃伅
headers.put(CommonConstant.HTTP_METHOD, CommonConstant.HTTP_METHOD_POST);
logger.debug("api锛歿} 璇锋眰鎶ユ枃涓猴細{},header淇℃伅涓猴細{}", service, postInfo, headers);
+ //todo 鑾峰彇鐢� PageProcessAspect aop 鎷︽埅灏佽鐨� pd 椤甸潰鏁版嵁瀵硅薄
IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
+ //todo 鏍规嵁鐧诲綍鐢ㄦ埛 鐨勬潈闄� 鏍¢獙 鐢ㄦ埛鏄惁鏈夋潈闄愯闂鎺ュ彛,姝ゆ椂鐨�"/app/" + service 涓� 寮�鍙戣繖璐︽埛 鑿滃崟鏉冮檺涓嬬殑璧勬簮鍦板潃
privilegeSMOImpl.hasPrivilege(restTemplate, pd, "/app/" + service);
+ //todo 杩涘叆 鎺ュ彛鐩稿叧 涓氬姟澶勭悊
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);
@@ -102,7 +111,7 @@
}
/**
- * 璧勬簮璇锋眰 get鏂瑰紡
+ * 璧勬簮璇锋眰 get鏂瑰紡 缁熶竴鍏ュ彛绫�
*
* @param service 璇锋眰鎺ュ彛鏂瑰紡
* @param request 璇锋眰瀵硅薄 鏌ヨ澶翠俊鎭� url绛変俊鎭�
@@ -118,12 +127,18 @@
ResponseEntity<String> responseEntity = null;
try {
Map<String, String> headers = new HashMap<String, String>();
+ //todo 灏佽璇锋眰涓殑 澶翠俊鎭�
this.getRequestInfo(request, headers);
+ //todo 灏嗘帴鍙g紪鐮侊紙鏈嶅姟缂栫爜锛� 鏀惧叆澶翠俊鎭� 閫氳繃澶翠俊鎭殑鏂瑰紡 浼犻�掑埌鍚庣
headers.put(CommonConstant.HTTP_SERVICE, service);
+ // todo 璇锋眰鏂瑰紡 鏀惧叆鍒板ご淇℃伅
headers.put(CommonConstant.HTTP_METHOD, CommonConstant.HTTP_METHOD_GET);
logger.debug("api锛歿} 璇锋眰鎶ユ枃涓猴細{},header淇℃伅涓猴細{}", "", headers);
+ //todo 鑾峰彇鐢� PageProcessAspect aop 鎷︽埅灏佽鐨� pd 椤甸潰鏁版嵁瀵硅薄
IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
+ //todo 鏍规嵁鐧诲綍鐢ㄦ埛 鐨勬潈闄� 鏍¢獙 鐢ㄦ埛鏄惁鏈夋潈闄愯闂鎺ュ彛,姝ゆ椂鐨�"/app/" + service 涓� 寮�鍙戣繖璐︽埛 鑿滃崟鏉冮檺涓嬬殑璧勬簮鍦板潃
privilegeSMOImpl.hasPrivilege(restTemplate, pd, "/app/" + service);
+ //todo 杩涘叆 鎺ュ彛鐩稿叧 涓氬姟澶勭悊
responseEntity = apiSMOImpl.doApi(JSONObject.toJSONString(getParameterStringMap(request)), headers, request);
} catch (Throwable e) {
@@ -313,7 +328,44 @@
if ("userId".equals(key)) {
headers.put("user_id", claims.get(key));
}
+ if("userName".equals(key)){
+ headers.put("userName", "-");
+ }
headers.put(key, claims.get(key));
}
}
+
+ /**
+ * 鍐欏叆 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);
+ }
}
--
Gitblit v1.8.0