feat: 创建项目功能后端实现

- 创建 ccdi_project 表及相关字典和权限
- 添加逻辑删除和归档字段
- 实现实体类、DTO、VO、Mapper、Service、Controller
- 优化字段命名和长度
- 添加完整的校验注解和 Swagger 文档
- 通过代码审查
This commit is contained in:
wkc
2026-02-26 17:04:45 +08:00
parent 422df06095
commit 324c978584
10 changed files with 528 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
<?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.ruoyi.info.collection.mapper.CcdiProjectMapper">
<resultMap id="ProjectVOResultMap" type="com.ruoyi.info.collection.domain.vo.CcdiProjectVO">
<id property="projectId" column="project_id"/>
<result property="projectName" column="project_name"/>
<result property="description" column="description"/>
<result property="configType" column="config_type"/>
<result property="status" column="status"/>
<result property="isArchived" column="is_archived"/>
<result property="targetCount" column="target_count"/>
<result property="highRiskCount" column="high_risk_count"/>
<result property="mediumRiskCount" column="medium_risk_count"/>
<result property="lowRiskCount" column="low_risk_count"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
</resultMap>
<!-- 分页查询项目列表 -->
<select id="selectProjectPage" resultMap="ProjectVOResultMap">
SELECT
project_id, project_name, description, config_type,
status, is_archived, target_count, high_risk_count,
medium_risk_count, low_risk_count, create_time, create_by
FROM ccdi_project
<where>
del_flag = '0'
<if test="queryDTO.projectName != null and queryDTO.projectName != ''">
AND project_name LIKE CONCAT('%', #{queryDTO.projectName}, '%')
</if>
<if test="queryDTO.status != null and queryDTO.status != ''">
AND status = #{queryDTO.status}
</if>
</where>
ORDER BY create_time DESC
</select>
</mapper>