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 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; }