package zhicha import ( "tyapi-server/internal/config" "tyapi-server/internal/shared/external_logger" ) // NewZhichaServiceWithConfig 使用配置创建智查金控服务 func NewZhichaServiceWithConfig(cfg *config.Config) (*ZhichaService, error) { // 将配置类型转换为通用外部服务日志配置 loggingConfig := external_logger.ExternalServiceLoggingConfig{ Enabled: cfg.Zhicha.Logging.Enabled, LogDir: cfg.Zhicha.Logging.LogDir, ServiceName: "zhicha", UseDaily: cfg.Zhicha.Logging.UseDaily, EnableLevelSeparation: cfg.Zhicha.Logging.EnableLevelSeparation, LevelConfigs: make(map[string]external_logger.ExternalServiceLevelFileConfig), } // 转换级别配置 for key, value := range cfg.Zhicha.Logging.LevelConfigs { loggingConfig.LevelConfigs[key] = external_logger.ExternalServiceLevelFileConfig{ MaxSize: value.MaxSize, MaxBackups: value.MaxBackups, MaxAge: value.MaxAge, Compress: value.Compress, } } // 创建通用外部服务日志器 logger, err := external_logger.NewExternalServiceLogger(loggingConfig) if err != nil { return nil, err } // 创建智查金控服务 service := NewZhichaService( cfg.Zhicha.URL, cfg.Zhicha.AppID, cfg.Zhicha.AppSecret, cfg.Zhicha.EncryptKey, logger, ) return service, nil } // NewZhichaServiceWithLogging 使用自定义日志配置创建智查金控服务 func NewZhichaServiceWithLogging(url, appID, appSecret, encryptKey string, loggingConfig external_logger.ExternalServiceLoggingConfig) (*ZhichaService, error) { // 设置服务名称 loggingConfig.ServiceName = "zhicha" // 创建通用外部服务日志器 logger, err := external_logger.NewExternalServiceLogger(loggingConfig) if err != nil { return nil, err } // 创建智查金控服务 service := NewZhichaService(url, appID, appSecret, encryptKey, logger) return service, nil } // NewZhichaServiceSimple 创建简单的智查金控服务(无日志) func NewZhichaServiceSimple(url, appID, appSecret, encryptKey string) *ZhichaService { return NewZhichaService(url, appID, appSecret, encryptKey, nil) }