package com.cool.modules.weeklyreport.entity;

import com.cool.core.base.BaseEntity;
import com.cool.core.annotation.ColumnDefine;
import com.mybatisflex.annotation.Table;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 周报实体类
 */
@Getter
@Setter
@Table(value = "weekly_report", comment = "周报表")
public class WeeklyReportEntity extends BaseEntity<WeeklyReportEntity> {

    @ColumnDefine(comment = "用户ID", notNull = true)
    private Long userId;

    @ColumnDefine(comment = "周开始日期（周一）", notNull = true)
    private LocalDate weekStartDate;

    @ColumnDefine(comment = "周结束日期（周日）", notNull = true)
    private LocalDate weekEndDate;

    @ColumnDefine(comment = "原始输入内容", type = "TEXT")
    private String originalText;

    @ColumnDefine(comment = "AI格式化内容", type = "TEXT")
    private String aiFormattedContent;

    @ColumnDefine(comment = "用户最终编辑内容", type = "TEXT")
    private String userEditedContent;

    @ColumnDefine(comment = "状态 0-草稿 1-已提交", defaultValue = "0")
    private Integer status;

    @ColumnDefine(comment = "输入方式 0-文字 1-语音", defaultValue = "0")
    private Integer inputType;

    @ColumnDefine(comment = "提交时间")
    private LocalDateTime submitTime;
}
