package com.ydtech.modules.admin.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ydtech.core.page.PageRequest; import com.ydtech.modules.admin.model.SysUser; import com.ydtech.modules.admin.model.vo.SysUserBaseVO; import com.ydtech.modules.admin.model.vo.SysUserVO; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Repository; import java.util.List; /** * @author Administrator * @description 针对表【sys_user(用户管理)】的数据库操作Mapper * @createDate 2022-08-17 11:41:01 * @Entity generator.domain.SysUser */ @Repository public interface SysUserMapper extends BaseMapper { String internalUserSql = "select t.id,t.name,t.dept_id deptid,t2.name deptname,t3.id comid,t3.name comname,t.status " + "from sys_user t left join sys_dept t2 on t.dept_id=t2.id " + "left join sys_dept t3 on t2.parent_id=t3.id " + "left join esm_user_internal a on t.id=a.id " + "where t.id=#{userId}"; String internalUserByDeptIdSql = "select t1.id,t1.name,t1.dept_id deptid,sd.name deptname,sd2.id comid,sd2.name comname,t2.status " + "from sys_user t1 left join esm_user_internal t2 on t1.id=t2.id " + "LEFT JOIN sys_dept sd ON t1.dept_id=sd.id " + "LEFT JOIN sys_dept sd2 ON sd2.id=sd.parent_id " + "where 1=1 and t2.isteamleader = '1' and t1.dept_id=#{deptId}"; String selectUserParamSql = "select su.id as userId,su.name,su.sex,su.mobile,su.status\n" + ",sd.id as deptId,sd.name as deptName\n" + ",psd.id as pDeptId,psd.name as pDeptName\n" + ",dict.label as jobName\n" + ",dict2.label as approvalStatus"; String selectUserFromSql = " from sys_user su " + " left JOIN sys_dept sd on su.dept_id=sd.id " + " left join sys_dept psd on sd.parent_id=psd.id " + " left join sys_dict dict on dict.value=su.job_code " + " left join sys_dict dict2 on dict2.value=su.approval_status " + " left join esm_user_internal eui on eui.id=su.id " + " where 1=1 " + " AND sd.id <> '' " + " AND dict.itemname = 'jobcode' " + " AND dict2.itemname = 'approval' "; String selectUserFromWhereSql = " " + "" + " and su.usertype = #{page.columnFilters.usertype.value}" + " " + "" + " and su.approval_status = #{page.columnFilters.approvalStatus.value}" + " " + " " + " and su.name like concat('%',#{page.columnFilters.realName.value},'%')" + " " + "" + " and su.id = #{page.columnFilters.userId.value}" + " " + "" + " and su.mobile = #{page.columnFilters.mobile.value}" + " " + "" + " and su.del_flag = #{page.columnFilters.delFlag.value}" + " " + "" + " and su.dept_id like concat('%',#{page.columnFilters.deptId.value},'%')" + " " + ""; // String selectUserFromWhereSql = " " + // " and su.usertype = #{page.columnFilters.usertype.value}" + // " and su.status = #{page.columnFilters.status.value}" + // " and su.name like concat('%',#{page.columnFilters.name.value},'%')" + // " and su.id = #{page.columnFilters.userId.value}" + // " and su.mobile = #{page.columnFilters.mobile.value}" + // ""; @Select(internalUserSql) SysUserVO gainInternalUser(@Param("userId") String userId); @Select(internalUserByDeptIdSql) SysUserVO gainInternalUserByDeptId(@Param("deptId") String deptId); // @Select("select * from (" + selectUserParamSql + selectUserFromSql + selectUserFromWhereSql + " limit #{page.pageNum},#{page.pageSize} ) aaa") @Select({""}) List gainUserBaseInfo(@Param("page") PageRequest pageRequest); // @Select("select count(1) " + selectUserFromSql + selectUserFromWhereSql) @Select({""}) int gainUserBaseInfoCount(@Param("page") PageRequest pageRequest); }