package org.tio.sitexxx.service.service.pay.vo.ncount;

import lombok.Data;
import org.tio.sitexxx.service.service.pay.vo.ncount.base.NCountBaseVo;

/**
 * <pre>
 *    @author : vagrancy
 *    e-mail : 18050829067@163.com
 *    time   : 2025-11-25 10:33
 *    desc   :
 * </pre>
 */
@Data
public class NWithholdVoVo extends NCountBaseVo {

    private static final long		serialVersionUID	= -822690241127251739L;
    public static final String[]	encryptArr			= new String[] { "tranAmount", "userId", "bindCardAgrNo", "notifyUrl", "paymentTerminalInfo", "deviceInfo", "serviceAmount",
            "businessType", "cardNo" };
    public static final String[]	verifyArr			= new String[] { "version", "tranCode", "merOrderId", "merId", "charset", "signType", "resultCode", "errorCode",
            "ncountOrderId" };
    public static final String[]	submitArr			= new String[] { "version", "tranCode", "merId", "merOrderId", "submitTime", "msgCiphertext", "signType", "signValue",
            "merAttach", "charset" };

    private String	tranAmount;		//金额
    private String	userId;			//用户ID
    private String	bindCardAgrNo;	//绑卡协议号
    private String	notifyUrl;		//通知地址
    /**
     * 服务费
     */
    private String	serviceAmount;

    /**
     * 业务类型:08 绑定卡提现
     */
    private String businessType;

    /**
     * 银行卡号
     */
    private String cardNo;

    private String paymentTerminalInfo;

    private String deviceInfo;

    @Override
    public String getEncryptJsonStr() {
        return getJsonStr(this, encryptArr);
    }

    @Override
    public String getVerifyJsonStr() {
        return getJsonStr(this, verifyArr);
    }

    @Override
    public String getSubmitJsonStr() {
        return getJsonStr(this, submitArr);
    }
}

