From ce64e667815b39efdc2f8bd52be0d43d49db8d84 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期日, 17 七月 2022 00:06:29 +0800
Subject: [PATCH] 优化小区位置

---
 service-api/src/main/java/com/java110/api/smo/api/impl/ApiSMOImpl.java |   80 +++++++++++++++++----------------------
 1 files changed, 35 insertions(+), 45 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/smo/api/impl/ApiSMOImpl.java b/service-api/src/main/java/com/java110/api/smo/api/impl/ApiSMOImpl.java
index fdc44a3..b824466 100644
--- a/service-api/src/main/java/com/java110/api/smo/api/impl/ApiSMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/smo/api/impl/ApiSMOImpl.java
@@ -2,20 +2,20 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.smo.DefaultAbstractComponentSMO;
-import com.java110.core.component.BaseComponentSMO;
-import com.java110.core.context.IPageData;
-import com.java110.entity.component.ComponentValidateResult;
+import com.java110.api.smo.IApiServiceSMO;
 import com.java110.api.smo.api.IApiSMO;
+import com.java110.core.context.IPageData;
+import com.java110.dto.store.StoreDto;
+import com.java110.entity.component.ComponentValidateResult;
 import com.java110.utils.constant.CommonConstant;
-import com.java110.utils.constant.ServiceConstant;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.StringUtil;
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.*;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
-import org.springframework.web.client.HttpStatusCodeException;
 import org.springframework.web.client.RestTemplate;
 
 import javax.servlet.http.HttpServletRequest;
@@ -26,6 +26,8 @@
 @Service("apiSMOImpl")
 public class ApiSMOImpl extends DefaultAbstractComponentSMO implements IApiSMO {
 
+    @Autowired
+    private IApiServiceSMO apiServiceSMOImpl;
 
     private final static Logger logger = LoggerFactory.getLogger(ApiSMOImpl.class);
 
@@ -62,8 +64,15 @@
 
         JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
 
+        //寮�鍙戣�呭拰杩愯惀涓嶆牎楠屽皬鍖�
+        if(StoreDto.STORE_TYPE_ADMIN.equals(storeTypeCd) || StoreDto.STORE_TYPE_DEV.equals(storeTypeCd)){
+            return new ComponentValidateResult(storeId, storeTypeCd, "", pd.getUserId(), pd.getUserName());
+        }
+
         String communityId = "";
-        if (paramIn != null && paramIn.containsKey("communityId") && !StringUtil.isEmpty(paramIn.getString("communityId"))) {
+        if (paramIn != null && paramIn.containsKey("communityId")
+                && !StringUtil.isEmpty(paramIn.getString("communityId"))
+                && !"-1".equals(paramIn.getString("communityId"))) {
             communityId = paramIn.getString("communityId");
             checkStoreEnterCommunity(pd, storeId, storeTypeCd, communityId, restTemplate);
         }
@@ -72,54 +81,35 @@
 
     @Override
     public ResponseEntity<String> doApi(String body, Map<String, String> headers, HttpServletRequest request) throws UnsupportedEncodingException {
-        HttpHeaders header = new HttpHeaders();
+
         IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
 
-        for (String key : headers.keySet()
-        ) {
-            header.add(key, headers.get(key));
-        }
 
         ComponentValidateResult result = this.validateStoreStaffCommunityRelationship(pd, restTemplate);
-        if (!StringUtil.isEmpty(result.getUserId())) {
-            header.remove("user-id");
-            header.add("user-id", result.getUserId());
+        if (!StringUtil.isEmpty(result.getLoginUserId())) {
+            headers.remove("user-id");
+            headers.remove("user_id");
+            headers.put("user-id", result.getUserId());
+            headers.put("user_id", result.getUserId());
+            headers.put("login-user-id",result.getLoginUserId());
             if (!StringUtil.isEmpty(result.getUserName())) {
-                header.add("user-name", URLEncoder.encode(result.getUserName(), "UTF-8"));
+                headers.put("user-name", URLEncoder.encode(result.getUserName(), "UTF-8"));
             }
         }
 
-        header.add("store-id", result.getStoreId());
-        logger.debug("api璇锋眰澶�" + headers + ";璇锋眰鍐呭锛�" + body);
-        HttpMethod method = null;
-        String url = headers.get(CommonConstant.HTTP_SERVICE);
-        if (CommonConstant.HTTP_METHOD_POST.equals(headers.get(CommonConstant.HTTP_METHOD))) {
-            method = HttpMethod.POST;
-        } else if (CommonConstant.HTTP_METHOD_GET.equals(headers.get(CommonConstant.HTTP_METHOD))) {
-            method = HttpMethod.GET;
-            url += super.mapToUrlParam(JSONObject.parseObject(body));
-        } else if (CommonConstant.HTTP_METHOD_DELETE.equals(headers.get(CommonConstant.HTTP_METHOD))) {
-            method = HttpMethod.DELETE;
-        } else if (CommonConstant.HTTP_METHOD_PUT.equals(headers.get(CommonConstant.HTTP_METHOD))) {
-            method = HttpMethod.PUT;
-
-        } else {
-            throw new IllegalArgumentException("涓嶆敮鎸佺殑璇锋眰鏂瑰紡" + headers.get(CommonConstant.HTTP_METHOD));
+        if (!StringUtil.isEmpty(result.getStoreId())) {
+            headers.remove("store-id");
+            headers.put("store-id", result.getStoreId());
         }
 
-
-        HttpEntity<String> httpEntity = new HttpEntity<String>(body, header);
-        logger.debug("璇锋眰鍚庣url" + url);
-        ResponseEntity<String> responseEntity = null;
-        try {
-            responseEntity = restTemplate.exchange(url, method, httpEntity, String.class);
-        } catch (HttpStatusCodeException e) { //杩欓噷spring 妗嗘灦 鍦�4XX 鎴� 5XX 鏃舵姏鍑� HttpServerErrorException 寮傚父锛岄渶瑕侀噸鏂板皝瑁呬竴涓�
-            responseEntity = new ResponseEntity<String>(e.getResponseBodyAsString(), e.getStatusCode());
-        } catch (Exception e) {
-            responseEntity = new ResponseEntity<String>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
-        } finally {
-            logger.debug("api杩斿洖淇℃伅" + responseEntity);
+        if (!headers.containsKey("user_id")) {
+            headers.put("user_id", "-1");
         }
+        if (!headers.containsKey("user-id")) {
+            headers.put("user-id", "-1");
+        }
+        headers.put("store-id", result.getStoreId());
+        ResponseEntity<String> responseEntity = apiServiceSMOImpl.service(body, headers);
         return responseEntity;
     }
 

--
Gitblit v1.8.0