feat 拆出qgdzs

This commit is contained in:
2026-01-12 16:53:43 +08:00
parent a089af576c
commit 7ff0234ca6
24 changed files with 1837 additions and 0 deletions

58
app/app.go Normal file
View File

@@ -0,0 +1,58 @@
package app
import (
"fmt"
"git.hlsq.asia/mmorpg/service-common/discover"
"git.hlsq.asia/mmorpg/service-common/log"
"git.hlsq.asia/mmorpg/service-qgdzs/config"
"github.com/judwhite/go-svc"
)
type Program struct {
moduleList []Module // 模块列表
}
type Module interface {
init() error
start() error
stop() error
}
func (p *Program) Init(_ svc.Environment) error {
p.moduleList = append(p.moduleList, &ModuleBase{})
p.moduleList = append(p.moduleList, &ModuleDB{})
p.moduleList = append(p.moduleList, &ModuleGrpcServer{})
for _, module := range p.moduleList {
if err := module.init(); err != nil {
return err
}
}
log.Infof(fmt.Sprintf("%v Init successful...", config.Get().App.Name))
return nil
}
func (p *Program) Start() error {
for _, module := range p.moduleList {
if err := module.start(); err != nil {
return err
}
}
discover.Listen()
log.Infof(fmt.Sprintf("%v Start successful...", config.Get().App.Name))
return nil
}
func (p *Program) Stop() error {
discover.Close()
for i := len(p.moduleList) - 1; i >= 0; i-- {
module := p.moduleList[i]
if err := module.stop(); err != nil {
log.Errorf("module stop error: %v", err)
}
}
log.Infof(fmt.Sprintf("%v Stop successful...", config.Get().App.Name))
return nil
}

33
app/base.go Normal file
View File

@@ -0,0 +1,33 @@
package app
import (
"git.hlsq.asia/mmorpg/service-common/log"
"git.hlsq.asia/mmorpg/service-common/utils"
"git.hlsq.asia/mmorpg/service-qgdzs/config"
"math/rand"
)
// ModuleBase 基础模块,或者一些零散的模块
type ModuleBase struct {
}
func (p *ModuleBase) init() error {
// 配置
if err := config.LoadConfig(); err != nil {
return err
}
cfg := config.Get()
// 日志
log.Init(cfg.Log.Debug, cfg.Log.MaxSize, cfg.Log.MaxBackups, cfg.Log.MaxAge, cfg.Log.Level)
// 雪花
utils.InitSnowflake(int64(rand.Intn(1000)))
return nil
}
func (p *ModuleBase) start() error {
return nil
}
func (p *ModuleBase) stop() error {
return nil
}

23
app/db.go Normal file
View File

@@ -0,0 +1,23 @@
package app
import (
"git.hlsq.asia/mmorpg/service-common/db"
"git.hlsq.asia/mmorpg/service-qgdzs/config"
)
// ModuleDB 数据库模块
type ModuleDB struct {
dbModule *db.ModuleDB
}
func (p *ModuleDB) init() error {
return p.dbModule.Init(config.Get().DB)
}
func (p *ModuleDB) start() error {
return nil
}
func (p *ModuleDB) stop() error {
return p.dbModule.Stop()
}

27
app/grpc.go Normal file
View File

@@ -0,0 +1,27 @@
package app
import (
"git.hlsq.asia/mmorpg/service-common/net/grpc/service"
"git.hlsq.asia/mmorpg/service-qgdzs/config"
"git.hlsq.asia/mmorpg/service-qgdzs/internal/grpc_server/server"
)
// ModuleGrpcServer Grpc服务模块
type ModuleGrpcServer struct {
server service.IService
}
func (m *ModuleGrpcServer) init() error {
return nil
}
func (m *ModuleGrpcServer) start() error {
m.server = server.NewServer(config.Get().Serve.Grpc.TTL)
m.server.Init(config.Get().Serve.Grpc.Address, config.Get().Serve.Grpc.Port)
return nil
}
func (m *ModuleGrpcServer) stop() error {
m.server.Close()
return nil
}