- 新增通用返回类BaseResponse用于统一接口响应格式 - 新增业务异常BusinessException及全局异常处理GlobalExceptionHandler - 新增OSS文件上传控制器支持文件上传与删除接口 - 添加项目核心实体类Project、ProjectMember、ProjectMilestone、ProjectTimeline和Resource - 实现ProjectService接口及其实现类,使用AI能力从项目文档生成结构化项目数据 - 在ProjectServiceImpl中实现项目数据解析、保存及业务逻辑,包括项目、里程碑、任务、成员、资源、风险等 - 项目初始化控制器ProjectController提供文件上传触发项目初始化功能 - 设计了详细的系统提示词和用户提示词,用于AI模型指导生成严格格式的结构化项目数据 - 设计项目数据持久化流程,确保生成的数据正确保存至数据库,支持事务回滚 - 增强日志记录,便于追踪项目初始化全过程及错误调试
107 lines
1.8 KiB
Java
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;
|
|
}
|