package com.CUST.brain.dao.domain.business;

import com.CUST.brain.dao.domain.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * 科技报告信息实体类
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tech_report")
public class TechReport extends BaseEntity {
    
    /**
     * 报告id
     */
    @TableId
    private String id;

    /**
     * 项目id
     */
    private String projectId;

    /**
     * 报告名称(中文)
     */
    private String reportNameCn;

    /**
     * 报告名称(英文)
     */
    private String reportName;

    /**
     * 作者（中文）
     */
    private String authorCn;

    /**
     * 作者（英文）
     */
    private String authorEn;

    /**
     * 作者单位(中文)
     */
    private String workplaceCn;

    /**
     * 作者单位(英文)
     */
    private String workplaceEn;

    /**
     * 关键词（中文）
     */
    private String keywordCn;

    /**
     * 关键词（英文）
     */
    private String keywordEn;

    /**
     * 摘要（中文）
     */
    private String summaryCn;

    /**
     * 摘要（英文）
     */
    private String summaryEn;

    /**
     * 编撰时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime writingTime;

    /**
     * 支持机构
     */
    private String institution;

    /**
     * 报告类型
     */
    private String reportType;

    /**
     * 支持渠道
     */
    private String channel;

    /**
     * 是否公开
     */
    private String isPublic;

    /**
     * 报告状态
     */
    private String status;

    /**
     * 报告全文路径
     */
    private String reportPath;
} 