From ca4662481a96825dffab34118fbfb6b18a92923e Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期五, 03 七月 2020 19:23:50 +0800
Subject: [PATCH] 优化 事务

---
 java110-core/src/main/java/com/java110/core/component/BaseComponentSMO.java |  115 ++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 84 insertions(+), 31 deletions(-)

diff --git a/java110-core/src/main/java/com/java110/core/component/BaseComponentSMO.java b/java110-core/src/main/java/com/java110/core/component/BaseComponentSMO.java
index e4bb54a..d06edce 100644
--- a/java110-core/src/main/java/com/java110/core/component/BaseComponentSMO.java
+++ b/java110-core/src/main/java/com/java110/core/component/BaseComponentSMO.java
@@ -2,17 +2,18 @@
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.core.context.IPageData;
+import com.java110.entity.component.ComponentValidateResult;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.MappingConstant;
 import com.java110.utils.constant.ResponseConstant;
+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.core.base.smo.BaseServiceSMO;
-import com.java110.core.context.IPageData;
-import com.java110.entity.component.ComponentValidateResult;
-import org.apache.commons.lang3.StringUtils;
+import com.java110.utils.util.StringUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.http.HttpMethod;
@@ -87,6 +88,69 @@
     }
 
     /**
+     * 鑾峰彇鐢ㄦ埛淇℃伅
+     *
+     * @param pd
+     * @param restTemplate
+     * @return
+     */
+    protected ResponseEntity<String> getUserInfoByOpenId(IPageData pd, RestTemplate restTemplate, String openId) {
+        //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);
+        // 杩囨护杩斿洖鎶ユ枃涓殑瀛楁锛屽彧杩斿洖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;
+
+    }
+
+    /**
+     * 鑾峰彇鐢ㄦ埛淇℃伅
+     *
+     * @param pd
+     * @param restTemplate
+     * @return
+     */
+    protected ResponseEntity<String> getUserAndAttr(IPageData pd, RestTemplate restTemplate, Map paramIn) {
+        //Assert.hasLength(pd.getUserId(), "鐢ㄦ埛鏈櫥褰曡鍏堢櫥褰�");
+        ResponseEntity<String> responseEntity = null;
+        if (paramIn != null) {
+            paramIn.put("page", "1");
+            paramIn.put("row", "1");
+        }
+        responseEntity = this.callCenterService(restTemplate, pd, "",
+                ServiceConstant.SERVICE_API_URL + "/api/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;
+
+    }
+
+    /**
+     * 鑾峰彇鐢ㄦ埛淇℃伅
+     *
+     * @param pd
+     * @param restTemplate
+     * @return
+     */
+    protected ResponseEntity<String> getOwnerAppUser(IPageData pd, RestTemplate restTemplate, Map paramIn) {
+        //Assert.hasLength(pd.getUserId(), "鐢ㄦ埛鏈櫥褰曡鍏堢櫥褰�");
+        ResponseEntity<String> responseEntity = null;
+        if (paramIn != null) {
+            paramIn.put("page", "1");
+            paramIn.put("row", "1");
+        }
+        responseEntity = this.callCenterService(restTemplate, pd, "",
+                ServiceConstant.SERVICE_API_URL + "/api/" + 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;
+
+    }
+
+    /**
      * 鏌ヨ鍟嗘埛淇℃伅
      *
      * @return
@@ -149,9 +213,12 @@
      * @param restTemplate
      * @param privilegeCodes
      */
-    protected void checkUserHasPrivilege(IPageData pd, RestTemplate restTemplate, String ...privilegeCodes) {
+    protected void checkUserHasPrivilege(IPageData pd, RestTemplate restTemplate, String... privilegeCodes) {
         ResponseEntity<String> responseEntity = null;
-        for(String privilegeCode : privilegeCodes) {
+        if (true) {
+            return;
+        }
+        for (String privilegeCode : privilegeCodes) {
             responseEntity = this.callCenterService(restTemplate, pd, "", ServiceConstant.SERVICE_API_URL
                     + "/api/check.user.hasPrivilege?userId=" + pd.getUserId() + "&pId=" + privilegeCode, HttpMethod.GET);
             if (responseEntity.getStatusCode() == HttpStatus.OK) {
@@ -160,36 +227,21 @@
             }
         }
 
-        if (responseEntity.getStatusCode() != HttpStatus.OK){
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
             throw new SMOException(ResponseConstant.RESULT_CODE_ERROR, "鐢ㄦ埛娌℃湁鏉冮檺鎿嶄綔鏉冮檺" + privilegeCodes);
         }
     }
 
     /**
-     * map 鍙傛暟杞� url get 鍙傛暟 闈炵┖鍊艰浆涓篻et鍙傛暟 绌哄�煎拷鐣�
+     * 鏍规嵁 璇锋眰璺緞 鍒ゆ柇鐢ㄦ埛鏄惁鏈夋潈闄愭搷浣�
      *
-     * @param info map鏁版嵁
-     * @return url get 鍙傛暟 甯︼紵
+     * @param pd
+     * @param restTemplate
      */
-    protected String mapToUrlParam(Map info) {
-        String urlParam = "";
-        if (info == null || info.isEmpty()) {
-            return urlParam;
-        }
+    protected void checkUserHasPrivilege(IPageData pd, RestTemplate restTemplate) {
 
-        urlParam += "?";
+        //pd.get
 
-        for (Object key : info.keySet()) {
-            if (StringUtils.isEmpty(info.get(key) + "")) {
-                continue;
-            }
-
-            urlParam += (key + "=" + info.get(key) + "&");
-        }
-
-        urlParam = urlParam.endsWith("&") ? urlParam.substring(0, urlParam.length() - 1) : urlParam;
-
-        return urlParam;
     }
 
 
@@ -219,11 +271,11 @@
         JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
 
         String communityId = "";
-        if (paramIn.containsKey("communityId")) {
+        if (paramIn.containsKey("communityId") && !StringUtil.isEmpty(paramIn.getString("communityId"))) {
             communityId = paramIn.getString("communityId");
             checkStoreEnterCommunity(pd, storeId, storeTypeCd, communityId, restTemplate);
         }
-        return new ComponentValidateResult(storeId, storeTypeCd, communityId, pd.getUserId());
+        return new ComponentValidateResult(storeId, storeTypeCd, communityId, pd.getUserId(), pd.getUserName());
     }
 
     /**
@@ -249,14 +301,15 @@
         String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId");
         String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
 
-        return new ComponentValidateResult(storeId, storeTypeCd, "", pd.getUserId());
+        return new ComponentValidateResult(storeId, storeTypeCd, "", pd.getUserId(), pd.getUserName());
     }
 
     /**
      * 鍒嗛〉淇℃伅鏍¢獙
+     *
      * @param pd 椤甸潰鏁版嵁灏佽
      */
-    protected void validatePageInfo(IPageData pd){
+    protected void validatePageInfo(IPageData pd) {
 
         Assert.jsonObjectHaveKey(pd.getReqData(), "row", "璇锋眰鎶ユ枃涓湭鍖呭惈row鑺傜偣");
         Assert.jsonObjectHaveKey(pd.getReqData(), "page", "璇锋眰鎶ユ枃涓湭鍖呭惈page鑺傜偣");

--
Gitblit v1.8.0