package com.ydtech.modules.admin.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ydtech.modules.admin.model.SysUser; import com.ydtech.modules.admin.model.vo.SysUserBaseVO; import com.ydtech.modules.admin.model.vo.SysUserVO; import com.ydtech.modules.base.model.dto.PageDto; 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 userSql = "select t1.id as userId,t1.name as name,t1.sex as sex,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 " + " 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 " + " left join sys_user_role t3 on t1.id=t3.user_id" + " left join sys_role t4 on t3.role_id=t4.id" + " where t1.id=#{userId}"; ; 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" + ",sd.id as deptId,sd.name as deptName" + ",psd.id as pDeptId,psd.name as pDeptName" + ",t4.id as roleId" + ",t4.name as roleName" ; 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_user_info info on info.id=su.id " + " left join sys_user_role t3 on su.id=t3.user_id " + " left join sys_role t4 on t3.role_id=t4.id " + " where 1=1 " + " AND sd.id <> '' " + "" ; String selectUserFromWhereSql = " " + // "" + // " and su.usertype = #{page.columnFilters.usertype.value}" + // " " + // "" + // " and su.approval_status = #{page.columnFilters.approvalStatus.value}" + // " " + " " + " " + " and su.status = #{page.dto.status}" + " " + " " + " and su.name like concat('%',#{page.dto.name},'%')" + " " + "" + " and su.id = #{page.dto.userId}" + " " + "" + " and su.mobile = #{page.dto.mobile}" + " " + "" + " and su.dept_id like concat('%',#{page.dto.deptId},'%')" + " " + "" + " and t3.role_id = #{page.dto.roleId}" + " " + " " + ""; // 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") PageDto pageDto); // @Select("select count(1) " + selectUserFromSql + selectUserFromWhereSql) @Select({""}) int gainUserBaseInfoCount(@Param("page") PageDto pageDto); @Select(userSql) SysUserBaseVO selectUserById(@Param("userId") String userId); }