CustomerManagerImpl.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package com.uas.eis.manager.impl;
  2. import com.uas.eis.beans.CorpAccessToken;
  3. import com.uas.eis.beans.req.CrmQueryReq;
  4. import com.uas.eis.beans.req.CrmUpdateReq;
  5. import com.uas.eis.beans.result.BaseResult;
  6. import com.uas.eis.beans.result.CrmQueryResult;
  7. import com.uas.eis.beans.result.Customer;
  8. import com.uas.eis.exception.AccessTokenException;
  9. import com.uas.eis.manager.AccessTokenManager;
  10. import com.uas.eis.manager.CustomerManager;
  11. import com.uas.eis.manager.OpenUserIdManager;
  12. import com.uas.eis.utils.Configuration;
  13. import com.uas.eis.utils.OpenAPIUtils;
  14. import org.springframework.stereotype.Service;
  15. import javax.annotation.Resource;
  16. import java.util.ArrayList;
  17. import java.util.HashMap;
  18. import java.util.List;
  19. import java.util.Map;
  20. @Service("customerManager")
  21. public class CustomerManagerImpl implements CustomerManager {
  22. private final AccessTokenManager accessTokenManager;
  23. public CustomerManagerImpl(AccessTokenManager accessTokenManager, OpenUserIdManager openUserIdManager) {
  24. this.accessTokenManager = accessTokenManager;
  25. this.openUserIdManager = openUserIdManager;
  26. }
  27. private final OpenUserIdManager openUserIdManager;
  28. @Resource(name = "configuration")
  29. private Configuration configuration;
  30. @Override
  31. public CrmQueryResult queryCustomer(List<String> field_values) throws AccessTokenException {
  32. CrmQueryResult crmQueryResult = new CrmQueryResult();
  33. CorpAccessToken token = accessTokenManager.getCorpAccessToken();
  34. String openUserId = configuration.getOpenUserId();
  35. List<CrmQueryReq.Filters> filtersList = new ArrayList<>();
  36. CrmQueryReq.Filters filters = new CrmQueryReq.Filters();
  37. filters.setField_name("create_time");
  38. filters.setField_values(field_values);
  39. filters.setOperator("GT");
  40. filtersList.add(filters);
  41. List<CrmQueryReq.Order> orderList = new ArrayList<>();
  42. CrmQueryReq.Order order = new CrmQueryReq.Order();
  43. order.setAsc(true);
  44. order.setFieldName("create_time");
  45. orderList.add(order);
  46. CrmQueryReq.SearchQuery searchQuery = new CrmQueryReq.SearchQuery();
  47. searchQuery.setFilters(filtersList);
  48. searchQuery.setLimit(100);
  49. searchQuery.setOrders(orderList);
  50. CrmQueryReq.DataApiName dataApiName = new CrmQueryReq.DataApiName();
  51. dataApiName.setDataObjectApiName("AccountObj");
  52. dataApiName.setSearch_query_info(searchQuery);
  53. CrmQueryReq crmQueryReq = new CrmQueryReq();
  54. crmQueryReq.setCorpAccessToken(token.getCorpAccessToken());
  55. crmQueryReq.setCorpId(token.getCorpId());
  56. crmQueryReq.setCurrentOpenUserId(openUserId);
  57. crmQueryReq.setDataApiName(dataApiName);
  58. try {
  59. crmQueryResult = OpenAPIUtils.queryCrmData(crmQueryReq);
  60. }catch (Exception e) {
  61. e.printStackTrace();
  62. }
  63. return crmQueryResult;
  64. }
  65. @Override
  66. public BaseResult updateCustomer(Customer customer) throws AccessTokenException {
  67. BaseResult baseResult = new BaseResult();
  68. CorpAccessToken token = accessTokenManager.getCorpAccessToken();
  69. String openUserId = configuration.getOpenUserId();
  70. Map<String, Object> object_data = new HashMap<>();
  71. object_data.put("object_data",customer);
  72. CrmUpdateReq crmUpdateReq = new CrmUpdateReq();
  73. crmUpdateReq.setCorpAccessToken(token.getCorpAccessToken());
  74. crmUpdateReq.setCorpId(token.getCorpId());
  75. crmUpdateReq.setCurrentOpenUserId(openUserId);
  76. crmUpdateReq.setData(object_data);
  77. try {
  78. baseResult = OpenAPIUtils.updateCrmData(crmUpdateReq);
  79. }catch (Exception e) {
  80. e.printStackTrace();
  81. }
  82. return baseResult;
  83. }
  84. }