DcIntroducerService.java 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. package com.ygj.yuemum.service.distributionchannel;
  2. import com.github.pagehelper.PageHelper;
  3. import com.github.pagehelper.PageInfo;
  4. import com.ygj.yuemum.component.Constant;
  5. import com.ygj.yuemum.dao.distributionchannel.DcIntroducerDao;
  6. import com.ygj.yuemum.domain.distributionchannel.DcIntroduceLog;
  7. import com.ygj.yuemum.domain.distributionchannel.DcIntroducer;
  8. import com.ygj.yuemum.domain.distributionchannel.DcIntroducerExtract;
  9. import com.ygj.yuemum.domain.distributionchannel.DcIntroducerRelation;
  10. import com.ygj.yuemum.domain.order.YSOrder;
  11. import com.ygj.yuemum.service.order.YSOrderService;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import java.io.File;
  15. import java.util.HashMap;
  16. import java.util.List;
  17. import java.util.Map;
  18. @Service
  19. public class DcIntroducerService {
  20. @Autowired
  21. private DcIntroducerDao dcIntroducerDao;
  22. @Autowired
  23. private YSOrderService ysOrderService;
  24. @Autowired
  25. private DcIntroduceLogService dcIntroduceLogService;
  26. @Autowired
  27. private DcIntroducerExtractService dcIntroducerExtractService;
  28. @Autowired
  29. private DcIntroducerRelationService dcIntroducerRelationService;
  30. @Autowired
  31. private MiniAppService miniAppService;
  32. public static final String imgbankcard = Constant.IMGBANKCARD;
  33. public static final String qrcode = Constant.QRCODE;
  34. //分页
  35. public Map<String, Object> getDcIntroducers(int page, int limit) {
  36. PageHelper.startPage(page, limit);
  37. List<DcIntroducer> dcIntroducers = dcIntroducerDao.getDcIntroducers();
  38. PageInfo<DcIntroducer> pageInfo = new PageInfo<DcIntroducer>(dcIntroducers);
  39. long count = pageInfo.getTotal(); //获取总记录数
  40. Map<String, Object> tableData = new HashMap<>();
  41. tableData.put("items", dcIntroducers);
  42. tableData.put("total", count);
  43. return tableData;
  44. }
  45. public List<DcIntroducer> initIntroducers() {
  46. return dcIntroducerDao.getDcIntroducers();
  47. }
  48. public Map<String, Object> queryDcIntroducers(DcIntroducer wxVip) {
  49. PageHelper.startPage(wxVip.getPage(), wxVip.getLimit());
  50. List<DcIntroducer> dcIntroducers = dcIntroducerDao.queryDcIntroducers(wxVip);
  51. PageInfo<DcIntroducer> pageInfo = new PageInfo<DcIntroducer>(dcIntroducers);
  52. long count = pageInfo.getTotal(); //获取总记录数
  53. Map<String, Object> tableData = new HashMap<>();
  54. tableData.put("items", dcIntroducers);
  55. tableData.put("total", count);
  56. return tableData;
  57. }
  58. public int insertDcIntroducer(DcIntroducer dcIntroducer) {
  59. return dcIntroducerDao.insertDcIntroducer(dcIntroducer);
  60. }
  61. public int updateDcIntroducer(DcIntroducer dcIntroducer) {
  62. //更新介绍人信息,更新介绍人日志信息,更新订单推荐人信息,重新生成小程序码
  63. try {
  64. //订单表
  65. YSOrder ysOrder = new YSOrder();
  66. ysOrder.setOd_introducer_phone(dcIntroducer.getWv_phone());
  67. ysOrder.setOd_introducer_phoneOld(dcIntroducer.getWv_phoneOld());
  68. ysOrderService.updateDCPhone(ysOrder);
  69. //介绍人日志表
  70. DcIntroduceLog dcIntroduceLog = new DcIntroduceLog();
  71. dcIntroduceLog.setXul_introducer_phone(dcIntroducer.getWv_phone());
  72. dcIntroduceLog.setXul_introducer_phoneOld(dcIntroducer.getWv_phoneOld());
  73. dcIntroduceLogService.updateDcIntroduceLogByPhone(dcIntroduceLog);
  74. //介绍人提现表
  75. DcIntroducerExtract dcIntroducerExtract = new DcIntroducerExtract();
  76. dcIntroducerExtract.setWue_phone(dcIntroducer.getWv_phone());
  77. dcIntroducerExtract.setWue_phoneOld(dcIntroducer.getWv_phoneOld());
  78. dcIntroducerExtractService.updateIEByPhoneChange(dcIntroducerExtract);
  79. //介绍人顾问关系表
  80. DcIntroducerRelation dcIntroducerRelation = new DcIntroducerRelation();
  81. dcIntroducerRelation.setDig_introducer_phone(dcIntroducer.getWv_phone());
  82. dcIntroducerRelation.setDig_introducer_phoneOld(dcIntroducer.getWv_phoneOld());
  83. dcIntroducerRelationService.updateIRByPhoneChange(dcIntroducerRelation);
  84. //重新生成小程序码
  85. //删除之前生成的小程序码
  86. String[] pathname = dcIntroducer.getWv_qrcode().split("/");
  87. String name = pathname[pathname.length -1];
  88. String path = qrcode + "/"+ name;
  89. File dest = new File(path);
  90. dest.delete();
  91. String qrcodePath = miniAppService.createQrCode(dcIntroducer.getWv_phone());
  92. if (qrcodePath.equals("error")) {
  93. return 9;
  94. }
  95. dcIntroducer.setWv_qrcode(qrcodePath);
  96. //介绍人表
  97. dcIntroducerDao.updateDcIntroducer(dcIntroducer);
  98. } catch (Exception ex) {
  99. ex.printStackTrace();
  100. return 0;
  101. }
  102. return 1;
  103. }
  104. public int updateAccountNumber(DcIntroducer dcIntroducer) {
  105. return dcIntroducerDao.updateAccountNumber(dcIntroducer);
  106. }
  107. public List<DcIntroducer> queryDcIntroducersByUser(String xul_phone) {
  108. return dcIntroducerDao.queryDcIntroducersByUser(xul_phone);
  109. }
  110. public DcIntroducer checkDcIntroducers(String wv_phone) {
  111. //从CRM里面获取推荐人等级
  112. return dcIntroducerDao.checkDcIntroducers(wv_phone);
  113. }
  114. public DcIntroducer queryOneDcIntroducer(String wv_phone) {
  115. //从CRM里面获取推荐人等级
  116. return dcIntroducerDao.queryOneDcIntroducer(wv_phone);
  117. }
  118. public int delAccountNumber(String wv_phone) {
  119. try {
  120. DcIntroducer dcIntroducer = dcIntroducerDao.checkDcIntroducers(wv_phone);
  121. String fName = dcIntroducer.getWv_account_number_path().trim();
  122. String temp[] = fName.split("/");
  123. String fileName = temp[temp.length - 1];
  124. String path = imgbankcard + "/" + fileName;
  125. File dest = new File(path);
  126. dest.delete();
  127. dcIntroducerDao.delAccountNumber(wv_phone);
  128. } catch (Exception ex) {
  129. ex.printStackTrace();
  130. return 0;
  131. }
  132. return 1;
  133. }
  134. }