package com.red.circle.live.app.listener.agora.callback;

import java.io.Serial;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 104 broadcaster join channel & 106 audience leave channel.
 *
 * @author pengliang on 2023/12/29
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class AgoraChannelUserLeave extends AgoraChannelBase {

  @Serial
  private static final long serialVersionUID = 1L;

  /**
   * 主播在频道内的用户 ID.
   */
  private Long uid;

  /**
   * 主播设备所属平台. 1：Android 2：iOS 5：Windows 6：Linux 7：Web 8：macOS 0：其他平台
   */
  private Integer platform;

  /**
   * 该字段仅在 platform 为 6 时返回(Linux 平台的主播端使用的业务类型).
   */
  private Integer clientType;

  /**
   * 序列号，标识该事件在 App 客户端上发生的顺序，可用于对同一用户的事件进行排序.
   */
  private Long clientSeq;

  /**
   * 主播离开频道的原因.
   */
  private Integer reason;

  /**
   * 主播在频道内的时长 (s).
   */
  private Long duration;

  /**
   * String 类型的用户 ID.
   */
  private String account;
}
