浏览代码

获取业务db

huangrf 5 年之前
父节点
当前提交
0c39a57068
共有 1 个文件被更改,包括 13 次插入2 次删除
  1. 13 2
      engine/apiengine.go

+ 13 - 2
engine/apiengine.go

@@ -23,6 +23,8 @@ import (
 	"git.qianqiusoft.com/qianqiusoft/light-apiengine/engine/auth"
 )
 
+var apiEngine *ApiEngine = nil
+
 type ApiEngine struct {
 	entitys.ApiEngineInterface
 	PlatformOrmEngine *xorm.Engine
@@ -41,8 +43,8 @@ func (g *ApiEngine) GetAllBusinessDb() map[string]*xorm.Engine {
 }
 
 func Default() *ApiEngine {
-	apiengine := NewApiEngine("mysql", config.AppConfig.DataSource, fmt.Sprintf(":%d", config.AppConfig.HttpPort))
-	return apiengine
+	apiEngine = NewApiEngine("mysql", config.AppConfig.DataSource, fmt.Sprintf(":%d", config.AppConfig.HttpPort))
+	return apiEngine
 }
 
 func NewApiEngine(driverName, dataSourceName string, addr string) *ApiEngine {
@@ -154,3 +156,12 @@ func (g *ApiEngine) Run() {
 
 	g.GinEngine.Run(g.Listen_addr)
 }
+
+/**
+ * @brief: 获取对应业务engine,主要用于无法通过参数获取db的地方,例如init中启动定时器
+ * @param1 domain: 域名
+ * @return1: engine
+ */
+func GetBusinessDb(domain string) *xorm.Engine {
+	return apiEngine.BusinessOrmEngine[domain]
+}