123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- package v1
- import (
- "dy-admin/internal/pcmserver/common"
- "dy-admin/internal/pcmserver/global"
- "dy-admin/internal/pcmserver/pkg/code"
- "dy-admin/internal/pcmserver/sys/model"
- "dy-admin/internal/pcmserver/sys/model/response"
- "dy-admin/internal/pcmserver/utils"
- "dy-admin/pkg/bind"
- "dy-admin/pkg/rescode"
- "github.com/gin-gonic/gin"
- "github.com/gin-gonic/gin/binding"
- )
- type MenuApi struct {
- }
- // CreateMenu
- // @Tags 系统菜单管理
- // @Summary 创建菜单
- // @Security ApiKeyAuth
- // @accept application/json
- // @Produce application/json
- // @Param data body model.Menu true "参数"
- // @Success 200 {object} rescode.ErrCode
- // @Router /sys/v1/menu [post]
- func (s *MenuApi) CreateMenu(c *gin.Context) {
- var menu model.Menu
- if err := bind.Bind(c, &menu, binding.JSON); err != nil {
- rescode.WriteErrResponse(c, err)
- return
- }
- err := utils.Verify(menu, utils.MenuVerify)
- if err != nil {
- err = rescode.RegisterErrorWithMessage(err, err.Error(), code.ErrCodeMap[code.ErrValidationCode])
- rescode.WriteErrResponse(c, err)
- return
- }
- menu.CreateBy = global.JWT.GetUserID(c)
- err = menuService.AddMenu(menu)
- if err != nil {
- rescode.WriteErrResponse(c, err)
- return
- }
- rescode.WriteSuccessResponse(c, nil)
- }
- // UpdateMenu
- // @Tags 系统菜单管理
- // @Summary 更新菜单
- // @Security ApiKeyAuth
- // @accept application/json
- // @Produce application/json
- // @Param data body model.Menu Menu "参数"
- // @Success 200 {object} rescode.ErrCode
- // @Router /sys/v1/menu [put]
- func (s *MenuApi) UpdateMenu(c *gin.Context) {
- var menu model.Menu
- if err := bind.Bind(c, &menu, binding.JSON); err != nil {
- rescode.WriteErrResponse(c, err)
- return
- }
- err := utils.Verify(menu, utils.UpdateMenuVerify)
- if err != nil {
- err = rescode.RegisterErrorWithMessage(err, err.Error(), code.ErrCodeMap[code.ErrValidationCode])
- rescode.WriteErrResponse(c, err)
- return
- }
- menu.UpdateBy = global.JWT.GetUserID(c)
- err = menuService.UpdateMenu(menu)
- if err != nil {
- rescode.WriteErrResponse(c, err)
- return
- }
- rescode.WriteSuccessResponse(c, nil)
- }
- // DeleteMenu
- // @Tags 系统菜单管理
- // @Summary 删除菜单
- // @Security ApiKeyAuth
- // @accept application/json
- // @Produce application/json
- // @Param data body common.IdReq true "参数"
- // @Success 200 {object} rescode.ErrCode
- // @Router /sys/v1/menu [delete]
- func (s *MenuApi) DeleteMenu(c *gin.Context) {
- var idReq common.IdReq
- if err := bind.Bind(c, &idReq, binding.Query); err != nil {
- rescode.WriteErrResponse(c, err)
- return
- }
- err := utils.Verify(idReq, utils.IdVerify)
- if err != nil {
- err = rescode.RegisterErrorWithMessage(err, err.Error(), code.ErrCodeMap[code.ErrValidationCode])
- rescode.WriteErrResponse(c, err)
- return
- }
- err = menuService.DeleteMenu(idReq.ID)
- if err != nil {
- rescode.WriteErrResponse(c, err)
- return
- }
- rescode.WriteSuccessResponse(c, nil)
- }
- // GetMenuByID
- // @Tags 系统菜单管理
- // @Summary 获取菜单
- // @Security ApiKeyAuth
- // @accept application/json
- // @Produce application/json
- // @Param data body common.IdReq true "参数"
- // @Success 200 {object} rescode.ErrCode
- // @Router /sys/v1/menu/one [get]
- func (s *MenuApi) GetMenuByID(c *gin.Context) {
- var idReq common.IdReq
- if err := bind.Bind(c, &idReq, binding.Query); err != nil {
- rescode.WriteErrResponse(c, err)
- return
- }
- err := utils.Verify(idReq, utils.IdVerify)
- if err != nil {
- err = rescode.RegisterErrorWithMessage(err, err.Error(), code.ErrCodeMap[code.ErrValidationCode])
- rescode.WriteErrResponse(c, err)
- return
- }
- menu, err := menuService.GetMenuByID(idReq.ID)
- if err != nil {
- rescode.WriteErrResponse(c, err)
- return
- }
- rescode.WriteSuccessResponse(c, response.MenuResponse{Menu: menu})
- }
- // GetMenuTree
- // @Tags 系统菜单管理
- // @Summary 获取菜单树(全部)
- // @Security ApiKeyAuth
- // @accept application/json
- // @Produce application/json
- // @Success 200 {object} rescode.ErrCode
- // @Router /sys/v1/menu/tree [get]
- func (s *MenuApi) GetMenuTree(c *gin.Context) {
- list, err := menuService.GetMenus()
- if err != nil {
- rescode.WriteErrResponse(c, err)
- return
- }
- rescode.WriteSuccessResponse(c, response.MenuListResponse{Menus: list})
- }
- // GetRoleMenuTree
- // @Tags 系统菜单管理
- // @Summary 获取菜单树(角色)
- // @Security ApiKeyAuth
- // @accept application/json
- // @Produce application/json
- // @Param data body common.GetRoleIDs true "参数"
- // @Success 200 {object} rescode.ErrCode
- // @Router /sys/v1/menu/role/tree [get]
- func (s *MenuApi) GetRoleMenuTree(c *gin.Context) {
- var roleIds common.GetRoleIDs
- if err := bind.Bind(c, &roleIds, binding.Query); err != nil {
- rescode.WriteErrResponse(c, err)
- return
- }
- list, err := menuService.GetMenusByRoleIds(roleIds.RoleIDs)
- if err != nil {
- rescode.WriteErrResponse(c, err)
- return
- }
- rescode.WriteSuccessResponse(c, response.MenuListResponse{Menus: list})
- }
|