package com.zanxiang.game.data.serve.pojo.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zanxiang.game.data.serve.pojo.base.BasePage;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;
import java.util.List;

/**
 * @author tianhua
 * @time 2023/9/6
 * @Description 前端玩家列表查询参数实体
 **/
@Data
public class PlayerDataListDTO extends BasePage {

    /**
     * 玩家id
     */
    
    private Long userId;

    /**
     * 玩家账号
     */
    
    private String userName;

    /**
     * 玩家昵称
     */
    
    private String nickname;

    /**
     * 绑定手机号码
     */
    
    private String mobile;

    /**
     * 注册IP
     */
    
    private String regIp;

    /**
     * 是否实名认证
     */
    
    private Boolean isAuth;

    /**
     * 玩家手机绑定状态
     */
    
    private Boolean isBindMobile;

    /**
     * cp名称对应的id
     */
    
    private Long cpId;

    /**
     * 游戏名称对应的id
     */
    
    private Long gameId;

    /**
     * 游戏应用类型对应的id
     */
    
    private Long gameCategoryId;

    /**
     * 最近充值开始时间
     */
    
    private LocalDate rechargeBeginDate;

    /**
     * 最近充值结束时间
     */
    
    private LocalDate rechargeEndDate;

    /**
     * 是否充值
     */
    
    private Boolean isRecharge;

    /**
     * 玩家状态, 1 为试玩状态 2为正常状态，3为冻结状态
     */
    
    private Integer status;

    /**
     * 注册渠道对应的id
     */
    
    private List<String> channelId;

    /**
     * 归因推广账号
     */
    
    private String accountId;

    /**
     * 归因投放人员
     */
    
    private String pitcherId;

    /**
     * 注册开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    
    private LocalDate beginDate;

    /**
     * 注册结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    
    private LocalDate endDate;

    
    private Long regPayIntervalTimeMin;

    
    private Long regPayIntervalTimeMax;

    /**
     * 是否创角
     */
    
    private Boolean createRole;

    /**
     * 角色数量最小值
     */
    
    private Integer roleCountMin;

    /**
     * 角色数量最大值
     */
    
    private Integer roleCountMax;

    /**
     * 排序字段
     */
    
    private String sortFiled;

    /**
     * 排序方式
     */
    
    private String sortType;

    /**
     * SDK来源
     */
    
    private String sourceSystem;

    /**
     * 玩家最近游戏角色名
     */
    
    private String roleName;

    /**
     * 玩家最新染色时间
     */
    
    private LocalDate userLastRegTime;

    /**
     * 玩家最新染色渠道ID
     */
    
    private Long userLastRegAgentId;

    /**
     * 玩家最新染色归因投手
     */
    
    private Long userLastPitcherId;

}
