101 lines
2.4 KiB
Go
101 lines
2.4 KiB
Go
package system
|
|
|
|
import (
|
|
"sundynix-go/global"
|
|
"sundynix-go/model/commom/response"
|
|
"sundynix-go/model/system"
|
|
systemReq "sundynix-go/model/system/request"
|
|
"sundynix-go/utils/jwt"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
type MenuApi struct {
|
|
}
|
|
|
|
func (m *MenuApi) SaveMenu(c *gin.Context) {
|
|
var menu system.Menu
|
|
err := c.ShouldBindJSON(&menu)
|
|
if err != nil {
|
|
response.FailWithMsg("参数错误:"+err.Error(), c)
|
|
return
|
|
}
|
|
if err = menuService.SaveMenu(menu); err != nil {
|
|
global.Logger.Error("保存菜单失败!", zap.Error(err))
|
|
response.FailWithMsg(err.Error(), c)
|
|
return
|
|
} else {
|
|
response.OkWithMsg("保存菜单成功!", c)
|
|
}
|
|
}
|
|
|
|
func (m *MenuApi) UpdateMenu(c *gin.Context) {
|
|
var menu system.Menu
|
|
err := c.ShouldBindJSON(&menu)
|
|
if err != nil {
|
|
response.FailWithMsg("参数错误:"+err.Error(), c)
|
|
return
|
|
}
|
|
if err = menuService.UpdateMenu(&menu); err != nil {
|
|
global.Logger.Error("更新菜单失败!", zap.Error(err))
|
|
response.FailWithMsg(err.Error(), c)
|
|
return
|
|
} else {
|
|
response.OkWithMsg("更新菜单成功!", c)
|
|
}
|
|
}
|
|
|
|
func (m *MenuApi) DeleteMenu(c *gin.Context) {
|
|
id := c.Query("id")
|
|
err := menuService.DeleteMenu(id)
|
|
if err != nil {
|
|
global.Logger.Error("删除菜单失败!", zap.Error(err))
|
|
response.FailWithMsg(err.Error(), c)
|
|
return
|
|
}
|
|
response.OkWithMsg("删除菜单成功!", c)
|
|
}
|
|
|
|
func (m *MenuApi) Detail(c *gin.Context) {
|
|
id := c.Query("id")
|
|
menu, err := menuService.GetMenuById(id)
|
|
if err != nil {
|
|
global.Logger.Error("获取菜单详情失败!", zap.Error(err))
|
|
response.FailWithMsg(err.Error(), c)
|
|
return
|
|
}
|
|
response.OkWithData(menu, c)
|
|
}
|
|
|
|
func (m *MenuApi) GetAllMenuTree(c *gin.Context) {
|
|
var param systemReq.GetMenuTree
|
|
err := c.ShouldBindJSON(¶m)
|
|
if err != nil {
|
|
response.FailWithMsg(err.Error(), c)
|
|
return
|
|
}
|
|
menus, err := menuService.GetAllMenuTree(param.Category, param.ParentId)
|
|
if err != nil {
|
|
global.Logger.Error("获取菜单树结构失败!", zap.Error(err))
|
|
response.FailWithMsg(err.Error(), c)
|
|
return
|
|
}
|
|
response.OkWithData(menus, c)
|
|
}
|
|
|
|
func (m *MenuApi) GetUserMenuTree(c *gin.Context) {
|
|
|
|
}
|
|
|
|
func (m *MenuApi) Route(c *gin.Context) {
|
|
userId := jwt.GetUserId(c)
|
|
routes, err := menuService.GetUserRoutes(userId)
|
|
if err != nil {
|
|
global.Logger.Error("获取用户菜单失败!", zap.Error(err))
|
|
response.FailWithMsg(err.Error(), c)
|
|
return
|
|
}
|
|
response.OkWithData(routes, c)
|
|
}
|