package com.moka.gdtauto.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 腾讯广告OAuth授权信息实体
 * 
 * @author moka
 * @since 2026-02-03
 */
@Data
@TableName("tencent_ads_auth")
public class TencentAdsAuth {

    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 账户ID（腾讯广告账户ID）
     */
    private Long accountId;
    
    private String state;

    /**
     * 账户UIN
     */
    private Long accountUin;

    /**
     * 授权范围列表（JSON格式存储）
     */
    private String scopeList;

    /**
     * 微信账户ID
     */
    private String wechatAccountId;

    /**
     * 账户角色类型
     */
    private String accountRoleType;

    /**
     * 账户类型
     */
    private String accountType;

    /**
     * 角色类型
     */
    private String roleType;

    /**
     * 访问令牌
     */
    private String accessToken;

    /**
     * 刷新令牌
     */
    private String refreshToken;

    /**
     * 访问令牌过期时间
     */
    private LocalDateTime accessTokenExpiresAt;

    /**
     * 刷新令牌过期时间
     */
    private LocalDateTime refreshTokenExpiresAt;

    /**
     * 授权范围
     */
    private String scope;

    /**
     * 状态:0-失效,1-有效
     */
    private Integer status;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 逻辑删除标识：0-未删除，1-已删除
     */
    private Integer deleted;
}
