package com.hzs.member.account.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.BigDecimalFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

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

/**
 * 充值匹配VO
 *
 * @Description:
 * @Author: ljc
 * @Time: 2024/4/19 16:44
 * @Classname: CuMemberRechargeMatchVO
 * @Package_name: com.hzs.member.account.vo
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
public class CuMemberRechargeMatchVO implements Serializable {
    private static final long serialVersionUID = 7741270061047916057L;


    private Long pkId;

    /**
     * 会员主键
     */
    private Long pkMember;

    /**
     * 国家
     */
    private Integer pkCountry;

    /**
     * 汇款人
     */
    @Excel(name = "汇款人")
    private String remitter;

    /**
     * 汇款金额
     */
    @BigDecimalFormat()
    @Excel(name = "汇款金额", scale = 2)
    private BigDecimal remittanceAmount;

    /**
     * 汇款日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "汇款日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date remittanceDate;

    /**
     * 备注
     */
    @Excel(name = "汇款说明")
    private String remarks;

    /**
     * 凭条号码
     */
    @Excel(name = "凭条号码")
    private Integer voucherNumber;

    /**
     * 会员编号
     */
    @Excel(name = "会员编号")
    private String memberCode;

    /**
     * 银行名称
     */
    @Excel(name = "银行名称")
    private String bankName;


    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date creationTime;

    /**
     * 状态（1:未确认 2：已确认）
     */
    @Transaction(transactionKey = EnumsPrefixConstants.RECHARGE_STATUS)
    private Integer status;

    @Excel(name = "状态")
    private String statusVal;

    /**
     * 确认人
     */
    private String ConfirmCode;

    /**
     * 确认人
     */
    @Excel(name = "确认人")
    private String ConfirmName;

    /**
     * 确认时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "确认时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date confirmTime;

    /**
     * 确认人
     */
    private Long pkConfirm;


    /**
     * 开始时间
     */
    private String startDate;
    /**
     * 结束时间
     */
    private String endDate;


}
