Files
ylhp-ai-project-manager/src/main/java/cn/yinlihupo/domain/entity/ProjectMilestone.java
JiaoTianBo 294ef21d50 feat(project): 实现AI项目初始化及相关实体管理
- 新增通用返回类BaseResponse用于统一接口响应格式
- 新增业务异常BusinessException及全局异常处理GlobalExceptionHandler
- 新增OSS文件上传控制器支持文件上传与删除接口
- 添加项目核心实体类Project、ProjectMember、ProjectMilestone、ProjectTimeline和Resource
- 实现ProjectService接口及其实现类,使用AI能力从项目文档生成结构化项目数据
- 在ProjectServiceImpl中实现项目数据解析、保存及业务逻辑,包括项目、里程碑、任务、成员、资源、风险等
- 项目初始化控制器ProjectController提供文件上传触发项目初始化功能
- 设计了详细的系统提示词和用户提示词,用于AI模型指导生成严格格式的结构化项目数据
- 设计项目数据持久化流程,确保生成的数据正确保存至数据库,支持事务回滚
- 增强日志记录,便于追踪项目初始化全过程及错误调试
2026-03-27 10:25:13 +08:00

107 lines
1.8 KiB
Java

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.ASSIGN_ID)
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;
}