VideoContent.java 3.09 KB
Newer Older
liqin's avatar
liqin committed
1 2 3 4 5 6 7 8 9
package cn.wisenergy.chnmuseum.party.model;

import cn.wisenergy.chnmuseum.party.common.validator.groups.Add;
import cn.wisenergy.chnmuseum.party.common.validator.groups.Update;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;
liqin's avatar
liqin committed
10
import org.hibernate.validator.constraints.Length;
liqin's avatar
liqin committed
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 视频
 * </p>
 *
 * @author Danny Lee
 * @since 2021-03-16
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@TableName("video_content")
@ApiModel(value = "视频内容", description = "视频内容")
public class VideoContent implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("视频内容ID")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    @NotNull(message = "视频内容ID不能为空", groups = {Update.class})
    private String id;

    @ApiModelProperty("视频内容名称")
    @TableField("name")
    @NotBlank(message = "视频内容名称不能为空", groups = {Add.class, Update.class})
liqin's avatar
liqin committed
46
    @Length(max = 20, message = "视频内容名称字数不能超过20")
liqin's avatar
liqin committed
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
    private String name;

    @ApiModelProperty("视频内容版权方ID")
    @TableField("video_content_copyright_owner_id")
    private String videoContentCopyrightOwnerId;

    @ApiModelProperty("视频内容分类ID")
    @TableField("video_content_cat_id")
    private String videoContentCatId;

    @ApiModelProperty("视频内容缩略图")
    @TableField("thumbnail")
    @NotBlank(message = "视频内容缩略图不能为空", groups = {Add.class})
    private String thumbnail;

    @ApiModelProperty("审核状态")
    @TableField("audit_status")
    private String auditStatus;

    @ApiModelProperty("是否上架")
    @TableField("is_published")
    private Boolean published;

    @ApiModelProperty("是否已删除")
    @TableField("is_deleted")
liqin's avatar
liqin committed
72
    @TableLogic
liqin's avatar
liqin committed
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
    private Boolean deleted;

    @ApiModelProperty("创建日期")
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @ApiModelProperty("修改日期")
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    @ApiModelProperty("视频内容分类名称")
    @TableField(exist = false)
    private String videoContentCatName;

    @ApiModelProperty("视频内容版权方名称")
    @TableField(exist = false)
    private String videoContentCopyrightOwnerName;

liqin's avatar
liqin committed
91
    @ApiModelProperty("视频文件ID列表(添加/更新使用)")
liqin's avatar
liqin committed
92
    @TableField(exist = false)
liqin's avatar
liqin committed
93
    private List<String> videoFileIdList;
liqin's avatar
liqin committed
94 95 96 97 98

    @ApiModelProperty("视频文件信息列表")
    @TableField(exist = false)
    private List<Asset> videoFileList;

liqin's avatar
liqin committed
99 100 101 102
    @ApiModelProperty("审核意见记录")
    @TableField(exist = false)
    private List<Audit> auditHistoryList;

liqin's avatar
liqin committed
103
}