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 com.alibaba.fastjson2.annotation.JSONField;
import java.util.Date;

/**
 * 聊天室成员VO
 * 用于前端展示聊天室成员信息
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "聊天室成员VO")
public class ChatMemberVO extends BaseVO {
    private static final long serialVersionUID = 1L;
    
    @Schema(description = "成员记录ID")
    private String memberId;
    
    @Schema(description = "聊天室ID")
    private String roomId;
    
    @Schema(description = "用户ID（来客ID或员工ID）")
    private String userId;
    
    @Schema(description = "用户类型：guest-来客 agent-客服 ai-AI助手")
    private String userType;
    
    @Schema(description = "用户名称")
    private String userName;
    
    @Schema(description = "用户头像")
    private String userAvatar;
    
    @Schema(description = "状态：active-活跃 left-已离开 removed-被移除")
    private String status;
    
    @Schema(description = "该成员的未读消息数")
    private Integer unreadCount;
    
    @Schema(description = "最后阅读时间", format = "date-time")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date lastReadTime;
    
    @Schema(description = "最后阅读的消息ID")
    private String lastReadMsgId;
    
    @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;
}
