using MiAssessment.Model.Models.Payment; namespace MiAssessment.Core.Interfaces; /// /// 微信支付配置服务接口 /// public interface IWechatPayConfigService { /// /// 获取默认微信支付配置 /// /// 商户配置 WechatPayMerchantConfig GetDefaultConfig(); /// /// 根据订单号获取商户配置 /// /// 订单号 /// 商户配置 WechatPayMerchantConfig GetMerchantByOrderNo(string orderNo); /// /// 根据商户前缀获取商户配置 /// /// 商户前缀(3位字符) /// 商户配置 WechatPayMerchantConfig? GetMerchantByPrefix(string merchantPrefix); /// /// 根据小程序前缀获取小程序配置 /// /// 小程序前缀(2位字符) /// 小程序配置 MiniprogramConfig? GetMiniprogramByPrefix(string miniprogramPrefix); /// /// 根据域名获取小程序配置 /// /// 域名 /// 小程序配置 MiniprogramConfig? GetMiniprogramByDomain(string domain); /// /// 获取默认小程序配置 /// /// 小程序配置 MiniprogramConfig? GetDefaultMiniprogram(); /// /// 从订单号中提取前缀信息 /// /// 订单号 /// 前缀信息 OrderPrefixInfo? ExtractOrderPrefix(string orderNo); /// /// 根据权重随机获取一个商户 /// /// 商户列表 /// 随机选择的商户 WechatPayMerchantConfig? GetRandomMerchant(IEnumerable merchants); /// /// 获取微信支付配置(支持随机商户选择) /// /// 包含商户和AppId的配置 (WechatPayMerchantConfig Merchant, string AppId) GetWxPayConfig(); /// /// 获取固定的微信支付配置(基于订单前缀) /// /// 订单前缀 /// 包含商户和AppId的配置 (WechatPayMerchantConfig? Merchant, string AppId) GetFixedWxPayConfig(string orderPrefix); }