package cn.lili.modules.lmk.domain.form; import cn.lili.group.Update; import cn.lili.group.Add; import cn.lili.base.AbsForm; import cn.lili.modules.lmk.domain.entity.Video; import org.hibernate.validator.constraints.Length; import org.springframework.beans.BeanUtils; import javax.validation.Valid; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import org.springframework.lang.NonNull; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * 视频内容表单 * * @author xp * @since 2025-05-16 */ @Data @ApiModel(value = "Video表单", description = "视频内容表单") public class VideoForm extends AbsForm { @NotBlank(message = "视频不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("视频") private String videoFileKey; @NotBlank(message = "标题不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("标题") private String title; @ApiModelProperty("视频封面") @NotBlank(message = "视频封面不能为空", groups = {Add.class, Update.class}) private String cover; @ApiModelProperty("视频标签") @Length(max = 5, message = "最多只能添加五个标签") private List tags = new ArrayList<>(2); // @NotBlank(message = "商品id不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("商品id") private String goodsId; @ApiModelProperty("视频填充模式") private String videoFit; @ApiModelProperty("视频长度:秒") private Long videoDuration; @ApiModelProperty("文件信息") @Valid private FileInfoForm fileInfo; public static Video getEntityByForm(@NonNull VideoForm form, Video entity) { if(entity == null) { entity = new Video(); } BeanUtils.copyProperties(form, entity); return entity; } }