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

@@ -3,10 +3,38 @@ package cn.yinlihupo.mapper;
import cn.yinlihupo.domain.entity.Resource;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 资源Mapper接口
*/
@Mapper
public interface ResourceMapper extends BaseMapper<Resource> {
/**
* 分页查询资源列表(含负责人信息,支持多条件筛选)
*/
List<Map<String, Object>> selectResourcePageWithResponsible(@Param("projectId") Long projectId,
@Param("resourceType") String resourceType,
@Param("status") String status,
@Param("keyword") String keyword);
/**
* 查询资源预算汇总(按类型统计)
*/
List<Map<String, Object>> selectResourceBudgetSummary(@Param("projectId") Long projectId);
/**
* 查询即将到位但尚未到位的资源N天内
*/
List<Resource> selectPendingArrivalResources(@Param("projectId") Long projectId,
@Param("days") int days);
/**
* 查询待审批的资源申请
*/
List<Map<String, Object>> selectPendingApprovalResources(@Param("projectId") Long projectId);
}