From 160631d9819c6af1c563a8c0bb70284313060203 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期一, 13 九月 2021 12:34:28 +0800
Subject: [PATCH] 优化代码

---
 service-api/src/main/java/com/java110/api/smo/DefaultAbstractComponentSMO.java |  135 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 127 insertions(+), 8 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/smo/DefaultAbstractComponentSMO.java b/service-api/src/main/java/com/java110/api/smo/DefaultAbstractComponentSMO.java
index 3e9568f..79c9aa7 100644
--- a/service-api/src/main/java/com/java110/api/smo/DefaultAbstractComponentSMO.java
+++ b/service-api/src/main/java/com/java110/api/smo/DefaultAbstractComponentSMO.java
@@ -14,17 +14,12 @@
 import com.java110.utils.constant.ServiceCodeConstant;
 import com.java110.utils.constant.ServiceConstant;
 import com.java110.utils.exception.SMOException;
-import com.java110.utils.util.Assert;
-import com.java110.utils.util.DateUtil;
-import com.java110.utils.util.StringUtil;
-import com.java110.utils.util.UrlParamToJsonUtil;
+import com.java110.utils.util.*;
 import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
+import org.springframework.http.*;
 import org.springframework.web.client.HttpStatusCodeException;
 import org.springframework.web.client.RestTemplate;
 
@@ -34,7 +29,7 @@
 
     private static final Logger logger = LoggerFactory.getLogger(DefaultAbstractComponentSMO.class);
     protected static final String DEFAULT_PAY_ADAPT = "wechatPayAdapt";// 榛樿寰俊閫氱敤鏀粯
-
+    private static final String URL_API =  "";
     @Autowired
     private IGetCommunityStoreInfoSMO getCommunityStoreInfoSMOImpl;
 
@@ -430,4 +425,128 @@
         return new ComponentValidateResult(storeId, storeTypeCd, "", pd.getUserId(), pd.getUserName());
     }
 
+    /**
+     * 鏌ヨ
+     *
+     * @param pd          椤甸潰瀵硅薄
+     * @param param       浼犲叆瀵硅薄
+     * @param serviceCode 鏈嶅姟缂栫爜
+     * @param t           杩斿洖绫�
+     * @param <T>
+     * @return
+     */
+    protected <T> T getForApi(IPageData pd, T param, String serviceCode, Class<T> t) {
+
+        List<T> list = getForApis(pd, param, serviceCode, t);
+        if (list != null && list.size() > 0) {
+            return list.get(0);
+        }
+        return null;
+    }
+
+    /**
+     * 鏌ヨ
+     *
+     * @param pd          椤甸潰瀵硅薄
+     * @param param       浼犲叆瀵硅薄
+     * @param serviceCode 鏈嶅姟缂栫爜
+     * @param t           杩斿洖绫�
+     * @param <T>
+     * @return
+     */
+    protected <T> T postForApi(IPageData pd, T param, String serviceCode, Class<T> t) {
+        List<T> ts = postForApis(pd, param, serviceCode, t);
+
+        if (ts == null || ts.size() < 1) {
+            return null;
+        }
+
+        return ts.get(0);
+    }
+
+    /**
+     * 鏌ヨ
+     *
+     * @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 = URL_API + serviceCode;
+
+
+        ResponseEntity<String> responseEntity = callCenterService(restTemplate, 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
+     */
+    protected <T> List<T> getForApis(IPageData pd, T param, String serviceCode, Class<T> t) {
+
+        String url = URL_API + serviceCode;
+        if (param != null) {
+            url += mapToUrlParam(BeanConvertUtil.beanCovertMap(param));
+        }
+
+        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