From 0417d31de9980cbc1735daffffb308d050ce35b4 Mon Sep 17 00:00:00 2001
From: wfy <260536420@qq.com>
Date: 星期六, 18 九月 2021 16:47:52 +0800
Subject: [PATCH] Merge branch 'master' into wangfy-dev

---
 service-api/src/main/java/com/java110/api/smo/AppAbstractComponentSMO.java |  113 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 106 insertions(+), 7 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/smo/AppAbstractComponentSMO.java b/service-api/src/main/java/com/java110/api/smo/AppAbstractComponentSMO.java
index cd865a0..d419c8d 100644
--- a/service-api/src/main/java/com/java110/api/smo/AppAbstractComponentSMO.java
+++ b/service-api/src/main/java/com/java110/api/smo/AppAbstractComponentSMO.java
@@ -1,5 +1,6 @@
 package com.java110.api.smo;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.component.AbstractComponentSMO;
 import com.java110.core.context.IPageData;
@@ -9,9 +10,12 @@
 import com.java110.utils.constant.ServiceCodeConstant;
 import com.java110.utils.constant.ServiceConstant;
 import com.java110.utils.exception.SMOException;
+import com.java110.utils.factory.ApplicationContextFactory;
 import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.StringUtil;
 import com.java110.utils.util.UrlParamToJsonUtil;
+import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,6 +24,7 @@
 import org.springframework.web.client.RestTemplate;
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 public abstract class AppAbstractComponentSMO extends AbstractComponentSMO {
@@ -69,8 +74,18 @@
         if (!headers.containsKey(CommonConstant.HTTP_USER_ID)) {
             headers.put(CommonConstant.HTTP_USER_ID, StringUtil.isEmpty(pd.getUserId()) ? "-1" : pd.getUserId());
         }
-
-        headers.put(CommonConstant.USER_ID, StringUtil.isEmpty(pd.getUserId()) ? "-1" : pd.getUserId());
+        if (!headers.containsKey(CommonConstant.HTTP_APP_ID)) {
+            headers.put(CommonConstant.HTTP_APP_ID, pd.getAppId());
+        }
+        if (!headers.containsKey(CommonConstant.HTTP_TRANSACTION_ID)) {
+            headers.put(CommonConstant.HTTP_TRANSACTION_ID, pd.getTransactionId());
+        }
+        if (!headers.containsKey(CommonConstant.HTTP_REQ_TIME)) {
+            headers.put(CommonConstant.HTTP_REQ_TIME, pd.getRequestTime());
+        }
+        if (!headers.containsKey(CommonConstant.HTTP_SIGN)) {
+            headers.put(CommonConstant.HTTP_SIGN, "");
+        }
 
         if (url.indexOf("?") > -1) {
             url = url.substring(0, url.indexOf("?"));
@@ -102,7 +117,7 @@
     protected ResponseEntity<String> getUserInfo(IPageData pd, RestTemplate restTemplate) {
         Assert.hasLength(pd.getUserId(), "鐢ㄦ埛鏈櫥褰曡鍏堢櫥褰�");
         ResponseEntity<String> responseEntity = null;
-        responseEntity = this.callCenterService(restTemplate, pd, "", ServiceConstant.SERVICE_API_URL + "/api/query.user.userInfo?userId=" + pd.getUserId(), HttpMethod.GET);
+        responseEntity = this.callCenterService(restTemplate, pd, "", "query.user.userInfo?userId=" + pd.getUserId(), HttpMethod.GET);
         // 杩囨护杩斿洖鎶ユ枃涓殑瀛楁锛屽彧杩斿洖name瀛楁
         //{"address":"","orderTypeCd":"Q","serviceCode":"","responseTime":"20190401194712","sex":"","localtionCd":"","userId":"302019033054910001","levelCd":"00","transactionId":"-1","dataFlowId":"-1","response":{"code":"0000","message":"鎴愬姛"},"name":"996icu","tel":"18909780341","bId":"-1","businessType":"","email":""}
 
@@ -121,7 +136,7 @@
         //Assert.hasLength(pd.getUserId(), "鐢ㄦ埛鏈櫥褰曡鍏堢櫥褰�");
         ResponseEntity<String> responseEntity = null;
         responseEntity = this.callCenterService(restTemplate, pd, "",
-                ServiceConstant.SERVICE_API_URL + "/api/user.listUsers?openId=" + openId + "&page=1&row=1", HttpMethod.GET);
+                "user.listUsers?openId=" + openId + "&page=1&row=1", HttpMethod.GET);
         // 杩囨护杩斿洖鎶ユ枃涓殑瀛楁锛屽彧杩斿洖name瀛楁
         //{"address":"","orderTypeCd":"Q","serviceCode":"","responseTime":"20190401194712","sex":"","localtionCd":"","userId":"302019033054910001","levelCd":"00","transactionId":"-1","dataFlowId":"-1","response":{"code":"0000","message":"鎴愬姛"},"name":"996icu","tel":"18909780341","bId":"-1","businessType":"","email":""}
 
@@ -144,7 +159,7 @@
             paramIn.put("row", "1");
         }
         responseEntity = this.callCenterService(restTemplate, pd, "",
-                ServiceConstant.SERVICE_API_URL + "/api/user.listUsers" + mapToUrlParam(paramIn), HttpMethod.GET);
+                "user.listUsers" + mapToUrlParam(paramIn), HttpMethod.GET);
         // 杩囨护杩斿洖鎶ユ枃涓殑瀛楁锛屽彧杩斿洖name瀛楁
         //{"address":"","orderTypeCd":"Q","serviceCode":"","responseTime":"20190401194712","sex":"","localtionCd":"","userId":"302019033054910001","levelCd":"00","transactionId":"-1","dataFlowId":"-1","response":{"code":"0000","message":"鎴愬姛"},"name":"996icu","tel":"18909780341","bId":"-1","businessType":"","email":""}
         return responseEntity;
