package com.ai.da.mapper.primary.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
@Data
@Schema(description = "作品集")
@TableName("portfolio")
public class Portfolio implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @Schema(description = "collection ID")
    private Long collectionId;

    private Long projectId;

    @Schema(description = "userLikeGroup源")
    private Long userLikeGroupSourceId;

    @Schema(description = "作品名称")
    private String portfolioName;

    @Schema(description = "作品描述")
    private String portfolioDes;

    @Schema(description = "作品类型")
    private String portfolioType;

    @Schema(description = "画布ID")
    private Long canvasId;

    @Schema(description = "封面ID")
    private Long coverId;

    @Schema(description = "作品状态1公开0隐藏")
    private Integer status;

    @Schema(description = "是否允许二次创作1允许0不允许")
    private Integer openSource;

    private Integer original;

    private Long originalAccountId;

    private Long originalPortfolioId;

    private String snapshot;

    @Schema(description = "作品集作者ID")
    private Long accountId;

    // 学校/企业id
    private Long organizationId;

    // 该条作品是否在该组织公开 默认公开 1（0为不公开）
    private Integer isPublic;

    @Schema(description = "创建时间")
    private LocalDateTime createDate;

    @Schema(description = "更新时间")
    private LocalDateTime updateDate;

    @Schema(description = "是否删除")
    private Integer isDeleted;
}
