EsmUserReferrerServiceImpl.java 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509
  1. package com.ydtech.modules.esm.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  5. import com.github.pagehelper.PageHelper;
  6. import com.ydtech.core.page.HttpResult;
  7. import com.ydtech.core.page.PageResult;
  8. import com.ydtech.exception.SystemException;
  9. import com.ydtech.modules.admin.model.SysUser;
  10. import com.ydtech.modules.admin.model.dto.SysUserDto;
  11. import com.ydtech.modules.admin.model.dto.SysUserTeamDto;
  12. import com.ydtech.modules.admin.model.vo.AppCustomerManagementQueryVo;
  13. import com.ydtech.modules.admin.model.vo.SysReferrerVo;
  14. import com.ydtech.modules.admin.service.SysUserService;
  15. import com.ydtech.modules.base.model.dto.PageDto;
  16. import com.ydtech.modules.base.model.vo.PageVo;
  17. import com.ydtech.modules.esm.dao.EsmUserReferrerMapper;
  18. import com.ydtech.modules.esm.model.EsmUserReferrer;
  19. import com.ydtech.modules.esm.model.QueryChannel;
  20. import com.ydtech.modules.esm.model.vo.*;
  21. import com.ydtech.modules.esm.service.EsmUserReferrerService;
  22. import com.ydtech.modules.order.entity.BasePageResult;
  23. import com.ydtech.utils.StringUtils;
  24. import org.springframework.beans.factory.annotation.Autowired;
  25. import org.springframework.jdbc.core.JdbcTemplate;
  26. import org.springframework.jdbc.core.RowCallbackHandler;
  27. import org.springframework.stereotype.Service;
  28. import javax.sql.DataSource;
  29. import java.sql.ResultSet;
  30. import java.sql.SQLException;
  31. import java.util.*;
  32. import java.util.stream.Collectors;
  33. import java.util.stream.Stream;
  34. @Service
  35. public class EsmUserReferrerServiceImpl extends ServiceImpl<EsmUserReferrerMapper, EsmUserReferrer>
  36. implements EsmUserReferrerService {
  37. @Autowired
  38. public DataSource dataSource;
  39. @Autowired
  40. private SysUserService sysUserService;
  41. @Autowired
  42. private EsmUserReferrerService esmUserReferrerService;
  43. // 递归查找节点的所有父级节点
  44. public List<EsmUserReferrer> findParents(String userId) {
  45. List<EsmUserReferrer> referrers = new ArrayList<>();
  46. EsmUserReferrer esmUserReferrer = esmUserReferrerService.getById(userId);
  47. //找不到用户的推荐关系
  48. if (esmUserReferrer == null) {
  49. return null;
  50. }
  51. List<EsmUserReferrer> esmUserReferrers =
  52. esmUserReferrerService.list(new LambdaQueryWrapper<EsmUserReferrer>()
  53. .eq(EsmUserReferrer::getAffiliation, esmUserReferrer.getAffiliation())
  54. .ne(EsmUserReferrer::getId, esmUserReferrer.getId()));
  55. findParentsRecursive(esmUserReferrer.getReferrerId(), esmUserReferrers, referrers);
  56. return referrers;
  57. }
  58. private static void findParentsRecursive(String userId, List<EsmUserReferrer> esmUserReferrers, List<EsmUserReferrer> referrers) {
  59. if (esmUserReferrers.isEmpty())
  60. return;
  61. EsmUserReferrer collect = esmUserReferrers.stream().filter(item -> item.getId().equals(userId)).findFirst()
  62. .orElse(null);
  63. if (collect != null) {
  64. if (collect.getId().equals(collect.getReferrerId())) {
  65. referrers.add(collect);
  66. } else {
  67. referrers.add(collect);
  68. findParentsRecursive(collect.getReferrerId(), esmUserReferrers, referrers);
  69. }
  70. }
  71. }
  72. @Override
  73. public Map buildLevelInfo(SysUser agent) {
  74. Map m = new HashMap();
  75. LambdaQueryWrapper<EsmUserReferrer> lqw = new LambdaQueryWrapper<>();
  76. lqw.eq(EsmUserReferrer::getReferrerId, agent.getId());
  77. lqw.ne(EsmUserReferrer::getId, agent.getId());
  78. List<EsmUserReferrer> listAll = esmUserReferrerService.list(lqw);
  79. List<SysUser> oneList = new ArrayList<>();
  80. List<SysUser> oneTempList = new ArrayList<>();
  81. listAll.forEach(a -> {
  82. SysUser sysUser = sysUserService.getById(a.getId());
  83. if (sysUser.getStatus() == 1) {
  84. oneList.add(sysUser);
  85. } else {
  86. oneTempList.add(sysUser);
  87. }
  88. });
  89. m.put("list1", oneList);
  90. m.put("list2", oneTempList);
  91. return m;
  92. }
  93. @Override
  94. public void buildLevelList(SysUser user, List<SysUser> oneList, List<SysUser> oneTempList) {
  95. Map<String, List<SysUser>> oneMap = buildLevelInfo(user);
  96. oneList.addAll(oneMap.get("list1"));
  97. oneTempList.addAll(oneMap.get("list2"));
  98. }
  99. @Override
  100. public void addReferrer(String referrerId, String nextPK) {
  101. //if(referrerId.equals(nextPK)) throw new SystemException("推荐人不能是自己");
  102. //推荐人信息
  103. EsmUserReferrer referrer = getById(referrerId);
  104. EsmUserReferrer eur = new EsmUserReferrer();
  105. if (null == referrer) {
  106. //推荐人是团队长的时候,先固定队长是首级
  107. eur.setId(referrerId);
  108. eur.setLevel(0);
  109. eur.setAffiliation(referrerId);
  110. SysUser user = sysUserService.getById(referrerId);
  111. eur.setReferrerId(referrerId);
  112. eur.setReferrerName(user.getName());
  113. esmUserReferrerService.save(eur);
  114. //查询团队长的id,并将团队长作为推荐人
  115. referrer = getById(referrerId);
  116. eur.setId(nextPK);
  117. eur.setReferrerName(referrer.getReferrerName());
  118. eur.setReferrerId(referrer.getReferrerId());
  119. eur.setLevel(referrer.getLevel() + 1);
  120. eur.setAffiliation(referrer.getAffiliation());
  121. esmUserReferrerService.saveOrUpdate(eur);
  122. } else {
  123. //已经级联过的代理再作为推荐人的时候,推荐人是传入的推荐人信息
  124. SysUser user = sysUserService.getById(referrerId);
  125. eur.setId(nextPK);
  126. eur.setReferrerId(referrerId);
  127. eur.setReferrerName(user.getName());
  128. eur.setLevel(referrer.getLevel() + 1);
  129. eur.setAffiliation(referrer.getAffiliation());
  130. esmUserReferrerService.saveOrUpdate(eur);
  131. }
  132. }
  133. @Override
  134. public boolean deldeleteByReferrerId(String userId) {
  135. LambdaQueryWrapper<EsmUserReferrer> queryWrapper = new LambdaQueryWrapper<>();
  136. queryWrapper.eq(EsmUserReferrer::getId, userId);
  137. return remove(queryWrapper);
  138. }
  139. @Override
  140. public List<String> getUpUser(String userId, List<String> list) {
  141. EsmUserReferrer esmUserReferrer = this.getById(userId);
  142. if (esmUserReferrer == null) {
  143. return list;
  144. }
  145. list.add(esmUserReferrer.getId());
  146. if (!esmUserReferrer.getReferrerId().equals(userId)) {
  147. getUpUser(esmUserReferrer.getReferrerId(), list);
  148. }
  149. return list;
  150. }
  151. @Override
  152. public Page<SysUser> getUserPage(Page page, SysUserDto dto) {
  153. return baseMapper.getUserPage(page, dto);
  154. }
  155. @Override
  156. public Page<QueryChannel> getQueryChannelPage(Page page, QueryChannel queryChannel) {
  157. return baseMapper.getQueryChannelPage(page, queryChannel);
  158. }
  159. @Override
  160. public HttpResult<PageVo<SysReferrerVo>> gainReferrerPage(PageDto<SysReferrerVo> pageDto) {
  161. if (StringUtils.isNotEmpty(pageDto.getDto().getAffiliation())) {
  162. EsmUserReferrer esmUserReferrer = this.getById(pageDto.getDto().getAffiliation());
  163. if (esmUserReferrer == null) {
  164. return HttpResult.error("工号有误,请重新输入");
  165. }
  166. List<String> up3list = new ArrayList<>();
  167. getUpUser(pageDto.getDto().getAffiliation(), up3list);
  168. List<String> down3list = this.baseMapper.getIdDown3(pageDto.getDto().getAffiliation());
  169. List<String> ids = new ArrayList<>();
  170. ids.addAll(up3list);
  171. ids.addAll(down3list);
  172. ids.add(pageDto.getDto().getAffiliation());
  173. pageDto.getDto().setIds(ids);
  174. pageDto.getDto().setAffiliation(null);
  175. }
  176. PageVo<SysReferrerVo> pageVo = new PageVo();
  177. //获取分页数量
  178. int total = super.baseMapper.countReferrerByAffiliation(pageDto);
  179. // pageVo.setTotalSize(total);
  180. // PageVo.buildPageInfo(pageDto,pageVo);
  181. //计算mysql分页起索引
  182. int firstIndex = pageDto.getPageNum() == 1 ? 0 : (pageDto.getPageNum() - 1) * pageDto.getPageSize();
  183. //计算mysql分页总页数
  184. int totalPages = total % pageDto.getPageSize() == 0 ? total / pageDto.getPageSize() : total / pageDto.getPageSize() + 1;
  185. //响应
  186. pageVo.setTotalSize(total);
  187. pageVo.setPageNum(pageDto.getPageNum());
  188. pageVo.setPageSize(pageDto.getPageSize());
  189. pageVo.setTotalPages(totalPages);
  190. //请求替换分页开始索引
  191. pageDto.setPageNum(firstIndex);
  192. pageVo.setContent(super.baseMapper.selectReferrerByAffiliation(pageDto));
  193. return HttpResult.ok(pageVo);
  194. }
  195. /**
  196. * 人员业绩统计
  197. *
  198. * @param whereCase
  199. * @param paramValues
  200. * @return
  201. */
  202. public List<EsmUserPolicyVO> countUserPolicy(String whereCase, Object[] paramValues) {
  203. List<EsmUserPolicyVO> recordList = new ArrayList<EsmUserPolicyVO>();
  204. String sql = "select b.teamlevel,b.name username,\n" +
  205. "sum(case when orderstatus in (1,2,3,4) then 1 else 0 end) ordernum,\n" +
  206. "sum(case when orderstatus=3 then 1 else 0 end) policynum,\n" +
  207. "sum(case when orderstatus=3 then sumpremium else 0 end) sumpremium\n" +
  208. "from v_user_referrer b \n" +
  209. "left join v_user_order a on b.id=a.id \n" +
  210. "and a.createtime between ? and ? \n" +
  211. "where b.affiliation=? \n" +
  212. "group by b.teamlevel,b.name order by b.teamlevel;";
  213. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  214. jdbcTemplate.query(sql, paramValues,
  215. new RowCallbackHandler() {
  216. @Override
  217. public void processRow(ResultSet resultSet) throws SQLException {
  218. EsmUserPolicyVO model = new EsmUserPolicyVO();
  219. model.setTeamlevel(resultSet.getString("teamlevel"));
  220. model.setUsername(resultSet.getString("username"));
  221. model.setOrdernum(resultSet.getInt("ordernum"));
  222. model.setPolicynum(resultSet.getInt("policynum"));
  223. model.setSumpremium(resultSet.getDouble("sumpremium"));
  224. recordList.add(model);
  225. }
  226. });
  227. return recordList;
  228. }
  229. /**
  230. * 团队业绩统计
  231. *
  232. * @param whereCase
  233. * @param paramValues
  234. * @return
  235. */
  236. public List<EsmTeamPolicyVO> countTeamPolicy(String whereCase, Object[] paramValues) {
  237. List<EsmTeamPolicyVO> recordList = new ArrayList<>();
  238. String sql = "select teamlevel,sum(teamnum) teamnum, sum(sumpremium) sumpremium,sum(usernum) usernum from \n" +
  239. "(select a.`level` teamlevel,count(distinct id) teamnum, 0 sumpremium,0 usernum\n" +
  240. "from v_user_order a\n" +
  241. "where a.affiliation=?\n" +
  242. "group by a.`level`\n" +
  243. "union all \n" +
  244. "select 9 teamlevel,count(distinct a.id) teamnum, 0 sumpremium,0 usernum\n" +
  245. "from esm_user_referrer a\n" +
  246. "left join sys_user b on a.id=b.id\n" +
  247. "where a.affiliation=? and b.status=2 " +
  248. "union all \n" +
  249. "select a.`level` teamlevel,0 teamnum, sum(sumpremium) sumpremium,count(distinct id) usernum\n" +
  250. "from v_user_order a\n" +
  251. "where a.affiliation=? and a.orderstatus=3\n" +
  252. "and a.createtime between ? and ? \n" +
  253. "group by a.`level`) t group by teamlevel";
  254. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  255. jdbcTemplate.query(sql, paramValues,
  256. new RowCallbackHandler() {
  257. @Override
  258. public void processRow(ResultSet resultSet) throws SQLException {
  259. EsmTeamPolicyVO model = new EsmTeamPolicyVO();
  260. model.setTeamlevel(resultSet.getString("teamlevel"));
  261. model.setTeamnum(resultSet.getInt("teamnum"));
  262. model.setUsernum(resultSet.getInt("usernum"));
  263. model.setSumpremium(resultSet.getDouble("sumpremium"));
  264. recordList.add(model);
  265. }
  266. });
  267. return recordList;
  268. }
  269. /**
  270. * 人员团队业绩统计--所有业务员都可查询
  271. *
  272. * @return
  273. */
  274. @Override
  275. public EsmUserCountVO queryUserCount(TeamUserQryVO record) {
  276. EsmUserCountVO esmUserCountVO = new EsmUserCountVO();
  277. List<EsmTeamPolicyVO> hzList = new ArrayList<>();
  278. List<EsmUserPolicyVO> userPolicyList = new ArrayList<>();
  279. List<EsmUserPolicyVO> userPolicyList0 = new ArrayList<>();
  280. List<EsmUserPolicyVO> userPolicyList1 = new ArrayList<>();
  281. List<EsmUserPolicyVO> userPolicyList2 = new ArrayList<>();
  282. List<EsmUserPolicyVO> userPolicyList3 = new ArrayList<>();
  283. List<EsmUserPolicyVO> userPolicyList9 = new ArrayList<>();
  284. EsmUserReferrer esmUserReferrer = getById(record.getId());
  285. if (esmUserReferrer != null) {
  286. List<String> userList1 = new ArrayList<>();
  287. List<String> userList2 = new ArrayList<>();
  288. List<String> userList3 = new ArrayList<>();
  289. //本级信息
  290. //明细数据加工
  291. List<String> userList0 = new ArrayList<>();
  292. userList0.add(esmUserReferrer.getId());
  293. userPolicyList0 = this.baseMapper.queryOrderCount(userList0, record.getStartdate(), record.getEnddate());
  294. //汇总数据加工
  295. EsmTeamPolicyVO esmTeamPolicyVO0 = this.baseMapper.queryOrderCountHz(userList0, record.getStartdate(), record.getEnddate());
  296. EsmTeamPolicyVO esmTeamPolicyVO1 = new EsmTeamPolicyVO();
  297. EsmTeamPolicyVO esmTeamPolicyVO2 = new EsmTeamPolicyVO();
  298. EsmTeamPolicyVO esmTeamPolicyVO3 = new EsmTeamPolicyVO();
  299. esmTeamPolicyVO2.setTeamlevel("二级会员");
  300. esmTeamPolicyVO3.setTeamlevel("三级会员");
  301. if (esmTeamPolicyVO0 == null) {
  302. esmTeamPolicyVO0 = new EsmTeamPolicyVO();
  303. esmTeamPolicyVO0.setSumpremium(0);
  304. esmTeamPolicyVO0.setUsernum(0);
  305. } else {
  306. esmTeamPolicyVO0.setUsernum(1);
  307. }
  308. esmTeamPolicyVO0.setTeamlevel("本人");
  309. esmTeamPolicyVO0.setTeamnum(1);
  310. // 一级团队信息
  311. userList1 = this.baseMapper.getIdDown_1(esmUserReferrer.getId());
  312. esmTeamPolicyVO1.setTeamlevel("一级会员");
  313. if (userList1 != null && !userList1.isEmpty()) {
  314. userPolicyList1 = this.baseMapper.queryOrderCount(userList1, record.getStartdate(), record.getEnddate());
  315. EsmTeamPolicyVO esmTeamPolicyVO1_t = this.baseMapper.queryOrderCountHz(userList1, record.getStartdate(),
  316. record.getEnddate());
  317. if (esmTeamPolicyVO1_t != null) {
  318. esmTeamPolicyVO1.setSumpremium(esmTeamPolicyVO1_t.getSumpremium());
  319. esmTeamPolicyVO1.setUsernum(userPolicyList1.size());//出单人力
  320. }
  321. esmTeamPolicyVO1.setTeamnum(userList1.size());//团队人数
  322. // 二级团队信息
  323. userList2 = this.baseMapper.getIdDown_2(esmUserReferrer.getId());
  324. esmTeamPolicyVO2.setTeamlevel("二级会员");
  325. if (userList2 != null && !userList2.isEmpty()) {
  326. userPolicyList2 = this.baseMapper.queryOrderCount(userList2, record.getStartdate(), record.getEnddate());
  327. EsmTeamPolicyVO esmTeamPolicyVO2_t = this.baseMapper.queryOrderCountHz(userList2, record.getStartdate(),
  328. record.getEnddate());
  329. if (esmTeamPolicyVO2_t != null) {
  330. esmTeamPolicyVO2.setSumpremium(esmTeamPolicyVO2_t.getSumpremium());
  331. esmTeamPolicyVO2.setUsernum(userPolicyList2.size());
  332. }
  333. esmTeamPolicyVO2.setTeamnum(userList2.size());
  334. // 三级团队信息
  335. userList3 = this.baseMapper.getIdDown_3(esmUserReferrer.getId());
  336. if (userList3 != null && !userList3.isEmpty()) {
  337. userPolicyList3 = this.baseMapper.queryOrderCount(userList3, record.getStartdate(), record.getEnddate());
  338. EsmTeamPolicyVO esmTeamPolicyVO3_t = this.baseMapper.queryOrderCountHz(userList3, record.getStartdate(), record.getEnddate());
  339. esmTeamPolicyVO3.setTeamlevel("三级会员");
  340. esmTeamPolicyVO3.setTeamnum(userList3.size());
  341. if (esmTeamPolicyVO2_t != null) {
  342. esmTeamPolicyVO3.setSumpremium(esmTeamPolicyVO3_t.getSumpremium());
  343. esmTeamPolicyVO3.setUsernum(userPolicyList3.size());
  344. }
  345. }
  346. }
  347. }
  348. //临时团队
  349. List<String> registList = this.baseMapper.getIdDown3_regist(record.getId());
  350. if (registList != null && !registList.isEmpty()) {
  351. userPolicyList9 = this.baseMapper.queryOrderCount(registList, record.getStartdate(), record.getEnddate());
  352. }
  353. EsmTeamPolicyVO esmTeamPolicyVO9 = new EsmTeamPolicyVO();
  354. esmTeamPolicyVO9.setTeamlevel("临时会员");
  355. esmTeamPolicyVO9.setTeamnum(registList == null ? 0 : registList.size());
  356. //汇总
  357. List<String> userList = new ArrayList<>();
  358. userList.addAll(userList0);
  359. userList.addAll(userList1);
  360. userList.addAll(userList2);
  361. userList.addAll(userList3);
  362. userList.addAll(registList);
  363. userPolicyList = this.baseMapper.queryOrderCount(userList, record.getStartdate(), record.getEnddate());
  364. EsmTeamPolicyVO esmTeamPolicyVO = new EsmTeamPolicyVO();
  365. EsmTeamPolicyVO esmTeamPolicyVO_t = this.baseMapper.queryOrderCountHz(userList, record.getStartdate(), record.getEnddate());
  366. if (esmTeamPolicyVO_t != null) {
  367. esmTeamPolicyVO.setSumpremium(esmTeamPolicyVO_t.getSumpremium());
  368. esmTeamPolicyVO.setUsernum(userPolicyList.size());
  369. }
  370. esmTeamPolicyVO.setTeamlevel("汇总");
  371. esmTeamPolicyVO.setTeamnum(userList.size());
  372. hzList.add(esmTeamPolicyVO);
  373. hzList.add(esmTeamPolicyVO0);
  374. hzList.add(esmTeamPolicyVO1);
  375. hzList.add(esmTeamPolicyVO2);
  376. hzList.add(esmTeamPolicyVO3);
  377. hzList.add(esmTeamPolicyVO9);
  378. esmUserCountVO.setHzList(hzList);
  379. userPolicyList1.forEach(x-> x.setTeamlevel("1"));
  380. userPolicyList2.forEach(x-> x.setTeamlevel("2"));
  381. userPolicyList3.forEach(x-> x.setTeamlevel("3"));
  382. Map<String, String> collect = Stream.of(userPolicyList1, userPolicyList2, userPolicyList3)
  383. .flatMap(List::stream)
  384. .collect(Collectors.toMap(EsmUserPolicyVO::getId, EsmUserPolicyVO::getTeamlevel));
  385. userPolicyList.forEach(x -> {
  386. String s = collect.get(x.getId());
  387. x.setTeamlevel(s);
  388. });
  389. EsmUserCountVO.AggregateDataList aggregateDataList = new EsmUserCountVO.AggregateDataList(userPolicyList);
  390. EsmUserCountVO.AggregateDataList aggregateDataList0 = new EsmUserCountVO.AggregateDataList(userPolicyList0);
  391. EsmUserCountVO.AggregateDataList aggregateDataList1 = new EsmUserCountVO.AggregateDataList(userPolicyList1);
  392. EsmUserCountVO.AggregateDataList aggregateDataList2 = new EsmUserCountVO.AggregateDataList(userPolicyList2);
  393. EsmUserCountVO.AggregateDataList aggregateDataList3 = new EsmUserCountVO.AggregateDataList(userPolicyList3);
  394. EsmUserCountVO.AggregateDataList aggregateDataList9 = new EsmUserCountVO.AggregateDataList(userPolicyList9);
  395. esmUserCountVO.setAggregateDataLists(aggregateDataList);
  396. esmUserCountVO.setAggregateDataLists0(aggregateDataList0);
  397. esmUserCountVO.setAggregateDataLists1(aggregateDataList1);
  398. esmUserCountVO.setAggregateDataLists2(aggregateDataList2);
  399. esmUserCountVO.setAggregateDataLists3(aggregateDataList3);
  400. esmUserCountVO.setAggregateDataLists9(aggregateDataList9);
  401. } else {
  402. throw new SystemException("内部错误");
  403. }
  404. return esmUserCountVO;
  405. }
  406. public List<EsmUserReferrer> queryList(String affiliation) {
  407. return super.baseMapper.queryList(affiliation);
  408. }
  409. @Override
  410. public BasePageResult<SysUserTeamDto> getTeamUser(AppCustomerManagementQueryVo managementQueryVo, String userId) {
  411. List<EsmUserReferrer> esmUserReferrers = lambdaQuery().eq(EsmUserReferrer::getReferrerId, userId).list();
  412. if (esmUserReferrers.isEmpty()) {
  413. return new BasePageResult<>();
  414. }
  415. int i = esmUserReferrers.get(0).getLevel() + 3;
  416. PageHelper.startPage(managementQueryVo.getPageNum(), managementQueryVo.getPageSize());
  417. if ("2".equals(managementQueryVo.getAuthenticationStatus())) {
  418. managementQueryVo.setAuthenticationStatus("-1");
  419. }
  420. List<SysUserTeamDto> byTeam = baseMapper.getByTeam(managementQueryVo, userId, i);
  421. PageResult<SysUserTeamDto> sysUserPageResult = new PageResult<>(byTeam);
  422. return new BasePageResult<>(managementQueryVo.getPageNum(), managementQueryVo.getPageSize(), sysUserPageResult.getPageSize(),
  423. sysUserPageResult.getTotalPages(), sysUserPageResult.getContent());
  424. }
  425. /**
  426. * 人员团队业绩统计--指定业务员查询
  427. *
  428. * @return
  429. */
  430. @Override
  431. public List<EsmUserPolicyForUserVO> queryUserCountForUser(TeamUserQryVO record) {
  432. return this.baseMapper.queryOrderCountForUser(record.getId(), record.getStartdate(), record.getEnddate());
  433. }
  434. }