Sfoglia il codice sorgente

修复域菜单分配接口及编辑域时再同步一次数据库

zhangjq 6 anni fa
parent
commit
b5871c4e02
2 ha cambiato i file con 23 aggiunte e 11 eliminazioni
  1. 22 10
      controllers/partial/SystemController.go
  2. 1 1
      models/model.go

+ 22 - 10
controllers/partial/SystemController.go

@@ -769,9 +769,15 @@ func System_UpdateDomain(c *entitys.CtrlContext) {
 		return
 	}
 	_, err = c.Db.SqlMapClient("update_sys_domain", paramMap).Execute()
-
 	if err == nil {
-		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
+		//添加数据库基本用户权限数据
+		ret := c.App.AddBusinessDb(paramObj0.Id, "admin@"+paramObj0.Domain, paramObj0.Domain, paramObj0.DataSource, true)
+		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})
 	}
@@ -851,17 +857,23 @@ func System_GetDomainMenuTree(c *entitys.CtrlContext) {
 		return
 	}
 
+	var sysMenusMap map[string]map[string]interface{}
+	sysMenusMap = make(map[string]map[string]interface{},0)
+	for _, menu := range sysMenus{
+		sysMenusMap[menu["id"].(string)] = menu
+	}
+
 	//剔除域已存在的菜单
-	for i, sysMenu := range sysMenus {
-		for _, domainMenu := range domainMenus {
-			if sysMenu["id"].(string) == domainMenu["id"].(string) {
-				//删除数组元素
-				sysMenus = append(sysMenus[:i], sysMenus[i+1:]...)
-			}
-		}
+	for _, domainMenu := range domainMenus {
+		delete(sysMenusMap, domainMenu["id"].(string))
+	}
+
+	var sysMenuRest []map[string]interface{}
+	for _, menu := range sysMenusMap{
+		sysMenuRest = append(sysMenuRest, menu)
 	}
 
-	sysTree, err := sysutils.BuildTree("", sysMenus)
+	sysTree, err := sysutils.BuildTree("", sysMenuRest)
 
 	ret := __none_func_system__(domain_id)
 	if ret {

+ 1 - 1
models/model.go

@@ -32,7 +32,7 @@ func SyncDb(db *xorm.Engine) {
 	if !config.AppConfig.SyncDb {
 		return
 	}
-	err := db.Sync2(beans);
+	err := db.Sync2(beans...);
     if err != nil {
 		fmt.Println(err)
     }