package com.ycwl.basic.model.pc.video.resp;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author：longbinbin
 * @Date：2024/12/2 15:28
 * 视频成片
 */
@Data
// 成片响应数据类
public class VideoRespVO {
    private Long id;
    /**
     * 景区id
     */
    // 景区id
    private Long scenicId;
    // 景区名称
    private String scenicName;
    /**
     * 人脸ID
     */
    // 人脸ID
    private Long faceId;
    /**
     * 模版id
     */
    // 模版id
    private Long templateId;
    // 模版名称
    private String templateName;
    // 模版价格
    private BigDecimal templatePrice;
    private BigDecimal slashPrice;
    // 模版封面图片
    private String templateCoverUrl;
    /**
     * 任务id
     */
    // 任务id
    private Long taskId;
    /**
     * 任务参数，JSON字符串
     */
    private String taskParams;
    /**
     * 执行任务的机器ID，render_worker.id
     */
    // 执行任务的机器ID，render_worker.id
    private Long workerId;
    /**
     * 视频链接
     */
    // 视频链接
    private String videoUrl;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;
    private Integer height;
    private Integer width;
    private BigDecimal duration;

    @JsonProperty("discountPrice")
    public BigDecimal getDiscountPrice() {
        if (slashPrice == null) {
            return BigDecimal.ZERO;
        }
        if (slashPrice.compareTo(BigDecimal.ZERO) <= 0) {
            return BigDecimal.ZERO;
        }
        return slashPrice.subtract(templatePrice);
    }
}
