|
@@ -791,13 +791,21 @@ func System_AddDomainMenu(c *entitys.CtrlContext) {
|
|
|
c.Ctx.BindJSON(¶mObj0)
|
|
c.Ctx.BindJSON(¶mObj0)
|
|
|
|
|
|
|
|
var domain sysmodel.SysDomain
|
|
var domain sysmodel.SysDomain
|
|
|
- _, err := c.Db.SqlMapClient("", paramObj0.DomainId).Get(&domain)
|
|
|
|
|
|
|
+ param := map[string]interface{}{"id": paramObj0.DomainId}
|
|
|
|
|
+ _, err := c.Db.SqlMapClient("selectone_sys_domain", ¶m).Get(&domain)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
c.Ctx.JSON(500, sysmodel.SysReturn{500, "not find domain error: " + err.Error(), nil})
|
|
c.Ctx.JSON(500, sysmodel.SysReturn{500, "not find domain error: " + err.Error(), nil})
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- _, err = c.App.GetBusinessDb(domain.Domain).Insert(paramObj0.Menus)
|
|
|
|
|
|
|
+ var menus []sysmodel.SysMenu
|
|
|
|
|
+ err = c.Db.In("id", paramObj0.Menus).Find(&menus)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, "find menu error: " + err.Error(), nil})
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ _, err = c.App.GetBusinessDb(domain.Domain).Insert(&menus)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
c.Ctx.JSON(500, sysmodel.SysReturn{500, "Insert menu error: " + err.Error(), nil})
|
|
c.Ctx.JSON(500, sysmodel.SysReturn{500, "Insert menu error: " + err.Error(), nil})
|
|
|
return
|
|
return
|
|
@@ -811,6 +819,57 @@ func System_AddDomainMenu(c *entitys.CtrlContext) {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+// _GetDomainMenuTree
|
|
|
|
|
+// @Title _GetDomainMenuTree
|
|
|
|
|
+// @Description 域添加菜单
|
|
|
|
|
+// @Param domain_id string false "域id"
|
|
|
|
|
+// @Success 200 {object} Account
|
|
|
|
|
+// @Failure 403 :id is empty
|
|
|
|
|
+func System_GetDomainMenuTree(c *entitys.CtrlContext) {
|
|
|
|
|
+ domain_id := c.Ctx.Query("domain_id")
|
|
|
|
|
+
|
|
|
|
|
+ var domain sysmodel.SysDomain
|
|
|
|
|
+ param := map[string]interface{}{"id": domain_id}
|
|
|
|
|
+ _, err := c.Db.SqlMapClient("selectone_sys_domain", ¶m).Get(&domain)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, "not find domain error: " + err.Error(), nil})
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ paramMap := map[string]interface{}{"sort": "name"}
|
|
|
|
|
+ domainMenus, err := c.App.GetBusinessDb(domain.Domain).SqlTemplateClient("system_get_menu_tree.tpl", ¶mMap).Query().List()
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, "get domain_menu tree: " + err.Error(), nil})
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ domainTree, err := sysutils.BuildTree("", domainMenus)
|
|
|
|
|
+
|
|
|
|
|
+ sysMenus, err := c.Db.SqlTemplateClient("system_get_menu_tree.tpl", ¶mMap).Query().List()
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, "get sys_menu tree: " + err.Error(), nil})
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //剔除域已存在的菜单
|
|
|
|
|
+ for i, sysMenu := range sysMenus {
|
|
|
|
|
+ for _, domainMenu := range domainMenus {
|
|
|
|
|
+ if sysMenu["id"].(string) == domainMenu["id"].(string) {
|
|
|
|
|
+ //删除数组元素
|
|
|
|
|
+ sysMenus = append(sysMenus[:i], sysMenus[i+1:]...)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ sysTree, err := sysutils.BuildTree("", sysMenus)
|
|
|
|
|
+
|
|
|
|
|
+ ret := __none_func_system__(domain_id)
|
|
|
|
|
+ if ret {
|
|
|
|
|
+ c.Ctx.JSON(200, sysmodel.SysReturn{200, "", map[string]interface{}{"sys_tree": sysTree, "domain_tree": domainTree}})
|
|
|
|
|
+ } else {
|
|
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
func __none_func_system__(params ...interface{}) bool {
|
|
func __none_func_system__(params ...interface{}) bool {
|
|
|
return true
|
|
return true
|
|
|
}
|
|
}
|