package cn.pluss.platform.config;

import cn.pluss.platform.util.ParametersUtil;
import cn.pluss.platform.util.RyxConfig;
import cn.pluss.platform.util.SxfConfg;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

/**
 * @author Djh
 * 配置参数接收实体类
 */
@Component
public class ParameterConfig {

    @Value("${sxf.domain}")
    public String sxfDomain;

    @Value("${sxf.orgId}")
    public String orgId;

    @Value("${sxf.publicKey}")
    public String publicKey;

    @Value("${ryx.auditDomain}")
    public String ryxAuditDomain;

    @Value("${ryx.payDomain}")
    public String ryxPayDomain;

    @Value("${ryx.accessId}")
    public String ryxAccessId;

    @Value("${ryx.subAccessId}")
    public String ryxSubAccessId;

    @Value("${ryx.subAccessPubKey}")
    public String ryxSubAccessPubKey;

    @Value("${ryx.cooperatorPriKey}")
    public String ryxCooperatorPriKey;

    @Value("${ryx.cooperatorPubKey}")
    public String ryxCooperatorPubKey;

    @Value("${ryx.accessPubKey}")
    public String ryxAccessPubKey;

    @Value("${ryx.smzfPubKey}")
    public String ryxSmzfPubKey;

    @Value("${ryx.payCooperator}")
    public String ryxPayCooperator;

    /**
     * 上传图片保存路径
     */
    @Value("${parameter.upload_save_path}")
    public String upload_save_path;
    /**
     * 上传图片访问路径
     */
    @Value("${parameter.upload_visit_path}")
    public String upload_visit_path;
    /**
     * 获取支付宝授权token
     */
    @Value("${parameter.ALI_APP_AUTH_TOKEN}")
    public String ALI_APP_AUTH_TOKEN;
    /**
     * 支付宝费率
     */
    @Value("${parameter.ALI_RATE}")
    public Double ALI_RATE;
    /**
     * 微信费率
     */
    @Value("${parameter.WECHAT_RATE}")
    public Double WECHAT_RATE;
    /**
     * 微信支付appid
     */
    @Value("${parameter.APPID}")
    public String APPID;
    /**
     * 付款小程序APPID
     */
    @Value("${parameter.APPLETS_APPID}")
    public String APPLETS_APPID;
    /**
     * AppSecret
     */
    @Value("${parameter.APPSECRET}")
    public String APPSECRET;
    /**
     * 商户号
     */
    @Value("${parameter.PID}")
    public String PID;
    /**
     * 秘钥
     */
    @Value("${parameter.KEY}")
    public String KEY;
    /**
     * 微信支付回调地址
     */
    @Value("${parameter.wechatCallback}")
    public String wechatCallback;
    /**
     * 支付宝Appid
     */
    @Value("${parameter.ALI_APP_ID}")
    public String ALI_APP_ID;
    /**
     * 支付宝私钥
     */
    @Value("${parameter.PRI}")
    public String PRI;
    /**
     * 支付宝公钥
     */
    @Value("${parameter.PUB}")
    public String PUB;
    /**
     * 支付宝授权回调地址
     */
    @Value("${parameter.ALI_RETURN_URL}")
    public String ALI_RETURN_URL;
    /**
     * 服务器域名
     */
    @Value("${parameter.domain}")
    public String domain;
    /**
     * 乐刷代理商编号
     */
    @Value("${parameter.agentId}")
    public String agentId;
    /**
     * 乐刷进件和交易请求密钥（key
     */
    @Value("${parameter.leshuapaykey}")
    public String leshuapaykey;
    /**
     * 交易异步通知回调密钥
     */
    @Value("${parameter.leshuaCallBackKey}")
    public String leshuaCallBackKey;
    /**
     * 粉丝分润比例
     */
    @Value("${parameter.fans_profit}")
    public Double fans_profit;
    /**
     * 乐刷费率
     */
    @Value("${parameter.leshuarate}")
    public Double leshuarate;
    /**
     * 下载apk地址
     */
    @Value("${parameter.apk_dowload_url}")
    public String apk_dowload_url;
    /**
     * apk版本号
     */
    @Value("${parameter.versions}")
    public String versions;
    /**
     * 官网获取的 API Key  OCR
     */
    @Value("${parameter.baiduAK}")
    public String baiduAK;
    /**
     * 官网获取的 Secret Key OCR
     */
    @Value("${parameter.baiduSK}")
    public String baiduSK;

    /**
     * 百度人脸识别
     * 官网获取的 API Key  OCR
     */
    @Value("${parameter.baiduAK2}")
    public String baiduAK2;

    /**
     * 百度人脸识别
     * 官网获取的 Secret Key OCR
     */
    @Value("${parameter.baiduSK2}")
    public String baiduSK2;

