feat(core): 新增项目及相关功能的数据访问层和权限控制切面

- 添加多个Mapper接口及XML文件支持项目、成员、里程碑、任务、风险、资源、
  文件附件等模块的数据操作和查询功能,支持复杂查询与统计
- 新增Sa-Token权限配置,集成统一认证管理
- 引入权限常量类,定义系统角色、项目角色及权限编码标准
- 新增项目权限校验切面,实现基于注解的项目权限和角色校验逻辑
- 更新配置文件和依赖,集成MyBatis Plus、MinIO、Spring AI及文档解析相关库
- 调整MyBatis配置的类型别名包路径,统一领域实体引用路径
This commit is contained in:
2026-03-27 16:01:00 +08:00
parent a5e62e6885
commit 15b0013cd0
38 changed files with 2424 additions and 2 deletions

View File

@@ -0,0 +1,41 @@
<?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="cn.yinlihupo.mapper.SysPermissionMapper">
<!-- 根据角色编码列表查询权限编码列表 -->
<select id="selectPermissionCodesByRoleCodes" resultType="String">
SELECT DISTINCT p.permission_code
FROM sys_permission p
INNER JOIN sys_role_permission rp ON p.id = rp.permission_id
INNER JOIN sys_role r ON rp.role_id = r.id
WHERE r.role_code IN
<foreach collection="roleCodes" item="code" open="(" separator="," close=")">
#{code}
</foreach>
AND p.deleted = 0
AND r.deleted = 0
AND p.status = 1
</select>
<!-- 查询菜单树(含按钮权限) -->
<select id="selectMenuTree" resultType="SysPermission">
SELECT *
FROM sys_permission
WHERE deleted = 0
AND status = 1
AND permission_type IN (1, 2)
ORDER BY sort_order ASC, id ASC
</select>
<!-- 根据角色ID查询权限列表 -->
<select id="selectPermsByRoleId" resultType="SysPermission">
SELECT p.*
FROM sys_permission p
INNER JOIN sys_role_permission rp ON p.id = rp.permission_id
WHERE rp.role_id = #{roleId}
AND p.deleted = 0
ORDER BY p.sort_order ASC
</select>
</mapper>