SysUserMapper.java 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589
  1. package com.ydtech.modules.admin.dao;
  2. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.ydtech.modules.admin.model.QuTeamNum;
  6. import com.ydtech.modules.admin.model.QuUserNum;
  7. import com.ydtech.modules.admin.model.SysUser;
  8. import com.ydtech.modules.admin.model.dto.*;
  9. import com.ydtech.modules.admin.model.report.user.QianLineQDPersonnelReportDto;
  10. import com.ydtech.modules.admin.model.vo.*;
  11. import com.ydtech.modules.base.model.dto.PageDto;
  12. import org.apache.ibatis.annotations.Param;
  13. import org.apache.ibatis.annotations.Select;
  14. import org.springframework.stereotype.Repository;
  15. import java.util.HashMap;
  16. import java.util.List;
  17. import java.util.Map;
  18. /**
  19. * @author Administrator
  20. * @description 针对表【sys_user(用户管理)】的数据库操作Mapper
  21. * @createDate 2022-08-17 11:41:01
  22. * @Entity generator.domain.SysUser
  23. */
  24. @Repository
  25. public interface SysUserMapper extends BaseMapper<SysUser> {
  26. String userSql = "select t1.id as userId,t1.name as name,t1.mobile as mobile,t1.`status` as `status`,t2.id as deptId,t2.`name` as deptName,sd2.id as pDeptId,sd2.`name` as pDeptName,t4.id as roleId,t4.`name` as roleName ,t1.create_time as createTime " +
  27. " from sys_user t1 " +
  28. " left join sys_dept t2 on t1.dept_id=t2.id " +
  29. " left join sys_dept sd2 on sd2.id=t2.parent_id " +
  30. " left join sys_user_role t3 on t1.id=t3.user_id" +
  31. " left join sys_role t4 on t3.role_id=t4.id" +
  32. " where t1.id=#{userId}";
  33. ;
  34. String internalUserSql = "select t.id,t.name,t.dept_id deptid,t2.name deptname,t3.id comid,t3.name comname,t.status " +
  35. "from sys_user t left join sys_dept t2 on t.dept_id=t2.id " +
  36. "left join sys_dept t3 on t2.parent_id=t3.id " +
  37. "left join esm_user_internal a on t.id=a.id " +
  38. "where t.id=#{userId}";
  39. String internalUserByDeptIdSql = "select t1.id,t1.name,t1.dept_id deptid,sd.name deptname,sd2.id comid,sd2.name comname,t2.status " +
  40. "from sys_user t1 left join esm_user_internal t2 on t1.id=t2.id " +
  41. "LEFT JOIN sys_dept sd ON t1.dept_id=sd.id " +
  42. "LEFT JOIN sys_dept sd2 ON sd2.id=sd.parent_id " +
  43. "where 1=1 and t2.isteamleader = '1' and t1.dept_id=#{deptId}";
  44. String selectUserParamSql = "select su.id as userId,su.name,info.sex,su.mobile,su.status" +
  45. ",sd.id as deptId,sd.name as deptName" +
  46. ",psd.id as pDeptId,psd.name as pDeptName" +
  47. ",t4.id as roleId" +
  48. ",t4.name as roleName";
  49. String selectUserFromSql = " from sys_user su " +
  50. " left join sys_dept sd on su.dept_id=sd.id " +
  51. " left join sys_dept psd on sd.parent_id=psd.id " +
  52. " left join sys_user_info info on info.id=su.id " +
  53. " left join sys_user_role t3 on su.id=t3.user_id " +
  54. " left join sys_role t4 on t3.role_id=t4.id " +
  55. " where 1=1 " +
  56. " AND sd.id &lt;&gt; '' "
  57. + "";
  58. String selectUserFromWhereSql = " " +
  59. // "<if test='page.columnFilters.usertype !=null and page.columnFilters.usertype.value!=\"\" and page.columnFilters.usertype.value!=null '>" +
  60. // " and su.usertype = #{page.columnFilters.usertype.value}" +
  61. // "</if> " +
  62. // "<if test='page.columnFilters.approvalStatus !=null and page.columnFilters.approvalStatus.value!=\"\" and page.columnFilters.approvalStatus.value!=null '>" +
  63. // " and su.approval_status = #{page.columnFilters.approvalStatus.value}" +
  64. // "</if> " +
  65. "<if test='page.dto !=null '> " +
  66. "<if test='page.dto.status !=null and page.dto.status!=\"\" '> " +
  67. " and su.status = #{page.dto.status}" +
  68. "</if> " +
  69. "<if test='page.dto.name !=null and page.dto.name!=\"\" '> " +
  70. " and su.name like concat('%',#{page.dto.name},'%')" +
  71. "</if> " +
  72. "<if test='page.dto.userId !=null and page.dto.userId!=\"\" '>" +
  73. " and su.id = #{page.dto.userId}" +
  74. "</if> " +
  75. "<if test='page.dto.mobile !=null and page.dto.mobile!=\"\" '>" +
  76. " and su.mobile = #{page.dto.mobile}" +
  77. "</if> " +
  78. "<if test='page.dto.deptId !=null and page.dto.deptId!=\"\" '>" +
  79. " and su.dept_id like concat('%',#{page.dto.deptId},'%')" +
  80. "</if> " +
  81. "<if test='page.dto.roleId !=null and page.dto.roleId!=\"\" '>" +
  82. " and t3.role_id = #{page.dto.roleId}" +
  83. "</if> " +
  84. "</if> " +
  85. "";
  86. // String selectUserFromWhereSql = " " +
  87. // " and su.usertype = #{page.columnFilters.usertype.value}" +
  88. // " and su.status = #{page.columnFilters.status.value}" +
  89. // " and su.name like concat('%',#{page.columnFilters.name.value},'%')" +
  90. // " and su.id = #{page.columnFilters.userId.value}" +
  91. // " and su.mobile = #{page.columnFilters.mobile.value}" +
  92. // "";
  93. @Select(internalUserSql)
  94. SysUserVO gainInternalUser(@Param("userId") String userId);
  95. @Select(internalUserByDeptIdSql)
  96. SysUserVO gainInternalUserByDeptId(@Param("deptId") String deptId);
  97. List<SysUserVO> findByReferrerId(@Param("deptId") String deptId);
  98. @Select("SELECT u.id,u.name FROM sys_user u " +
  99. "LEFT JOIN sys_user_role sur ON sur.user_id = u.id " +
  100. "LEFT JOIN sys_role r ON r.id = sur.role_id WHERE r.id IN ('22') and u.status=1 and u.id NOT LIKE '%M%'")
  101. List<SysUser> findBackListByDeptId(@Param("deptId") String deptId);
  102. List<SysUserVO> findListByDeptId(@Param("sysUser") SysUser sysUser);
  103. List<SysUserVO> findListByDeptIdNew(@Param("sysUser") SysUser sysUser);
  104. Page<SysUserBaseVO> gainUserBaseInfo(@Param("page") Page page, @Param("user") SysUserDto user);
  105. IPage<SysUserBaseVO> findUserList(@Param("page") Page page, @Param("user") SysUserDto user);
  106. IPage<SysUserBaseVO> findAllUserList(@Param("page") Page page, @Param("user") SysUserDto user);
  107. IPage<SysUserBaseVO> findBackUserList(@Param("page") Page page, @Param("user") SysUserDto user);
  108. List<SysUserBaseVO> findBackUserList1(@Param("user") SysUserDto user);
  109. /**
  110. * 获取用户列表
  111. *
  112. * @param page 分页信息
  113. * @param sysUser 查询条件
  114. * @param containsSubDept 是否包含下级机构
  115. * @return
  116. */
  117. public IPage<SysUser> selectUserPage(Page page, @Param("sysUser") SysUser sysUser, @Param("containsSubDept") String containsSubDept);
  118. // @Select("select count(1) " + selectUserFromSql + selectUserFromWhereSql)
  119. @Select({"<script>", "select count(1) ", selectUserFromSql, selectUserFromWhereSql, "</script>"})
  120. int gainUserBaseInfoCount(@Param("page") PageDto pageDto);
  121. @Select(userSql)
  122. SysUserBaseVO selectUserById(@Param("userId") String userId);
  123. String selectSql = "SELECT u.* FROM sys_user u " +
  124. "LEFT JOIN sys_user_role sur ON sur.user_id = u.id " +
  125. " WHERE sur.role_id = #{roleId} and u.status=1 " +
  126. "<if test='userId!=\"\" '>" +
  127. " and u.id=#{userId} " +
  128. "</if> ";
  129. @Select({"<script>", selectSql, "</script>"})
  130. List<SysUser> findAllAgentRoleUser(@Param("userId") String userId, @Param("roleId") String roleId);
  131. List<QuTeamNum> getDept(@Param("quTeamNumDto") QuTeamNumDto quTeamNumDto);
  132. List<QuTeamNum> getDeptByCompany(@Param("quTeamNumDto") QuTeamNumDto quTeamNumDto);
  133. List<QuTeamNum> getUser(@Param("quTeamNumDto") QuTeamNumDto quTeamNumDto);
  134. List<QuUserNum> getUserNum(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
  135. List<QuUserNum> getMainWaitAuditSum(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
  136. List<QuUserNum> getMainWaitPaySum(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
  137. List<QuUserNum> getMainAcceptInsuranceSum(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
  138. // List<QuUserNum> getMainOrderDetails(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
  139. List<QuUserNum> getUserByCompany(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
  140. List<QuUserNum> getComMainWaitAuditSum(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
  141. List<QuUserNum> getComMainWaitPaySum(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
  142. List<QuUserNum> getComMainAcceptInsuranceSum(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
  143. List<QuUserNum> getUserDetail(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
  144. List<QuUserNum> getUserMainWaitAuditSum(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
  145. List<QuUserNum> getUserMainWaitPaySum(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
  146. List<QuUserNum> getUserMainAcceptInsuranceSum(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
  147. /**
  148. * @version
  149. * @author: hxl
  150. * @Date: 2024/4/15 17:51
  151. * @Description: 添加查询后线人员
  152. */
  153. String findQXUserSql = " SELECT t1.id AS userId,t1.NAME AS NAME,t1.mobile AS mobile,t1.`status` AS `status`,t2.id AS deptId,t2.`name` AS deptName,sd2.id AS pDeptId,sd2.`name` AS pDeptName " +
  154. " FROM sys_user t1 LEFT JOIN sys_dept t2 ON t1.dept_id = t2.id LEFT JOIN sys_dept sd2 ON sd2.id = t2.parent_id " +
  155. " WHERE t1.`status` = 1 AND t1.id not LIKE '%M%' " +
  156. "<if test='userId!=\"\" and userId!=null '>" +
  157. " AND t1.id=#{userId} " +
  158. "</if> ";
  159. @Select({"<script>", findQXUserSql, "</script>"})
  160. List<SysUserBaseVO> findQXUserList(@Param("userId") String userId);
  161. /**
  162. * @version
  163. * @author: hxl
  164. * @Date: 2024/4/16 16:25
  165. * @Description: 通过工号、姓名、手机号查询工号信息
  166. */
  167. List<SysUserBaseVO> getAllUsersByHospitality(@Param("user") SysUserVOExt sysUserVOExt);
  168. /**
  169. * @version
  170. * @author: hxl
  171. * @Date: 2024/4/16 16:25
  172. * @Description: 查询领导人为用户id的数据
  173. */
  174. @Select(" SELECT t1.id AS userId,t1.NAME AS NAME,t1.mobile AS mobile,t1.`status` AS `status`,t2.id AS deptId,t2.`name` AS deptName,sd2.id AS pDeptId,sd2.`name` AS pDeptName " +
  175. " FROM sys_user t1 LEFT JOIN sys_dept t2 ON t1.dept_id = t2.id LEFT JOIN sys_dept sd2 ON sd2.id = t2.parent_id " +
  176. " WHERE t1.`status` = 1 AND t1.leader_id = #{userId}")
  177. List<SysUserBaseVO> getAllUsersByLeaderId(@Param("userId") String userId);
  178. /**
  179. * @version
  180. * @author: hxl
  181. * @Date: 2024/4/17 16:55
  182. * @Description: 查询所有的代理人
  183. */
  184. @Select(" SELECT su.id FROM sys_user su LEFT JOIN sys_user_info info ON info.id = su.id LEFT JOIN sys_dept sd ON su.dept_id = sd.id " +
  185. " LEFT JOIN sys_dept psd ON psd.id = sd.parent_id LEFT JOIN sys_user_role t3 ON su.id = t3.user_id LEFT JOIN sys_role t4 ON t3.role_id = t4.id " +
  186. " AND sd.del_flag = '0' and su.status = 1 " +
  187. " WHERE su.dept_id LIKE concat( '%', 9, '%' ) AND t3.role_id IN ( 20 ) AND sd.management_source = 2")
  188. List<String> getAgentUserIds();
  189. /**
  190. * @version
  191. * @author: hxl
  192. * @Date: 2024/4/18 16:15
  193. * @Description: 获取客服人员数据
  194. */
  195. List<SysUserBaseVO> getCustomerUsers(@Param("user") SysUserVOExt sysUserVOExt);
  196. /**
  197. * @version
  198. * @author: hxl
  199. * @Date: 2024/4/23 10:49
  200. * @Description: 通过用户id和角色ids查询机构ids
  201. */
  202. List<String> getDeptIdsByRoleIdsAndUserIds(@Param("userIds") List<String> agentUserIds, @Param("roleIds") List<String> roleIds);
  203. /**
  204. * @version
  205. * @author: hxl
  206. * @Date: 2024/4/23 11:39
  207. * @Description: 查询后线人员+分页
  208. */
  209. Page<SysUserBaseVO> findUserListByPage(@Param("page") Page<SysUserBaseVO> page, @Param("user") SysUserDto sysUserDto);
  210. /**
  211. * @version
  212. * @author: hxl
  213. * @Date: 2024/4/16 16:25
  214. * @Description: 查询领导人为用户id的数据ids数据
  215. */
  216. @Select(" SELECT t1.id FROM sys_user t1 WHERE t1.`status` = 1 AND t1.leader_id = #{userId}")
  217. List<String> getUserIdsByLeaderId(@Param("userId") String userId);
  218. /**
  219. * @version
  220. * @author: hxl
  221. * @Date: 2024/4/25 8:50
  222. * @Description: 通过当前的用户查询渠道下的团队长的的管理的部门ids
  223. */
  224. List<String> getDeptIdsByUserIds(@Param("userId") String userId);
  225. /**
  226. * @version
  227. * @author: hxl
  228. * @Date: 2024/4/26 17:25
  229. * @Description: 查询用户分页+区域标志显示
  230. */
  231. Page<SysUserBaseVO> findUserListByAreaPage(@Param("page") Page<SysUserBaseVO> page, @Param("user") SysUserDto sysUserDto);
  232. /**
  233. * @version
  234. * @author: hxl
  235. * @Date: 2024/4/27 09:55
  236. * @Description: 查询所有的代理人
  237. */
  238. List<SysUserBaseVO> getAgentUserList();
  239. List<SysUserBaseVO> getAgentUserIdsByAreaIds();
  240. /**
  241. * @version
  242. * @author: hxl
  243. * @Date: 2024/5/7 10:45
  244. * @Description: 通过角色id和部门id查询是否存在团队长
  245. */
  246. int getCountByDeptAndRoleId(@Param("user") SysUser sysUserVo);
  247. /**
  248. * @version
  249. * @author: hxl
  250. * @Date: 2024/5/7 11:46
  251. * @Description: 查询该部门的渠道团队长
  252. */
  253. String findTDZUserIdByDeptId(@Param("deptId") String deptId);
  254. /**
  255. * @version
  256. * @author: hxl
  257. * @Date: 2024/6/28 9:34
  258. * @Description: 通过机构查询统计数据
  259. */
  260. HashMap<String, String> findSumCountAndAvgAge(@Param("deptId") String deptId);
  261. /**
  262. * @version
  263. * @author: hxl
  264. * @Date: 2024/6/28 9:48
  265. * @Description: 查询某个部门的学历分布
  266. */
  267. List<ReportDto> findEducationSumCount(@Param("deptId") String deptId);
  268. /**
  269. * @version
  270. * @author: hxl
  271. * @Date: 2024/6/28 10:35
  272. * @Description: 查询团队长的总人数和平均年龄
  273. */
  274. HashMap<String, String> findQXTDSumCountAndAvgAge(@Param("deptId") String deptId);
  275. /**
  276. * @version
  277. * @author: hxl
  278. * @Date: 2024/6/28 10:48
  279. * @Description: 查询代理人总数
  280. */
  281. HashMap<String, String> findQXDLSumCountAndAvgAge(@Param("deptId") String deptId, @Param("type") String type);
  282. /**
  283. * @version
  284. * @author: hxl
  285. * @Date: 2024/7/5 16:39
  286. * @Description: 查询团队长区域分布
  287. */
  288. List<ReportDto> findQXTDAreaSumCount(@Param("deptId") String deptId);
  289. /**
  290. * @version
  291. * @author: hxl
  292. * @Date: 2024/7/5 16:43
  293. * @Description: 查询代理人的区域分布
  294. */
  295. List<ReportDto> findQXDLAreaSumCount(@Param("deptId") String deptId);
  296. /**
  297. * @version
  298. * @author: hxl
  299. * @Date: 2024/7/5 16:47
  300. * @Description: 查询团队张的性别分布
  301. */
  302. List<ReportDto> findQXTDSexSumCount(@Param("deptId") String deptId);
  303. /**
  304. * @version
  305. * @author: hxl
  306. * @Date: 2024/7/5 16:54
  307. * @Description: 查询代理人的性别分布
  308. */
  309. List<ReportDto> findQXDLSexSumCount(@Param("deptId") String deptId);
  310. /**
  311. * @version
  312. * @author: hxl
  313. * @Date: 2024/7/5 16:56
  314. * @Description: 团队长维护人分布
  315. */
  316. List<ReportDto> findQXTDWhSumCount(@Param("deptId") String deptId);
  317. /**
  318. * @version
  319. * @author: hxl
  320. * @Date: 2024/7/5 17:04
  321. * @Description: 代理人维护人分布
  322. */
  323. List<ReportDto> findQXDLWhSumCount(@Param("deptId") String deptId);
  324. /**
  325. * @version
  326. * @author: hxl
  327. * @Date: 2024/7/5 17:11
  328. * @Description: 查询渠道数据
  329. */
  330. List<QianLineQDPersonnelReportDto> queryQXQDReportData(@Param("deptId") String deptId);
  331. /**
  332. * @version
  333. * @author: hxl
  334. * @Date: 2024/7/5 17:41
  335. * @Description: 查询该机构下的代理人
  336. */
  337. List<SysUser> findQXDLUserList(@Param("deptId") String deptId, @Param("type") String type);
  338. /**
  339. * @version
  340. * @author: hxl
  341. * @Date: 2024/7/11 16:09
  342. * @Description: 查询所有的后线人员
  343. */
  344. List<SysUser> findHxUserList();
  345. @Select("select id from sys_user where status ='1' ")
  346. List<String> getUserIds();
  347. HashMap<String, Object> queryHXReportDataNew(@Param("vo") HouLinePersonnelReportVo houLinePersonnelReportVo);
  348. IPage<QxFrontlineAgentDto> queryQxFrontlineAgent(@Param("page") Page page, @Param("vo") QxFrontlineAgentVo qxFrontlineAgentVo);
  349. IPage<QxFrontlineAgentDto> getByIdsList(@Param("page") Page page, @Param("vo") QxFrontlineAgentVo qxFrontlineAgentVo);
  350. SysUser getByUserId(String userId);
  351. /**
  352. * 获取电销人员的用户名
  353. *
  354. * @return 电销人员工号列表
  355. */
  356. List<String> getTelemarketingPersonnelUserId();
  357. /**
  358. * @version
  359. * @author: hxl
  360. * @Date: 2024/8/29 17:52
  361. * @Description: 按照省市区查询数据
  362. */
  363. List<QxFrontlineAgentDto> queryQxFrontlineAgentList(@Param("vo") QxFrontlineAgentVo qxFrontlineAgentVo);
  364. /**
  365. * @version
  366. * @author: hxl
  367. * @Date: 2024/8/30 18:47
  368. * @Description: 分页查询人员数据
  369. */
  370. Page<QxFrontlineAgentDto> findUserListByParam(@Param("page") Page page, @Param("vo") QxFrontlineAgentVo qxFrontlineAgentVo);
  371. /**
  372. * @version
  373. * @author: hxl
  374. * @Date: 2024/8/30 18:47
  375. * @Description: 更新
  376. */
  377. Integer updateManagementPersonnel(@Param("managementDto") UpdateManagementDto managementDto);
  378. List<SysUser> getAllAgent(String pid, List<String> ids);
  379. /**
  380. * @version
  381. * @author: hxl
  382. * @Date: 2024/9/24 17:35
  383. * @Description: 查询电销的管理人列表
  384. */
  385. List<SysUser> findDxUserList();
  386. /**
  387. * 根据部门获取代理人渠道数
  388. *
  389. * @param sysUserDeptRelationshipVo
  390. * @return
  391. */
  392. Page<SysUser> findQXDLUserListNew(@Param("page") Page page, @Param("vo") SysUserDeptRelationshipVo sysUserDeptRelationshipVo);
  393. Page<SysUser> getChanelList(@Param("page") Page page, @Param("vo") SysUserDeptRelationshipVo sysUserDeptRelationshipVo);
  394. List<SysUser> selectByParams(HashMap<String, Object> params);
  395. IPage<SysUserBaseVO> selectForAgentsAndChannelsPage(@Param("page") Page page, @Param("sysUserVO") SysUserDto sysUserVO);
  396. List<Map<String, String>> selectHxUserList(@Param("sysUserDto") SysUserDto sysUserDto);
  397. Integer cancelManagementPersonnel(@Param("managementDto") UpdateManagementDto managementDto);
  398. /**
  399. * @version
  400. * @author: hxl
  401. * @Date: 2024/9/25 19:25
  402. * @Description: 通过用户id查询电销组下的用户id
  403. */
  404. List<String> getGroupByUserId(@Param("userId") String userId);
  405. /**
  406. * @version
  407. * @author: hxl
  408. * @Date: 2024/9/26 18:11
  409. * @Description: 通过机构id查询后线用户数据
  410. */
  411. List<SysUser> getLeadListDeptId(@Param("deptId") String deptId);
  412. List<SysUser> selectByLeadId(String userId);
  413. List<SysUser> querySourceId(String id);
  414. List<QxFrontlineAgentDto> getQxFrontlineAgentList(@Param("vo") QxFrontlineAgentVo qxFrontlineAgentVo);
  415. List<SysUser> findHxUserListNew();
  416. AppUserInfoVo queryByUserId(@Param("userId") String userId);
  417. List<SysUser> selectByParamsTreeUser(HashMap<String, Object> params);
  418. /**
  419. * 通过 机构id 和 角色id查询用户
  420. *
  421. * @param roleId 角色id
  422. * @param deptId 机构id
  423. * @return 用户信息
  424. */
  425. SysUser getByRoleIdAndDeptId(@Param("roleId") String roleId, @Param("deptId") String deptId);
  426. /**
  427. * 根据登陆者 id deptId 查询
  428. */
  429. List<SysUser> selectLeaderBylanderInfo(@Param("deptId") String deptId, @Param("leaderId") String leaderId, @Param("userId") String userId);
  430. /**
  431. * 向上查询领导人
  432. *
  433. * @param userId
  434. * @return
  435. */
  436. List<SysUser> queryUpTheLeader(@Param("userId") String userId);
  437. /**
  438. * 根据分组查询
  439. *
  440. * @param userId 用户id
  441. * @return 分组用户
  442. */
  443. List<SysUser> queryByBusinessGrouping(@Param("userId") String userId);
  444. /**
  445. * @version
  446. * @author: hxl
  447. * @Date: 2024/9/24 17:35
  448. * @Description: 查询电销的管理人列表
  449. */
  450. List<SysUser> findDxZyUserList();
  451. List<SysUser> selectByUserId(List<String> ids);
  452. /**
  453. * @version
  454. * @author: hxl
  455. * @Date: 2024/12/25 18:28
  456. * @Description: 查询所有的人员
  457. */
  458. Page<SysUserBaseVO> findAllUsers(@Param("page") Page<SysUserBaseVO> page, @Param("user") SysUserDto sysUserDto);
  459. Page<SysUserBaseVO> findPartnerUserList(@Param("page") Page<SysUserBaseVO> page, @Param("user") SysUserDto user);
  460. @Select(" SELECT id FROM sys_user WHERE `status` = 1 and internal_id = 1 ")
  461. List<String> queryInternalNumber();
  462. @Select("SELECT COUNT(r.role_id) FROM sys_user u LEFT JOIN sys_user_role r ON u.id = r.user_id WHERE u.mobile = #{mobile} AND r.role_id = #{roleId}")
  463. int countTeamLeader(@Param("mobile")String mobile,@Param("roleId") String roleId);
  464. }