package cn.newfeifan.mall.module.distri.controller.admin.applicationforwithdrawal.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 提现申请记录新增/修改 Request VO")
@Data
public class ApplicationForWithdrawalSaveReqVO {

    @Schema(description = "申请id", requiredMode = Schema.RequiredMode.REQUIRED, example = "20678")
    private Long id;

    @Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25631")
    @NotNull(message = "用户ID不能为空")
    private Long userId;

    @Schema(description = "提现渠道类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "提现渠道类型不能为空")
    private Integer withdrawalType;

    @Schema(description = "提现金额,单位:元", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "提现金额,单位:元不能为空")
    private Long amount;

    @Schema(description = "支付宝账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "30303")
    @NotEmpty(message = "支付宝账号不能为空")
    private String withdrawalAccount;

    @Schema(description = "提现状态,成功是1， 失败是2， 提现中为0", example = "1")
    private Integer status;

    @Schema(description = "提现渠道记录id", requiredMode = Schema.RequiredMode.REQUIRED, example = "19322")
    @NotNull(message = "提现渠道记录id不能为空")
    private Long applicationForWithdrawalChannelId;

    @Schema(description = "提现总金额,单位:分")
    @NotNull(message = "提现金额,不能为空")
    private Long amountTotal;

    @Schema(description = "提现消费分,单位:分")
    private Long withdrawConsumption;

    @Schema(description = "计算百分比模板")
    private String percentTemplate;

}