package cn.lili.modules.lmk.domain.vo; import cn.lili.base.AbsVo; import cn.lili.modules.lmk.domain.entity.Video; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.beans.BeanUtils; import org.springframework.lang.NonNull; import java.util.Date; import java.util.List; /** * 视频内容展示 * * @author xp * @since 2025-05-16 */ @Data @ApiModel(value = "视频内容响应数据", description = "视频内容响应数据") public class VideoVO extends AbsVo { /** 作者id */ @ApiModelProperty("作者id") private String authorId; private String authorName; /** 图片封面 */ @ApiModelProperty("图片封面") private String coverUrl; /** 封面显示地址 */ @ApiModelProperty("封面显示地址") private String coverShowUrl; /** 视频地址 */ @ApiModelProperty("视频地址") private String videoFileKey; private String videoUrl; @ApiModelProperty("视频标签") private List tagList; @ApiModelProperty("视频内容类型:视频、图片") private String videoContentType; @ApiModelProperty("视频类型:视频、大健康、神厨") private String videoType; @ApiModelProperty(value = "图片列表,json数组", hidden = true) private String videoImgs; @ApiModelProperty("图片列表") private List imgs; /** 视频填充模式 */ @ApiModelProperty("视频填充模式") private String videoFit; @ApiModelProperty("视频长度:秒") private Long videoDuration; /** 视频标题 */ @ApiModelProperty("视频标题") private String title; /** 商品id */ @ApiModelProperty("商品id") private String goodsId; /** 商品查看次数 */ @ApiModelProperty("商品查看次数") private Long goodsViewNum; /** 商品下单次数 */ @ApiModelProperty("商品下单次数") private Long goodsOrderNum; /** 是否推荐 */ @ApiModelProperty("是否推荐") private Boolean recommend; /** 状态 */ @ApiModelProperty("状态") private String status; /** 播放量 */ @ApiModelProperty("播放量") private Long playNum; /** 收藏数 */ @ApiModelProperty("收藏数") private Long collectNum; /** 评论数 */ @ApiModelProperty("评论数") private Long commentNum; /** 权重 */ @ApiModelProperty("权重") private double weight; /** 审核通过时间 */ @ApiModelProperty("审核通过时间") private Date auditPassTime; public static VideoVO getVoByEntity(@NonNull Video entity, VideoVO vo) { if(vo == null) { vo = new VideoVO(); } BeanUtils.copyProperties(entity, vo); return vo; } }