package com.fs.hisStore.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fs.common.annotation.Excel;
import lombok.Data;
import com.fs.common.core.domain.BaseEntity;
import lombok.EqualsAndHashCode;

/**
 * 用户上线情况对象 fs_user_online_state
 *
 * @author fs
 * @date 2025-06-30
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("fs_user_online_state")
public class FsUserOnlineStateScrm extends BaseEntity{
    private static final long serialVersionUID = 1L;

    private Long id;

    /** 用户id */
    private Long userId;

    /** 用户昵称 */
    @Excel(name = "用户昵称")
    private String nickname;

    /** 用户头像 */
    @Excel(name = "用户头像")
    private String avatar;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String phone;

    /** 微信小程序OPENID */
    @Excel(name = "微信小程序OPENID")
    private String maOpenId;

    /** 微信公众号OPENID */
    @Excel(name = "微信公众号OPENID")
    private String mpOpenId;

    /** 关联ID */
    @Excel(name = "关联ID")
    private String unionId;

    /** 用户状态，1-正常，0-禁止 */
    @Excel(name = "用户状态，1-正常，0-禁止")
    private Integer status;

    /** 公司id */
    @Excel(name = "公司id")
    private Long companyId;

    /** 公司名称 */
    @Excel(name = "所属公司")
    private String companyName;

    /** 销售id */
    @Excel(name = "销售id")
    private Long companyUserId;

    /** 销售名称 */
    @Excel(name = "所属销售")
    private String companyUserName;

    /** 上线状态，1-已上线；2-未上线 */
    @Excel(name = "上线状态，1-已上线；2-未上线")
    private Integer onlineStatus;

    /** 上线时间（第一次看课的时间） */
    @Excel(name = "上线时间（第一次看课的时间）")
    private Date onlineTime;

    /** 看课数量 */
    @Excel(name = "看课数量")
    private Integer watchCourseCount;

    /** 参与营期数量 */
    @Excel(name = "参与营期数量")
    private Integer partCourseCount;

    /** 最后一次看课时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后一次看课时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastWatchDate;

    /** 更新时间 */
    @Excel(name = "更新时间", readConverterExp = "更新时间")
    private Date updateTime;

}
