feat(project): 实现AI项目初始化功能
- 新增项目初始化控制器,支持文件上传生成项目结构化数据 - 定义项目初始化结果DTO,包含项目、里程碑、任务、成员、资源、风险和时间节点等信息 - 实现项目初始化服务接口及其实现类,集成Spring AI结构化输出能力 - 支持根据内容或文件生成项目初始化数据,并保存到数据库 - 增加项目、里程碑、任务、成员、资源、风险及时间节点实体及对应Mapper - 实现文件上传到OSS及项目初始化记录功能,记录解析状态及结果 - 添加PostgreSQL JSONB类型处理器,支持JSON对象字段存储 - 修改开发环境数据库配置,更新连接的数据库名称为aiprojectmanager
This commit is contained in:
106
src/main/java/cn/yinlihupo/domain/entity/ProjectMilestone.java
Normal file
106
src/main/java/cn/yinlihupo/domain/entity/ProjectMilestone.java
Normal file
@@ -0,0 +1,106 @@
|
||||
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_milestone
|
||||
*/
|
||||
@Data
|
||||
@TableName("project_milestone")
|
||||
public class ProjectMilestone {
|
||||
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目ID
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 里程碑名称
|
||||
*/
|
||||
private String milestoneName;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 计划日期
|
||||
*/
|
||||
private LocalDate planDate;
|
||||
|
||||
/**
|
||||
* 实际日期
|
||||
*/
|
||||
private LocalDate actualDate;
|
||||
|
||||
/**
|
||||
* 状态: pending-待开始, in_progress-进行中, completed-已完成, delayed-延期
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 完成进度
|
||||
*/
|
||||
private Integer progress;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private Integer sortOrder;
|
||||
|
||||
/**
|
||||
* 是否关键里程碑: 1-是, 0-否
|
||||
*/
|
||||
private Integer isKey;
|
||||
|
||||
/**
|
||||
* 交付物列表
|
||||
*/
|
||||
@TableField(typeHandler = JsonbTypeHandler.class)
|
||||
private List<String> deliverables;
|
||||
|
||||
/**
|
||||
* 扩展数据
|
||||
*/
|
||||
@TableField(typeHandler = JsonbTypeHandler.class)
|
||||
private Object extraData;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private Long createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
private Long updateBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 删除标记
|
||||
*/
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
}
|
||||
Reference in New Issue
Block a user