package com.zanxiang.game.module.manage.pojo.params;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zanxiang.game.module.mybatis.entity.GameUser;
import com.zanxiang.module.web.pojo.BaseListDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;

/**
 * @author : lingfeng
 * @time : 2022-07-04
 * @description : 玩家游戏列表参数
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class GameUserListParam extends BaseListDTO<GameUser> {

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

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

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

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

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

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

    /**
     * 注册渠道对应的id
     */
    private Long channelId;

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

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

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

    /**
     * 最近充值开始时间(开始玩开始时间请使用beginDate参数)
     */
    private LocalDate rechargeBeginDate;

    /**
     * 最近充值结束时间(开始玩结束时间请使用endDate参数)
     */
    private LocalDate rechargeEndDate;

    /**
     * 开始时间
     */
    @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;
}
