package cn.pluss.platform.yinsheng;

import cn.pluss.platform.util.DateUtils;
import cn.pluss.platform.util.StringUtil;
import lombok.Data;

import java.util.Date;
import java.util.UUID;

/**
 * 老板银盛接口请求参数封装
 */
@Data
public class ReqOldEntity {

    /**
     * 接口名称
     */
    private String method;

    /**
     * 商户在银盛支付平台开设的用户号[商户号]
     */
    private String partner_id;

    /**
     * 发送请求的时间，格式"yyyy-MM-dd HH:mm:ss"
     */
    private String timestamp;

    /**
     * 商户网站使用的编码格式
     */
    private String charset;

    /**
     * RSA签名字符串
     */
    private String sign_type;

    /**
     * RSA签名字符串，再用Base64编码
     */
    private String sign;

    /**
     * 接口版本
     */
    private String version;

    /**
     * json格式对象，请求业务参数
     */
    private String biz_content;

    /**
     * 银盛支付服务器主动通知商户网站里指定的页面http路径，支持多个url进行异步通知，多个url用分隔符“,”分开，格式如：url1,url2,url3
     */
    private String notify_url;

    /**
     * 银盛支付服务器主动通知商户网站里指定的页面http路径，支持多个url进行异步通知，多个url用分隔符“,”分开，格式如：url1,url2,url3
     */
    private String return_url;


    /**
     * 交易类型，说明：1或者空：即时到账，2：担保交易
     */
    private String tran_type;

    public static final String VERSION_3_1 = "3.1";

    public static final String DEFAULT_VERSION = "3.0";

    public static final String VERSION_NAME = "version";


    public ReqOldEntity() {
        this.timestamp = DateUtils.formatDateDefault(new Date(),"yyyy-MM-dd HH:mm:ss");
        this.version = DEFAULT_VERSION;
        this.charset = "UTF-8";
        this.sign_type = "RSA";
    }

    public ReqOldEntity(String version) {
        this.timestamp = DateUtils.formatDateDefault(new Date(),"yyyy-MM-dd HH:mm:ss");
        this.version = StringUtil.isNotEmpty(version) ? version : DEFAULT_VERSION;
        this.charset = "UTF-8";
        this.sign_type = "RSA";
    }
}
