package com.ytpm.app.model;

import com.ytpm.custom.CustomField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

/**
 * 默认的风控配置
 * 前端配置项解析适配
 */
@Data
@ApiModel("默认风控配置")
@AllArgsConstructor
@NoArgsConstructor
public class DefaultRiskConfig {
    @CustomField(desc = "?天内",node = 99)
    @ApiModelProperty("?天内")
    private int days;
    @CustomField(desc = "IP前?段",node = 1)
    @ApiModelProperty("IP前?段")
    private int ipPrefix;
    @CustomField(node = 1)
    @ApiModelProperty("同IP登录数量")
    private int ipSameCount;
    @CustomField(node = 2)
    @ApiModelProperty("当日前?条激励视频")
    private int firstAdCount;
    @CustomField(node = 2)
    @ApiModelProperty("ecpm值")
    private int ecpm;
    @CustomField(node = 2)
    @ApiModelProperty("总收益")
    private BigDecimal income;

    @CustomField(desc = "当日前?条获得奖励的激励视频",node = 2)
    @ApiModelProperty("当日前?条获得奖励的激励视频")
    private int rewardCount;

    @CustomField(desc = "有?条", node = 2)
    @ApiModelProperty("有?条")
    private int haveCount;

    @CustomField(desc = "生成UID数", node = 1)
    @ApiModelProperty("生成UID数")
    private int uidCount;
    /**
     * 校验的字段名,用于匹配数据中相同字段
     */
    @CustomField(value = "same_field_name", desc = "字段?相同", node = 99)
    @ApiModelProperty("字段?相同")
    private String sameFieldName;


    @CustomField(desc = "开屏广告、横幅、原生（信息流）总预估收益值", node = 2)
    @ApiModelProperty("开屏广告、横幅、原生（信息流）总预估收益值")
    private BigDecimal revenueLimit;

    @CustomField(desc = "开屏广告、横幅、原生（信息流）总ecpm值", node = 2)
    @ApiModelProperty("开屏广告、横幅、原生（信息流）总ecpm值")
    private BigDecimal ecpmLimit;

    @CustomField(desc = "当日获得?个获得奖励的激励视频", node = 2)
    @ApiModelProperty("当日获得?个获得奖励的激励视频")
    private Integer adCompletedCount;

    @CustomField(desc = "最后?个激励视频", node = 2)
    @ApiModelProperty("最后?个激励视频")
    private Integer firstCount;

    @CustomField(desc = "平均预估收益值", node = 2)
    @ApiModelProperty("平均预估收益值")
    private BigDecimal averageRevenue;

    @CustomField(desc = "?月内", node = 2)
    @ApiModelProperty("?月内")
    private Integer monthCount;

    @CustomField(desc = "获得奖励的激励视频个数", node = 2)
    @ApiModelProperty("获得奖励的激励视频个数")
    private Integer monthTaskLimit;

    @CustomField(desc = "?小时内", node = 2)
    @ApiModelProperty("?小时内")
    private Integer hourCount;

    @CustomField(desc = "获得奖励的激励视频个数", node = 2)
    @ApiModelProperty("获得奖励的激励视频个数")
    private Integer hourTaskLimit;

    @CustomField(desc = "?小时内", node = 2)
    @ApiModelProperty("?小时内")
    private Integer limitHour;

    @CustomField(desc = "仅?个账号登陆", node = 2)
    @ApiModelProperty("仅?个账号登陆")
    private Integer limitCount;

    @CustomField(desc = "?地区", node = 2)
    @ApiModelProperty("?地区")
    private String limitCity;

    @CustomField(desc = "登陆用户不多于?个", node = 2)
    @ApiModelProperty("登陆用户不多于?个")
    private Integer limitCityCount;

}
