package com.jeequan.jeepay.core.model.params.lklpay;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.jeequan.jeepay.core.annotate.ChannelMchId;
import com.jeequan.jeepay.core.constants.ChannelMchIdTypeEnum;
import com.jeequan.jeepay.core.model.params.IsvParams;
import lombok.Data;

/**
 * 拉卡拉 isv参数定义
 *
 * @author xiaoyu
 *
 * @date 2022/4/13 17:08
 */
@Data
public class LklpayIsvParams extends IsvParams {

    private String settType;

    /** 是否沙箱环境 */
    private Byte sandbox;

    /** appId */
    private String appId;

    /** 证书序列号 */
    private String serialNo;

    /** 汇拓客用户号 */
    private Long userNo;

    /** 汇拓客机构号 */
    private String clientId;

    /** 汇拓客机构秘钥 */
    private String clientSecret;

    /** 机构代码 */
    @ChannelMchId(type = ChannelMchIdTypeEnum.ISV_NO)
    private String orgCode;

    /** 微信渠道号 */
    private String wxChannelId;

    /** 微信开通意愿二维码url */
    private String wxOpenUrl;

    /** 支付宝开通意愿二维码url */
    private String aliChannelExtUrl;

    /** 私钥证书 */
    private String privateCert;

    /** 公钥证书 */
    private String publicCert;

    private Integer activityId;

    @Override
    public String deSenData() {
        LklpayIsvParams isvParams = this;
//        if (StringUtils.isNotBlank(this.appId)) {
//            isvParams.setAppId(StringKit.autoDesensitization(this.appId));
//        }
//        if (StringUtils.isNotBlank(this.serialNo)) {
//            isvParams.setSerialNo(StringKit.autoDesensitization(this.serialNo));
//        }
        return ((JSONObject) JSON.toJSON(isvParams)).toJSONString();
    }
}
