package com.qmth.themis.business.entity;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.themis.business.util.UidUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

/**
 * <p>
 * 腾讯云视频回调消息
 * </p>
 *
 * @author wangliang
 * @since 2022-03-29
 */
@ApiModel(value = "TMTencentVideoMessage对象", description = "腾讯云视频回调消息")
public class TMTencentVideoMessage implements Serializable {
    private static final long serialVersionUID = 1L;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "主键")
    private Long id;

    @ApiModelProperty(value = "考试记录id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long examRecordId;

    @ApiModelProperty(value = "请求id")
    private String requestId;

    @ApiModelProperty(value = "视频源")
    private String videoSource;

    @ApiModelProperty(value = "开始时间")
    private Long startTime;

    @ApiModelProperty(value = "开始时间")
    private Long endTime;

    @ApiModelProperty(value = "视频地址")
    private String videoUrl;

    @ApiModelProperty(value = "请求内容")
    private String object;

    @ApiModelProperty(value = "创建时间")
    private Long createTime;

    public TMTencentVideoMessage() {

    }

    public TMTencentVideoMessage(String requestId, String object, Long examRecordId, String videoSource, Long startTime, Long endTime, String videoUrl) {
        this.id = UidUtil.nextId();
        this.requestId = requestId;
        this.object = object;
        this.createTime = System.currentTimeMillis();
        this.examRecordId = examRecordId;
        this.videoSource = videoSource;
        this.startTime = startTime;
        this.endTime = endTime;
        this.videoUrl = videoUrl;
    }

    public Long getExamRecordId() {
        return examRecordId;
    }

    public void setExamRecordId(Long examRecordId) {
        this.examRecordId = examRecordId;
    }

    public String getVideoSource() {
        return videoSource;
    }

    public void setVideoSource(String videoSource) {
        this.videoSource = videoSource;
    }

    public Long getStartTime() {
        return startTime;
    }

    public void setStartTime(Long startTime) {
        this.startTime = startTime;
    }

    public Long getEndTime() {
        return endTime;
    }

    public void setEndTime(Long endTime) {
        this.endTime = endTime;
    }

    public String getVideoUrl() {
        return videoUrl;
    }

    public void setVideoUrl(String videoUrl) {
        this.videoUrl = videoUrl;
    }

    public Long getId() {
        return id;
    }

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

    public String getRequestId() {
        return requestId;
    }

    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }

    public String getObject() {
        return object;
    }

    public void setObject(String object) {
        this.object = object;
    }

    public Long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }
}
