package cn.chnmuseum.party.model; import cn.chnmuseum.party.common.validator.groups.Add; import cn.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; import org.hibernate.validator.constraints.Length; 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-26 */ @Data @Builder @AllArgsConstructor @NoArgsConstructor @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) @TableName("learning_project") @ApiModel(value = "", description = "") public class LearningProject 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}) @Length(max = 20, message = "学习项目名称字数不能超过20") private String name; @ApiModelProperty("视频缩略图") @TableField(exist = false) private String thumbnail; @ApiModelProperty("备注") @TableField("remarks") @Length(min = 0, max = 100, message = "备注的字数超过最大限制100") private String remarks; @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 learningContentNames; @ApiModelProperty("相关展板") @TableField(exist = false) private String exhibitionBoardNames; // 以下字段在新建时使用 @ApiModelProperty("主学习内容名称") @TableField(exist = false) private String major; @ApiModelProperty("主学习内容id") @TableField(exist = false) private String majorLearningContentId; @ApiModelProperty("宣传图") @TableField(exist = false) private String cover; @ApiModelProperty("展板类别") @TableField(exist = false) private List<String> exhibitionBoardCatIdList; @ApiModelProperty("版权方") @TableField(exist = false) private List<String> copyrightOwnerIdList; @ApiModelProperty("展板备选") @TableField(exist = false) private List<String> exhibitionBoardIdList; @ApiModelProperty("项目的主学习内容对象") @TableField(exist = false) private LearningContent majorLearning; @ApiModelProperty("项目的主学习内容的审核状态|") @TableField(exist = false) private String auditStatus; }