SysUserMapper.java 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. package com.ydtech.modules.admin.dao;
  2. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  3. import com.ydtech.core.page.PageRequest;
  4. import com.ydtech.modules.admin.model.SysUser;
  5. import com.ydtech.modules.admin.model.vo.SysUserBaseVO;
  6. import com.ydtech.modules.admin.model.vo.SysUserVO;
  7. import org.apache.ibatis.annotations.Param;
  8. import org.apache.ibatis.annotations.Select;
  9. import org.springframework.stereotype.Repository;
  10. import java.util.List;
  11. /**
  12. * @author Administrator
  13. * @description 针对表【sys_user(用户管理)】的数据库操作Mapper
  14. * @createDate 2022-08-17 11:41:01
  15. * @Entity generator.domain.SysUser
  16. */
  17. @Repository
  18. public interface SysUserMapper extends BaseMapper<SysUser> {
  19. String internalUserSql = "select t.id,t.name,t.dept_id deptid,t2.name deptname,t3.id comid,t3.name comname,t.status " +
  20. "from sys_user t left join sys_dept t2 on t.dept_id=t2.id " +
  21. "left join sys_dept t3 on t2.parent_id=t3.id " +
  22. "left join esm_user_internal a on t.id=a.id " +
  23. "where t.id=#{userId}";
  24. String internalUserByDeptIdSql = "select t1.id,t1.name,t1.dept_id deptid,sd.name deptname,sd2.id comid,sd2.name comname,t2.status " +
  25. "from sys_user t1 left join esm_user_internal t2 on t1.id=t2.id " +
  26. "LEFT JOIN sys_dept sd ON t1.dept_id=sd.id " +
  27. "LEFT JOIN sys_dept sd2 ON sd2.id=sd.parent_id " +
  28. "where 1=1 and t2.isteamleader = '1' and t1.dept_id=#{deptId}";
  29. String selectUserParamSql = "select su.id as userId,su.name,su.sex,su.mobile,su.status\n" +
  30. ",sd.id as deptId,sd.name as deptName\n" +
  31. ",psd.id as pDeptId,psd.name as pDeptName\n" +
  32. ",dict.label as jobName\n" +
  33. ",dict2.label as approvalStatus";
  34. String selectUserFromSql = " from sys_user su " +
  35. " left JOIN sys_dept sd on su.dept_id=sd.id " +
  36. " left join sys_dept psd on sd.parent_id=psd.id " +
  37. " left join sys_dict dict on dict.value=su.job_code " +
  38. " left join sys_dict dict2 on dict2.value=su.approval_status " +
  39. " left join esm_user_internal eui on eui.id=su.id " +
  40. " where 1=1 " +
  41. " AND sd.id &lt;&gt; '' " +
  42. " AND dict.itemname = 'jobcode' " +
  43. " AND dict2.itemname = 'approval' ";
  44. String selectUserFromWhereSql = " " +
  45. "<if test='page.columnFilters.usertype !=null and page.columnFilters.usertype.value!=\"\" and page.columnFilters.usertype.value!=null '>" +
  46. " and su.usertype = #{page.columnFilters.usertype.value}" +
  47. "</if> " +
  48. "<if test='page.columnFilters.approvalStatus !=null and page.columnFilters.approvalStatus.value!=\"\" and page.columnFilters.approvalStatus.value!=null '>" +
  49. " and su.approval_status = #{page.columnFilters.approvalStatus.value}" +
  50. "</if> " +
  51. "<if test='page.columnFilters.realName !=null and page.columnFilters.realName.value!=\"\" and page.columnFilters.realName.value!=null '> " +
  52. " and su.name like concat('%',#{page.columnFilters.realName.value},'%')" +
  53. "</if> " +
  54. "<if test='page.columnFilters.userId !=null and page.columnFilters.userId.value!=\"\" and page.columnFilters.userId.value!=null '>" +
  55. " and su.id = #{page.columnFilters.userId.value}" +
  56. "</if> " +
  57. "<if test='page.columnFilters.mobile !=null and page.columnFilters.mobile.value!=\"\" and page.columnFilters.mobile.value!=null '>" +
  58. " and su.mobile = #{page.columnFilters.mobile.value}" +
  59. "</if> " +
  60. "<if test='page.columnFilters.delFlag !=null and page.columnFilters.delFlag.value!=\"\" and page.columnFilters.delFlag.value!=null '>" +
  61. " and su.del_flag = #{page.columnFilters.delFlag.value}" +
  62. "</if> " +
  63. "<if test='page.columnFilters.deptId !=null and page.columnFilters.deptId.value!=\"\" and page.columnFilters.deptId.value!=null '>" +
  64. " and su.dept_id like concat('%',#{page.columnFilters.deptId.value},'%')" +
  65. "</if> " +
  66. "";
  67. // String selectUserFromWhereSql = " " +
  68. // " and su.usertype = #{page.columnFilters.usertype.value}" +
  69. // " and su.status = #{page.columnFilters.status.value}" +
  70. // " and su.name like concat('%',#{page.columnFilters.name.value},'%')" +
  71. // " and su.id = #{page.columnFilters.userId.value}" +
  72. // " and su.mobile = #{page.columnFilters.mobile.value}" +
  73. // "";
  74. @Select(internalUserSql)
  75. SysUserVO gainInternalUser(@Param("userId") String userId);
  76. @Select(internalUserByDeptIdSql)
  77. SysUserVO gainInternalUserByDeptId(@Param("deptId") String deptId);
  78. // @Select("select * from (" + selectUserParamSql + selectUserFromSql + selectUserFromWhereSql + " limit #{page.pageNum},#{page.pageSize} ) aaa")
  79. @Select({"<script>",
  80. "select * from (",
  81. selectUserParamSql,
  82. selectUserFromSql,
  83. selectUserFromWhereSql,
  84. " limit #{page.pageNum},#{page.pageSize} ) aaa",
  85. "</script>"})
  86. List<SysUserBaseVO> gainUserBaseInfo(@Param("page") PageRequest pageRequest);
  87. // @Select("select count(1) " + selectUserFromSql + selectUserFromWhereSql)
  88. @Select({"<script>", "select count(1) ", selectUserFromSql, selectUserFromWhereSql, "</script>"})
  89. int gainUserBaseInfoCount(@Param("page") PageRequest pageRequest);
  90. }