package com.xxl.job.executor.common.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 代理商token
 *
 * @author jeecg-boot
 * @version V1.0
 * @date 2020-08-18
 */
@Data
@TableName("ctop_oauth_agent_token")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class OauthAgentToken {

    /**
     * 主键ID
     */
    @TableId(type = IdType.UUID)
    private String id;
    /**
     * 媒体ID（外部广告平台类型，快手/头条/抖音等）
     */
    private String mediaId;

    private Long agentId;
    /**
     * 访问令牌
     */
    private String accessToken;
    /**
     * 访问令牌有效期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date accessTokenExpiresIn;
    /**
     * 刷新令牌
     */
    private String refreshToken;
    /**
     * 刷新令牌有效期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date refreshTokenExpiresIn;
    /**
     * 代理商类型 0：三方代理商 1：本代理商
     */
    private Integer agentType;
    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 修改时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
}
