|
|
@@ -324,6 +324,124 @@ func SysApp_GetRoleAppFunTree(c *entitys.CtrlContext) {
|
|
|
|
|
|
}
|
|
|
|
|
|
+// _GetDomainAppFunTree
|
|
|
+// @Title _GetDomainAppFunTree
|
|
|
+// @Description 域添加APP功能
|
|
|
+// @Param domain_id string false "域id"
|
|
|
+// @Success 200 {object} Account
|
|
|
+// @Failure 403 :id is empty
|
|
|
+func SysApp_GetDomainAppFunTree(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{}{}
|
|
|
+ domainAppFuns, err := c.App.GetBusinessDb(domain.Domain).SqlTemplateClient("sys_app_get_app_fun_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("", domainAppFuns)
|
|
|
+
|
|
|
+ sysAppFuns, err := c.Db.SqlTemplateClient("sys_app_get_app_fun_tree.tpl", ¶mMap).Query().List()
|
|
|
+ if err != nil {
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, "get sys_menu tree: " + err.Error(), nil})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ sysTree, err := sysutils.BuildTree("", sysAppFuns)
|
|
|
+
|
|
|
+ if err == nil {
|
|
|
+ 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})
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// _AddDomainAppFuns
|
|
|
+// @Title _AddDomainAppFuns
|
|
|
+// @Description 域添加菜单
|
|
|
+// @Param false "添加域app_fun"
|
|
|
+// @Success 200 {object} Account
|
|
|
+// @Failure 403 :id is empty
|
|
|
+func SysApp_AddDomainAppFuns(c *entitys.CtrlContext) {
|
|
|
+ var paramObj0 struct {
|
|
|
+ //域名ID
|
|
|
+ DomainId string `json:"domain_id"`
|
|
|
+ //菜单
|
|
|
+ AppFuns []sysmodel.SysAppFun `json:"app_funs"`
|
|
|
+ }
|
|
|
+ err := c.Ctx.BindJSON(¶mObj0)
|
|
|
+ if err != nil {
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, "BindJSON error: " + err.Error(), nil})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var domain sysmodel.SysDomain
|
|
|
+ param := map[string]interface{}{"id": paramObj0.DomainId}
|
|
|
+ _, 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
|
|
|
+ }
|
|
|
+
|
|
|
+ var appFunIds = make([]string, len(paramObj0.AppFuns))
|
|
|
+ for i := range paramObj0.AppFuns {
|
|
|
+ appFunIds[i] = paramObj0.AppFuns[i].Id
|
|
|
+ }
|
|
|
+ var appFuns []sysmodel.SysAppFun
|
|
|
+ err = c.Db.In("id", appFunIds).Find(&appFuns)
|
|
|
+ if err != nil {
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, "find menu error: " + err.Error(), nil})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for i := range appFuns {
|
|
|
+ for j := range paramObj0.AppFuns {
|
|
|
+ if appFuns[i].Id == paramObj0.AppFuns[j].Id {
|
|
|
+ appFuns[i].Name = paramObj0.AppFuns[j].Name
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ session := c.App.GetBusinessDb(domain.Domain).NewSession()
|
|
|
+ defer session.Close()
|
|
|
+ session.Begin()
|
|
|
+
|
|
|
+ _, err = c.App.GetBusinessDb(domain.Domain).SQL("delete from sys_app_fun where del_flag = ?", "").Execute()
|
|
|
+ if err != nil {
|
|
|
+ session.Rollback()
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, "Insert menu error: " + err.Error(), nil})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(paramObj0.AppFuns) <= 0 {
|
|
|
+ session.Commit()
|
|
|
+ c.Ctx.JSON(200, sysmodel.SysReturn{200, "the menus is empty", nil})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ _, err = c.App.GetBusinessDb(domain.Domain).Insert(¶mObj0.AppFuns)
|
|
|
+ if err != nil {
|
|
|
+ session.Rollback()
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, "Insert menu error: " + err.Error(), nil})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ session.Commit()
|
|
|
+
|
|
|
+ ret := __none_func_system__(paramObj0)
|
|
|
+ if ret {
|
|
|
+ c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
|
|
|
+ } else {
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
func __none_func_sys_app__(params ...interface{}) bool {
|
|
|
return true
|
|
|
}
|