package com.ruoyi.base.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 播放方案素材明细对象 robot_ops_play_plan_item
 *
 * @author ruoyi
 * @date 2026-05-11
 */
public class RobotOpsPlayPlanItem extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 播放方案ID，关联robot_ops_play_plan.id */
    @Excel(name = "播放方案ID，关联robot_ops_play_plan.id")
    private Long planId;

    /** 素材ID，关联robot_ops_media_asset.id */
    @Excel(name = "素材ID，关联robot_ops_media_asset.id")
    private Long assetId;

    /** 播放顺序，数字越小越靠前 */
    @Excel(name = "播放顺序，数字越小越靠前")
    private Long playOrder;

    /** 停留时长，图片必填，视频可为空 */
    @Excel(name = "停留时长，图片必填，视频可为空")
    private Long staySeconds;

    /** 转场方式，预留字段：none无转场，fade淡入淡出 */
    @Excel(name = "转场方式，预留字段：none无转场，fade淡入淡出")
    private String transitionType;


    /** 素材文件地址 */
    @Excel(name = "素材文件地址")
    private String fileUrl;

    /** 素材类型：image图片，video视频 */
    @Excel(name = "素材类型")
    private String assetType;


    /** 分辨率，如1920x1080 */
    @Excel(name = "分辨率")
    private String resolution;

    /** 视频时长，单位秒；图片为空 */
    @Excel(name = "视频时长")
    private Long durationSeconds;


    /** 素材名称 */
    @Excel(name = "素材名称")
    private String assetName;


    /** 缩略图地址 */
    @Excel(name = "缩略图地址")
    private String thumbnailUrl;



    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setPlanId(Long planId)
    {
        this.planId = planId;
    }

    public Long getPlanId()
    {
        return planId;
    }
    public void setAssetId(Long assetId)
    {
        this.assetId = assetId;
    }

    public Long getAssetId()
    {
        return assetId;
    }
    public void setPlayOrder(Long playOrder)
    {
        this.playOrder = playOrder;
    }

    public Long getPlayOrder()
    {
        return playOrder;
    }
    public void setStaySeconds(Long staySeconds)
    {
        this.staySeconds = staySeconds;
    }

    public Long getStaySeconds()
    {
        return staySeconds;
    }
    public void setTransitionType(String transitionType)
    {
        this.transitionType = transitionType;
    }

    public String getTransitionType()
    {
        return transitionType;
    }

    public void setFileUrl(String fileUrl)
    {
        this.fileUrl = fileUrl;
    }

    public String getFileUrl()
    {
        return fileUrl;
    }

    public void setAssetType(String assetType)
    {
        this.assetType = assetType;
    }

    public String getAssetType()
    {
        return assetType;
    }

    public void setResolution(String resolution)
    {
        this.resolution = resolution;
    }

    public String getResolution()
    {
        return resolution;
    }

    public void setDurationSeconds(Long durationSeconds)
    {
        this.durationSeconds = durationSeconds;
    }

    public Long getDurationSeconds()
    {
        return durationSeconds;
    }

    public void setAssetName(String assetName)
    {
        this.assetName = assetName;
    }

    public String getAssetName()
    {
        return assetName;
    }


    public void setThumbnailUrl(String thumbnailUrl)
    {
        this.thumbnailUrl = thumbnailUrl;
    }

    public String getThumbnailUrl()
    {
        return thumbnailUrl;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("planId", getPlanId())
                .append("assetId", getAssetId())
                .append("playOrder", getPlayOrder())
                .append("staySeconds", getStaySeconds())
                .append("transitionType", getTransitionType())
                .append("fileUrl", getFileUrl())
                .append("assetType", getAssetType())
                .append("assetName", getAssetName())
                .append("thumbnailUrl", getThumbnailUrl())
                .append("resolution", getResolution())
                .append("durationSeconds", getDurationSeconds())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }

}
