|
@@ -3,6 +3,7 @@ package routers
|
|
|
|
|
|
|
|
import (
|
|
import (
|
|
|
"git.qianqiusoft.com/qianqiusoft/light-apiengine/engine"
|
|
"git.qianqiusoft.com/qianqiusoft/light-apiengine/engine"
|
|
|
|
|
+ "github.com/gin-gonic/gin"
|
|
|
"git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
|
|
"git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
|
|
|
"sync"
|
|
"sync"
|
|
|
)
|
|
)
|
|
@@ -10,24 +11,35 @@ import (
|
|
|
var (
|
|
var (
|
|
|
_registerHandlers []func(e *engine.ApiEngine) = nil
|
|
_registerHandlers []func(e *engine.ApiEngine) = nil
|
|
|
_registerHandlerMutex sync.Mutex
|
|
_registerHandlerMutex sync.Mutex
|
|
|
|
|
+ _router map[string]*gin.RouterGroup
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
func addRegisterHandler(handler func(e *engine.ApiEngine)){
|
|
func addRegisterHandler(handler func(e *engine.ApiEngine)){
|
|
|
_registerHandlerMutex.Lock()
|
|
_registerHandlerMutex.Lock()
|
|
|
- _registerHandlerMutex.Unlock()
|
|
|
|
|
|
|
+ defer _registerHandlerMutex.Unlock()
|
|
|
if _registerHandlers == nil{
|
|
if _registerHandlers == nil{
|
|
|
_registerHandlers = make([]func(e *engine.ApiEngine), 0)
|
|
_registerHandlers = make([]func(e *engine.ApiEngine), 0)
|
|
|
}
|
|
}
|
|
|
|
|
+ if _router == nil {
|
|
|
|
|
+ _router = make(map[string]*gin.RouterGroup)
|
|
|
|
|
+ }
|
|
|
_registerHandlers = append(_registerHandlers, handler)
|
|
_registerHandlers = append(_registerHandlers, handler)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+func GetRouter(name string) *gin.RouterGroup {
|
|
|
|
|
+ if _router == nil {
|
|
|
|
|
+ return nil
|
|
|
|
|
+ }
|
|
|
|
|
+ return _router[name]
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
func Register(e *engine.ApiEngine){
|
|
func Register(e *engine.ApiEngine){
|
|
|
//models.SyncDb(e.OrmEngine)
|
|
//models.SyncDb(e.OrmEngine)
|
|
|
for _,db := range e.BusinessOrmEngine {
|
|
for _,db := range e.BusinessOrmEngine {
|
|
|
models.SyncDb(db)
|
|
models.SyncDb(db)
|
|
|
}
|
|
}
|
|
|
_registerHandlerMutex.Lock()
|
|
_registerHandlerMutex.Lock()
|
|
|
- _registerHandlerMutex.Unlock()
|
|
|
|
|
|
|
+ defer _registerHandlerMutex.Unlock()
|
|
|
for i := range _registerHandlers{
|
|
for i := range _registerHandlers{
|
|
|
_registerHandlers[i](e)
|
|
_registerHandlers[i](e)
|
|
|
}
|
|
}
|