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

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 com.jeequan.jeepay.core.utils.StringKit;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;

/**
 * 开店宝 服务商参数定义
 *
 * @author yr
 *
 * @date 2023/03/27
 */
@Data
public class KdbpayIsvParams extends IsvParams {

    /** 渠道商编号 */
    @ChannelMchId(type = ChannelMchIdTypeEnum.ISV_NO)
    private String agentNo;

    /** 渠道密钥 */
    private String agentKey;

    /** 业务员编号 */
    private String empNo;

    /** 清算周期 00-T+1 01-D0 02-D+1 （00是清算周期，T1是结算周期） T1组合渠道侧暂不支持20231031 **/
    private String settType;

    /** 微信渠道号 */
    private String wxChannelId;
    /** 微信渠道名称 */
    private String wxChannelName;

    /** 支付宝伙伴id */
    private String aliPartnerId;
    /** 支付宝伙伴名称 **/
    public String aliPartnerName;


    /** 微信开户意愿地址 */
    private String wxUrl;
    /** 支付宝商家认证地址 */
    private String aliUrl;


    @Override
    public String deSenData() {
        KdbpayIsvParams isvParams = this;
        if (StringUtils.isNotBlank(this.agentKey)) {
            isvParams.setAgentKey(StringKit.str2Star(this.agentKey, 4, 4, 6));
        }
        if (StringUtils.isNotBlank(this.wxChannelId)) {
            isvParams.setWxChannelId(StringKit.str2Star(this.wxChannelId, 4, 4, 6));
        }
        if (StringUtils.isNotBlank(this.aliPartnerId)) {
            isvParams.setAliPartnerId(StringKit.str2Star(this.aliPartnerId, 4, 4, 6));
        }
        return ((JSONObject) JSON.toJSON(isvParams)).toJSONString();
    }
}

