package cn.iocoder.yudao.module.tkdata.controller.admin.employeebigbrother.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 大哥数据员工业务分页 Request VO")
@Data
public class EmployeeBigBrotherPageReqVO extends PageParam {

    @Schema(description = "大哥的display_id", example = "15943")
    private String displayId;

    @Schema(description = "大哥的用户id")
    private String userIdStr;

    @Schema(description = "大哥的用户昵称", example = "张三")
    private String nickname;

    @Schema(description = "大哥的等级")
    private Integer level;

    @Schema(description = "大哥打赏的金币")
    private Integer hostcoins;

    @Schema(description = "大哥的粉丝数", example = "9021")
    private Integer followerCount;

    @Schema(description = "大哥的关注数", example = "17240")
    private Integer followingCount;

    @Schema(description = "大哥所在的地区")
    private String region;

    @Schema(description = "大哥打赏的历史最高金币")
    private Integer historicHighCoins;

    @Schema(description = "大哥历史打赏金币总和")
    private Integer totalGiftCoins;

    @Schema(description = "大哥所在的直播间的主播display_id", example = "2057")
    private String hostDisplayId;

    @Schema(description = "该数据所属的账号id", example = "533")
    private Long userId;


    @Schema(description = "是否洽谈", example = "2")
    private Integer operationStatus;

    /**
     * 大哥的等级
     */
    @Schema(description="大哥的等级最小值")
    private Integer levelMin;

    /**
     * 大哥的等级
     */
    @Schema(description="大哥的等级最大值")
    private Integer levelMax;


    /**
     * 大哥打赏的金币
     */
    @Schema(description="大哥打赏的金币最小值")
    private Integer hostcoinsMin;

    /**
     * 大哥打赏的金币
     */
    @Schema(description="大哥打赏的金币最大值")
    private Integer hostcoinsMax;


    /**
     * 大哥打赏的历史最高金币
     */
    @Schema(description="大哥打赏的历史最高金币最小值")
    private Integer historicHighCoinsMin;


    /**
     * 大哥打赏的历史最高金币
     */
    @Schema(description="大哥打赏的历史最高金币最大值")
    private Integer historicHighCoinsMax;

    /**
     * 大哥历史打赏金币总和
     */
    @Schema(description="大哥历史打赏金币总和")
    private Integer totalGiftCoinsMin;

    /**
     * 大哥历史打赏金币总和
     */
    @Schema(description="大哥历史打赏金币总和")
    private Integer totalGiftCoinsMax;
    /**
     * 租户 Id
     */
    @Schema(description="租户 Id")
    private Long tenantId;


    /**
     * 数据插入时间
     */
    @Schema(description = "创建时间开始(yyyy-MM-dd)", example = "2023-01-01")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime createTimeStart;

    /**
     * 数据插入时间
     */
    @Schema(description = "创建时间结束(yyyy-MM-dd)", example = "2023-01-01")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime createTimeEnd;

    /**
     * 排序规则
     */
    @Schema(description = "排序方式(asc/desc)", example = "desc")
    private String sort;

    /**
     * 按照何种业务排序
     */
    @Schema(description = "排序字段(historicHighCoins/totalGiftCoins/level等)", example = "hostsCoins")
    private String sortName;

    @Schema(description = "国家名称")
    private String countryName;

    @Schema(description = "粉丝团等级", example = "0")
    private Integer fansLevel;

    @Schema(description = "粉丝团等级最大值", example = "0")
    private Integer fansLevelMax;

    @Schema(description = "粉丝团等级最小值", example = "0")
    private Integer fansLevelMin;

    @Schema(description = "是否删除", example = "0")
    private Integer isDelete;
}