package com.xinelu.applet.utils;

import com.wechat.pay.contrib.apache.httpclient.util.PemUtil;
import com.xinelu.common.exception.ServiceException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Component;

import java.security.PrivateKey;

/**
 * @Description 微信工具类
 * @Author 纪寒
 * @Date 2022-10-20 10:11:38
 * @Version 1.0
 */
@Component
@Slf4j
public class WeChatUtil {

    /**
     * 获取商户的私钥文件
     *
     * @param filename 获取商户的私钥文件
     * @return 商户私钥
     */
    public PrivateKey getPrivateKey(String filename) {
        try {
            return PemUtil.loadPrivateKey(new ClassPathResource(filename).getInputStream());
        } catch (Exception e) {
            log.error("商户私钥文件不存在，错误原因：{}", e.getMessage());
            throw new ServiceException("商户私钥文件不存在，请联系管理员！");
        }
    }
}
