package com.crm.pay.entity.merchart;

import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * @Author houn
 * @Date 2025/12/19 17:53
 * @PackageName:com.crm.pay.entity
 * @ClassName: MerchantPayEntity
 * @Description: TODO
 */
@Data
public class MerchantPayOutRequestEntity {


    /**
     * 商户号
     */
    @NotNull(message = "商户号不能为空")
    private Long merId;

    /**
     * 交易流水号
     */
    @NotNull(message = "流水号不能为空")
    @NotBlank(message = "流水号不能为空")
    private String seqId;

    /**
     * 交易时间
     */
    @NotNull(message = "请求时间不能为空")
    private String requestTime;

    /**
     * 交易金额(USD)
     */
    @NotNull(message = "交易金额不能为空")
    private BigDecimal amount;

    /**
     * 通知地址
     */
    private String notifyUrl;

    /**
     * 支付方式
     */
    @NotNull(message = "支付方式不能为空")
    private String channelCode;

    //银行用户名
    private String bankUname;

    //银行卡号
    private String bankCardNum;

    //银行名称
    private String bankName;

    //支行地址
    private String bankBranchName;

    //银行卡正面地址
    private String bankFront;

    private String payType;

    /**
     * 买家邮箱
     */
    @NotNull(message = "邮箱不能为空")
    private String email;

    /**
     * 买家手机号码
     */
    @NotNull(message = "手机号码不能为空")
    private String phone;

    /**
     * 扩展参数
     */
    private String extParam;

    private String channelType;

    private String identity;

    private int gaCode;

    private String ip;

    /**
     * 签名
     */
    @NotNull(message = "签名不能为空")
    private String sign;

    private BigDecimal fixedRate;
    private BigDecimal fixedRateAmount;

}
