| | |
| | | import com.java110.api.smo.IApiServiceSMO; |
| | | import com.java110.api.smo.api.IApiSMO; |
| | | import com.java110.core.context.IPageData; |
| | | import com.java110.entity.component.ComponentValidateResult; |
| | | import com.java110.core.log.LoggerFactory; |
| | | import com.java110.dto.store.StoreDto; |
| | | import com.java110.dto.system.ComponentValidateResult; |
| | | import com.java110.intf.store.IStoreV1InnerServiceSMO; |
| | | import com.java110.utils.constant.CommonConstant; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.StringUtil; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.HttpHeaders; |
| | | import org.springframework.http.HttpStatus; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.net.URLEncoder; |
| | | import java.util.Map; |
| | | |
| | | @Service("apiSMOImpl") |
| | |
| | | |
| | | @Autowired |
| | | private IApiServiceSMO apiServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IStoreV1InnerServiceSMO storeV1InnerServiceSMOImpl; |
| | | |
| | | private final static Logger logger = LoggerFactory.getLogger(ApiSMOImpl.class); |
| | | |
| | |
| | | } |
| | | |
| | | JSONObject storeInfo = JSONObject.parseObject(responseEntity.getBody().toString()); |
| | | //todo 说明是业主直接返回 |
| | | if (!storeInfo.containsKey("storeId")) { |
| | | return new ComponentValidateResult("", "", "", pd.getUserId(), pd.getUserName()); |
| | | } |
| | |
| | | |
| | | 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); |
| | | } |
| | |
| | | IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA); |
| | | |
| | | |
| | | //todo 校验员工时 是否有访问小区的权限 |
| | | ComponentValidateResult result = this.validateStoreStaffCommunityRelationship(pd, restTemplate); |
| | | if (!StringUtil.isEmpty(result.getUserId())) { |
| | | //todo 如果 登录用户不为空 则将 前段传递的user-id 重写 |
| | | 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()); |
| | | if (!StringUtil.isEmpty(result.getUserName())) { |
| | | headers.put("user-name", URLEncoder.encode(result.getUserName(), "UTF-8")); |
| | | } |
| | | headers.put("login-user-id", result.getLoginUserId()); |
| | | } |
| | | // todo 如果 商户不为空则 商户ID写入只头信息中 这里的商户ID 可以是物业ID 或者商家ID |
| | | if (!StringUtil.isEmpty(result.getStoreId())) { |
| | | headers.remove("store-id"); |
| | | headers.put("store-id", result.getStoreId()); |
| | | } |
| | | if (!StringUtil.isEmpty(result.getStoreTypeCd())) { |
| | | headers.remove(CommonConstant.STORE_TYPE_CD); |
| | | headers.put(CommonConstant.STORE_TYPE_CD, result.getStoreTypeCd()); |
| | | } |
| | | |
| | | 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()); |
| | | // todo 应用是否有接口权限校验 |
| | | ResponseEntity<String> responseEntity = apiServiceSMOImpl.service(body, headers); |
| | | return responseEntity; |
| | | } |