package com.ytpm.app.view;

import com.ytpm.app.model.YtDyzLoginRecord;
import com.ytpm.custom.CustomField;
import com.ytpm.general.PageMeta;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@EqualsAndHashCode(callSuper = true)
@ApiModel("易推应用用户列表")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class YtAppUserListView extends PageMeta {
    @ApiModelProperty("用户ID")
    private String userId;
    @ApiModelProperty("应用ID")
    private String appId;
    @ApiModelProperty("微信开放ID")
    private String wxOpenId;
    @ApiModelProperty("渠道商ID")
    private String channelId;
    @ApiModelProperty("渠道ID")
    private Long ditchId;
    @ApiModelProperty("渠道名称")
    private String ditchName;
    @ApiModelProperty("平台ID")
    private String platformId;
    @ApiModelProperty("应用名称")
    private String appName;
    @ApiModelProperty("应用类型")
    private Integer appType;
    @ApiModelProperty("版本号")
    private String versionCode;
    @ApiModelProperty("用户昵称")
    private String nickName ;
    @ApiModelProperty("注册时间")
    private Date registryTime;
    @ApiModelProperty("最新登录时间")
    private Date lastLoginTime;
    @ApiModelProperty("最新登录IP")
    private String lastLoginIp;
    @ApiModelProperty("渠道类型")
    private Integer channelType;
    @ApiModelProperty("渠道来源")
    private String channelOrigin;
    @CustomField(value = "user_type",desc = "用户类型", node = 1)
    @ApiModelProperty("用户类型")
    private Integer userType;
    @CustomField(value = "user_status",desc = "用户状态", node = 1)
    @ApiModelProperty("用户状态")
    private Integer userStatus;
    @ApiModelProperty("当日视频播放数")
    private Integer todayVideo;
    @ApiModelProperty("视频总播放数")
    private Integer totalVideo;
    @ApiModelProperty("登录天数")
    private Integer loginDays;
    @CustomField(node = 1)
    @ApiModelProperty("总收益")
    private BigDecimal totalIncome;
    @ApiModelProperty("红包余额")
    private BigDecimal redPacketBalance;
    @ApiModelProperty("红包总额")
    private BigDecimal redPacketAmount;
    @ApiModelProperty("积分余额")
    private BigDecimal pointsBalance;
    @ApiModelProperty("积分总额")
    private BigDecimal pointsTotal;
    @ApiModelProperty("提现总额")
    private BigDecimal withdrawTotal;
    @ApiModelProperty("提现笔数")
    private Integer withdrawCount;
    @CustomField(node = 1)
    @ApiModelProperty("IP重复数量")
    private Integer ipRepeatCount;
    @CustomField(node = 1)
    @ApiModelProperty("设备重复数量")
    private Integer deviceRepeatCount;
    @ApiModelProperty("通信运营商")
    private String communicationOperator;
    @ApiModelProperty("今日收益")
    private BigDecimal todayIncome;

    @ApiModelProperty("前三日总收益")
    private BigDecimal nearlyIncome;

    @ApiModelProperty("前三日总收益计算开始时间")
    private Date nearlyBeginTime;

    @ApiModelProperty("今日答题数")
    private Integer todayAnswer;

    @ApiModelProperty("该IP下是否存在任务已完成的用户")
    private Integer maybeDone;

    /** 登录历史记录 */
    @ApiModelProperty("登录历史记录")
    private List<YtDyzLoginRecord> loginRecordList;
}
