package com.jeequan.jeepay.core.model.oauth2;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.jeequan.jeepay.core.utils.JeepayKit;
import com.jeequan.jeepay.core.utils.StringKit;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;

/**
* 微信 oauth2相关参数
*
* @author terrfly
*
* @date 2022/11/9 14:26
*/
@Data
public class WxpayOauth2Params extends Oauth2Params{

    /** 是否使用子商户的 小程序账号（ 目前仅小程序使用 ） 1-是 0-否  **/
    private Byte isUseSubmchAccount;

    /** 申请服务商的 公众号的 appID */
    private String appId;

    /** 申请服务商的 公众号应用AppSecret */
    private String appSecret;

    /** 小程序的 appID */
    private String liteAppId;

    /** 小程序的 AppSecret */
    private String liteAppSecret;

    /** 小程序的 原始ID */
    private String liteGhid;

    /** 小程序的 版本（env :  release - 正式、test - 开发、 preview - 体验） */
    private String liteEnv;

    /** 小程序的 页面路径 */
    private String litePagePath;

    /** oauth2地址 */
    private String oauth2Url;

    public static final String WX_TG_PRIFEX = "https://hxj-2gb4hccs253d2569-1319126146.tcloudbaseapp.com/s.html?"+ JeepayKit.TOKEN_KEY +"=";

    @Override
    public String deSenData() {

        WxpayOauth2Params isvParams = this;
        if (StringUtils.isNotBlank(this.appSecret)) {
            isvParams.setAppSecret(StringKit.str2Star(this.appSecret, 4, 4, 6));
        }
        if (StringUtils.isNotBlank(this.liteAppSecret)) {
            isvParams.setLiteAppSecret(StringKit.str2Star(this.liteAppSecret, 4, 4, 6));
        }
        return ((JSONObject)JSON.toJSON(isvParams)).toJSONString();
    }
}
