package com.cool.modules.monthlyreport.entity;

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

import java.time.LocalDateTime;

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

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

    @ColumnDefine(comment = "月份，格式yyyy-MM", notNull = true)
    private String month;

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

