登录成功

This commit is contained in:
2025-10-06 16:20:05 +08:00
parent a3e8687b31
commit a58f316703
54 changed files with 17818 additions and 622 deletions

View File

@@ -6,12 +6,12 @@
<resultMap id="BaseResultMap" type="org.xyzh.common.dto.menu.TbSysMenu">
<id column="id" property="id" jdbcType="VARCHAR"/>
<result column="menu_id" property="menuID" jdbcType="VARCHAR"/>
<result column="name" property="menuName" jdbcType="VARCHAR"/>
<result column="name" property="name" jdbcType="VARCHAR"/>
<result column="parent_id" property="parentID" jdbcType="VARCHAR"/>
<result column="url" property="path" jdbcType="VARCHAR"/>
<result column="url" property="url" jdbcType="VARCHAR"/>
<result column="icon" property="icon" jdbcType="VARCHAR"/>
<result column="order_num" property="sort" jdbcType="INTEGER"/>
<result column="type" property="menuType" jdbcType="INTEGER"/>
<result column="order_num" property="orderNum" jdbcType="INTEGER"/>
<result column="type" property="type" jdbcType="INTEGER"/>
<result column="creator" property="creator" jdbcType="VARCHAR"/>
<result column="updater" property="updater" jdbcType="VARCHAR"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
@@ -22,25 +22,19 @@
<!-- 基础字段 -->
<sql id="Base_Column_List">
id, menu_id, name, parent_id, url, icon, order_num, type,
creator, updater, create_time, update_time, delete_time, deleted
m.id, m.menu_id, m.name, m.parent_id, m.url, m.icon, m.order_num, m.type,
m.creator, m.updater, m.create_time, m.update_time, m.delete_time, m.deleted
</sql>
<!-- 通用条件 -->
<sql id="Where_Clause">
<where>
deleted = 0
<if test="menuName != null and menuName != ''">
AND menu_name LIKE CONCAT('%', #{menuName}, '%')
<if test="name != null and name != ''">
AND name LIKE CONCAT('%', #{name}, '%')
</if>
<if test="menuType != null">
AND menu_type = #{menuType}
</if>
<if test="status != null">
AND status = #{status}
</if>
<if test="visible != null">
AND visible = #{visible}
<if test="type != null">
AND type = #{type}
</if>
</where>
</sql>
@@ -48,81 +42,74 @@
<!-- 根据用户ID查询菜单列表 -->
<select id="selectMenusByUserId" resultMap="BaseResultMap">
SELECT DISTINCT
m.id, m.menu_id, m.parent_id, m.menu_name, m.menu_type,
m.path, m.component, m.permission, m.icon, m.sort,
m.visible, m.status, m.external_link, m.cache, m.frame,
m.query, m.remark, m.creator, m.updater,
m.create_time, m.update_time, m.delete_time, m.deleted
FROM tb_sys_menu m
INNER JOIN tb_sys_role_menu rm ON m.menu_id = rm.menu_id
INNER JOIN tb_sys_user_role ur ON rm.role_id = ur.role_id
<include refid="Base_Column_List"/>
FROM tb_sys_user_dept_role ur
INNER JOIN tb_sys_role_permission rp ON rp.role_id = ur.role_id
INNER JOIN tb_sys_menu_permission mp ON mp.permission_id = rp.permission_id
INNER JOIN tb_sys_menu m ON m.menu_id = mp.menu_id
WHERE m.deleted = 0
AND rm.deleted = 0
AND rp.deleted = 0
AND mp.deleted = 0
AND ur.deleted = 0
AND ur.user_id = #{userId}
AND m.status = 1
AND m.visible = 1
ORDER BY m.sort ASC, m.create_time ASC
ORDER BY m.create_time ASC
</select>
<!-- 根据角色ID查询菜单列表 -->
<select id="selectMenusByRoleId" resultMap="BaseResultMap">
SELECT
m.id, m.menu_id, m.parent_id, m.menu_name, m.menu_type,
m.path, m.component, m.permission, m.icon, m.sort,
m.visible, m.status, m.external_link, m.cache, m.frame,
m.query, m.remark, m.creator, m.updater,
m.create_time, m.update_time, m.delete_time, m.deleted
FROM tb_sys_menu m
INNER JOIN tb_sys_role_menu rm ON m.menu_id = rm.menu_id
<include refid="Base_Column_List"/>
FROM tb_sys_role_permission rp
INNER JOIN tb_sys_menu_permission mp ON mp.permission_id = rp.permission_id
INNER JOIN tb_sys_menu m ON m.menu_id = mp.menu_id
WHERE m.deleted = 0
AND rm.deleted = 0
AND rm.role_id = #{roleId}
ORDER BY m.sort ASC, m.create_time ASC
AND mp.deleted = 0
AND rp.deleted = 0
AND rp.role_id = #{roleId}
ORDER BY m.create_time ASC
</select>
<!-- 根据父菜单ID查询子菜单列表 -->
<select id="selectByParentId" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List"/>
FROM tb_sys_menu
WHERE deleted = 0
FROM tb_sys_menu m
WHERE m.deleted = 0
AND parent_id = #{parentId}
ORDER BY sort ASC, create_time ASC
ORDER BY create_time ASC
</select>
<!-- 查询菜单树结构 -->
<select id="selectMenuTree" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List"/>
FROM tb_sys_menu
WHERE deleted = 0
FROM tb_sys_menu m
WHERE m.deleted = 0
ORDER BY
CASE WHEN parent_id IS NULL OR parent_id = '' THEN 0 ELSE 1 END,
parent_id,
sort ASC,
create_time ASC
</select>
<!-- 检查菜单名称是否存在 -->
<select id="countByMenuName" resultType="int">
SELECT COUNT(1)
FROM tb_sys_menu
FROM tb_sys_menu m
WHERE deleted = 0
AND menu_name = #{menuName}
AND m.name = #{name}
<if test="excludeId != null and excludeId != ''">
AND id != #{excludeId}
AND m.id != #{excludeId}
</if>
</select>
<!-- 批量删除菜单(逻辑删除) -->
<update id="batchDeleteByIds">
UPDATE tb_sys_menu
UPDATE tb_sys_menu m
SET deleted = 1,
delete_time = NOW(),
updater = #{updater}
WHERE deleted = 0
AND id IN
WHERE m.deleted = 0
AND m.id IN
<foreach collection="menuIds" item="menuId" open="(" separator="," close=")">
#{menuId}
</foreach>
@@ -135,20 +122,10 @@
<if test="id != null">id,</if>
<if test="menuID != null">menu_id,</if>
<if test="parentID != null">parent_id,</if>
<if test="menuName != null">menu_name,</if>
<if test="menuType != null">menu_type,</if>
<if test="path != null">path,</if>
<if test="component != null">component,</if>
<if test="permission != null">permission,</if>
<if test="name != null">name,</if>
<if test="type != null">type,</if>
<if test="url != null">url,</if>
<if test="icon != null">icon,</if>
<if test="sort != null">sort,</if>
<if test="visible != null">visible,</if>
<if test="status != null">status,</if>
<if test="externalLink != null">external_link,</if>
<if test="cache != null">cache,</if>
<if test="frame != null">frame,</if>
<if test="query != null">query,</if>
<if test="remark != null">remark,</if>
<if test="creator != null">creator,</if>
<if test="createTime != null">create_time,</if>
deleted
@@ -157,20 +134,10 @@
<if test="id != null">#{id},</if>
<if test="menuID != null">#{menuID},</if>
<if test="parentID != null">#{parentID},</if>
<if test="menuName != null">#{menuName},</if>
<if test="menuType != null">#{menuType},</if>
<if test="path != null">#{path},</if>
<if test="component != null">#{component},</if>
<if test="permission != null">#{permission},</if>
<if test="name != null">#{name},</if>
<if test="type != null">#{type},</if>
<if test="url != null">#{url},</if>
<if test="icon != null">#{icon},</if>
<if test="sort != null">#{sort},</if>
<if test="visible != null">#{visible},</if>
<if test="status != null">#{status},</if>
<if test="externalLink != null">#{externalLink},</if>
<if test="cache != null">#{cache},</if>
<if test="frame != null">#{frame},</if>
<if test="query != null">#{query},</if>
<if test="remark != null">#{remark},</if>
<if test="creator != null">#{creator},</if>
<if test="createTime != null">#{createTime},</if>
0
@@ -183,20 +150,10 @@
<set>
<if test="menuID != null">menu_id = #{menuID},</if>
<if test="parentID != null">parent_id = #{parentID},</if>
<if test="menuName != null">menu_name = #{menuName},</if>
<if test="menuType != null">menu_type = #{menuType},</if>
<if test="path != null">path = #{path},</if>
<if test="component != null">component = #{component},</if>
<if test="permission != null">permission = #{permission},</if>
<if test="name != null">name = #{name},</if>
<if test="type != null">type = #{type},</if>
<if test="url != null">url = #{url},</if>
<if test="icon != null">icon = #{icon},</if>
<if test="sort != null">sort = #{sort},</if>
<if test="visible != null">visible = #{visible},</if>
<if test="status != null">status = #{status},</if>
<if test="externalLink != null">external_link = #{externalLink},</if>
<if test="cache != null">cache = #{cache},</if>
<if test="frame != null">frame = #{frame},</if>
<if test="query != null">query = #{query},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="updater != null">updater = #{updater},</if>
update_time = NOW()
</set>

View File

@@ -6,8 +6,8 @@
<resultMap id="BaseResultMap" type="org.xyzh.common.dto.permission.TbSysPermission">
<id column="id" property="id" jdbcType="VARCHAR"/>
<result column="permission_id" property="permissionID" jdbcType="VARCHAR"/>
<result column="name" property="permissionName" jdbcType="VARCHAR"/>
<result column="code" property="permissionCode" jdbcType="VARCHAR"/>
<result column="name" property="name" jdbcType="VARCHAR"/>
<result column="code" property="code" jdbcType="VARCHAR"/>
<result column="description" property="description" jdbcType="VARCHAR"/>
<result column="creator" property="creator" jdbcType="VARCHAR"/>
<result column="updater" property="updater" jdbcType="VARCHAR"/>
@@ -27,11 +27,11 @@
<sql id="Where_Clause">
<where>
deleted = 0
<if test="permissionName != null and permissionName != ''">
AND permission_name LIKE CONCAT('%', #{permissionName}, '%')
<if test="name != null and name != ''">
AND name LIKE CONCAT('%', #{name}, '%')
</if>
<if test="permissionCode != null and permissionCode != ''">
AND permission_code = #{permissionCode}
<if test="code != null and code != ''">
AND code = #{code}
</if>
<if test="permissionType != null">
AND permission_type = #{permissionType}
@@ -45,63 +45,60 @@
<!-- 根据用户ID查询权限列表 -->
<select id="selectPermissionsByUserId" resultMap="BaseResultMap">
SELECT DISTINCT
p.id, p.permission_id, p.permission_name, p.permission_code,
p.permission_type, p.resource_url, p.http_method, p.description,
p.status, p.sort, p.creator, p.updater,
p.id, p.permission_id, p.name, p.code, p.description,
p.creator, p.updater,
p.create_time, p.update_time, p.delete_time, p.deleted
FROM tb_sys_permission p
INNER JOIN tb_sys_role_permission rp ON p.permission_id = rp.permission_id
INNER JOIN tb_sys_user_role ur ON rp.role_id = ur.role_id
FROM tb_sys_user_dept_role ur
INNER JOIN tb_sys_role_permission rp ON rp.role_id = ur.role_id
INNER JOIN tb_sys_permission p ON p.permission_id = rp.permission_id
WHERE p.deleted = 0
AND rp.deleted = 0
AND ur.deleted = 0
AND ur.user_id = #{userID}
AND p.status = 1
ORDER BY p.sort ASC, p.create_time ASC
AND ur.user_id = #{userId}
ORDER BY p.create_time ASC
</select>
<!-- 根据角色ID查询权限列表 -->
<select id="selectPermissionsByRoleId" resultMap="BaseResultMap">
SELECT
p.id, p.permission_id, p.permission_name, p.permission_code,
p.permission_type, p.resource_url, p.http_method, p.description,
p.status, p.sort, p.creator, p.updater,
p.id, p.permission_id, p.name, p.code, p.description,
p.creator, p.updater,
p.create_time, p.update_time, p.delete_time, p.deleted
FROM tb_sys_permission p
INNER JOIN tb_sys_role_permission rp ON p.permission_id = rp.permission_id
FROM tb_sys_role_permission rp
INNER JOIN tb_sys_permission p ON p.permission_id = rp.permission_id
WHERE p.deleted = 0
AND rp.deleted = 0
AND rp.role_id = #{roleId}
ORDER BY p.sort ASC, p.create_time ASC
ORDER BY p.create_time ASC
</select>
<!-- 根据权限编码查询权限 -->
<select id="selectByPermissionCode" resultMap="BaseResultMap">
<select id="selectBycode" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List"/>
FROM tb_sys_permission
WHERE deleted = 0
AND permission_code = #{permissionCode}
AND code = #{code}
LIMIT 1
</select>
<!-- 检查权限名称是否存在 -->
<select id="countByPermissionName" resultType="int">
<select id="countByname" resultType="int">
SELECT COUNT(1)
FROM tb_sys_permission
WHERE deleted = 0
AND permission_name = #{permissionName}
AND name = #{name}
<if test="excludeId != null and excludeId != ''">
AND id != #{excludeId}
</if>
</select>
<!-- 检查权限编码是否存在 -->
<select id="countByPermissionCode" resultType="int">
<select id="countBycode" resultType="int">
SELECT COUNT(1)
FROM tb_sys_permission
WHERE deleted = 0
AND permission_code = #{permissionCode}
AND code = #{code}
<if test="excludeId != null and excludeId != ''">
AND id != #{excludeId}
</if>
@@ -126,14 +123,13 @@
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="permissionID != null">permission_id,</if>
<if test="permissionName != null">permission_name,</if>
<if test="permissionCode != null">permission_code,</if>
<if test="name != null">name,</if>
<if test="code != null">code,</if>
<if test="permissionType != null">permission_type,</if>
<if test="resourceUrl != null">resource_url,</if>
<if test="httpMethod != null">http_method,</if>
<if test="description != null">description,</if>
<if test="status != null">status,</if>
<if test="sort != null">sort,</if>
<if test="creator != null">creator,</if>
<if test="createTime != null">create_time,</if>
deleted
@@ -141,14 +137,13 @@
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="permissionID != null">#{permissionID},</if>
<if test="permissionName != null">#{permissionName},</if>
<if test="permissionCode != null">#{permissionCode},</if>
<if test="name != null">#{name},</if>
<if test="code != null">#{code},</if>
<if test="permissionType != null">#{permissionType},</if>
<if test="resourceUrl != null">#{resourceUrl},</if>
<if test="httpMethod != null">#{httpMethod},</if>
<if test="description != null">#{description},</if>
<if test="status != null">#{status},</if>
<if test="sort != null">#{sort},</if>
<if test="creator != null">#{creator},</if>
<if test="createTime != null">#{createTime},</if>
0
@@ -160,14 +155,13 @@
UPDATE tb_sys_permission
<set>
<if test="permissionID != null">permission_id = #{permissionID},</if>
<if test="permissionName != null">permission_name = #{permissionName},</if>
<if test="permissionCode != null">permission_code = #{permissionCode},</if>
<if test="name != null">name = #{name},</if>
<if test="code != null">code = #{code},</if>
<if test="permissionType != null">permission_type = #{permissionType},</if>
<if test="resourceUrl != null">resource_url = #{resourceUrl},</if>
<if test="httpMethod != null">http_method = #{httpMethod},</if>
<if test="description != null">description = #{description},</if>
<if test="status != null">status = #{status},</if>
<if test="sort != null">sort = #{sort},</if>
<if test="updater != null">updater = #{updater},</if>
update_time = NOW()
</set>

View File

@@ -3,10 +3,11 @@
<mapper namespace="org.xyzh.system.mapper.RoleMapper">
<!-- 基础结果映射 -->
<resultMap id="BaseResultMap" type="org.xyzh.common.dto.role.TbSysRole">
<resultMap id="tbSysRoleResultMap" type="org.xyzh.common.dto.role.TbSysRole">
<id column="id" property="id" jdbcType="VARCHAR"/>
<result column="dept_id" property="deptID" jdbcType="VARCHAR"/>
<result column="role_id" property="roleID" jdbcType="VARCHAR"/>
<result column="name" property="roleName" jdbcType="VARCHAR"/>
<result column="name" property="name" jdbcType="VARCHAR"/>
<result column="description" property="description" jdbcType="VARCHAR"/>
<result column="creator" property="creator" jdbcType="VARCHAR"/>
<result column="updater" property="updater" jdbcType="VARCHAR"/>
@@ -16,11 +17,42 @@
<result column="deleted" property="deleted" jdbcType="BOOLEAN"/>
</resultMap>
<resultMap id="deptRoleVOResultMap" type="org.xyzh.common.vo.DeptRoleVO">
<result column="dept_id" property="dept.deptID" jdbcType="VARCHAR"/>
<result column="dept_name" property="dept.name" jdbcType="VARCHAR"/>
<result column="dept_description" property="dept.description" jdbcType="VARCHAR"/>
<result column="dept_creator" property="dept.creator" jdbcType="VARCHAR"/>
<result column="dept_updater" property="dept.updater" jdbcType="VARCHAR"/>
<result column="dept_create_time" property="dept.createTime" jdbcType="TIMESTAMP"/>
<result column="dept_update_time" property="dept.updateTime" jdbcType="TIMESTAMP"/>
<result column="dept_delete_time" property="dept.deleteTime" jdbcType="TIMESTAMP"/>
<result column="dept_deleted" property="dept.deleted" jdbcType="BOOLEAN"/>
<result column="role_id" property="role.roleID" jdbcType="VARCHAR"/>
<result column="role_name" property="role.name" jdbcType="VARCHAR"/>
<result column="role_description" property="role.description" jdbcType="VARCHAR"/>
<result column="role_creator" property="role.creator" jdbcType="VARCHAR"/>
<result column="role_updater" property="role.updater" jdbcType="VARCHAR"/>
<result column="role_create_time" property="role.createTime" jdbcType="TIMESTAMP"/>
<result column="role_update_time" property="role.updateTime" jdbcType="TIMESTAMP"/>
<result column="role_delete_time" property="role.deleteTime" jdbcType="TIMESTAMP"/>
<result column="role_deleted" property="role.deleted" jdbcType="BOOLEAN"/>
</resultMap>
<!-- 基础字段 -->
<sql id="Base_Column_List">
id, role_id, name, description, creator, updater,
<sql id="TbSysRole_Column_List">
id, dept_id, role_id, name, description, creator, updater,
create_time, update_time, delete_time, deleted
</sql>
<sql id="TbSysDeptRole_Column_List">
dr.id, dr.dept_id, dr.role_id,
r.name as role_name, d.name as dept_name,
r.description as role_description, d.description as dept_description,
r.creator as role_creator, d.creator as dept_creator,
r.updater as role_updater, d.updater as dept_updater,
r.create_time as role_create_time, d.create_time as dept_create_time,
r.update_time as role_update_time, d.update_time as dept_update_time,
r.delete_time as role_delete_time, d.delete_time as dept_delete_time,
r.deleted as role_deleted, d.deleted as dept_deleted
</sql>
<!-- 通用条件 -->
<sql id="Where_Clause">
@@ -39,23 +71,21 @@
</sql>
<!-- 根据用户ID查询角色列表 -->
<select id="selectRolesByUserId" resultMap="BaseResultMap">
<select id="selectDeptRolesByUserId" resultMap="deptRoleVOResultMap">
SELECT
r.id, r.role_id, r.role_name, r.role_code, r.description,
r.status, r.sort, r.creator, r.updater,
r.create_time, r.update_time, r.delete_time, r.deleted
FROM tb_sys_role r
INNER JOIN tb_sys_user_role ur ON r.role_id = ur.role_id
WHERE r.deleted = 0
AND ur.deleted = 0
AND ur.user_id = #{userID}
ORDER BY r.sort ASC, r.create_time ASC
<include refid="TbSysDeptRole_Column_List"/>
FROM tb_sys_user_dept_role dr
INNER JOIN tb_sys_role r ON r.role_id = dr.role_id
INNER JOIN tb_sys_dept d ON d.dept_id = dr.dept_id
WHERE dr.deleted = 0
AND dr.user_id = #{userId}
ORDER BY dr.create_time ASC
</select>
<!-- 根据角色编码查询角色 -->
<select id="selectByRoleCode" resultMap="BaseResultMap">
<select id="selectByRoleCode" resultMap="tbSysRoleResultMap">
SELECT
<include refid="Base_Column_List"/>
<include refid="TbSysRole_Column_List"/>
FROM tb_sys_role
WHERE deleted = 0
AND role_code = #{roleCode}
@@ -107,7 +137,6 @@
<if test="roleCode != null">role_code,</if>
<if test="description != null">description,</if>
<if test="status != null">status,</if>
<if test="sort != null">sort,</if>
<if test="creator != null">creator,</if>
<if test="createTime != null">create_time,</if>
deleted
@@ -119,7 +148,6 @@
<if test="roleCode != null">#{roleCode},</if>
<if test="description != null">#{description},</if>
<if test="status != null">#{status},</if>
<if test="sort != null">#{sort},</if>
<if test="creator != null">#{creator},</if>
<if test="createTime != null">#{createTime},</if>
0
@@ -135,7 +163,6 @@
<if test="roleCode != null">role_code = #{roleCode},</if>
<if test="description != null">description = #{description},</if>
<if test="status != null">status = #{status},</if>
<if test="sort != null">sort = #{sort},</if>
<if test="updater != null">updater = #{updater},</if>
update_time = NOW()
</set>

View File

@@ -17,12 +17,38 @@
<result column="status" property="status" jdbcType="INTEGER"/>
</resultMap>
<resultMap id="UserInfoResultMap" type="org.xyzh.common.dto.user.TbSysUserInfo">
<id column="id" property="id" jdbcType="VARCHAR"/>
<result column="user_id" property="userID" jdbcType="VARCHAR"/>
<result column="avatar" property="avatar" jdbcType="VARCHAR"/>
<result column="gender" property="gender" jdbcType="INTEGER"/>
<result column="family_name" property="familyName" jdbcType="VARCHAR"/>
<result column="given_name" property="givenName" jdbcType="VARCHAR"/>
<result column="full_name" property="fullName" jdbcType="VARCHAR"/>
<result column="id_card" property="idCard" jdbcType="VARCHAR"/>
<result column="address" property="address" jdbcType="VARCHAR"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
<result column="delete_time" property="deleteTime" jdbcType="TIMESTAMP"/>
<result column="deleted" property="deleted" jdbcType="INTEGER"/>
</resultMap>
<!-- 基础字段 -->
<sql id="Base_Column_List">
id, username, password, email, phone, wechat_id,
create_time, update_time, delete_time, deleted, status
</sql>
<sql id="FullUser_Column_List">
id, user_id, avatar, gender, family_name, given_name, full_name, id_card, address,
create_time, update_time, delete_time, deleted, status
</sql>
<!-- 用户信息字段 -->
<sql id="UserInfo_Column_List">
id, user_id, avatar, gender, family_name, given_name, full_name, id_card, address,
create_time, update_time, delete_time, deleted
</sql>
<!-- 通用条件 -->
<sql id="Where_Clause">
<where>
@@ -52,6 +78,16 @@
LIMIT 1
</select>
<!-- 根据用户ID查询用户信息 -->
<select id="selectUserInfoById" resultMap="UserInfoResultMap">
SELECT
<include refid="UserInfo_Column_List"/>
FROM tb_sys_user_info
WHERE deleted = 0
AND user_id = #{userId}
LIMIT 1
</select>
<!-- 根据邮箱查询用户 -->
<select id="selectByEmail" resultMap="BaseResultMap">
SELECT