69 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			69 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
|  | 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) | ||
|  | } |