package org.xyzh.api.workcase.vo;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.xyzh.common.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.Date;
import com.alibaba.fastjson2.annotation.JSONField;

/**
 * 会议参与记录VO
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "会议参与记录VO")
public class MeetingParticipantVO extends BaseVO {
    private static final long serialVersionUID = 1L;
    
    @Schema(description = "参与记录ID")
    private String participantId;
    
    @Schema(description = "会议ID")
    private String meetingId;
    
    @Schema(description = "用户ID")
    private String userId;
    
    @Schema(description = "用户类型：guest-来客 agent-客服")
    private String userType;
    
    @Schema(description = "用户名称")
    private String userName;
    
    @Schema(description = "加入时间", format = "date-time")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date joinTime;
    
    @Schema(description = "离开时间", format = "date-time")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date leaveTime;
    
    @Schema(description = "参与时长（秒）")
    private Integer durationSeconds;
    
    @Schema(description = "参与时长（格式化）")
    private String durationFormatted;
    
    @Schema(description = "是否主持人")
    private Boolean isModerator;
    
    @Schema(description = "加入方式：web-网页 mobile-移动端 desktop-桌面端")
    private String joinMethod;
    
    @Schema(description = "设备信息")
    private String deviceInfo;
}
