package com.slodon.b2b2c.seller.example;

import com.slodon.b2b2c.core.response.PagerInfo;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 商户提现记录表example
 */
@Data
public class StoreWithdrawalExample implements Serializable {
    private static final long serialVersionUID = -3728727834767926937L;

    /**
     * 用于编辑时的重复判断
     */
    private Integer withdrawalIdNotEquals;

    /**
     * 用于批量操作
     */
    private String withdrawalIdIn;

    /**
     * 提现id
     */
    private Integer withdrawalId;

    /**
     * 店铺id
     */
    private Long storeId;

    /**
     * 管理员id
     */
    private Long vendorId;

    /**
     * 提现单号
     */
    private String withdrawalSn;

    /**
     * 提现单号,用于模糊查询
     */
    private String withdrawalSnLike;

    /**
     * 提现金额
     */
    private BigDecimal amount;

    /**
     * 绑卡-账户名称
     */
    private String bankAccountName;

    /**
     * 绑卡-账户名称,用于模糊查询
     */
    private String bankAccountNameLike;

    /**
     * 绑卡-账户号码
     */
    private String bankAccountNumber;

    /**
     * 绑卡-银行id，对应中金附录
     */
    private String bankId;

    /**
     * 绑卡-银行名称，对应中金附录
     */
    private String bankName;

    /**
     * 绑卡-银行名称，对应中金附录,用于模糊查询
     */
    private String bankNameLike;

    /**
     * 绑卡-企业-分支行名称
     */
    private String branchName;

    /**
     * 绑卡-企业-分支行名称,用于模糊查询
     */
    private String branchNameLike;

    /**
     * 大于等于开始时间
     */
    private Date createTimeAfter;

    /**
     * 小于等于结束时间
     */
    private Date createTimeBefore;

    /**
     * 大于等于开始时间
     */
    private Date dealTimeAfter;

    /**
     * 小于等于结束时间
     */
    private Date dealTimeBefore;

    /**
     * 状态，10-提现审核中，20提现成功待打款，21-提现失败
     */
    private Integer state;

    /**
     * stateIn，用于批量操作
     */
    private String stateIn;

    /**
     * stateNotIn，用于批量操作
     */
    private String stateNotIn;

    /**
     * stateNotEquals，用于批量操作
     */
    private Integer stateNotEquals;

    /**
     * 失败原因
     */
    private String failReason;

    /**
     * 失败原因,用于模糊查询
     */
    private String failReasonLike;

    /**
     * 排序条件，条件之间用逗号隔开，如果不传则按照withdrawalId倒序排列
     */
    private String orderBy;

    /**
     * 分组条件
     */
    private String groupBy;

    /**
     * 分页信息
     */
    private PagerInfo pager;
}