瀏覽代碼

完善域初始化代码

zhangjq 6 年之前
父節點
當前提交
a352e1c2bc

+ 1 - 1
controllers/gen/ApiController_gen.go

@@ -30,6 +30,6 @@ func NewApiController(e *engine.ApiEngine) *ApiController {
 func (c *ApiController) ApiDoc(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.Api_ApiDoc(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.Api_ApiDoc(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 

+ 3 - 3
controllers/gen/SsoController_gen.go

@@ -30,7 +30,7 @@ func NewSsoController(e *engine.ApiEngine) *SsoController {
 func (c *SsoController) Login(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.Sso_Login(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.Sso_Login(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // Logout
@@ -42,7 +42,7 @@ func (c *SsoController) Login(ctx *gin.Context) {
 func (c *SsoController) Logout(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.Sso_Logout(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.Sso_Logout(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // TokenValidate
@@ -55,6 +55,6 @@ func (c *SsoController) Logout(ctx *gin.Context) {
 func (c *SsoController) TokenValidate(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.Sso_TokenValidate(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.Sso_TokenValidate(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 

+ 3 - 3
controllers/gen/SysAttachmentController_gen.go

@@ -29,7 +29,7 @@ func NewSysAttachmentController(e *engine.ApiEngine) *SysAttachmentController {
 func (c *SysAttachmentController) Upload(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.SysAttachment_Upload(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.SysAttachment_Upload(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // Download
@@ -42,7 +42,7 @@ func (c *SysAttachmentController) Upload(ctx *gin.Context) {
 func (c *SysAttachmentController) Download(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.SysAttachment_Download(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.SysAttachment_Download(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // Delete
@@ -55,6 +55,6 @@ func (c *SysAttachmentController) Download(ctx *gin.Context) {
 func (c *SysAttachmentController) Delete(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.SysAttachment_Delete(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.SysAttachment_Delete(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 

+ 0 - 180
controllers/gen/SysDomain.go

@@ -1,180 +0,0 @@
-package gen
-
-import (
-	"fmt"
-	"git.qianqiusoft.com/qianqiusoft/light-apiengine/engine"
-	"git.qianqiusoft.com/qianqiusoft/light-apiengine/entitys"
-	sysmodel "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
-	sysutils "git.qianqiusoft.com/qianqiusoft/light-apiengine/utils"
-	"github.com/gin-gonic/gin"
-	"github.com/xormplus/xorm"
-	"regexp"
-	"time"
-)
-
-// SystemController operations for System
-type DomainController struct {
-	apiengine *engine.ApiEngine
-}
-
-func NewDomainController(e *engine.ApiEngine) *DomainController {
-	controller := &DomainController{e}
-	return controller
-}
-
-// AddDomain
-// @Title AddDomain
-// @Description 添加域
-// @Param	      false  "域"
-// @Success 200 {object} sysReturn
-// @Failure 403 :id is empty
-// @router /add_domain  [post,get,put]
-func (c *DomainController) AddDomain(ctx *gin.Context) {
-	//
-	var paramObj0 sysmodel.SysDomain
-	ctx.BindJSON(&paramObj0)
-
-	//1、测试连接串
-	//db, err := xorm.NewEngine("mysql", paramObj0.DataSource)
-	//if err == nil {
-	//	engine.initOrmEngine(db, "mysql")
-	//	c.BusinessOrmEngine[v.Domain] = db
-	//}
-
-	var db *xorm.Engine
-	var err error
-	dbname := paramObj0.DataSource
-	reg := regexp.MustCompile("(.*)/(.*)(\\?.*)")
-	strings := reg.FindStringSubmatch(dbname)
-	if len(strings) > 3 {
-		dbname = strings[2]
-		db, err = xorm.NewEngine("mysql", strings[1]+"/")
-		if err != nil {
-			ctx.JSON(500, sysmodel.SysReturn{500, "连接数据库错误:" + err.Error(), nil})
-			return
-		}
-
-		db.ShowSQL(true)
-		_, err = db.Sql("CREATE DATABASE IF NOT EXISTS `" + dbname + "` default charset utf8 COLLATE utf8_general_ci").Execute()
-		if err != nil {
-			fmt.Println("create database error", err)
-			ctx.JSON(500, sysmodel.SysReturn{500, "create database error " + err.Error(), nil})
-			return
-		} else {
-			fmt.Println("create database success:", dbname)
-		}
-
-		//创建数据库后,重新连接,避免出现 No database selected 错误
-		db, err = xorm.NewEngine("mysql", strings[0])
-		err = c.InitDomainDb(db, paramObj0)
-		if err != nil {
-			ctx.JSON(500, sysmodel.SysReturn{500, "init domain db error: " + err.Error(), nil})
-			return
-		}
-
-		c.apiengine.BusinessOrmEngine[paramObj0.Domain] = db
-	}
-
-	tk, _ := ctx.Get("token")
-	user := tk.(*entitys.Token)
-
-	paramObj0.Id = sysutils.NewUUID()
-	paramObj0.CreateBy = user.UserId
-	paramObj0.LastUpdateBy = user.UserId
-	paramObj0.CreateTime = sysmodel.NowLocal()
-	paramObj0.LastUpdateTime = time.Now().UnixNano()
-	paramObj0.DelFlag = 0
-
-	paramMap, err := sysutils.BeanToMap(&paramObj0)
-	if err != nil {
-		ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
-		return
-	}
-
-	_, err = c.apiengine.PlatformOrmEngine.SqlMapClient("insert_sys_domain", paramMap).Execute()
-	if err == nil {
-		ctx.JSON(200, sysmodel.SysReturn{200, "", paramObj0.Id})
-	} else {
-		ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
-	}
-}
-
-func (c *DomainController) InitDomainDb(db *xorm.Engine, domain sysmodel.SysDomain) error {
-
-	users := sysmodel.SysUser{
-		Id:         sysutils.NewUUID(),
-		Name:       "管理员",
-		LoginId:    domain.Domain,
-		Domain:     domain.Domain,
-		Password:   sysutils.HashPassword("123456", ""),
-		CreateTime: time.Now(),
-	}
-
-	roles := []sysmodel.SysRole{
-		{
-			Id:         "487c50a4-caad-4557-80c8-aca81af9f371",
-			Name:       "管理员",
-			CreateTime: time.Now(),
-		},
-	}
-
-	userRoles := []sysmodel.SysUserRole{
-		{
-			Id:         "587c50a4-caad-4557-80c8-aca81af9f370",
-			RoleId:     "387c50a4-caad-4557-80c8-aca81af9f371",
-			UserId:     users.Id,
-			CreateTime: time.Now(),
-		},
-	}
-
-	//for _, model := range sysmodel.ModelNameList {
-	//	fmt.Println(model)
-	//}
-	//创建表
-	//config.AppConfig.SyncDb = true
-	//sysmodel.SyncDb(db)
-	//config.AppConfig.SyncDb = false
-
-	_, err := db.Sql("CREATE TABLE IF NOT EXISTS `sys_attachment` (`id` VARCHAR(36) PRIMARY KEY NOT NULL, `name` VARCHAR(36) NOT NULL, `size` INT NOT NULL, `ext` VARCHAR(36) NOT NULL, `hash` VARCHAR(255) NOT NULL, `url` VARCHAR(200) NOT NULL, `create_by` VARCHAR(36) NOT NULL, `create_time` DATETIME NOT NULL, `del_flag` INT NOT NULL)").Execute()
-	if err != nil {
-		return err
-	}
-	_, err = db.Sql("CREATE TABLE IF NOT EXISTS `sys_org` (`id` VARCHAR(36) PRIMARY KEY NOT NULL, `parent` VARCHAR(36) NULL, `inheritance` VARCHAR(500) NULL, `name` VARCHAR(36) NOT NULL, `full_name` VARCHAR(36) NOT NULL, `leader` VARCHAR(36) NOT NULL, `type` INT NOT NULL, `order` INT NOT NULL, `status` INT NOT NULL, `domain` VARCHAR(36) NOT NULL, `create_by` VARCHAR(36) NOT NULL, `create_time` DATETIME NOT NULL, `last_update_by` VARCHAR(36) NOT NULL, `last_update_time` BIGINT(20) NOT NULL, `del_flag` INT NOT NULL)").Execute()
-	if err != nil {
-		return err
-	}
-	_, err = db.Sql("CREATE TABLE IF NOT EXISTS `sys_permission` (`id` VARCHAR(36) PRIMARY KEY NOT NULL, `perms` VARCHAR(100) NOT NULL, `domain` VARCHAR(255) NOT NULL, `create_by` VARCHAR(36) NOT NULL, `create_time` DATETIME NOT NULL, `last_update_by` VARCHAR(36) NOT NULL, `last_update_time` BIGINT(20) NOT NULL, `del_flag` INT NOT NULL)").Execute()
-	if err != nil {
-		return err
-	}
-	_, err = db.Sql("CREATE TABLE IF NOT EXISTS `sys_role_menu` (`id` VARCHAR(36) PRIMARY KEY NOT NULL, `role_id` VARCHAR(36) NOT NULL, `menu_id` VARCHAR(36) NOT NULL, `domain` VARCHAR(255) NOT NULL, `create_by` VARCHAR(36) NOT NULL, `create_time` DATETIME NOT NULL, `last_update_by` VARCHAR(36) NOT NULL, `last_update_time` BIGINT(20) NOT NULL, `del_flag` INT NOT NULL)").Execute()
-	if err != nil {
-		return err
-	}
-	_, err = db.Sql("CREATE TABLE IF NOT EXISTS `sys_role` (`id` VARCHAR(36) PRIMARY KEY NOT NULL, `name` VARCHAR(36) NOT NULL, `code` VARCHAR(36) NOT NULL, `remark` VARCHAR(100) NOT NULL, `status` INT NOT NULL, `domain` VARCHAR(50) NOT NULL, `create_by` VARCHAR(36) NOT NULL, `create_time` DATETIME NOT NULL, `last_update_by` VARCHAR(36) NOT NULL, `last_update_time` BIGINT(20) NOT NULL, `del_flag` INT NOT NULL)").Execute()
-	if err != nil {
-		return err
-	}
-	_, err = db.Sql("CREATE TABLE IF NOT EXISTS `sys_user_role` (`id` VARCHAR(36) PRIMARY KEY NOT NULL, `user_id` VARCHAR(36) NOT NULL, `role_id` VARCHAR(36) NOT NULL, `domain` VARCHAR(50) NOT NULL, `create_by` VARCHAR(36) NOT NULL, `create_time` DATETIME NOT NULL, `last_update_by` VARCHAR(36) NOT NULL, `last_update_time` BIGINT(20) NOT NULL, `del_flag` INT NOT NULL)").Execute()
-	if err != nil {
-		return err
-	}
-
-	//平台插入管理员
-	_, err = c.apiengine.PlatformOrmEngine.Insert(users)
-	if err != nil {
-		return err
-	}
-
-	//域插入角色
-	_, err = db.Insert(roles)
-	if err != nil {
-		return err
-	}
-	_, err = db.Insert(userRoles)
-	if err != nil {
-		return err
-	}
-	return nil
-
-}

+ 41 - 28
controllers/gen/SystemController_gen.go

@@ -30,7 +30,7 @@ func NewSystemController(e *engine.ApiEngine) *SystemController {
 func (c *SystemController) Sidebar(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_Sidebar(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_Sidebar(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // FindUserPage
@@ -42,7 +42,7 @@ func (c *SystemController) Sidebar(ctx *gin.Context) {
 func (c *SystemController) FindUserPage(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_FindUserPage(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_FindUserPage(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // GetOrgTree
@@ -54,7 +54,7 @@ func (c *SystemController) FindUserPage(ctx *gin.Context) {
 func (c *SystemController) GetOrgTree(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_GetOrgTree(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_GetOrgTree(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // GetMenuTree
@@ -66,7 +66,7 @@ func (c *SystemController) GetOrgTree(ctx *gin.Context) {
 func (c *SystemController) GetMenuTree(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_GetMenuTree(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_GetMenuTree(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // GetDomainTree
@@ -78,7 +78,7 @@ func (c *SystemController) GetMenuTree(ctx *gin.Context) {
 func (c *SystemController) GetDomainTree(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_GetDomainTree(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_GetDomainTree(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // FindOrgPage
@@ -90,7 +90,7 @@ func (c *SystemController) GetDomainTree(ctx *gin.Context) {
 func (c *SystemController) FindOrgPage(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_FindOrgPage(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_FindOrgPage(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // FindRolePage
@@ -102,7 +102,7 @@ func (c *SystemController) FindOrgPage(ctx *gin.Context) {
 func (c *SystemController) FindRolePage(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_FindRolePage(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_FindRolePage(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // FindMenuPage
@@ -114,7 +114,7 @@ func (c *SystemController) FindRolePage(ctx *gin.Context) {
 func (c *SystemController) FindMenuPage(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_FindMenuPage(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_FindMenuPage(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // FindDomainPage
@@ -126,7 +126,7 @@ func (c *SystemController) FindMenuPage(ctx *gin.Context) {
 func (c *SystemController) FindDomainPage(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_FindDomainPage(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_FindDomainPage(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // AddUser
@@ -142,7 +142,7 @@ func (c *SystemController) FindDomainPage(ctx *gin.Context) {
 func (c *SystemController) AddUser(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_AddUser(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_AddUser(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // DelUser
@@ -155,7 +155,7 @@ func (c *SystemController) AddUser(ctx *gin.Context) {
 func (c *SystemController) DelUser(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_DelUser(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_DelUser(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // UpdateUser
@@ -171,7 +171,7 @@ func (c *SystemController) DelUser(ctx *gin.Context) {
 func (c *SystemController) UpdateUser(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_UpdateUser(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_UpdateUser(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // AddRole
@@ -185,7 +185,7 @@ func (c *SystemController) UpdateUser(ctx *gin.Context) {
 func (c *SystemController) AddRole(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_AddRole(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_AddRole(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // DelRole
@@ -198,7 +198,7 @@ func (c *SystemController) AddRole(ctx *gin.Context) {
 func (c *SystemController) DelRole(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_DelRole(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_DelRole(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // UpdateRole
@@ -213,7 +213,7 @@ func (c *SystemController) DelRole(ctx *gin.Context) {
 func (c *SystemController) UpdateRole(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_UpdateRole(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_UpdateRole(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // FindRoleMenu
@@ -226,7 +226,7 @@ func (c *SystemController) UpdateRole(ctx *gin.Context) {
 func (c *SystemController) FindRoleMenu(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_FindRoleMenu(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_FindRoleMenu(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // SaveRoleMenu
@@ -239,7 +239,7 @@ func (c *SystemController) FindRoleMenu(ctx *gin.Context) {
 func (c *SystemController) SaveRoleMenu(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_SaveRoleMenu(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_SaveRoleMenu(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // RoleAll
@@ -251,7 +251,7 @@ func (c *SystemController) SaveRoleMenu(ctx *gin.Context) {
 func (c *SystemController) RoleAll(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_RoleAll(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_RoleAll(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // FindPermissions
@@ -263,7 +263,7 @@ func (c *SystemController) RoleAll(ctx *gin.Context) {
 func (c *SystemController) FindPermissions(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_FindPermissions(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_FindPermissions(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // AddMenu
@@ -276,7 +276,7 @@ func (c *SystemController) FindPermissions(ctx *gin.Context) {
 func (c *SystemController) AddMenu(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_AddMenu(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_AddMenu(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // DelMenu
@@ -289,7 +289,7 @@ func (c *SystemController) AddMenu(ctx *gin.Context) {
 func (c *SystemController) DelMenu(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_DelMenu(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_DelMenu(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // UpdateMenu
@@ -302,7 +302,7 @@ func (c *SystemController) DelMenu(ctx *gin.Context) {
 func (c *SystemController) UpdateMenu(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_UpdateMenu(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_UpdateMenu(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // AddOrg
@@ -315,7 +315,7 @@ func (c *SystemController) UpdateMenu(ctx *gin.Context) {
 func (c *SystemController) AddOrg(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_AddOrg(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_AddOrg(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // DelOrg
@@ -328,7 +328,7 @@ func (c *SystemController) AddOrg(ctx *gin.Context) {
 func (c *SystemController) DelOrg(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_DelOrg(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_DelOrg(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // UpdateOrg
@@ -341,7 +341,7 @@ func (c *SystemController) DelOrg(ctx *gin.Context) {
 func (c *SystemController) UpdateOrg(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_UpdateOrg(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_UpdateOrg(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // GetOrgByUserid
@@ -354,7 +354,20 @@ func (c *SystemController) UpdateOrg(ctx *gin.Context) {
 func (c *SystemController) GetOrgByUserid(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_GetOrgByUserid(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_GetOrgByUserid(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// AddDomain
+// @Title AddDomain
+// @Description 添加域         
+// @Param	      false  "域"  
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /add_domain  [post,get,put]
+func (c *SystemController) AddDomain(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_AddDomain(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // DelDomain
@@ -367,7 +380,7 @@ func (c *SystemController) GetOrgByUserid(ctx *gin.Context) {
 func (c *SystemController) DelDomain(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_DelDomain(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_DelDomain(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // UpdateDomain
@@ -380,6 +393,6 @@ func (c *SystemController) DelDomain(ctx *gin.Context) {
 func (c *SystemController) UpdateDomain(ctx *gin.Context) {
 	//
 	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_UpdateDomain(&entitys.CtrlContext{c.apiengine,ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_UpdateDomain(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 

+ 10 - 1
controllers/partial/SystemController.go

@@ -702,7 +702,16 @@ func System_AddDomain(c *entitys.CtrlContext) {
 
 	_, err = c.Db.SqlMapClient("insert_sys_domain", paramMap).Execute()
 	if err == nil {
-		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", paramObj0.Id})
+		//添加数据库基本用户权限数据
+		ret := c.App.AddBusinessDb(paramObj0.Id, "admin@"+paramObj0.Domain, paramObj0.Domain, paramObj0.DataSource)
+		//添加模块初始化配置
+		c.App.AppModuleInit()
+		if ret{
+			c.Ctx.JSON(200, sysmodel.SysReturn{200, "", paramObj0.Id})
+		}else {
+			c.Ctx.JSON(500, sysmodel.SysReturn{500, "数据库初始化错误。", nil})
+		}
+
 	} else {
 		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
 	}

+ 27 - 7
engine/apiengine.go

@@ -24,14 +24,15 @@ type ApiEngine struct {
 	BusinessOrmEngine 	map[string]*xorm.Engine
 	GinEngine   		*gin.Engine
 	listen_addr 		string
+	AppModuleInitFunc   map[string]entitys.AppModuleInitFunction
 }
 
 func (g* ApiEngine)GetBusinessDb(domain string) *xorm.Engine{
 	return g.BusinessOrmEngine[domain]
 }
 
-func (g* ApiEngine)AddBusinessDb(domain string, engine *xorm.Engine){
-	g.BusinessOrmEngine[domain] = engine
+func (g* ApiEngine)GetAllBusinessDb() map[string]*xorm.Engine{
+	return g.BusinessOrmEngine
 }
 
 func Default() *ApiEngine {
@@ -42,6 +43,7 @@ func Default() *ApiEngine {
 func NewApiEngine(driverName, dataSourceName string, addr string) *ApiEngine {
 	engine := &ApiEngine{}
 	var err error
+	engine.AppModuleInitFunc = make(map[string]entitys.AppModuleInitFunction)
 	engine.PlatformOrmEngine, err = xorm.NewEngine(driverName, dataSourceName)
 	printError(err)
 
@@ -75,16 +77,33 @@ func NewApiEngine(driverName, dataSourceName string, addr string) *ApiEngine {
 	return engine
 }
 
+func (g *ApiEngine)AppModuleInit()  {
+	for _,v := range g.AppModuleInitFunc {
+		v(g)
+	}
+}
+
+func (g *ApiEngine)AddAppMoudleInitFunc(module_name string, handler entitys.AppModuleInitFunction){
+	g.AppModuleInitFunc[module_name] = handler
+}
+
+func (g *ApiEngine)AddBusinessDb(domainid, login_id, domain, datasource string) bool{
+	db,err := xorm.NewEngine("mysql", datasource)
+	if err == nil {
+		g.BusinessOrmEngine[domain] = db
+		initOrmEngine(db, "mysql")
+		initBusinessDbData(domainid, login_id, domain, db, g.PlatformOrmEngine)
+		return true
+	}
+	return false
+}
+
 func (g *ApiEngine)LoadBusinessOrm()  {
 	var domain []models.SysDomain
 	g.PlatformOrmEngine.SQL("select * from sys_domain where del_flag = 0").Find(&domain)
 	g.BusinessOrmEngine = make(map[string]*xorm.Engine)
 	for _,v := range domain {
-		db,err := xorm.NewEngine("mysql", v.DataSource)
-		if err == nil {
-			initOrmEngine(db, "mysql")
-			g.BusinessOrmEngine[v.Domain] = db
-		}
+		g.AddBusinessDb(v.Id, v.Domain, v.Domain, v.DataSource)
 	}
 	//将platformOrm添加到businessOrm中,这样平台账号登录上去也相当于使用相同的数据库配置
 	g.BusinessOrmEngine["qianqiusoft.com"] = g.PlatformOrmEngine
@@ -102,6 +121,7 @@ func (g *ApiEngine) Run() {
 			logs.Error("light-engine.xml文件不存在")
 		}
 	}
+	g.AppModuleInit()
 	g.GinEngine.StaticFile("/", "web/index.html")
 	g.GinEngine.Static("/static", "web/static")
 	g.GinEngine.Run(g.listen_addr)

+ 37 - 5
engine/system_init.go

@@ -33,7 +33,7 @@ func createDatabase(orm *xorm.Engine) {
 
 func initPlatformDbData(db *xorm.Engine) {
 
-	domains := []models.SysDomain{
+	/*domains := []models.SysDomain{
 		{
 			Id:             "287c50a4-caad-4557-80c8-aca81af9f370",
 			Name:           "智慧蜂云",
@@ -42,7 +42,7 @@ func initPlatformDbData(db *xorm.Engine) {
 			CreateTime:     models.NowLocal(),
 			LastUpdateTime: time.Now().UnixNano(),
 		},
-	}
+	}*/
 
 	orgs := []models.SysOrg{
 		{
@@ -149,9 +149,9 @@ func initPlatformDbData(db *xorm.Engine) {
 
 	models.SyncDb(db)
 
-	_, err := db.Insert(domains)
-	printError(err)
-	_, err = db.Insert(orgs)
+	/*_, err := db.Insert(domains)
+	printError(err)*/
+	_, err := db.Insert(orgs)
 	printError(err)
 	_, err = db.Insert(users)
 	printError(err)
@@ -194,6 +194,38 @@ func initOrmEngine(orm *xorm.Engine, driverName string) {
 	createDatabase(orm)
 }
 
+func initBusinessDbData(domainid, login_id, domain string, db *xorm.Engine,platform_db *xorm.Engine) {
+	users := models.SysUser{
+		Id:         domainid,
+		Name:       "管理员",
+		LoginId:    login_id,
+		Domain:     domain,
+		Password:   utils.HashPassword("123456", ""),
+		CreateTime: time.Now(),
+	}
+
+	roles := []models.SysRole{
+		{
+			Id:         domainid,
+			Name:       "管理员",
+			CreateTime: time.Now(),
+		},
+	}
+
+	userRoles := []models.SysUserRole{
+		{
+			Id:         domainid,
+			RoleId:     domainid,
+			UserId:     domainid,
+			CreateTime: time.Now(),
+		},
+	}
+	platform_db.Insert(users)
+	db.Insert(users)
+	db.Insert(roles)
+	db.Insert(userRoles)
+}
+
 func printError(err error) {
 	if err != nil {
 		logs.Error(err.Error())

+ 5 - 1
entitys/ctrl_context.go

@@ -5,9 +5,13 @@ import (
 	"github.com/xormplus/xorm"
 )
 
+type AppModuleInitFunction func(e ApiEngineInterface)
+
 type ApiEngineInterface interface {
 	GetBusinessDb(domain string) *xorm.Engine
-	AddBusinessDb(domain string, engine *xorm.Engine)
+	GetAllBusinessDb() map[string]*xorm.Engine
+	AddBusinessDb(domainid, login_id, domain, datasource string) bool
+	AppModuleInit()
 }
 
 type CtrlContext struct {

+ 8 - 7
light-apiengine.xml

@@ -200,13 +200,14 @@
                     <failure ref="$sys_return"></failure>
                 </return>
             </api>
-            <!--<api name="add_domain" desc="添加域" method="post,get,put">-->
-                <!--<param name=""  ref="$sys_domain" desc="域"/>-->
-                <!--<return>-->
-                    <!--<success ref="$sys_return"></success>-->
-                    <!--<failure ref="$sys_return"></failure>-->
-                <!--</return>-->
-            <!--</api>-->
+            <api name="add_domain" desc="添加域" method="post,get,put">
+                <param name=""  ref="$sys_domain" desc="域"/>
+                <return>
+                    <success ref="$sys_return"></success>
+                    <success ref="$sys_return"></success>
+                    <failure ref="$sys_return"></failure>
+                </return>
+            </api>
             <api name="del_domain" desc="删除域" method="post,get,put">
                 <param name="id" type="string" desc="域ID"/>
                 <return>

+ 9 - 4
routers/router.go

@@ -5,6 +5,7 @@ import (
 	"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/entitys"
 	"sync"
 )
 
@@ -34,10 +35,8 @@ func GetRouter(name string) *gin.RouterGroup {
 }
 
 func Register(e *engine.ApiEngine){
-	//models.SyncDb(e.OrmEngine)
-	for _,db := range e.BusinessOrmEngine {
-		models.SyncDb(db)
-    }
+
+	e.AddAppMoudleInitFunc("ssm_backend", DbInitFunc)
 	_registerHandlerMutex.Lock()
 	defer _registerHandlerMutex.Unlock()
 	for i := range _registerHandlers{
@@ -45,3 +44,9 @@ func Register(e *engine.ApiEngine){
 	}
 }
 
+func DbInitFunc(e entitys.ApiEngineInterface)  {
+	for _,db := range e.GetAllBusinessDb() {
+		models.SyncDb(db)
+	}
+}
+

+ 0 - 24
routers/sys_domain.go

@@ -1,24 +0,0 @@
-package routers
-
-import (
-	"git.qianqiusoft.com/qianqiusoft/light-apiengine/controllers/gen"
-	"git.qianqiusoft.com/qianqiusoft/light-apiengine/engine"
-	"git.qianqiusoft.com/qianqiusoft/light-apiengine/middleware"
-)
-
-func init() {
-	addRegisterHandler(registerDomainRouter)
-}
-
-func registerDomainRouter(e *engine.ApiEngine) {
-	api := e.GinEngine.Group("/api")
-	v1 := api.Group("/v1/system")
-	_router["system"] = v1
-	v1.Use(middleware.LoginWare())
-
-	ctrler := gen.NewDomainController(e)
-
-	v1.GET("/add_domain", ctrler.AddDomain)
-	v1.POST("/add_domain", ctrler.AddDomain)
-
-}

+ 3 - 0
routers/system.go

@@ -99,6 +99,9 @@ func registerSystemRouter(e *engine.ApiEngine){
 	v1.GET("/get_org_by_userid",ctrler.GetOrgByUserid)
 	v1.POST("/get_org_by_userid",ctrler.GetOrgByUserid)
 
+	v1.GET("/add_domain",ctrler.AddDomain)
+	v1.POST("/add_domain",ctrler.AddDomain)
+
 	v1.GET("/del_domain",ctrler.DelDomain)
 	v1.POST("/del_domain",ctrler.DelDomain)