147 lines
5.7 KiB
XML
147 lines
5.7 KiB
XML
<?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.fuyuanshen.modules.system.mapper.app.APPUserMapper">
|
|
<resultMap id="BaseResultMap" type="com.fuyuanshen.modules.system.domain.app.APPUser">
|
|
<id column="app_user_id" property="id"/>
|
|
<result column="dept_id" property="deptId"/>
|
|
<result column="username" property="username"/>
|
|
<result column="nick_name" property="nickName"/>
|
|
<result column="email" property="email"/>
|
|
<result column="phone" property="phone"/>
|
|
<result column="gender" property="gender"/>
|
|
<result column="avatar_name" property="avatarName"/>
|
|
<result column="avatar_path" property="avatarPath"/>
|
|
<result column="password" property="password"/>
|
|
<result column="is_admin" property="admin"/>
|
|
<result column="admin" property="admin"/>
|
|
<result column="enabled" property="enabled"/>
|
|
<result column="pwd_reset_time" property="pwdResetTime"/>
|
|
<result column="level" property="userLevel"/>
|
|
<result column="pid" property="pid"/>
|
|
<result column="create_by" property="createBy"/>
|
|
<result column="update_by" property="updateBy"/>
|
|
<result column="create_time" property="createTime"/>
|
|
<result column="update_time" property="updateTime"/>
|
|
<result column="tenant_id" property="tenantId"/>
|
|
<result column="user_type" property="userType"/>
|
|
</resultMap>
|
|
|
|
<sql id="Base_Column_List">
|
|
u1
|
|
.
|
|
app_user_id
|
|
as user_user_id, u1.dept_id as user_dept_id, u1.username as user_username,
|
|
u1.nick_name as user_nick_name, u1.email as user_email, u1.phone as user_phone,
|
|
u1.gender as user_gender, u1.avatar_name as user_avatar_name, u1.avatar_path as user_avatar_path,
|
|
u1.enabled as user_enabled, u1.pwd_reset_time as user_pwd_reset_time, u1.create_by as user_create_by,
|
|
u1.update_by as user_update_by, u1.create_time as user_create_time, u1.update_time as user_update_time,
|
|
u1.user_level, u1.pid as user_pid,u1.is_admin AS admin,
|
|
</sql>
|
|
|
|
<!-- 查询APP/小程序用户 -->
|
|
<select id="queryAPPUser" resultMap="BaseResultMap">
|
|
SELECT u.*
|
|
FROM app_user u
|
|
<where>
|
|
<if test="criteria.enabled != null">
|
|
AND u.enabled = #{criteria.enabled}
|
|
</if>
|
|
<if test="criteria.username != null">
|
|
AND u.username = #{criteria.username}
|
|
</if>
|
|
AND u.user_type = #{criteria.userType}
|
|
</where>
|
|
ORDER BY u.app_user_id DESC
|
|
</select>
|
|
|
|
|
|
|
|
<!-- 根据条件查询一个用户 -->
|
|
<select id="selectByQueryOne" resultType="com.fuyuanshen.modules.system.domain.app.APPUser">
|
|
select
|
|
u.*
|
|
from app_user u
|
|
where u.username = #{appUserQuery.username}
|
|
</select>
|
|
|
|
|
|
<!--获取用户级别信息-->
|
|
<select id="selectRoleByUserLevel" resultType="com.fuyuanshen.modules.security.service.dto.app.AppRoleDto">
|
|
SELECT name , level , description , data_scope
|
|
FROM app_role
|
|
WHERE level = #{userLevel}
|
|
</select>
|
|
|
|
<select id="findByUsername" resultMap="BaseResultMap">
|
|
select
|
|
u1.password user_password, u1.is_admin user_is_admin, u1.tenant_id,
|
|
<include refid="Base_Column_List"/>
|
|
from app_user u1
|
|
where u1.username = #{username}
|
|
</select>
|
|
|
|
<update id="setUsername">
|
|
UPDATE app_user
|
|
<set>
|
|
<if test="phoneNumber != null">
|
|
username = #{phoneNumber}
|
|
</if>
|
|
</set>
|
|
WHERE phone = #{phoneNumber}
|
|
</update>
|
|
<resultMap id="APPUserWithRoleMap" type="com.fuyuanshen.modules.system.domain.app.APPUser">
|
|
<!-- 用户字段 -->
|
|
<id property="id" column="app_user_id"/>
|
|
<result property="username" column="username"/>
|
|
<result property="nickName" column="nick_name"/>
|
|
<result property="email" column="email"/>
|
|
<result property="phone" column="phone"/>
|
|
<result property="enabled" column="enabled"/>
|
|
<result property="gender" column="gender"/>
|
|
<result property="avatarPath" column="avatar_path"/>
|
|
<result property="pwdResetTime" column="pwd_reset_time"/>
|
|
<result property="userLevel" column="user_level"/>
|
|
<result property="pid" column="pid"/>
|
|
<result property="admin" column="is_admin"/>
|
|
<result property="createTime" column="create_time"/>
|
|
<result property="updateTime" column="update_time"/>
|
|
<result property="userType" column="user_type"/>
|
|
|
|
<!-- 角色字段 -->
|
|
<collection property="roles" ofType="com.fuyuanshen.modules.system.domain.Role">
|
|
<id column="role_id" property="id"/>
|
|
<result column="role_name" property="name"/>
|
|
<result column="role_level" property="level"/>
|
|
<result column="role_data_scope" property="dataScope"/>
|
|
</collection>
|
|
</resultMap>
|
|
|
|
<select id="appFindByUsername" resultMap="APPUserWithRoleMap">
|
|
SELECT
|
|
u1.app_user_id,
|
|
u1.username,
|
|
u1.nick_name,
|
|
u1.email,
|
|
u1.phone,
|
|
u1.enabled,
|
|
u1.gender,
|
|
u1.avatar_path,
|
|
u1.pwd_reset_time,
|
|
u1.user_level,
|
|
u1.pid,
|
|
u1.is_admin,
|
|
u1.create_time,
|
|
u1.update_time,
|
|
u1.user_type,
|
|
|
|
r.name AS role_name,
|
|
r.level AS role_level,
|
|
r.description AS role_description,
|
|
r.data_scope AS role_data_scope
|
|
FROM app_user u1
|
|
LEFT JOIN app_role r ON u1.user_level = r.level
|
|
WHERE u1.username = #{username}
|
|
</select>
|
|
|
|
|
|
</mapper> |