java110
2021-08-26 6807a044b4b50bf3f0486a7d91fca898e9f15188
service-front/src/main/java/com/java110/front/smo/api/impl/ApiSMOImpl.java
old mode 100644 new mode 100755
@@ -18,6 +18,8 @@
import org.springframework.web.client.RestTemplate;
import javax.servlet.http.HttpServletRequest;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Map;
@Service("apiSMOImpl")
@@ -46,6 +48,11 @@
            return new ComponentValidateResult("", "", "", pd.getUserId(), pd.getUserName());
        }
        JSONObject storeInfo = JSONObject.parseObject(responseEntity.getBody().toString());
        if (!storeInfo.containsKey("storeId")) {
            return new ComponentValidateResult("", "", "", pd.getUserId(), pd.getUserName());
        }
        Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeId", "根据用户ID查询商户ID失败,未包含storeId节点");
        Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeTypeCd", "根据用户ID查询商户类型失败,未包含storeTypeCd节点");
@@ -63,15 +70,24 @@
    }
    @Override
    public ResponseEntity<String> doApi(String body, Map<String, String> headers, HttpServletRequest request) {
    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());
            header.add("user-name", result.getUserName());
            if (!StringUtil.isEmpty(result.getUserName())) {
                header.add("user-name", URLEncoder.encode(result.getUserName(), "UTF-8"));
            }
        }
        header.add("store-id", result.getStoreId());
        logger.debug("api请求头" + headers + ";请求内容:" + body);
        HttpMethod method = null;
@@ -91,11 +107,6 @@
        }
        for (String key : headers.keySet()
        ) {
            header.add(key, headers.get(key));
        }
        HttpEntity<String> httpEntity = new HttpEntity<String>(body, header);
        logger.debug("请求后端url" + url);
        ResponseEntity<String> responseEntity = null;
@@ -107,8 +118,8 @@
            responseEntity = new ResponseEntity<String>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
        } finally {
            logger.debug("api返回信息" + responseEntity);
            return responseEntity;
        }
        return responseEntity;
    }