package wxpay

import (
	"gopkg.in/yaml.v3"
	"goutil/yamlUtil"
	"log"
)

type WxPayConfig struct {
	MchID                      string
	MchCertificateSerialNumber string
	MchAPIv3Key                string
	AppId                      string
	NotifyUrl                  string
}

var (
	wxPayConfig = &WxPayConfig{}
)

func init() {

	//加载配置
	reloadConfig()

	//校验配置
	CheckConfig()
}

// reloadConfig
//
//	@description: reloadConfig
//
// parameter:
// return:
//
//	@error: 错误信息
func reloadConfig() error {

	yamlFile, err := yamlUtil.LoadFromFile("payconfig/wxpayconfig.yml")
	if err != nil {
		return err
	}

	// 解析 YAML 文件
	err = yaml.Unmarshal(yamlFile, wxPayConfig)
	if err != nil {
		log.Fatalf("Error unmarshalling config file: %v", err)
		return err
	}

	return nil
}

// CheckConfig 校验配置
func CheckConfig() error {

	return nil
}

// GetWxPayConfig 获取配置
func GetWxPayConfig() *WxPayConfig {
	return wxPayConfig
}
