package huibo import ( "tyapi-server/internal/config" "tyapi-server/internal/shared/external_logger" ) // NewHuiboServiceWithConfig 使用配置创建汇博服务 func NewHuiboServiceWithConfig(cfg *config.Config) (*HuiboService, error) { loggingConfig := external_logger.ExternalServiceLoggingConfig{ Enabled: cfg.Huibo.Logging.Enabled, LogDir: cfg.Huibo.Logging.LogDir, ServiceName: "huibo", UseDaily: cfg.Huibo.Logging.UseDaily, EnableLevelSeparation: cfg.Huibo.Logging.EnableLevelSeparation, LevelConfigs: make(map[string]external_logger.ExternalServiceLevelFileConfig), } for key, value := range cfg.Huibo.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 := NewHuiboService(HuiboConfig{ URL: cfg.Huibo.URL, AppID: cfg.Huibo.AppID, AppKey: cfg.Huibo.AppKey, XOrderCode: cfg.Huibo.XOrderCode, SecretID: cfg.Huibo.SecretID, AESKey: cfg.Huibo.AESKey, WorkOrderCode: cfg.Huibo.WorkOrderCode, ProductCode: cfg.Huibo.ProductCode, }, logger) return service, nil }