package com.nexo.module.api.douyin.domain;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.nexo.common.core.web.domain.BaseEntity;
import com.nexo.common.excel.annotation.ExcelDictFormat;
import com.nexo.common.excel.convert.ExcelDictConvert;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;


/**
 * 抖音用户信息对象 nexo_douyin_user_info
 *
 * @author nexo
 * @date 2026-05-21
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("nexo_douyin_user_info")
public class NexoDouyinUserInfo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id")
    private Long id;

    /**
     * 用户id
     */
    @ExcelProperty(value = "用户id")
    private String userId;

    /**
     *
     */
    @ExcelProperty(value = "")
    private String secUid;

    /**
     * 抖音号
     */
    @ExcelProperty(value = "抖音号")
    private String uniqueId;

    /**
     * 昵称
     */
    @ExcelProperty(value = "昵称")
    private String nickname;

    /**
     * 签名
     */
    @ExcelProperty(value = "签名")
    private String signature;

    /**
     * 归属地
     */
    @ExcelProperty(value = "归属地")
    private String ipLocation;

    /**
     * 头像
     */
    @ExcelProperty(value = "头像")
    private String avatar;

    /**
     * 直播状态
     */
    @ExcelProperty(value = "直播状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=未直播,1=直播中")
    private Long liveStatus;

    /**
     * 年龄
     */
    @ExcelProperty(value = "年龄")
    private Long userAge;

    /**
     * 获赞
     */
    @ExcelProperty(value = "获赞")
    private Long totalFavorited;

    /**
     * 粉丝
     */
    @ExcelProperty(value = "粉丝")
    private Long followerCount;

    /**
     * 关注
     */
    @ExcelProperty(value = "关注")
    private Long followingCount;

    /**
     * 作品数量
     */
    @ExcelProperty(value = "作品数量")
    private Long awemeCount;

    /**
     * 资料背景
     */
    @ExcelProperty(value = "资料背景")
    private String coverUrl;

    /**
     * 直播间ID
     */
    @ExcelProperty(value = "直播间ID")
    private String roomId;

    @TableField(exist = false)
    private String userUrl;

    private Boolean jobInfoStatus;
    private Boolean jobLiveStatus;
    private Boolean jobVideoStatus;
    @TableField(exist = false)
    private List<Long> ids;
    private Long deptId;

}
