package com.java110.app.smo.complaint.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.java110.app.smo.AppAbstractComponentSMO; import com.java110.app.smo.complaint.ISaveComplaintSMO; import com.java110.app.smo.wxLogin.impl.WxLoginSMOImpl; import com.java110.core.context.IPageData; import com.java110.utils.constant.ServiceConstant; import com.java110.utils.util.Assert; 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.stereotype.Service; import org.springframework.web.client.RestTemplate; import java.io.IOException; import java.util.HashMap; import java.util.Map; @Service("saveComplaintSMOImpl") public class SaveComplaintSMOImpl extends AppAbstractComponentSMO implements ISaveComplaintSMO { private final static Logger logger = LoggerFactory.getLogger(SaveComplaintSMOImpl.class); @Autowired private RestTemplate restTemplate; @Override public ResponseEntity save(IPageData pd) { return businessProcess(pd); } @Override protected void validate(IPageData pd, JSONObject paramIn) { Assert.hasKeyAndValue(paramIn, "communityId", "请求报文中未包含小区信息"); } @Override protected ResponseEntity doBusinessProcess(IPageData pd, JSONObject paramIn) throws IOException { //查询用户ID paramIn.put("userId", pd.getUserId()); //查询商户ID Map paramObj = new HashMap(); paramObj.put("communityId", paramIn.getString("communityId")); paramObj.put("auditStatusCd", "1100"); paramObj.put("memberTypeCd", "390001200002"); paramObj.put("page", 1); paramObj.put("row", 1); String url = ServiceConstant.SERVICE_API_URL + "/api/store.listStoresByCommunity" + mapToUrlParam(paramObj); ResponseEntity responseEntity = super.callCenterService(restTemplate, pd, "", url, HttpMethod.GET); if (responseEntity.getStatusCode() != HttpStatus.OK) { return responseEntity; } JSONObject storeObj = JSONObject.parseObject(responseEntity.getBody()); JSONArray stores = storeObj.getJSONArray("stores"); String storeId = stores.getJSONObject(0).getString("storeId"); paramIn.put("storeId", storeId); url = ServiceConstant.SERVICE_API_URL + "/api/complaint.saveComplaint"; responseEntity = super.callCenterService(restTemplate, pd, paramIn.toJSONString(), url, HttpMethod.POST); return responseEntity; } }