StaffServiceSMOImpl.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package com.java110.web.smo.impl;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.java110.common.constant.ServiceConstant;
  4. import com.java110.common.util.Assert;
  5. import com.java110.core.context.IPageData;
  6. import com.java110.web.core.BaseComponentSMO;
  7. import com.java110.web.smo.IStaffServiceSMO;
  8. import org.slf4j.Logger;
  9. import org.slf4j.LoggerFactory;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.http.HttpMethod;
  12. import org.springframework.http.HttpStatus;
  13. import org.springframework.http.ResponseEntity;
  14. import org.springframework.stereotype.Service;
  15. import org.springframework.web.client.RestTemplate;
  16. /**
  17. * 员工服务类
  18. * Created by Administrator on 2019/4/2.
  19. */
  20. @Service("staffServiceSMOImpl")
  21. public class StaffServiceSMOImpl extends BaseComponentSMO implements IStaffServiceSMO {
  22. private final static Logger logger = LoggerFactory.getLogger(StaffServiceSMOImpl.class);
  23. @Autowired
  24. private RestTemplate restTemplate;
  25. /**
  26. * 添加员工信息
  27. * @param pd
  28. * @return
  29. */
  30. @Override
  31. public ResponseEntity<String> saveStaff(IPageData pd) {
  32. logger.debug("保存员工信息入参:{}",pd.toString());
  33. Assert.jsonObjectHaveKey(pd.getReqData(),"username","请求报文格式错误或未包含用户名信息");
  34. Assert.jsonObjectHaveKey(pd.getReqData(),"email","请求报文格式错误或未包含邮箱信息");
  35. Assert.jsonObjectHaveKey(pd.getReqData(),"tel","请求报文格式错误或未包含手机信息");
  36. Assert.jsonObjectHaveKey(pd.getReqData(),"sex","请求报文格式错误或未包含性别信息");
  37. Assert.jsonObjectHaveKey(pd.getReqData(),"address","请求报文格式错误或未包含地址信息");
  38. ResponseEntity responseEntity = super.getStoreInfo(pd,restTemplate);
  39. if(responseEntity.getStatusCode() != HttpStatus.OK){
  40. return responseEntity;
  41. }
  42. Assert.jsonObjectHaveKey(responseEntity.getBody().toString(),"storeId","根据用户ID查询商户ID失败,未包含storeId节点");
  43. String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId");
  44. String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
  45. JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
  46. reqJson.put("name",reqJson.getString("username"));
  47. reqJson.put("storeId",storeId);
  48. reqJson.put("storeTypeCd",storeTypeCd);
  49. responseEntity = this.callCenterService(restTemplate,pd,reqJson.toJSONString(), ServiceConstant.SERVICE_API_URL+"/api/user.staff.add", HttpMethod.POST);
  50. return responseEntity;
  51. }
  52. /**
  53. * 加载员工数据
  54. * @param pd
  55. * @return
  56. */
  57. @Override
  58. public ResponseEntity<String> loadData(IPageData pd) {
  59. Assert.jsonObjectHaveKey(pd.getReqData(),"page","请求报文中未包含page节点");
  60. Assert.jsonObjectHaveKey(pd.getReqData(),"rows","请求报文中未包含rows节点");
  61. JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
  62. Assert.isInteger(paramIn.getString("page"),"page不是数字");
  63. Assert.isInteger(paramIn.getString("rows"),"rows不是数字");
  64. int page = Integer.parseInt(paramIn.getString("page"));
  65. int rows = Integer.parseInt(paramIn.getString("rows"));
  66. if(rows>50){
  67. return new ResponseEntity<String>("rows 数量不能大于50",HttpStatus.BAD_REQUEST);
  68. }
  69. page = (page-1)*rows;
  70. ResponseEntity responseEntity = super.getStoreInfo(pd,restTemplate);
  71. if(responseEntity.getStatusCode() != HttpStatus.OK){
  72. return responseEntity;
  73. }
  74. Assert.jsonObjectHaveKey(responseEntity.getBody().toString(),"storeId","根据用户ID查询商户ID失败,未包含storeId节点");
  75. String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId");
  76. responseEntity = this.callCenterService(restTemplate,pd,"",
  77. ServiceConstant.SERVICE_API_URL+"/api/query.store.users?row="+rows+"&page="+page+"&storeId="+storeId, HttpMethod.GET);
  78. if(responseEntity.getStatusCode() != HttpStatus.OK){
  79. return responseEntity;
  80. }
  81. String result = "{'total':1,'page':1,'row':10,'data':[" +
  82. "{'userId':'111','name':'123','email':'928255095@qq.com','address':'张安1','sex':'男','tel':'17797173944','statusCd':'0','createTime':'2019-03-19'}," +
  83. "{'userId':'111','name':'123','email':'928255095@qq.com','address':'张安2','sex':'男','tel':'17797173945','statusCd':'0','createTime':'2019-03-19'}," +
  84. "{'userId':'111','name':'123','email':'928255095@qq.com','address':'张安3','sex':'男','tel':'17797173946','statusCd':'0','createTime':'2019-03-19'}" +
  85. "]}";
  86. JSONObject resultObjs = JSONObject.parseObject(result);
  87. resultObjs.put("row",rows);
  88. resultObjs.put("page",page);
  89. return responseEntity;
  90. }
  91. public RestTemplate getRestTemplate() {
  92. return restTemplate;
  93. }
  94. public void setRestTemplate(RestTemplate restTemplate) {
  95. this.restTemplate = restTemplate;
  96. }
  97. }