@@ -166,7 +181,7 @@
             paramIn.put("row", "1");
         }
         responseEntity = this.callCenterService(restTemplate, pd, "",
-                ServiceConstant.SERVICE_API_URL + "/api/" + ServiceCodeConstant.LIST_APPUSERBINDINGOWNERS + mapToUrlParam(paramIn), HttpMethod.GET);
+                 ServiceCodeConstant.LIST_APPUSERBINDINGOWNERS + mapToUrlParam(paramIn), HttpMethod.GET);
         // 杩囨护杩斿洖鎶ユ枃涓殑瀛楁锛屽彧杩斿洖name瀛楁
         //{"address":"","orderTypeCd":"Q","serviceCode":"","responseTime":"20190401194712","sex":"","localtionCd":"","userId":"302019033054910001","levelCd":"00","transactionId":"-1","dataFlowId":"-1","response":{"code":"0000","message":"鎴愬姛"},"name":"996icu","tel":"18909780341","bId":"-1","businessType":"","email":""}
         return responseEntity;
@@ -187,7 +202,7 @@
         }
         for (String privilegeCode : privilegeCodes) {
             responseEntity = this.callCenterService(restTemplate, pd, "", ServiceConstant.SERVICE_API_URL
-                    + "/api/check.user.hasPrivilege?userId=" + pd.getUserId() + "&pId=" + privilegeCode, HttpMethod.GET);
+                    + "check.user.hasPrivilege?userId=" + pd.getUserId() + "&pId=" + privilegeCode, HttpMethod.GET);
             if (responseEntity.getStatusCode() == HttpStatus.OK) {
                 //throw new SMOException(ResponseConstant.RESULT_CODE_ERROR, "鐢ㄦ埛娌℃湁鏉冮檺鎿嶄綔鏉冮檺" + privilegeCodes);
                 break;
@@ -199,5 +214,89 @@
         }
     }
 
+    /**
+     * 鏌ヨ
+     *
+     * @param pd          椤甸潰瀵硅薄
+     * @param param       浼犲叆瀵硅薄
+     * @param serviceCode 鏈嶅姟缂栫爜
+     * @param t           杩斿洖绫�
+     * @param <T>
+     * @return
+     */
+    protected <T> List<T> postForApis(IPageData pd, T param, String serviceCode, Class<T> t) {
+
+        String url =  serviceCode;
+
+        ResponseEntity<String> responseEntity = callCenterService(null, pd, JSONObject.toJSONString(param), url, HttpMethod.POST);
+
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
+            throw new SMOException("璋冪敤" + serviceCode + "澶辫触锛�" + responseEntity.getBody());
+        }
+
+        JSONObject resultVo = JSONObject.parseObject(responseEntity.getBody());
+
+        if (ResultVo.CODE_MACHINE_OK != resultVo.getInteger("code")) {
+            throw new SMOException(resultVo.getString("msg"));
+        }
+
+        Object bObj = resultVo.get("data");
+        JSONArray datas = null;
+        if (bObj instanceof JSONObject) {
+            datas = new JSONArray();
+            datas.add(bObj);
+        } else {
+            datas = (JSONArray) bObj;
+        }
+        String jsonStr = JSONObject.toJSONString(datas);
+
+        List<T> list = JSONObject.parseArray(jsonStr, t);
+        return list;
+    }
+
+    /**
+     * 鏌ヨ
+     *
+     * @param pd          椤甸潰瀵硅薄
+     * @param param       浼犲叆瀵硅薄
+     * @param serviceCode 鏈嶅姟缂栫爜
+     * @param t           杩斿洖绫�
+     * @param <T>
+     * @return
+     */
+    public <T> List<T> getForApis(IPageData pd, T param, String serviceCode, Class<T> t) {
+
+        String url =  serviceCode;
+        if (param != null) {
+            url += mapToUrlParam(BeanConvertUtil.beanCovertMap(param));
+        }
+        RestTemplate restTemplate = ApplicationContextFactory.getBean("restTemplate", RestTemplate.class);
+
+        ResponseEntity<String> responseEntity = callCenterService(restTemplate, pd, "", url, HttpMethod.GET);
+
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
+            throw new SMOException("璋冪敤" + serviceCode + "澶辫触锛�" + responseEntity.getBody());
+        }
+
+        JSONObject resultVo = JSONObject.parseObject(responseEntity.getBody());
+
+        if (!"0".equals(resultVo.getString("code"))) {
+            throw new SMOException(resultVo.getString("msg"));
+        }
+
+        Object bObj = resultVo.get("data");
+        JSONArray datas = null;
+        if (bObj instanceof JSONObject) {
+            datas = new JSONArray();
+            datas.add(bObj);
+        } else {
+            datas = (JSONArray) bObj;
+        }
+        String jsonStr = JSONObject.toJSONString(datas);
+
+        List<T> list = JSONObject.parseArray(jsonStr, t);
+        return list;
+    }
+
 
 }

--
Gitblit v1.8.0