SysUserMapper.xml
2.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?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.apple.erp.mapper.SysUserMapper">
<!-- 根据用户名查询用户信息(包含角色和权限) -->
<select id="findUserWithRolesAndPermissions" resultType="com.apple.erp.entity.SysUser">
SELECT
u.user_id,
u.username,
u.real_name,
u.password,
u.phone,
u.email,
u.status,
u.last_login_time,
u.last_login_ip,
u.remark,
u.create_by,
u.create_time,
u.update_by,
u.update_time,
u.del_flag,
r.role_code,
r.role_name,
m.perms
FROM t_sys_user u
LEFT JOIN t_sys_user_role ur ON u.user_id = ur.user_id AND ur.del_flag = '0'
LEFT JOIN t_sys_role r ON ur.role_id = r.role_id AND r.del_flag = '0' AND r.status = 1
LEFT JOIN t_sys_role_menu rm ON r.role_id = rm.role_id AND rm.del_flag = '0'
LEFT JOIN t_sys_menu m ON rm.menu_id = m.menu_id AND m.del_flag = '0' AND m.status = 1
WHERE u.username = #{username} AND u.del_flag = '0' AND u.status = 1
</select>
<!-- 根据用户名查询用户基本信息 -->
<select id="findByUsername" resultType="com.apple.erp.entity.SysUser">
SELECT * FROM t_sys_user
WHERE username = #{username} AND del_flag = '0' AND status = 1
</select>
<!-- 根据用户ID查询菜单权限标识列表 -->
<select id="selectMenuPermsByUserId" parameterType="Long" resultType="String">
SELECT DISTINCT m.perms
FROM t_sys_menu m
LEFT JOIN t_sys_role_menu rm ON m.menu_id = rm.menu_id
LEFT JOIN t_sys_user_role ur ON rm.role_id = ur.role_id
LEFT JOIN t_sys_user u ON ur.user_id = u.user_id
WHERE u.user_id = #{userId}
AND m.menu_type IN ('1','2')
AND m.status = 1
AND m.del_flag = '0'
AND m.perms IS NOT NULL
AND m.perms != ''
</select>
<!-- 更新用户最后登录信息 -->
<update id="updateLastLoginInfo">
UPDATE t_sys_user
SET last_login_time = NOW(), last_login_ip = #{ip}
WHERE user_id = #{userId}
</update>
</mapper>