package server import ( "epur-pay/pkg/config" "epur-pay/pkg/logger" "epur-pay/pkg/mq" "epur-pay/pkg/rds" "epur-pay/pkg/redis" "github.com/robfig/cron" "net/http" ) type App struct { RunMode string ServerName string ServerApps []*http.Server } func NewApp(RunMode, ServerName string) *App { p := &App{RunMode: RunMode, ServerName: ServerName} config.Cf.Common.RunMode = p.RunMode config.New(p.ServerName) logger.New(config.Cf.Common.LogFilePath, config.Cf.Common.RunMode) return p } func (p *App) LoadDB() *App { rds.New(&config.Cf.Rds, config.Cf.Common.RunMode) return p } func (p *App) LoadRedis() *App { redis.New(&config.Cf.Redis) return p } func (p *App) LoadCron() *App { cron.New() return p } func (p *App) LoadMq() *App { mq.New() return p } func (p *App) LoadCustomApp(F func()) *App { if F != nil { F() } return p }