BusinessCustomerServiceImpl.java 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. package com.chinaitop.depot.customer.service.impl;
  2. import java.util.HashMap;
  3. import java.util.List;
  4. import java.util.Map;
  5. import javax.annotation.Resource;
  6. import org.apache.commons.lang3.StringUtils;
  7. import org.springframework.beans.factory.annotation.Value;
  8. import org.springframework.context.annotation.Bean;
  9. import org.springframework.stereotype.Service;
  10. import org.springframework.util.LinkedMultiValueMap;
  11. import org.springframework.util.MultiValueMap;
  12. import org.springframework.web.client.RestTemplate;
  13. import com.chinaitop.depot.customer.mapper.BusinessCustomerMapper;
  14. import com.chinaitop.depot.customer.model.BusinessCustomer;
  15. import com.chinaitop.depot.customer.model.BusinessCustomerExample;
  16. import com.chinaitop.depot.customer.model.BusinessCustomerExample.Criteria;
  17. import com.chinaitop.depot.customer.service.BusinessCustomerService;
  18. import com.fasterxml.jackson.core.JsonProcessingException;
  19. import com.fasterxml.jackson.databind.ObjectMapper;
  20. import com.github.pagehelper.PageHelper;
  21. @Service
  22. public class BusinessCustomerServiceImpl implements BusinessCustomerService {
  23. @Resource
  24. private BusinessCustomerMapper customerMapper;
  25. @Resource
  26. private RestTemplate restTemplate;
  27. @Value("${jsgjjsjUrl}")
  28. private String jsgjjsjUrl;
  29. @Override
  30. public List<BusinessCustomer> queryByExample(BusinessCustomerExample example) {
  31. return customerMapper.selectByExample(example);
  32. }
  33. @Override
  34. public BusinessCustomer findById(Integer id) {
  35. return customerMapper.selectByPrimaryKey(id);
  36. }
  37. @Override
  38. public void add(BusinessCustomer customer, Integer orgId) {
  39. customer.setIsInBlacklist(0);
  40. customer.setOrgId(orgId);
  41. customerMapper.insert(customer);
  42. this.sxtgjjjk(customer.getId(),orgId,"i");
  43. }
  44. @Override
  45. public void update(BusinessCustomer customer) {
  46. customerMapper.updateByPrimaryKey(customer);
  47. this.sxtgjjjk(customer.getId(),customer.getOrgId(),"u");
  48. }
  49. @Override
  50. public void remove(Integer id) {
  51. customerMapper.deleteByPrimaryKey(id);
  52. this.sxtgjjjk(id,id,"d");
  53. }
  54. // 加入黑名单.
  55. @Override
  56. public Map<String, Object> putInBlackList(Integer id) {
  57. Map<String, Object> returnMap = new HashMap<String, Object>();
  58. returnMap.put("success", "success");
  59. BusinessCustomer customer = new BusinessCustomer();
  60. customer.setId(id);
  61. customer.setIsInBlacklist(1);
  62. customerMapper.updateByPrimaryKeySelective(customer);
  63. this.sxtgjjjk(id,id,"u");
  64. return returnMap;
  65. }
  66. // 移除黑名单.
  67. @Override
  68. public Map<String, Object> removeBlackList(Integer id) {
  69. Map<String, Object> returnMap = new HashMap<String, Object>();
  70. returnMap.put("success", "success");
  71. BusinessCustomer customer = new BusinessCustomer();
  72. customer.setId(id);
  73. customer.setIsInBlacklist(0);
  74. customerMapper.updateByPrimaryKeySelective(customer);
  75. this.sxtgjjjk(id,id,"u");
  76. return returnMap;
  77. }
  78. /**
  79. * 条件查询.
  80. */
  81. @Override
  82. public List<BusinessCustomer> list(Integer pageNum, Integer pageSize,
  83. BusinessCustomer customer, Integer orgId) {
  84. BusinessCustomerExample example = new BusinessCustomerExample();
  85. Criteria createCriteria = example.createCriteria();
  86. // 所属机构.
  87. if (null != orgId) {
  88. createCriteria.andOrgIdEqualTo(orgId);
  89. }
  90. // 客户名称.
  91. if (StringUtils.isNotBlank(customer.getName())) {
  92. createCriteria.andNameLike("%" + customer.getName() + "%");
  93. }
  94. // 客户类型.
  95. if (customer.getClassify() != null) {
  96. createCriteria.andClassifyEqualTo(customer.getClassify());
  97. }
  98. // 是否在黑名单
  99. if (customer.getIsInBlacklist() != null) {
  100. createCriteria.andIsInBlacklistEqualTo(customer.getIsInBlacklist());
  101. }
  102. // id倒序.
  103. example.setOrderByClause("id desc");
  104. if (null != pageNum && null != pageSize) {
  105. PageHelper.startPage(pageNum, pageSize);
  106. }
  107. return customerMapper.selectByExample(example);
  108. }
  109. @Override
  110. public String checkRepeat(Integer orgId, String zjh, Integer customerId, Integer customerType, String customerName)
  111. throws Exception {
  112. String flag = "false";
  113. BusinessCustomerExample example = new BusinessCustomerExample();
  114. Criteria criteria = example.createCriteria();
  115. if (null != orgId) {
  116. criteria.andOrgIdEqualTo(orgId);
  117. }
  118. //个人客户,校验身份证号;企业客户,校验统一信用代码
  119. if (null != customerType) {
  120. criteria.andClassifyEqualTo(customerType);
  121. //个人客户的身份证号
  122. if (customerType.equals(3152)) {
  123. criteria.andIdentificationEqualTo(zjh);
  124. }
  125. //企业客户的统一信用代码
  126. if (customerType.equals(3153)) {
  127. criteria.andSocialCreditCodeEqualTo(zjh);
  128. }
  129. } else {
  130. return flag;
  131. }
  132. if (null != customerId) {
  133. criteria.andIdNotEqualTo(customerId);
  134. }
  135. if (StringUtils.isNotBlank(customerName)) {
  136. criteria.andNameEqualTo(customerName);
  137. }
  138. List<BusinessCustomer> list = queryByExample(example);
  139. if (null == list || list.size() == 0) {
  140. flag = "true";
  141. }
  142. return flag;
  143. }
  144. @Override
  145. public Integer queryCustomerObj(Integer orgId, Integer customerType, String customerName) {
  146. Integer customerId = null;
  147. BusinessCustomerExample example = new BusinessCustomerExample();
  148. Criteria criteria = example.createCriteria();
  149. if (null != orgId) {
  150. criteria.andOrgIdEqualTo(orgId);
  151. }
  152. if (null != customerType) {
  153. criteria.andClassifyEqualTo(customerType);
  154. }
  155. if (StringUtils.isNotBlank(customerName)) {
  156. criteria.andNameEqualTo(customerName);
  157. }
  158. List<BusinessCustomer> list = queryByExample(example);
  159. if (null != list && list.size() > 0) {
  160. customerId = list.get(0).getId();
  161. }
  162. return customerId;
  163. }
  164. /**
  165. * 摄像头国家局数据
  166. */
  167. public void sxtgjjjk(Integer id, Integer orgId,String czbz) {
  168. Map<String, Object> gjjMap = customerMapper.getKhxxGjjDate(id);
  169. gjjMap.put("czbz",czbz);
  170. gjjMap.put("is_upload", 0);
  171. String tableName = "ODS_UP_KHXXJK";
  172. /**
  173. * restTemplate调用
  174. */
  175. //String url = "http://localhost:9022/recPublish/sendMessage";//
  176. // 发送post请求,并打印结果,以String类型接收响应结果JSON字符串
  177. MultiValueMap<String, Object> sendMap = new LinkedMultiValueMap<>();
  178. //Map<String, Object> sendMap = new HashMap<String, Object>();
  179. ObjectMapper objectMapper = new ObjectMapper();
  180. String jsonMap;
  181. try {
  182. jsonMap = objectMapper.writeValueAsString(gjjMap);
  183. sendMap.add("gjjMapJson",jsonMap);
  184. } catch (JsonProcessingException e) {
  185. // TODO Auto-generated catch block
  186. e.printStackTrace();
  187. }
  188. sendMap.add("tableName", tableName);
  189. sendMap.add("orgId",orgId);
  190. String result = (String) restTemplate.postForObject(jsgjjsjUrl, sendMap, String.class);
  191. }
  192. }