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 MerchantPayInRequestEntity {


    /**
     * 商户号
     */
    @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 payType;

    /**
     * 买家名称
     */
    @NotNull(message = "商户买家名称不能为空")
    private String name;

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

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

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

    private String ip;


    private String clientIp;

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

    private String identity;

    private BigDecimal fixedRate;
    private BigDecimal fixedRateAmount;

}
