package org.xyzh.api.bidding.vo;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.xyzh.common.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import com.alibaba.fastjson2.annotation.JSONField;
import java.util.Date;

/**
 * 投标文件VO
 * 用于前端展示投标文件信息
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "投标文件VO")
public class BidResponseVO extends BaseVO {
    private static final long serialVersionUID = 1L;
    
    @Schema(description = "响应文件ID")
    private String responseId;
    
    @Schema(description = "所属项目ID")
    private String projectId;
    
    @Schema(description = "项目名称")
    private String projectName;
    
    @Schema(description = "响应类型")
    private String responseType;
    
    @Schema(description = "响应类型名称（中文）")
    private String responseTypeName;
    
    @Schema(description = "文档名称")
    private String docName;
    
    @Schema(description = "文档大纲")
    private String outline;
    
    @Schema(description = "文档内容")
    private String content;
    
    @Schema(description = "内容字数")
    private Integer contentWordCount;
    
    @Schema(description = "生成方式")
    private String generationMethod;
    
    @Schema(description = "生成方式名称")
    private String generationMethodName;
    
    @Schema(description = "使用的模板ID")
    private String templateId;
    
    @Schema(description = "使用的模板名称")
    private String templateName;
    
    @Schema(description = "使用的AI模型")
    private String aiModel;
    
    @Schema(description = "生成状态")
    private String generationStatus;
    
    @Schema(description = "生成状态名称")
    private String generationStatusName;
    
    @Schema(description = "生成状态颜色标签")
    private String statusColor;
    
    @Schema(description = "关联文件ID")
    private String fileId;
    
    @Schema(description = "文件路径")
    private String filePath;
    
    @Schema(description = "文件下载URL")
    private String fileUrl;
    
    @Schema(description = "版本号")
    private Integer version;
    
    @Schema(description = "父版本ID")
    private String parentVersionId;
    
    @Schema(description = "是否有历史版本", defaultValue = "false")
    private Boolean hasHistory;
    
    @Schema(description = "审核意见")
    private String reviewComments;
    
    @Schema(description = "创建者姓名")
    private String creatorName;
    
    @Schema(description = "更新者姓名")
    private String updaterName;
}
