ClientServiceImpl.java 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. package com.malk.diwei.service.impl;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.malk.diwei.entity.Client;
  5. import com.malk.diwei.entity.ClientMoreLinkData;
  6. import com.malk.diwei.mapper.ClientMapper;
  7. import com.malk.diwei.mapper.ClientMoreLinkDataMapper;
  8. import com.malk.diwei.service.ClientService;
  9. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  10. import com.malk.server.aliwork.YDConf;
  11. import com.malk.server.aliwork.YDParam;
  12. import com.malk.server.common.McR;
  13. import com.malk.service.aliwork.YDClient;
  14. import com.malk.utils.UtilMap;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Service;
  17. import java.util.*;
  18. /**
  19. * <p>
  20. * 服务实现类
  21. * </p>
  22. *
  23. * @author WZY
  24. * @since 2025-03-11
  25. */
  26. @Service
  27. public class ClientServiceImpl extends ServiceImpl<ClientMapper, Client> implements ClientService {
  28. @Autowired
  29. private ClientMapper clientMapper;
  30. @Autowired
  31. private ClientMoreLinkDataMapper clientMoreLinkDataMapper;
  32. @Autowired
  33. private YDClient ydClient;
  34. @Override
  35. public McR syncClient() {
  36. LambdaQueryWrapper<Client> clientLambdaQueryWrapper = new LambdaQueryWrapper<>();
  37. List<Client> clientList = clientMapper.selectList(clientLambdaQueryWrapper);
  38. for (Client client : clientList) {
  39. Map formData = new HashMap();
  40. formData.put("numberField_m858ik1r",client.getClientID());//客户id
  41. formData.put("textField_m7vidqxr",client.getClientCode());//客户编号
  42. formData.put("textField_m7vidqxq",client.getClientName());//客户名称
  43. formData.put("textField_m843zjgb",client.getClientShortName());//客户简称
  44. formData.put("textField_m843zjgd",client.getClientShortCode());//助记码
  45. //结款类型
  46. if (Objects.nonNull(client.getClientPayWay())){
  47. switch (client.getClientPayWay()){
  48. case 1 : formData.put("selectField_m843zjgj","现金");break;
  49. case 2 : formData.put("selectField_m843zjgj","非现金");break;
  50. case 9 : formData.put("selectField_m843zjgj","现金");break;
  51. default : break;
  52. }
  53. }
  54. formData.put("textField_m843zjgk",client.getClientBank());//开户银行
  55. formData.put("textField_m7vidqy7",client.getClientBankaccount());//银行账号
  56. formData.put("textField_m7vidqy8",client.getClientTaxno());//税号
  57. formData.put("textField_m843zjgq",client.getClientLegalPerson());//法人代表
  58. formData.put("numberField_m843zjgr",client.getClientCredit());//信用额度
  59. //客户类别
  60. if (Objects.nonNull(client.getClientCategory())){
  61. switch (client.getClientCategory()){
  62. case 0 : formData.put("selectField_m843zjg3","不限");break;
  63. case 1 : formData.put("selectField_m843zjg3","成品供应商");break;
  64. case 2 : formData.put("selectField_m843zjg3","原料供应商");break;
  65. case 3 : formData.put("selectField_m843zjg3","辅料供应商");break;
  66. case 4 : formData.put("selectField_m843zjg3","加工厂");break;
  67. case 5 : formData.put("selectField_m843zjg3","物流公司");break;
  68. case 6 : formData.put("selectField_m843zjg3","其他供应商");break;
  69. default : break;
  70. }
  71. }
  72. //客户类型
  73. if (Objects.nonNull(client.getClientClass())){
  74. switch (client.getClientClass()){
  75. case 1 : formData.put("selectField_m843zjgv","批发客户");break;
  76. case 2 : formData.put("selectField_m843zjgv","Vip客户");break;
  77. }
  78. }
  79. //客户级别
  80. if (Objects.nonNull(client.getClientLevel())){
  81. switch (client.getClientLevel()){
  82. case 1 : formData.put("textField_m7vidqxx","一级");break;
  83. case 2 : formData.put("textField_m7vidqxx","二级");break;
  84. case 3 : formData.put("textField_m7vidqxx","三级");break;
  85. case 4 : formData.put("textField_m7vidqxx","四级");break;
  86. case 5 : formData.put("textField_m7vidqxx","五级");break;
  87. default : break;
  88. }
  89. }
  90. //客户属性
  91. if (Objects.nonNull(client.getClientProperty())){
  92. switch (client.getClientProperty()){
  93. case 1 : formData.put("selectField_m843zjg1","客户");break;
  94. case 2 : formData.put("selectField_m843zjg1","供应商");break;
  95. default : break;
  96. }
  97. }
  98. //正常/停用
  99. if (Objects.nonNull(client.getClientStatus())){
  100. switch (client.getClientStatus()){
  101. case 1 : formData.put("selectField_m843zjg2","正常");break;
  102. case 2 : formData.put("selectField_m843zjg2","停用");break;
  103. default : break;
  104. }
  105. }
  106. formData.put("textareaField_m843zjga",client.getClientDescription());//备注
  107. //查询联系人
  108. LambdaQueryWrapper<ClientMoreLinkData> clientMoreLinkDataLambdaQueryWrapper = new LambdaQueryWrapper<>();
  109. clientMoreLinkDataLambdaQueryWrapper.eq(ClientMoreLinkData::getClientMoreLinkDataClientID,client.getClientID())
  110. .isNotNull(ClientMoreLinkData::getClientMoreLinkDataLinkMan)
  111. .ne(ClientMoreLinkData::getClientMoreLinkDataLinkMan,"");
  112. List<ClientMoreLinkData> clientMoreLinkDataList = clientMoreLinkDataMapper.selectList(clientMoreLinkDataLambdaQueryWrapper);
  113. List<Map> detailList = new ArrayList<>();
  114. if (!clientMoreLinkDataList.isEmpty()){
  115. for (ClientMoreLinkData clientMoreLinkData : clientMoreLinkDataList) {
  116. Map detail = new HashMap();
  117. detail.put("textField_m843zjfm",clientMoreLinkData.getClientMoreLinkDataLinkMan());//联系人
  118. detail.put("textField_m843zjfn",clientMoreLinkData.getClientMoreLinkDataMob());//手机
  119. detailList.add(detail);
  120. }
  121. formData.put("tableField_m843zjfl",detailList);//联系人明细
  122. }
  123. //精准匹配
  124. List<Map> searchCondition = new ArrayList<>();
  125. searchCondition.add(UtilMap.map("key, value, type, operator, componentName","textField_m7vidqxr",client.getClientCode(),"TEXT","eq","TextField"));
  126. ydClient.operateData(YDParam.builder()
  127. .formUuid("FORM-55BFAC57E0774F4FBC77295ACA75E09AZTL8")
  128. .searchFieldJson(JSONObject.toJSONString(searchCondition))
  129. .formDataJson(JSONObject.toJSONString(formData))
  130. .build(), YDConf.FORM_OPERATION.upsert);
  131. }
  132. return McR.success();
  133. }
  134. }