    /**
     * 身份证OCR接口地址
     */
    @Value("${parameter.idCardOCRUrl}")
    public String idCardOCRUrl;
    /**
     * 银行卡OCR接口地址
     */
    @Value("${parameter.bankCardOCRUrl}")
    public String bankCardOCRUrl;
    /**
     * 营业执照OCR接口地址
     */
    @Value("${parameter.blCardOCRUrl}")
    public String blCardOCRUrl;
    /**
     * 阿里自用型应用appid
     */
    @Value("${parameter.ZY_ALI_APP_ID}")
    public String ZY_ALI_APP_ID;
    /**
     * 阿里自用型应用私钥
     */
    @Value("${parameter.ZY_PRI}")
    public String ZY_PRI;
    /**
     * 阿里自用型应用公钥
     */
    @Value("${parameter.ZY_PUB}")
    public String ZY_PUB;
    /**
     * 刘思义本人的乐刷的商户编号 用来收推广人升级的钱
     */
    @Value("${parameter.LESHUALIU}")
    public String LESHUALIU;

    /**
     * 收银呗微信普通商户APPID
     */
    @Value("${parameter.MERCHANT_APPID}")
    public String MERCHANT_APPID;

    /**
     * 收银呗微信普通商户Appsecret
     */
    @Value("${parameter.MERCHANT_APPSECRET}")
    public String MERCHANT_APPSECRET;

    /**
     * 收银呗微信普通商户号
     */
    @Value("${parameter.MERCHANT_PID}")
    public String MERCHANT_PID;

    /**
     * 收银呗微信普通商户key
     */
    @Value("${parameter.MERCHANT_KEY}")
    public String MERCHANT_KEY;

    @Value("${parameter.LESHUA_API}")
    public String LESHUA_API;

    @Value("${parameter.SJ_APPID}")
    public String SJ_APPID;

    @Value("${parameter.SJ_APPSECRET}")
    public String SJ_APPSECRET;

    @PostConstruct
    public void init() {
        ParametersUtil.upload_save_path = upload_save_path;
        ParametersUtil.upload_visit_path = upload_visit_path;
        ParametersUtil.ALI_APP_AUTH_TOKEN = ALI_APP_AUTH_TOKEN;
        ParametersUtil.ALI_RATE = ALI_RATE;
        ParametersUtil.WECHAT_RATE = WECHAT_RATE;
        ParametersUtil.APPID = APPID;
        ParametersUtil.APPLETS_APPID = APPLETS_APPID;
        ParametersUtil.APPSECRET = APPSECRET;
        ParametersUtil.PID = PID;
        ParametersUtil.KEY = KEY;
        ParametersUtil.wechatCallback = wechatCallback;
        ParametersUtil.ALI_APP_ID = ALI_APP_ID;
        ParametersUtil.PRI = PRI;
        ParametersUtil.PUB = PUB;
        ParametersUtil.ALI_RETURN_URL = ALI_RETURN_URL;
        ParametersUtil.domain = domain;
        ParametersUtil.agentId = agentId;
        ParametersUtil.leshuapaykey = leshuapaykey;
        ParametersUtil.leshuaCallBackKey = leshuaCallBackKey;
        ParametersUtil.fans_profit = fans_profit;
        ParametersUtil.leshuarate = leshuarate;
        ParametersUtil.apk_dowload_url = apk_dowload_url;
        ParametersUtil.versions = versions;
        ParametersUtil.baiduAK = baiduAK;
        ParametersUtil.baiduSK = baiduSK;
        ParametersUtil.baiduAK2 = baiduAK2;
        ParametersUtil.baiduSK2 = baiduSK2;
        ParametersUtil.idCardOCRUrl = idCardOCRUrl;
        ParametersUtil.bankCardOCRUrl = bankCardOCRUrl;
        ParametersUtil.blCardOCRUrl = blCardOCRUrl;
        ParametersUtil.ZY_ALI_APP_ID = ZY_ALI_APP_ID;
        ParametersUtil.ZY_PRI = ZY_PRI;
        ParametersUtil.ZY_PUB = ZY_PUB;
        ParametersUtil.LESHUALIU = LESHUALIU;
        ParametersUtil.MERCHANT_APPID=MERCHANT_APPID;
        ParametersUtil.MERCHANT_APPSECRET=MERCHANT_APPSECRET;
        ParametersUtil.MERCHANT_PID=MERCHANT_PID;
        ParametersUtil.MERCHANT_KEY=MERCHANT_KEY;
        ParametersUtil.LESHUA_API=LESHUA_API;
        ParametersUtil.SJ_APPID = SJ_APPID;
        ParametersUtil.SJ_APPSECRET = SJ_APPSECRET;

        SxfConfg.init(sxfDomain, publicKey, orgId);

        RyxConfig.init(this);
    }
}
