feat(project): 实现AI项目初始化功能

- 新增项目初始化控制器,支持文件上传生成项目结构化数据
- 定义项目初始化结果DTO,包含项目、里程碑、任务、成员、资源、风险和时间节点等信息
- 实现项目初始化服务接口及其实现类,集成Spring AI结构化输出能力
- 支持根据内容或文件生成项目初始化数据,并保存到数据库
- 增加项目、里程碑、任务、成员、资源、风险及时间节点实体及对应Mapper
- 实现文件上传到OSS及项目初始化记录功能,记录解析状态及结果
- 添加PostgreSQL JSONB类型处理器,支持JSON对象字段存储
- 修改开发环境数据库配置,更新连接的数据库名称为aiprojectmanager
This commit is contained in:
2026-03-26 20:05:55 +08:00
parent 0bf41c5353
commit 729af44585
22 changed files with 1623 additions and 15 deletions

View File

@@ -0,0 +1,96 @@
package cn.yinlihupo.domain.entity;
import cn.yinlihupo.common.handler.JsonbTypeHandler;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
/**
* 项目时间节点实体类
* 对应数据库表: project_timeline
*/
@Data
@TableName("project_timeline")
public class ProjectTimeline {
@TableId(type = IdType.AUTO)
private Long id;
/**
* 项目ID
*/
private Long projectId;
/**
* 节点名称
*/
private String nodeName;
/**
* 节点类型: phase-阶段, milestone-里程碑, event-事件, checkpoint-检查点
*/
private String nodeType;
/**
* 父节点ID
*/
private Long parentId;
/**
* 计划日期
*/
private LocalDate planDate;
/**
* 实际日期
*/
private LocalDate actualDate;
/**
* 描述
*/
private String description;
/**
* 状态: pending-待开始, in_progress-进行中, completed-已完成, delayed-延期
*/
private String status;
/**
* 排序
*/
private Integer sortOrder;
/**
* 知识库范围配置["report","file","risk","ticket"]
*/
@TableField(typeHandler = JsonbTypeHandler.class)
private List<String> kbScope;
/**
* 扩展数据
*/
@TableField(typeHandler = JsonbTypeHandler.class)
private Object extraData;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
/**
* 删除标记
*/
@TableLogic
private Integer deleted;
}