<?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.tcm.training.admin.user.mapper.SysUserMapper">
|
|
<select id="selectAccountPage"
|
resultType="com.tcm.training.admin.user.row.AccountListRow">
|
SELECT
|
u.id,
|
u.real_name AS realName,
|
u.username,
|
u.phone,
|
r.id AS roleId,
|
r.role_name AS roleName,
|
u.status,
|
u.created_at AS createdAt
|
FROM sys_user u
|
LEFT JOIN (
|
SELECT user_id, MIN(role_id) AS role_id
|
FROM sys_user_role
|
GROUP BY user_id
|
) ur ON ur.user_id = u.id
|
LEFT JOIN sys_role r ON r.id = ur.role_id AND r.deleted = 0
|
WHERE u.deleted = 0
|
<if test="realName != null and realName.trim() != ''">
|
AND u.real_name LIKE CONCAT('%', #{realName}, '%')
|
</if>
|
<if test="phone != null and phone.trim() != ''">
|
AND u.phone LIKE CONCAT('%', #{phone}, '%')
|
</if>
|
<if test="roleId != null">
|
AND r.id = #{roleId}
|
</if>
|
<if test="status != null">
|
AND u.status = #{status}
|
</if>
|
ORDER BY u.created_at DESC, u.id DESC
|
</select>
|
|
<select id="selectAccountDetail"
|
resultType="com.tcm.training.admin.user.row.AccountDetailRow">
|
SELECT
|
u.id,
|
u.real_name AS realName,
|
u.username,
|
u.phone,
|
r.id AS roleId,
|
r.role_name AS roleName,
|
u.status,
|
u.created_at AS createdAt,
|
u.updated_at AS updatedAt
|
FROM sys_user u
|
LEFT JOIN (
|
SELECT user_id, MIN(role_id) AS role_id
|
FROM sys_user_role
|
GROUP BY user_id
|
) ur ON ur.user_id = u.id
|
LEFT JOIN sys_role r ON r.id = ur.role_id AND r.deleted = 0
|
WHERE u.deleted = 0
|
AND u.id = #{id}
|
LIMIT 1
|
</select>
|
|
</mapper>
|