|
|
@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import org.apache.ibatis.annotations.Param;
|
|
|
import org.apache.ibatis.annotations.Select;
|
|
|
+import org.dromara.common.mybatis.annotation.DataColumn;
|
|
|
+import org.dromara.common.mybatis.annotation.DataPermission;
|
|
|
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
|
|
import org.dromara.system.domain.SysUser;
|
|
|
import org.dromara.system.domain.vo.SysTeacherVo;
|
|
|
@@ -28,25 +30,26 @@ public interface SysTeacherMapper extends BaseMapperPlus<SysUser, SysTeacherVo>
|
|
|
* @return 教师信息分页列表
|
|
|
*/
|
|
|
@Select("""
|
|
|
- SELECT
|
|
|
- u.user_id,
|
|
|
- u.user_name,
|
|
|
- u.nick_name,
|
|
|
- u.phonenumber,
|
|
|
- u.email,
|
|
|
- u.dept_id,
|
|
|
- d.dept_name,
|
|
|
- u.sex,
|
|
|
- u.status,
|
|
|
- u.create_time
|
|
|
- FROM sys_user u
|
|
|
- LEFT JOIN sys_dept d ON u.dept_id = d.dept_id
|
|
|
- WHERE u.del_flag = '0'
|
|
|
- AND u.account_type = '1'
|
|
|
- ${ew.customSqlSegment}
|
|
|
- ORDER BY u.create_time DESC
|
|
|
- """)
|
|
|
- Page<SysTeacherVo> selectPageTeacherList(@Param("page") Page<SysTeacherVo> page, @Param(Constants.WRAPPER) Wrapper<SysUser> wrapper);
|
|
|
+ SELECT
|
|
|
+ u.user_id,
|
|
|
+ u.user_name,
|
|
|
+ u.nick_name,
|
|
|
+ u.phonenumber,
|
|
|
+ u.email,
|
|
|
+ u.dept_id,
|
|
|
+ d.dept_name,
|
|
|
+ u.sex,
|
|
|
+ u.status,
|
|
|
+ u.create_time
|
|
|
+ FROM sys_user u
|
|
|
+ LEFT JOIN sys_dept d ON u.dept_id = d.dept_id
|
|
|
+ WHERE u.del_flag = '0'
|
|
|
+ AND u.account_type = '1'
|
|
|
+ ${ew.customSqlSegment}
|
|
|
+ ORDER BY u.create_time DESC
|
|
|
+ """)
|
|
|
+ Page<SysTeacherVo> selectPageTeacherList(@Param("page") Page<SysTeacherVo> page,
|
|
|
+ @Param(Constants.WRAPPER) Wrapper<SysUser> wrapper);
|
|
|
|
|
|
/**
|
|
|
* 查询教师信息列表
|
|
|
@@ -55,24 +58,24 @@ public interface SysTeacherMapper extends BaseMapperPlus<SysUser, SysTeacherVo>
|
|
|
* @return 教师信息列表
|
|
|
*/
|
|
|
@Select("""
|
|
|
- SELECT
|
|
|
- u.user_id,
|
|
|
- u.user_name,
|
|
|
- u.nick_name,
|
|
|
- u.phonenumber,
|
|
|
- u.email,
|
|
|
- u.dept_id,
|
|
|
- d.dept_name,
|
|
|
- u.sex,
|
|
|
- u.status,
|
|
|
- u.create_time
|
|
|
- FROM sys_user u
|
|
|
- LEFT JOIN sys_dept d ON u.dept_id = d.dept_id
|
|
|
- WHERE u.del_flag = '0'
|
|
|
- AND u.account_type = '1'
|
|
|
- ${ew.customSqlSegment}
|
|
|
- ORDER BY u.create_time DESC
|
|
|
- """)
|
|
|
+ SELECT
|
|
|
+ u.user_id,
|
|
|
+ u.user_name,
|
|
|
+ u.nick_name,
|
|
|
+ u.phonenumber,
|
|
|
+ u.email,
|
|
|
+ u.dept_id,
|
|
|
+ d.dept_name,
|
|
|
+ u.sex,
|
|
|
+ u.status,
|
|
|
+ u.create_time
|
|
|
+ FROM sys_user u
|
|
|
+ LEFT JOIN sys_dept d ON u.dept_id = d.dept_id
|
|
|
+ WHERE u.del_flag = '0'
|
|
|
+ AND u.account_type = '1'
|
|
|
+ ${ew.customSqlSegment}
|
|
|
+ ORDER BY u.create_time DESC
|
|
|
+ """)
|
|
|
List<SysTeacherVo> selectTeacherList(@Param(Constants.WRAPPER) Wrapper<SysUser> wrapper);
|
|
|
|
|
|
/**
|
|
|
@@ -83,78 +86,89 @@ public interface SysTeacherMapper extends BaseMapperPlus<SysUser, SysTeacherVo>
|
|
|
* @return 教师信息列表
|
|
|
*/
|
|
|
@Select("""
|
|
|
- SELECT
|
|
|
- u.user_id,
|
|
|
- u.user_name,
|
|
|
- u.nick_name,
|
|
|
- u.phonenumber,
|
|
|
- u.email,
|
|
|
- u.dept_id,
|
|
|
- d.dept_name,
|
|
|
- u.sex,
|
|
|
- u.status,
|
|
|
- u.create_time
|
|
|
- FROM sys_user u
|
|
|
- LEFT JOIN sys_dept d ON u.dept_id = d.dept_id
|
|
|
- WHERE u.del_flag = '0'
|
|
|
- AND u.account_type = '1'
|
|
|
- AND (u.nick_name LIKE CONCAT('%', #{name}, '%')
|
|
|
- OR u.user_name LIKE CONCAT('%', #{name}, '%')
|
|
|
- OR u.phonenumber LIKE CONCAT('%', #{name}, '%'))
|
|
|
- AND u.status = '0'
|
|
|
- ORDER BY u.create_time DESC
|
|
|
- LIMIT #{limit}
|
|
|
- """)
|
|
|
+ SELECT
|
|
|
+ u.user_id,
|
|
|
+ u.user_name,
|
|
|
+ u.nick_name,
|
|
|
+ u.phonenumber,
|
|
|
+ u.email,
|
|
|
+ u.dept_id,
|
|
|
+ d.dept_name,
|
|
|
+ u.sex,
|
|
|
+ u.status,
|
|
|
+ u.create_time
|
|
|
+ FROM sys_user u
|
|
|
+ LEFT JOIN sys_dept d ON u.dept_id = d.dept_id
|
|
|
+ WHERE u.del_flag = '0'
|
|
|
+ AND u.account_type = '1'
|
|
|
+ AND (u.nick_name LIKE CONCAT('%', #{name}, '%')
|
|
|
+ OR u.user_name LIKE CONCAT('%', #{name}, '%')
|
|
|
+ OR u.phonenumber LIKE CONCAT('%', #{name}, '%'))
|
|
|
+ AND u.status = '0'
|
|
|
+ ORDER BY u.create_time DESC
|
|
|
+ LIMIT #{limit}
|
|
|
+ """)
|
|
|
List<SysTeacherVo> searchTeachersByName(@Param("name") String name, @Param("limit") Integer limit);
|
|
|
|
|
|
/**
|
|
|
- * 根据部门ID获取教师列表
|
|
|
+ * 根据部门ID获取教师列表(带数据权限控制)
|
|
|
+ *
|
|
|
+ * 说明:添加数据权限注解后,只会返回用户有权限访问的部门的教师
|
|
|
*
|
|
|
* @param deptId 部门ID
|
|
|
* @return 教师信息列表
|
|
|
*/
|
|
|
+ @DataPermission({
|
|
|
+ @DataColumn(key = "deptName", value = "u.dept_id")
|
|
|
+ })
|
|
|
@Select("""
|
|
|
- SELECT
|
|
|
- u.user_id,
|
|
|
- u.user_name,
|
|
|
- u.nick_name,
|
|
|
- u.phonenumber,
|
|
|
- u.email,
|
|
|
- u.dept_id,
|
|
|
- d.dept_name,
|
|
|
- u.sex,
|
|
|
- u.status,
|
|
|
- u.create_time
|
|
|
- FROM sys_user u
|
|
|
- LEFT JOIN sys_dept d ON u.dept_id = d.dept_id
|
|
|
- WHERE u.del_flag = '0'
|
|
|
- AND u.account_type = '1'
|
|
|
- AND u.dept_id = #{deptId}
|
|
|
- AND u.status = '0'
|
|
|
- ORDER BY u.create_time DESC
|
|
|
- """)
|
|
|
+ SELECT
|
|
|
+ u.user_id,
|
|
|
+ u.user_name,
|
|
|
+ u.nick_name,
|
|
|
+ u.phonenumber,
|
|
|
+ u.email,
|
|
|
+ u.dept_id,
|
|
|
+ d.dept_name,
|
|
|
+ u.sex,
|
|
|
+ u.status,
|
|
|
+ u.create_time
|
|
|
+ FROM sys_user u
|
|
|
+ LEFT JOIN sys_dept d ON u.dept_id = d.dept_id
|
|
|
+ WHERE u.del_flag = '0'
|
|
|
+ AND u.account_type = '1'
|
|
|
+ AND u.dept_id = #{deptId}
|
|
|
+ AND u.status = '0'
|
|
|
+ ORDER BY u.create_time DESC
|
|
|
+ """)
|
|
|
List<SysTeacherVo> selectTeachersByDeptId(@Param("deptId") Long deptId);
|
|
|
|
|
|
/**
|
|
|
- * 获取部门树形结构(只包含有教师的部门)
|
|
|
+ * 获取部门树形结构(只包含有教师且用户有权限访问的部门)
|
|
|
+ *
|
|
|
+ * 说明:添加数据权限注解后,只会返回用户有权限访问的部门
|
|
|
+ * 这样可以避免在同行人选择器中显示用户无权访问的部门
|
|
|
*
|
|
|
* @return 部门树信息集合
|
|
|
*/
|
|
|
+ @DataPermission({
|
|
|
+ @DataColumn(key = "deptName", value = "d.dept_id")
|
|
|
+ })
|
|
|
@Select("""
|
|
|
- SELECT DISTINCT
|
|
|
- d.dept_id as id,
|
|
|
- d.parent_id,
|
|
|
- d.dept_name as label,
|
|
|
- d.order_num
|
|
|
- FROM sys_dept d
|
|
|
- INNER JOIN sys_user u ON d.dept_id = u.dept_id
|
|
|
- WHERE d.del_flag = '0'
|
|
|
- AND d.status = '0'
|
|
|
- AND u.del_flag = '0'
|
|
|
- AND u.account_type = '1'
|
|
|
- AND u.status = '0'
|
|
|
- ORDER BY d.order_num
|
|
|
- """)
|
|
|
+ SELECT DISTINCT
|
|
|
+ d.dept_id as id,
|
|
|
+ d.parent_id,
|
|
|
+ d.dept_name as label,
|
|
|
+ d.order_num
|
|
|
+ FROM sys_dept d
|
|
|
+ INNER JOIN sys_user u ON d.dept_id = u.dept_id
|
|
|
+ WHERE d.del_flag = '0'
|
|
|
+ AND d.status = '0'
|
|
|
+ AND u.del_flag = '0'
|
|
|
+ AND u.account_type = '1'
|
|
|
+ AND u.status = '0'
|
|
|
+ ORDER BY d.order_num
|
|
|
+ """)
|
|
|
List<SysDeptTreeVo> selectDeptTreeWithTeachers();
|
|
|
|
|
|
/**
|
|
|
@@ -164,21 +178,21 @@ public interface SysTeacherMapper extends BaseMapperPlus<SysUser, SysTeacherVo>
|
|
|
* @return 父级部门信息集合
|
|
|
*/
|
|
|
@Select("""
|
|
|
- <script>
|
|
|
- SELECT DISTINCT
|
|
|
- dept_id as id,
|
|
|
- parent_id,
|
|
|
- dept_name as label,
|
|
|
- order_num
|
|
|
- FROM sys_dept
|
|
|
- WHERE del_flag = '0'
|
|
|
- AND status = '0'
|
|
|
- AND dept_id IN
|
|
|
- <foreach collection="deptIds" item="deptId" open="(" separator="," close=")">
|
|
|
- #{deptId}
|
|
|
- </foreach>
|
|
|
- ORDER BY order_num
|
|
|
- </script>
|
|
|
- """)
|
|
|
+ <script>
|
|
|
+ SELECT DISTINCT
|
|
|
+ dept_id as id,
|
|
|
+ parent_id,
|
|
|
+ dept_name as label,
|
|
|
+ order_num
|
|
|
+ FROM sys_dept
|
|
|
+ WHERE del_flag = '0'
|
|
|
+ AND status = '0'
|
|
|
+ AND dept_id IN
|
|
|
+ <foreach collection="deptIds" item="deptId" open="(" separator="," close=")">
|
|
|
+ #{deptId}
|
|
|
+ </foreach>
|
|
|
+ ORDER BY order_num
|
|
|
+ </script>
|
|
|
+ """)
|
|
|
List<SysDeptTreeVo> selectDeptsByIds(@Param("deptIds") List<Long> deptIds);
|
|
|
-}
|
|
|
+}
|