123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- package admin
- import (
- "strconv"
- "time"
- "ulink-admin/frame"
- "ulink-admin/modules/system/models/model"
- "ulink-admin/modules/system/models/req"
- "ulink-admin/modules/system/service"
- "ulink-admin/pkg/jwt/admin"
- "ulink-admin/pkg/library/tree/tree_menu"
- )
- type MenuApi struct {
- MenuService *service.MenuService `inject:""`
- }
- // List 查询菜单数据
- // List 查询刚问分页数据
- // @Summary 分页查询菜单数据接口
- // @Description 分页查询菜单数据接口
- // @Tags 菜单相关接口
- // @Accept application/json
- // @Produce application/json
- // @Param Authorization header string false "Bearer 令牌"
- // @Param object query req.MenuQuery false "查询参数"
- // @Security ApiKeyAuth
- // @Success 200 {object} resp.Response{data=page.Page{list=model.SysMenu},msg=string} "分页获取菜单列表,返回包括列表,总数,页码,每页数量"
- // @Router /menu/List [get]
- func (a MenuApi) List(c *frame.Context) {
- //获取当前登录用户
- info := admin.GetUserInfo(c)
- //获取参数
- query := &req.MenuQuery{}
- c.ValidteError(c.ShouldBind(query), query)
- c.Ok(a.MenuService.GetMenuList(query, info))
- }
- // GetInfo 根据id查询菜单详情
- // @Summary 菜单详情查询接口
- // @Description 菜单详情查询接口
- // @Tags 菜单相关接口
- // @Accept application/json
- // @Produce application/json
- // @Param Authorization header string false "Bearer 令牌"
- // @Param id path int true "id" id
- // @Security ApiKeyAuth
- // @Success 200 {object} resp.Response{data=model.SysMenu,msg=string} "返回菜单详情查询"
- // @Router /menu [get]
- func (a MenuApi) GetInfo(c *frame.Context) {
- param := c.Param("id")
- id, err := strconv.ParseInt(param, 10, 64)
- if err != nil {
- c.Error("参数绑定错误")
- return
- }
- c.Ok(a.MenuService.GetMenuByMenuId(id))
- }
- // RoleMenuTreeSelect 加载对应角色菜单列表树
- // @Summary 加载对应角色菜单列表树接口
- // @Description 加载对应角色菜单列表树接口
- // @Tags 菜单相关接口
- // @Accept application/json
- // @Produce application/json
- // @Param Authorization header string false "Bearer 令牌"
- // @Param id path int true "id" id
- // @Security ApiKeyAuth
- // @Success 200 {object} resp.Response{data=map[string]interface{},msg=string} "返回菜单查询"
- // @Router /menu/roleMenuTreeselect [get]
- func (a MenuApi) RoleMenuTreeSelect(c *frame.Context) {
- m := make(map[string]interface{})
- param := c.Param("id")
- id, _ := strconv.ParseInt(param, 10, 64)
- //获取当前登录用户
- info := admin.GetUserInfo(c)
- menuList := a.MenuService.GetMenusTreeByUserId(info)
- var list tree_menu.SystemMenus = *menuList
- tree := list.GetTree()
- ids := a.MenuService.SelectMenuListByRoleId(id)
- m["checkedKeys"] = ids
- m["menus"] = tree
- c.Ok(m)
- }
- // TreeSelect 获取菜单下拉树列表
- // @Summary 加载对应角色菜单列表树接口
- // @Description 加载对应角色菜单列表树接口
- // @Tags 菜单相关接口
- // @Accept application/json
- // @Produce application/json
- // @Param Authorization header string false "Bearer 令牌"
- // @Param id path int true "id" id
- // @Security ApiKeyAuth
- // @Success 200 {object} resp.Response{data=map[INode]interface{},msg=string} "返回菜单查询"
- // @Router /menu/teeselect [get]
- func (a MenuApi) TreeSelect(c *frame.Context) {
- t := c.Query("type")
- switch t {
- case "m":
- query := &req.MenuQuery{}
- menus := a.MenuService.GetMenus(query)
- var list tree_menu.SystemMenus = menus
- c.Ok(list.GetTree())
- return
- }
- c.Ok(frame.Permissions["admin"])
- }
- // Add 添加菜单数据
- // @Summary 新增菜单接口
- // @Description 新增菜单接口
- // @Tags 菜单相关接口
- // @Accept application/json
- // @Produce application/json
- // @Param Authorization header string false "Bearer 令牌"
- // @Param data body model.SysMenu true "菜单实体对象"
- // @Success 200 {object} resp.Response{msg=string} "操作状态"
- // @Router /menu/add [post]
- func (a MenuApi) Add(c *frame.Context) {
- menu := &model.SysMenu{}
- c.ValidteError(c.ShouldBind(menu), menu)
- a.MenuService.InsertMenu(menu)
- }
- // Edit 修改菜单数据
- // @Summary 修改菜单接口
- // @Description 新增菜单接口
- // @Tags 菜单相关接口
- // @Accept application/json
- // @Produce application/json
- // @Param Authorization header string false "Bearer 令牌"
- // @Param data body model.SysMenu true "菜单实体对象"
- // @Success 200 {object} resp.Response{msg=string} "操作状态"
- // @Router /menu/edit [put]
- func (a MenuApi) Edit(c *frame.Context) {
- menu := &model.SysMenu{}
- c.ValidteError(c.ShouldBind(menu), menu)
- menu.UpdateBy = admin.GetUserInfo(c).UserName
- menu.UpdateTime = time.Now()
- a.MenuService.Update(menu)
- }
- // Delete 删除菜单
- // @Summary 删除菜单接口
- // @Description 删除菜单接口
- // @Tags 菜单相关接口
- // @Accept application/json
- // @Produce application/json
- // @Param Authorization header string false "Bearer 令牌"
- // @Param id path int true "id" id
- // @Success 200 {object} resp.Response{msg=string} "操作状态"
- // @Router /menu/remove [delete]
- func (a MenuApi) Delete(c *frame.Context) {
- param := c.Param("id")
- id, err := strconv.ParseInt(param, 10, 64)
- if err != nil {
- frame.Throw(frame.BUSINESS_CODE, "参数绑定错误")
- }
- a.MenuService.Delete(id)
- }
|