wuxw
2019-12-20 16ab2fc985ca2ac450b3d54cb1817594a24b2b5e
WebService/src/main/java/com/java110/web/smo/impl/CompanyServiceSMOImpl.java
@@ -1,10 +1,13 @@
package com.java110.web.smo.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.common.constant.ServiceConstant;
import com.java110.common.util.Assert;
import com.java110.utils.constant.AttrCdConstant;
import com.java110.utils.constant.CredentialsConstant;
import com.java110.utils.constant.ServiceConstant;
import com.java110.utils.util.Assert;
import com.java110.core.context.IPageData;
import com.java110.web.core.BaseComponentSMO;
import com.java110.core.component.BaseComponentSMO;
import com.java110.web.smo.ICompanyServiceSMO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpMethod;
@@ -25,45 +28,137 @@
    /**
     * 查询 商户类别
     *
     * @param pd
     * @return
     */
    @Override
    public ResponseEntity<String> getStoreType(IPageData pd) {
        ResponseEntity<String> responseEntity = null;
        Assert.hasLength(pd.getUserId(),"用户还未登录请先登录");
        Assert.hasLength(pd.getUserId(), "用户还未登录请先登录");
        responseEntity = this.callCenterService(restTemplate,pd,"", ServiceConstant.SERVICE_API_URL+"/api/query.store.type?type=all", HttpMethod.GET);
        responseEntity = this.callCenterService(restTemplate, pd, "", ServiceConstant.SERVICE_API_URL + "/api/query.store.type?type=all", HttpMethod.GET);
        if(responseEntity.getStatusCode() == HttpStatus.OK){
            Assert.jsonObjectHaveKey(responseEntity.getBody(),"storeType","查询中心服务异常,不是有效json或未包含storeType节点");
        if (responseEntity.getStatusCode() == HttpStatus.OK) {
            Assert.jsonObjectHaveKey(responseEntity.getBody(), "storeType", "查询中心服务异常,不是有效json或未包含storeType节点");
            //将storeType 返回出去
            responseEntity = new ResponseEntity<String>(JSONObject.parseObject(responseEntity.getBody()).getJSONArray("storeType").toJSONString(),HttpStatus.OK);
            responseEntity = new ResponseEntity<String>(JSONObject.parseObject(responseEntity.getBody()).getJSONArray("storeType").toJSONString(), HttpStatus.OK);
        }
        return responseEntity;
    }
    /**
     * 保存公司信息
     *
     * @param pd
     * @return
     */
    @Autowired
    public ResponseEntity<String> saveCompanyInfo(IPageData pd){
    public ResponseEntity<String> saveCompanyInfo(IPageData pd) {
        ResponseEntity<String> responseEntity = null;
        Assert.hasLength(pd.getUserId(),"用户还未登录请先登录");
        Assert.hasLength(pd.getUserId(), "用户还未登录请先登录");
        validateCompanyInfo(pd.getReqData());
        responseEntity = this.callCenterService(restTemplate,pd,pd.getReqData(), ServiceConstant.SERVICE_API_URL+"/api/query.store.type?type=all", HttpMethod.POST);
        JSONObject reqJson = JSONObject.parseObject("{\"businessStore\":{}}");
        JSONObject paramJson = JSONObject.parseObject(pd.getReqData());
        //基本信息
        JSONObject businessStore = reqJson.getJSONObject("businessStore");
        businessStore.put("userId", pd.getUserId());
        businessStore.put("name", paramJson.getString("name"));
        businessStore.put("address", paramJson.getString("areaAddress") + paramJson.getString("address"));
        businessStore.put("tel", paramJson.getString("tel"));
        businessStore.put("storeTypeCd", paramJson.getString("storeTypeCd"));
        businessStore.put("nearbyLandmarks", paramJson.getString("nearbyLandmarks"));
        JSONArray businessStoreAttr = new JSONArray();
        JSONObject attr = new JSONObject();
        attr.put("specCd", AttrCdConstant.SPEC_CD_STORE_CORPORATION);
        attr.put("value", paramJson.getString("corporation"));
        businessStoreAttr.add(attr);
        attr = new JSONObject();
        attr.put("specCd", AttrCdConstant.SPEC_CD_STORE_REGISTEREDCAPITAL);
        attr.put("value", paramJson.getString("registeredCapital"));
        businessStoreAttr.add(attr);
        attr = new JSONObject();
        attr.put("specCd", AttrCdConstant.SPEC_CD_STORE_FOUNDINGTIME);
        attr.put("value", paramJson.getString("foundingTime"));
        businessStoreAttr.add(attr);
        attr = new JSONObject();
        attr.put("specCd", AttrCdConstant.SPEC_CD_STORE_REGISTRATIONAUTHORITY);
        attr.put("value", paramJson.getString("registrationAuthority"));
        businessStoreAttr.add(attr);
        attr = new JSONObject();
        attr.put("specCd", AttrCdConstant.SPEC_CD_STORE_SCOPE);
        attr.put("value", paramJson.getString("scope"));
        businessStoreAttr.add(attr);
        reqJson.put("businessStoreAttr", businessStoreAttr);
        JSONArray businessStoreCerdentials = new JSONArray();
        JSONObject cerdentials = new JSONObject();
        cerdentials.put("credentialsCd", CredentialsConstant.LICENCE);
        cerdentials.put("value", paramJson.getString("value"));
        cerdentials.put("validityPeriod", paramJson.getString("validityPeriod"));
        cerdentials.put("positivePhoto", "");
        cerdentials.put("negativePhoto", "");
        businessStoreCerdentials.add(cerdentials);
        reqJson.put("businessStoreCerdentials", businessStoreCerdentials);
        responseEntity = this.callCenterService(restTemplate, pd, reqJson.toJSONString(), ServiceConstant.SERVICE_API_URL + "/api/save.store.info", HttpMethod.POST);
       /* if(responseEntity.getStatusCode() != HttpStatus.OK){
            return responseEntity;
        }
        JSONObject resStoreInfo = JSONObject.parseObject(responseEntity.getBody().toString());
        //将现用户添加为商户管理员
        JSONObject staffInfo = new JSONObject();
        staffInfo.put("userId",pd.getUserId());
        staffInfo.put("storeId",resStoreInfo.getString("storeId"));
        responseEntity = this.callCenterService(restTemplate,pd,staffInfo.toJSONString(), ServiceConstant.SERVICE_API_URL+"/api/user.staff.add", HttpMethod.POST);
*/
        return responseEntity;
    }
    /**
     * 查询 所有省市
     *
     * @param pd
     * @return
     */
    @Override
    public ResponseEntity<String> getAreas(IPageData pd) {
        ResponseEntity<String> responseEntity = null;
        Assert.hasLength(pd.getUserId(), "用户还未登录请先登录");
        responseEntity = this.callCenterService(restTemplate, pd, "", ServiceConstant.SERVICE_API_URL + "/api/area.listAreas", HttpMethod.GET);
        if (responseEntity.getStatusCode() == HttpStatus.OK) {
            Assert.jsonObjectHaveKey(responseEntity.getBody(), "areas", "查询中心服务异常,不是有效json或未包含areas节点");
            //将areas 返回出去
            responseEntity = new ResponseEntity<String>(JSONObject.parseObject(responseEntity.getBody()).getJSONArray("areas").toJSONString(), HttpStatus.OK);
        }
        return responseEntity;
    }
    /**
     * 校验公司信息
     *
     * @param param
     */
    private void validateCompanyInfo(String param){
    private void validateCompanyInfo(String param) {
    }