CompanyServiceSMOImpl.java 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. package com.java110.web.smo.impl;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.java110.utils.constant.AttrCdConstant;
  5. import com.java110.utils.constant.CredentialsConstant;
  6. import com.java110.utils.constant.ServiceConstant;
  7. import com.java110.utils.util.Assert;
  8. import com.java110.core.context.IPageData;
  9. import com.java110.core.component.BaseComponentSMO;
  10. import com.java110.web.smo.ICompanyServiceSMO;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.http.HttpMethod;
  13. import org.springframework.http.HttpStatus;
  14. import org.springframework.http.ResponseEntity;
  15. import org.springframework.stereotype.Service;
  16. import org.springframework.web.client.RestTemplate;
  17. /**
  18. * 初始化公司实现类
  19. * Created by Administrator on 2019/3/28.
  20. */
  21. @Service("companyServiceSMOImpl")
  22. public class CompanyServiceSMOImpl extends BaseComponentSMO implements ICompanyServiceSMO {
  23. @Autowired
  24. private RestTemplate restTemplate;
  25. /**
  26. * 查询 商户类别
  27. * @param pd
  28. * @return
  29. */
  30. @Override
  31. public ResponseEntity<String> getStoreType(IPageData pd) {
  32. ResponseEntity<String> responseEntity = null;
  33. Assert.hasLength(pd.getUserId(),"用户还未登录请先登录");
  34. responseEntity = this.callCenterService(restTemplate,pd,"", ServiceConstant.SERVICE_API_URL+"/api/query.store.type?type=all", HttpMethod.GET);
  35. if(responseEntity.getStatusCode() == HttpStatus.OK){
  36. Assert.jsonObjectHaveKey(responseEntity.getBody(),"storeType","查询中心服务异常,不是有效json或未包含storeType节点");
  37. //将storeType 返回出去
  38. responseEntity = new ResponseEntity<String>(JSONObject.parseObject(responseEntity.getBody()).getJSONArray("storeType").toJSONString(),HttpStatus.OK);
  39. }
  40. return responseEntity;
  41. }
  42. /**
  43. * 保存公司信息
  44. * @param pd
  45. * @return
  46. */
  47. public ResponseEntity<String> saveCompanyInfo(IPageData pd){
  48. ResponseEntity<String> responseEntity = null;
  49. Assert.hasLength(pd.getUserId(),"用户还未登录请先登录");
  50. validateCompanyInfo(pd.getReqData());
  51. JSONObject reqJson = JSONObject.parseObject("{\"businessStore\":{}}");
  52. JSONObject paramJson = JSONObject.parseObject(pd.getReqData());
  53. //基本信息
  54. JSONObject businessStore = reqJson.getJSONObject("businessStore");
  55. businessStore.put("userId",pd.getUserId());
  56. businessStore.put("name",paramJson.getString("name"));
  57. businessStore.put("address",paramJson.getString("address"));
  58. businessStore.put("tel",paramJson.getString("tel"));
  59. businessStore.put("storeTypeCd",paramJson.getString("storeTypeCd"));
  60. businessStore.put("nearbyLandmarks",paramJson.getString("nearbyLandmarks"));
  61. JSONArray businessStoreAttr = new JSONArray();
  62. JSONObject attr = new JSONObject();
  63. attr.put("specCd", AttrCdConstant.SPEC_CD_STORE_CORPORATION);
  64. attr.put("value",paramJson.getString("corporation"));
  65. businessStoreAttr.add(attr);
  66. attr = new JSONObject();
  67. attr.put("specCd", AttrCdConstant.SPEC_CD_STORE_REGISTEREDCAPITAL);
  68. attr.put("value",paramJson.getString("registeredCapital"));
  69. businessStoreAttr.add(attr);
  70. attr = new JSONObject();
  71. attr.put("specCd", AttrCdConstant.SPEC_CD_STORE_FOUNDINGTIME);
  72. attr.put("value",paramJson.getString("foundingTime"));
  73. businessStoreAttr.add(attr);
  74. attr = new JSONObject();
  75. attr.put("specCd", AttrCdConstant.SPEC_CD_STORE_REGISTRATIONAUTHORITY);
  76. attr.put("value",paramJson.getString("registrationAuthority"));
  77. businessStoreAttr.add(attr);
  78. attr = new JSONObject();
  79. attr.put("specCd", AttrCdConstant.SPEC_CD_STORE_SCOPE);
  80. attr.put("value",paramJson.getString("scope"));
  81. businessStoreAttr.add(attr);
  82. reqJson.put("businessStoreAttr",businessStoreAttr);
  83. JSONArray businessStoreCerdentials = new JSONArray();
  84. JSONObject cerdentials = new JSONObject();
  85. cerdentials.put("credentialsCd", CredentialsConstant.LICENCE);
  86. cerdentials.put("value",paramJson.getString("value"));
  87. cerdentials.put("validityPeriod",paramJson.getString("validityPeriod"));
  88. cerdentials.put("positivePhoto","");
  89. cerdentials.put("negativePhoto","");
  90. businessStoreCerdentials.add(cerdentials);
  91. reqJson.put("businessStoreCerdentials",businessStoreCerdentials);
  92. responseEntity = this.callCenterService(restTemplate,pd,reqJson.toJSONString(), ServiceConstant.SERVICE_API_URL+"/api/save.store.info", HttpMethod.POST);
  93. /* if(responseEntity.getStatusCode() != HttpStatus.OK){
  94. return responseEntity;
  95. }
  96. JSONObject resStoreInfo = JSONObject.parseObject(responseEntity.getBody().toString());
  97. //将现用户添加为商户管理员
  98. JSONObject staffInfo = new JSONObject();
  99. staffInfo.put("userId",pd.getUserId());
  100. staffInfo.put("storeId",resStoreInfo.getString("storeId"));
  101. responseEntity = this.callCenterService(restTemplate,pd,staffInfo.toJSONString(), ServiceConstant.SERVICE_API_URL+"/api/user.staff.add", HttpMethod.POST);
  102. */
  103. return responseEntity;
  104. }
  105. /**
  106. * 查询 所有省市
  107. * @param pd
  108. * @return
  109. */
  110. @Override
  111. public ResponseEntity<String> getAreas(IPageData pd) {
  112. ResponseEntity<String> responseEntity = null;
  113. Assert.hasLength(pd.getUserId(),"用户还未登录请先登录");
  114. responseEntity = this.callCenterService(restTemplate,pd,"", ServiceConstant.SERVICE_API_URL+"/api/area.listAreas", HttpMethod.GET);
  115. if(responseEntity.getStatusCode() == HttpStatus.OK){
  116. Assert.jsonObjectHaveKey(responseEntity.getBody(),"areas","查询中心服务异常,不是有效json或未包含areas节点");
  117. //将areas 返回出去
  118. responseEntity = new ResponseEntity<String>(JSONObject.parseObject(responseEntity.getBody()).getJSONArray("areas").toJSONString(),HttpStatus.OK);
  119. }
  120. return responseEntity;
  121. }
  122. /**
  123. * 校验公司信息
  124. * @param param
  125. */
  126. private void validateCompanyInfo(String param){
  127. }
  128. public RestTemplate getRestTemplate() {
  129. return restTemplate;
  130. }
  131. public void setRestTemplate(RestTemplate restTemplate) {
  132. this.restTemplate = restTemplate;
  133. }
  134. }