feat(admin): Implement admin module foundation

This commit is contained in:
2025-04-11 00:26:30 +08:00
parent 2f49bed861
commit 36380d50a7
71 changed files with 4682 additions and 15 deletions
@@ -0,0 +1,78 @@
<?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.nuaa.video.admin.mapper.AdminRoleMapper">
<!-- 分页查询角色列表 -->
<select id="selectRoleList" resultMap="roleMap">
SELECT
r.*,
p.id AS perm_id,
p.name AS perm_name,
p.code AS perm_code,
p.description AS perm_description
FROM
admin_role r
LEFT JOIN
admin_role_permission rp ON r.id = rp.role_id
LEFT JOIN
admin_permission p ON rp.permission_id = p.id
<where>
<if test="keyword != null and keyword != ''">
AND (r.name LIKE CONCAT('%', #{keyword}, '%')
OR r.code LIKE CONCAT('%', #{keyword}, '%')
OR r.description LIKE CONCAT('%', #{keyword}, '%'))
</if>
</where>
ORDER BY r.id ASC
</select>
<!-- 获取角色详情 -->
<select id="selectRoleDetail" resultMap="roleMap">
SELECT
r.*,
p.id AS perm_id,
p.name AS perm_name,
p.code AS perm_code,
p.description AS perm_description
FROM
admin_role r
LEFT JOIN
admin_role_permission rp ON r.id = rp.role_id
LEFT JOIN
admin_permission p ON rp.permission_id = p.id
WHERE
r.id = #{id}
</select>
<!-- 获取管理员的角色列表 -->
<select id="selectRolesByAdminId" resultType="com.nuaa.video.admin.entity.AdminRole">
SELECT
r.*
FROM
admin_role r
INNER JOIN
admin_user_role ur ON r.id = ur.role_id
WHERE
ur.admin_id = #{adminId}
</select>
<!-- 结果映射 -->
<resultMap id="roleMap" type="com.nuaa.video.admin.entity.AdminRole">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="code" column="code"/>
<result property="description" column="description"/>
<result property="createdBy" column="created_by"/>
<result property="updatedBy" column="updated_by"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<!-- 权限集合 -->
<collection property="permissions" ofType="com.nuaa.video.admin.entity.AdminPermission">
<id property="id" column="perm_id"/>
<result property="name" column="perm_name"/>
<result property="code" column="perm_code"/>
<result property="description" column="perm_description"/>
</collection>
</resultMap>
</mapper>