package partial import ( "fmt" "git.qianqiusoft.com/qianqiusoft/light-apiengine/entitys" "time" //sysmodel "git.qianqiusoft.com/qianqiusoft/light-apiengine/models" "git.qianqiusoft.com/qianqiusoft/light-apiengine/models" sysmodel "git.qianqiusoft.com/qianqiusoft/light-apiengine/models" sysutils "git.qianqiusoft.com/qianqiusoft/light-apiengine/utils" "strconv" //__import_packages__ ) // _AddAppFun // @Title _AddAppFun // @Description 添加APP功能 // @Param string false "功能" // @Success 200 {object} Account // @Failure 403 :id is empty func SysApp_AddAppFun(c *entitys.CtrlContext) { var paramObj0 models.SysAppFun c.Ctx.BindJSON(¶mObj0) user_id := c.Ctx.GetString("user_id") paramObj0.Id = sysutils.NewUUID() paramObj0.CreateBy = user_id paramObj0.LastUpdateBy = user_id paramObj0.CreateTime = models.NowLocal() paramObj0.LastUpdateTime = time.Now().UnixNano() paramObj0.DelFlag = 0 if paramObj0.Parent != "" { parentNodes := []sysmodel.SysAppFun{} err := c.Db.SqlMapClient("select_parent_app_fun", paramObj0.Parent).Find(&parentNodes) if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } paramObj0.Inheritance = fmt.Sprintf("|%s%s", paramObj0.Id, parentNodes[0].Inheritance) } else { paramObj0.Inheritance = fmt.Sprintf("|%s|", paramObj0.Id) } paramMap, err := sysutils.BeanToMap(¶mObj0) _, err = c.Db.SqlMapClient("insert_sys_app_fun", paramMap).Execute() if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _DelAppFun // @Title _DelAppFun // @Description 删除app功能 // @Param id string false "APP功能ID" // @Success 200 {object} Account // @Failure 403 :id is empty func SysApp_DelAppFun(c *entitys.CtrlContext) { type Param struct { Id string `json:"id"` } var params []Param c.Ctx.BindJSON(¶ms) ids := []string{} for _, param := range params { ids = append(ids, param.Id) } _, err := c.Db.Table(new(models.SysAppFun)).In("id", ids).Update(map[string]interface{}{"del_flag": 1}) if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil}) } } // _UpdateAppFun // @Title _UpdateAppFun // @Description 更新APP功能 // @Param string false "功能" // @Success 200 {object} Account // @Failure 403 :id is empty func SysApp_UpdateAppFun(c *entitys.CtrlContext) { var paramObj0 models.SysAppFun c.Ctx.BindJSON(¶mObj0) tk, _ := c.Ctx.Get("token") user := tk.(*entitys.Token) if paramObj0.Parent != "" { parentNodes := []sysmodel.SysAppFun{} err := c.Db.SqlMapClient("select_parent_app_fun", paramObj0.Parent).Find(&parentNodes) if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } paramObj0.Inheritance = fmt.Sprintf("|%s%s", paramObj0.Id, parentNodes[0].Inheritance) } else { paramObj0.Inheritance = fmt.Sprintf("|%s|", paramObj0.Id) } paramObj0.LastUpdateBy = user.UserId paramObj0.LastUpdateTime = time.Now().UnixNano() paramMap, err := sysutils.BeanToMap(¶mObj0) _, err = c.Db.SqlMapClient("update_sys_app_fun", paramMap).Execute() if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _FindAppFunPage // @Title _FindAppFunPage // @Description 分页获取APP功能 // @Success 200 {object} Account // @Failure 403 :id is empty func SysApp_FindAppFunPage(c *entitys.CtrlContext) { page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1")) rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10")) name := c.Ctx.DefaultQuery("name", "") code := c.Ctx.DefaultQuery("code", "") cn_id := c.Ctx.DefaultQuery("cn_id", "") hidden := c.Ctx.DefaultQuery("hidden", "") paramMap_i_t := map[string]interface{}{"page": page, "rows": rows, "name": name, "code": code, "cn_id": cn_id, "hidden": hidden} result, err := sysutils.PageSearch(c.Db, "sys_app", "find_app_fun_page", "sys_app_fun", paramMap_i_t) if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", result}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _GetAppFunTree // @Title _GetAppFunTree // @Description 获取APP功能树 // @Success 200 {object} Account // @Failure 403 :id is empty func SysApp_GetAppFunTree(c *entitys.CtrlContext) { code := c.Ctx.DefaultQuery("code", "") paramMap_i_t := map[string]interface{}{"sort": "name", "code": code} result, err := sysutils.TreeSearch(c.Db, "sys_app", "get_app_fun_tree", "sys_app_fun", paramMap_i_t) if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", result}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _AddRoleAppFun // @Title _AddRoleAppFun // @Description 添加角色APP功能 // @Param string false "功能" // @Success 200 {object} Account // @Failure 403 :id is empty func SysApp_AddRoleAppFun(c *entitys.CtrlContext) { user_id := c.Ctx.GetString("user_id") var paramObj0 struct { AppFunIds []string `json:"app_fun_ids"` RoleId string `json:"role_id"` } c.Ctx.BindJSON(¶mObj0) session := c.Db.NewSession() defer session.Close() session.Begin() _, err := session.SqlMapClient("del_role_app_fun", paramObj0.RoleId).Execute() if err != nil { session.Rollback() c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } var roleAppFuns []*sysmodel.SysRoleAppFun for _, menu := range paramObj0.AppFunIds { roleAppFun := &sysmodel.SysRoleAppFun{} roleAppFun.Id = sysutils.NewUUID() roleAppFun.AppFunId = menu roleAppFun.RoleId = paramObj0.RoleId roleAppFun.CreateBy = user_id roleAppFun.CreateTime = sysmodel.NowLocal() roleAppFuns = append(roleAppFuns, roleAppFun) } _, err = session.InsertMulti(&roleAppFuns) if err != nil { session.Rollback() c.Ctx.JSON(500, sysmodel.SysReturn{500, 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}) } } // _DelRoleAppFun // @Title _DelRoleAppFun // @Description 删除角色APP功能 // @Param id string false "APP功能ID" // @Success 200 {object} Account // @Failure 403 :id is empty func SysApp_DelRoleAppFun(c *entitys.CtrlContext) { id := c.Ctx.Query("id") ret := __none_func_sys_app__(id) if ret { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil}) } } // _UpdateRoleAppFun // @Title _UpdateRoleAppFun // @Description 更新角色APP功能 // @Param string false "功能" // @Success 200 {object} Account // @Failure 403 :id is empty func SysApp_UpdateRoleAppFun(c *entitys.CtrlContext) { var paramObj0 models.SysRoleAppFun c.Ctx.BindJSON(¶mObj0) ret := __none_func_sys_app__(paramObj0) if ret { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil}) } } // _GetRoleAppFunTree // @Title _GetRoleAppFunTree // @Description 获取角色APP功能 // @Param role_id string false "角色id" // @Success 200 {object} Account // @Failure 403 :id is empty func SysApp_GetRoleAppFun(c *entitys.CtrlContext) { role_id := c.Ctx.Query("role_id") paramMap := map[string]interface{}{"user_id": "", "sort": "name", "hidden": 0} sysTree, err := sysutils.TreeSearch(c.Db, "sys_app", "get_app_fun_tree", "sys_app_fun", paramMap) if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } paramMap2 := map[string]interface{}{"role_id": role_id} roleAppFun, err := c.Db.SqlMapClient("get_role_app_fun_tree", ¶mMap2).Query().List() if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } roleTree, err := sysutils.BuildTree("", roleAppFun) ret := __none_func_system__(role_id) if ret { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", map[string]interface{}{"sys_tree": sysTree, "role_tree": roleTree}}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil}) } } // _FindRoleAppFunPage // @Title _FindRoleAppFunPage // @Description 分页获取角色APP功能 // @Success 200 {object} Account // @Failure 403 :id is empty func SysApp_FindRoleAppFunPage(c *entitys.CtrlContext) { page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1")) rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10")) paramMap_i_t := map[string]interface{}{"page": page, "rows": rows} result, err := sysutils.PageSearch(c.Db, "sys_app", "find_role_app_fun_page", "sys_role_app_fun", paramMap_i_t) if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", result}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _GetRoleAppFunTree // @Title _GetRoleAppFunTree // @Description 获取角色APP功能树 // @Success 200 {object} Account // @Failure 403 :id is empty func SysApp_GetRoleAppFunTree(c *entitys.CtrlContext) { user_id := c.Ctx.GetString("user_id") code := c.Ctx.DefaultQuery("code", "") paramMap_i_t := map[string]interface{}{"sort": "name", "user_id": user_id, "code": code} result, err := sysutils.TreeSearch(c.Db, "sys_app", "get_role_app_fun_tree", "sys_role_app_fun", paramMap_i_t) if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", result}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } func __none_func_sys_app__(params ...interface{}) bool { return true }