<?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="cn.stylefeng.guns.sys.modular.system.mapper.UserMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="cn.stylefeng.guns.sys.modular.system.entity.User">
|
<id column="user_id" property="userId"/>
|
<result column="avatar" property="avatar"/>
|
<result column="account" property="account"/>
|
<result column="password" property="password"/>
|
<result column="salt" property="salt"/>
|
<result column="name" property="name"/>
|
<result column="birthday" property="birthday"/>
|
<result column="sex" property="sex"/>
|
<result column="email" property="email"/>
|
<result column="phone" property="phone"/>
|
<result column="role_id" property="roleId"/>
|
<result column="dept_id" property="deptId"/>
|
<result column="status" property="status"/>
|
<result column="create_time" property="createTime"/>
|
<result column="create_user" property="createUser"/>
|
<result column="update_time" property="updateTime"/>
|
<result column="update_user" property="updateUser"/>
|
<result column="version" property="version"/>
|
</resultMap>
|
|
<!-- 通用查询结果列 -->
|
<sql id="Base_Column_List">
|
user_id AS "userId", avatar AS "avatar", account AS "account", salt AS "salt", name AS "name", birthday AS "birthday", sex AS "sex", email AS "email", phone AS "phone", role_id AS "roleId", dept_id AS "deptId", status AS "status", create_time AS "createTime", create_user AS "createUser", update_time AS "updateTime", update_user AS "updateUser", version AS "version"
|
</sql>
|
|
<sql id="Base_Column_List_With_Pwd">
|
user_id AS "userId", avatar AS "avatar", account AS "account", salt AS "salt", password AS "password", name AS "name", birthday AS "birthday", sex AS "sex", email AS "email", phone AS "phone", role_id AS "roleId", dept_id AS "deptId", status AS "status", create_time AS "createTime", create_user AS "createUser", update_time AS "updateTime", update_user AS "updateUser", version AS "version"
|
</sql>
|
|
<select id="selectUsers" resultType="map">
|
select
|
<include refid="Base_Column_List"/>
|
from sys_user
|
where status != 'DELETED'
|
<if test="name != null and name != ''">
|
and (phone like CONCAT('%',#{name},'%')
|
or account like CONCAT('%',#{name},'%')
|
or name like CONCAT('%',#{name},'%'))
|
</if>
|
<if test="deptId != null and deptId != 0">
|
and (dept_id = #{deptId} or dept_id in ( select dept_id from sys_dept where pids like CONCAT('%$[', #{deptId}, '$]%') escape '$' ))
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
and (create_time between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
</select>
|
|
<select id="selectUsers" resultType="map" databaseId="sqlserver">
|
select
|
<include refid="Base_Column_List"/>
|
from sys_user
|
where status != 'DELETED'
|
<if test="name != null and name != ''">
|
and (phone like CONCAT('%',#{name},'%')
|
or account like CONCAT('%',#{name},'%')
|
or name like CONCAT('%',#{name},'%'))
|
</if>
|
<if test="deptId != null and deptId != 0">
|
and (dept_id = #{deptId} or dept_id in ( select dept_id from sys_dept where pids like CONCAT('%$[', #{deptId}, '$]%') escape '$' ))
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
and (create_time between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
</select>
|
|
<select id="selectUsers" resultType="map" databaseId="pgsql">
|
select
|
<include refid="Base_Column_List"/>
|
from sys_user
|
where status != 'DELETED'
|
<if test="name != null and name != ''">
|
and (phone like '%' || #{name} || '%'
|
or account like '%' || #{name} || '%'
|
or name like '%' || #{name} || '%')
|
</if>
|
<if test="deptId != null and deptId != 0">
|
and (dept_id = #{deptId} or dept_id in ( select dept_id from sys_dept where pids like '%[' || #{deptId} || ']%'))
|
</if>
|
<if test="beginTime != null and beginTime != ''">
|
and create_time >= to_timestamp(#{beginTime}||' 00:00:00','yyyy-mm-dd hh24:mi:ss')
|
</if>
|
<if test="endTime != null and endTime != ''">
|
and create_time <= to_timestamp(#{endTime}||' 23:59:59','yyyy-mm-dd hh24:mi:ss')
|
</if>
|
</select>
|
|
<select id="selectUsers" resultType="map" databaseId="oracle">
|
select
|
<include refid="Base_Column_List"/>
|
from sys_user
|
where status != 'DELETED'
|
<if test="name != null and name != ''">
|
and (phone like '%' || #{name} || '%'
|
or account like '%' || #{name} || '%'
|
or name like '%' || #{name} || '%')
|
</if>
|
<if test="deptId != null and deptId != 0">
|
and (dept_id = #{deptId} or dept_id in ( select dept_id from sys_dept where pids like '%[' || #{deptId} || ']%'))
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
and create_time >= to_date(#{beginTime}||'00:00:00','yyyy-mm-dd hh24:mi:ss')
|
and create_time <= to_date(#{endTime}||'23:59:59','yyyy-mm-dd hh24:mi:ss')
|
</if>
|
</select>
|
|
<select id="selectUsersByRole" resultType="map">
|
select
|
user_id AS "userId", avatar AS "avatar", account AS "account", salt AS "salt", u.name AS "name", birthday AS "birthday"
|
, sex AS "sex", email AS "email", phone AS "phone", u.role_id AS "roleId", dept_id AS "deptId", u.status AS "status"
|
, u.create_time AS "createTime", u.create_user AS "createUser", u.update_time AS "updateTime", u.update_user AS "updateUser", u.version AS "version"
|
from sys_user u
|
where u.status != 'DELETED'
|
<if test="name != null and name != ''">
|
and (u.phone like CONCAT('%',#{name},'%')
|
or u.account like CONCAT('%',#{name},'%')
|
or u.name like CONCAT('%',#{name},'%'))
|
</if>
|
<if test="roleId != null and roleId != 0">
|
and u.role_id like CONCAT('%',#{roleId},'%')
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
and (u.create_time between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
</select>
|
|
<select id="selectUsersByRole" resultType="map" databaseId="sqlserver">
|
select
|
user_id AS "userId", avatar AS "avatar", account AS "account", salt AS "salt", u.name AS "name", birthday AS "birthday"
|
, sex AS "sex", email AS "email", phone AS "phone", u.role_id AS "roleId", dept_id AS "deptId", u.status AS "status"
|
, u.create_time AS "createTime", u.create_user AS "createUser", u.update_time AS "updateTime", u.update_user AS "updateUser", u.version AS "version"
|
from sys_user u
|
where u.status != 'DELETED'
|
<if test="name != null and name != ''">
|
and (u.phone like CONCAT('%',#{name},'%')
|
or u.account like CONCAT('%',#{name},'%')
|
or u.name like CONCAT('%',#{name},'%'))
|
</if>
|
<if test="roleId != null and roleId != 0">
|
and u.role_id like CONCAT('%',#{roleId},'%')
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
and (u.create_time between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
</select>
|
|
<select id="selectUsersByRole" resultType="map" databaseId="pgsql">
|
select
|
user_id AS "userId", avatar AS "avatar", account AS "account", salt AS "salt", u.name AS "name", birthday AS "birthday"
|
, sex AS "sex", email AS "email", phone AS "phone", u.role_id AS "roleId", dept_id AS "deptId", u.status AS "status"
|
, u.create_time AS "createTime", u.create_user AS "createUser", u.update_time AS "updateTime", u.update_user AS "updateUser", u.version AS "version"
|
from sys_user u
|
where u.status != 'DELETED'
|
<if test="name != null and name != ''">
|
and (phone like '%' || #{name} || '%'
|
or account like '%' || #{name} || '%'
|
or name like '%' || #{name} || '%')
|
</if>
|
<if test="roleId != null and roleId != 0">
|
and u.role_id like '%' || #{roleId} || '%'
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
and
|
(
|
u.create_time >= to_timestamp(#{beginTime}||' 00:00:00','yyyy-mm-dd hh24:mi:ss')
|
and u.create_time <= to_timestamp(#{endTime}||' 23:59:59','yyyy-mm-dd hh24:mi:ss')
|
)
|
</if>
|
</select>
|
|
<select id="selectUsersByRole" resultType="map" databaseId="oracle">
|
select
|
user_id AS "userId", avatar AS "avatar", account AS "account", salt AS "salt", u.name AS "name", birthday AS "birthday"
|
, sex AS "sex", email AS "email", phone AS "phone", u.role_id AS "roleId", dept_id AS "deptId", u.status AS "status"
|
, u.create_time AS "createTime", u.create_user AS "createUser", u.update_time AS "updateTime", u.update_user AS "updateUser", u.version AS "version"
|
from sys_user u
|
where u.status != 'DELETED'
|
<if test="name != null and name != ''">
|
and (phone like '%' || #{name} || '%'
|
or account like '%' || #{name} || '%'
|
or name like '%' || #{name} || '%')
|
</if>
|
<if test="roleId != null and roleId != 0">
|
and u.role_id like '%' || #{roleId} || '%'
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
and
|
(
|
u.create_time >= to_date(#{beginTime}||' 00:00:00','yyyy-mm-dd hh24:mi:ss')
|
and u.create_time <= to_date(#{endTime}||' 23:59:59','yyyy-mm-dd hh24:mi:ss')
|
)
|
</if>
|
</select>
|
|
<update id="setStatus">
|
update sys_user set status = #{status} where user_id = #{userId}
|
</update>
|
|
<update id="changePwd">
|
update sys_user set password = #{pwd} where user_id = #{userId}
|
</update>
|
|
<update id="setRoles">
|
update sys_user set role_id = #{roleIds} where user_id =
|
#{userId}
|
</update>
|
|
<select id="getByAccount" resultType="cn.stylefeng.guns.sys.modular.system.entity.User">
|
select
|
<include refid="Base_Column_List_With_Pwd"/>
|
from sys_user where account = #{account} and status != 'DELETED'
|
</select>
|
|
<select id="listUserAndRoleExpectAdmin" resultType="map">
|
select
|
user.account as account,
|
user.name as name,
|
dept.simple_name as simpleName
|
from sys_user user
|
left join sys_dept dept on user.dept_id = dept.dept_id
|
</select>
|
|
<select id="listUserAndRoleExpectAdmin" resultType="map" databaseId="pgsql">
|
select
|
user.account as account,
|
user.name as name,
|
dept.simple_name as simpleName
|
from sys_user user
|
left join sys_dept dept on user.dept_id = dept.dept_id
|
</select>
|
|
<select id="listUserAndRoleExpectAdmin" resultType="map" databaseId="sqlserver">
|
select
|
user.account as account,
|
user.name as name,
|
dept.simple_name as simpleName
|
from sys_user user
|
left join sys_dept dept on user.dept_id = dept.dept_id
|
</select>
|
|
<select id="listUserAndRoleExpectAdmin" resultType="map" databaseId="oracle">
|
select
|
u.account as account,
|
u.name as name,
|
dept.simple_name as simpleName
|
from sys_user u
|
left join sys_dept dept on u.dept_id = dept.dept_id
|
</select>
|
|
</mapper>
|