package com.yc.ship.module.ota.controller.admin.distributorrecharge.vo;

import com.yc.ship.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import static com.yc.ship.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 分销商充值分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class DistributorRechargePageReqVO extends PageParam {

    @Schema(description = "分销商", example = "6656")
    private Long distributorId;
    @Schema(description = "分销商名称")
    private String distributorName;

    @Schema(description = "充值类型 1.预付款，2.授信充正", example = "1")
    private Integer rechargeType;

    @Schema(description = "充值方式（1：转账充值，2：自动充值）")
    private Integer rechargeMode;

    @Schema(description = "充值金额")
    private BigDecimal money;

    @Schema(description = "申请人")
    private Long applyUser;

    @Schema(description = "申请时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] applyTime;

    @Schema(description = "状态 0.申请中，1.审核通过，2.审核驳回", example = "2")
    private String status;

    @Schema(description = "审核人")
    private Long auditUser;

    @Schema(description = "申请人姓名")
    private String applyUserName;

    @Schema(description = "审核人姓名")
    private String auditUserName;

    @Schema(description = "审核时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] auditTime;

    @Schema(description = "充值单号ID", example = "8944")
    private Long rechargeLogId;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}