IChannelService.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. package com.qs.mp.channel.service;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.qs.mp.admin.domain.excel.ChannelImportExcel;
  4. import com.qs.mp.admin.domain.vo.ChannelImportErrorVO;
  5. import com.qs.mp.admin.domain.vo.IndexVO;
  6. import com.qs.mp.channel.domain.Channel;
  7. import com.qs.mp.channel.domain.param.PromoterCreateParam;
  8. import com.qs.mp.channel.domain.param.PromoterDataQueryParam;
  9. import com.qs.mp.channel.domain.vo.ChannelOperDataVO;
  10. import com.qs.mp.channel.domain.vo.ChannelVO;
  11. import com.qs.mp.channel.domain.vo.PromoterListVO;
  12. import com.qs.mp.common.enums.ChannelRoleEnum;
  13. import com.qs.mp.user.domain.UserDeliverOrder;
  14. import java.util.List;
  15. import com.baomidou.mybatisplus.core.conditions.Wrapper;
  16. import com.baomidou.mybatisplus.extension.service.IService;
  17. /**
  18. * <p>
  19. * 渠道经销商 服务类
  20. * </p>
  21. *
  22. * @author quanshu
  23. * @since 2022-03-02
  24. */
  25. public interface IChannelService extends IService<Channel> {
  26. /**
  27. * 新增子渠道、经销商信息
  28. *
  29. * @param channel
  30. * @param channelRole channel:子渠道 site: 经销商
  31. * @return
  32. */
  33. public void saveChannel(Channel channel, ChannelRoleEnum channelRole);
  34. /**
  35. * 编辑子渠道、经销商信息
  36. *
  37. * @param channel
  38. * @param mobileChange 手机号码是否发生变更
  39. * @return
  40. */
  41. public void updateChannel(Channel channel, boolean mobileChange);
  42. /**
  43. * 获取我的下级渠道信息,支持翻页
  44. *
  45. * @param queryWrapper
  46. * @return
  47. */
  48. public List<ChannelVO> selectChannelVoList(Wrapper<Channel> queryWrapper);
  49. /**
  50. * 获取我的下级渠道信息,统计经销商数和用户数,支持翻页
  51. *
  52. * @param queryWrapper
  53. * @return
  54. */
  55. public List<ChannelVO> selectChannelList(Wrapper<Channel> queryWrapper);
  56. /**
  57. * 获取经销商列表信息,支持翻页
  58. *
  59. * @param queryWrapper
  60. * @return
  61. */
  62. public List<ChannelVO> selectSaleSiteList(Wrapper<Channel> queryWrapper);
  63. /**
  64. * 根据用户ID查询渠道
  65. *
  66. * @param userId
  67. * @return
  68. */
  69. public Channel getChannelByUserId(Long userId);
  70. /**
  71. * 查询渠道及其子渠道经销商总数
  72. *
  73. * @param channelNo
  74. * @return
  75. */
  76. public int getChannelSiteCnt(String channelNo);
  77. /**
  78. * 根据channelNo统计最近几天days的经营数据
  79. */
  80. public ChannelOperDataVO getChannelOperData(String channelNo, int days);
  81. /**
  82. * 根据ID查询渠道VO
  83. *
  84. * @param userId
  85. * @return
  86. */
  87. public ChannelVO getChannelVoById(Long channelId);
  88. /**
  89. * 根据channelNo统计全部的经营数据
  90. */
  91. public ChannelOperDataVO getChannelTotalOperData(String channelNo);
  92. /**
  93. * 统计新增的经销商数
  94. *
  95. * @param wrapper
  96. * @return
  97. */
  98. List<IndexVO> selectIndexSiteIncreaseList(Wrapper<Channel> wrapper);
  99. /**
  100. * 审核通过的经销商
  101. *
  102. * @param channel
  103. * @return
  104. */
  105. boolean siteVerify(Channel channel);
  106. /**
  107. * 推广员信息合法性校验
  108. *
  109. * @param param
  110. */
  111. String checkPromoter(PromoterCreateParam param);
  112. /**
  113. * 创建推广员
  114. *
  115. * @param param
  116. */
  117. void createPromoter(PromoterCreateParam param);
  118. /**
  119. * 根据查询条件查询推广员列表信息
  120. * @param queryWrapper
  121. * @return
  122. */
  123. List<PromoterListVO> listPromoterByQueryWrapper(QueryWrapper<Channel> queryWrapper);
  124. ChannelOperDataVO getPromoterOperData(String channelNo, Integer days);
  125. /**
  126. * 删除推广员
  127. * @param channelId 推广员id
  128. */
  129. void deletePromoter(Long channelId);
  130. /**
  131. * 导入门店并注册账号
  132. * @param siteList
  133. */
  134. void importSite(List<ChannelImportExcel> siteList);
  135. }