<?xml version="1.0" encoding="UTF-8"?> 
 | 
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
 | 
<mapper namespace="com.xcong.excoin.system.mapper.UserMapper"> 
 | 
    <sql id="countUserDetailSql" > 
 | 
        SELECT 
 | 
        COUNT(1) 
 | 
        FROM 
 | 
        t_user u 
 | 
        WHERE 1 = 1 
 | 
        <if test="user.username != null and user.username != ''"> 
 | 
            AND u.username = #{user.username} 
 | 
        </if> 
 | 
        <if test="user.deptId != null and user.deptId != ''"> 
 | 
            AND u.dept_id = #{user.deptId} 
 | 
        </if> 
 | 
        <if test="user.sex != null and user.sex != ''"> 
 | 
            AND u.ssex = #{user.sex} 
 | 
        </if> 
 | 
        <if test="user.status != null and user.status != ''"> 
 | 
            AND u.status = #{user.status} 
 | 
        </if> 
 | 
        <if test="user.mobile != null and user.mobile != ''"> 
 | 
            AND u.mobile = #{user.mobile} 
 | 
        </if> 
 | 
        <if test="user.createTimeFrom != null and user.createTimeFrom !=''"> 
 | 
            And u.create_time > #{user.createTimeFrom} 
 | 
        </if> 
 | 
        <if test="user.createTimeTo!= null and user.createTimeTo !=''"> 
 | 
            And u.create_time < #{user.createTimeTo} 
 | 
        </if> 
 | 
    </sql> 
 | 
  
 | 
    <sql id="findUserDetailSql"> 
 | 
        SELECT 
 | 
        u.user_id userId, 
 | 
        u.username, 
 | 
        u.email, 
 | 
        u.mobile, 
 | 
        u.status, 
 | 
        u.create_time createTime, 
 | 
        u.ssex sex, 
 | 
        u.dept_id deptId, 
 | 
        u.last_login_time lastLoginTime, 
 | 
        u.modify_time modifyTime, 
 | 
        u.description, 
 | 
        u.avatar, 
 | 
        d.dept_name deptName, 
 | 
        GROUP_CONCAT(r.role_id) roleId, 
 | 
        GROUP_CONCAT(r.ROLE_NAME) roleName 
 | 
        FROM 
 | 
        t_user u 
 | 
        LEFT JOIN t_dept d ON (u.dept_id = d.dept_id) 
 | 
        LEFT JOIN t_user_role ur ON (u.user_id = ur.user_id) 
 | 
        LEFT JOIN t_role r ON r.role_id = ur.role_id 
 | 
        WHERE 1 = 1 
 | 
        <if test="user.username != null and user.username != ''"> 
 | 
            AND u.username = #{user.username} 
 | 
        </if> 
 | 
        <if test="user.deptId != null and user.deptId != ''"> 
 | 
            AND d.dept_id = #{user.deptId} 
 | 
        </if> 
 | 
        <if test="user.sex != null and user.sex != ''"> 
 | 
            AND u.ssex = #{user.sex} 
 | 
        </if> 
 | 
        <if test="user.status != null and user.status != ''"> 
 | 
            AND u.status = #{user.status} 
 | 
        </if> 
 | 
        <if test="user.mobile != null and user.mobile != ''"> 
 | 
            AND u.mobile = #{user.mobile} 
 | 
        </if> 
 | 
        <if test="user.createTimeFrom != null and user.createTimeFrom !=''"> 
 | 
            And u.create_time > #{user.createTimeFrom} 
 | 
        </if> 
 | 
        <if test="user.createTimeTo!= null and user.createTimeTo !=''"> 
 | 
            And u.create_time < #{user.createTimeTo} 
 | 
        </if> 
 | 
        GROUP BY 
 | 
            u.username, 
 | 
            u.user_id, 
 | 
            u.email, 
 | 
            u.mobile, 
 | 
            u.status, 
 | 
            u.create_time, 
 | 
            u.ssex, 
 | 
            u.dept_id, 
 | 
            u.last_login_time, 
 | 
            u.modify_time, 
 | 
            u.description, 
 | 
            u.avatar 
 | 
    </sql> 
 | 
  
 | 
    <select id="countUserDetail" parameterType="user" resultType="long"> 
 | 
        <include refid="countUserDetailSql"/> 
 | 
    </select> 
 | 
  
 | 
    <select id="findUserDetailPage" parameterType="user" resultType="user"> 
 | 
        <include refid="findUserDetailSql"/> 
 | 
    </select> 
 | 
  
 | 
    <select id="findUserDetail" parameterType="user" resultType="user"> 
 | 
        <include refid="findUserDetailSql"/> 
 | 
    </select> 
 | 
  
 | 
    <select id="findByName" parameterType="string" resultType="user"> 
 | 
        SELECT 
 | 
        u.user_id userId, 
 | 
        u.username, 
 | 
        u.email, 
 | 
        u.mobile, 
 | 
        u.password, 
 | 
        u.status, 
 | 
        u.create_time createTime, 
 | 
        u.ssex sex, 
 | 
        u.dept_id deptId, 
 | 
        u.last_login_time lastLoginTime, 
 | 
        u.modify_time modifyTime, 
 | 
        u.description, 
 | 
        u.avatar, 
 | 
        u.theme, 
 | 
        u.is_tab isTab, 
 | 
        d.dept_name deptName, 
 | 
        GROUP_CONCAT(r.role_id) roleId, 
 | 
        GROUP_CONCAT(r.ROLE_NAME) roleName 
 | 
        FROM 
 | 
        t_user u 
 | 
        LEFT JOIN t_dept d ON (u.dept_id = d.dept_id) 
 | 
        LEFT JOIN t_user_role ur ON (u.user_id = ur.user_id) 
 | 
        LEFT JOIN t_role r ON r.role_id = ur.role_id 
 | 
        WHERE  u.username = #{username} 
 | 
        GROUP BY 
 | 
            u.username, 
 | 
            u.user_id, 
 | 
            u.email, 
 | 
            u.mobile, 
 | 
            u.password, 
 | 
            u.status, 
 | 
            u.create_time, 
 | 
            u.ssex, 
 | 
            u.dept_id, 
 | 
            u.last_login_time, 
 | 
            u.modify_time, 
 | 
            u.description, 
 | 
            u.avatar, 
 | 
            u.theme, 
 | 
            u.is_tab 
 | 
    </select> 
 | 
  
 | 
    <select id="findUserDataPermissions" parameterType="long" resultType="userDataPermission"> 
 | 
        select user_id userId, dept_id deptId from t_user_data_permission 
 | 
        where user_id = #{userId} 
 | 
    </select> 
 | 
</mapper> 
 |