You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
2.0 KiB
80 lines
2.0 KiB
3 years ago
|
/*
|
||
|
* @desc:菜单
|
||
|
*
|
||
|
*
|
||
|
* @Date: 2022/3/16 10:36
|
||
|
*/
|
||
|
|
||
|
package controller
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"tyj_admin/api/v1/system"
|
||
|
"tyj_admin/internal/model"
|
||
|
"tyj_admin/internal/service"
|
||
|
)
|
||
|
|
||
|
var Menu = menuController{}
|
||
|
|
||
|
type menuController struct {
|
||
|
BaseController
|
||
|
}
|
||
|
|
||
|
func (c *menuController) List(ctx context.Context, req *system.RuleSearchReq) (res *system.RuleListRes, err error) {
|
||
|
var list []*model.SysAuthRuleInfoRes
|
||
|
res = &system.RuleListRes{
|
||
|
Rules: make([]*model.SysAuthRuleTreeRes, 0),
|
||
|
}
|
||
|
list, err = service.Rule().GetMenuListSearch(ctx, req)
|
||
|
if req.Title != "" || req.Component != "" {
|
||
|
for _, menu := range list {
|
||
|
res.Rules = append(res.Rules, &model.SysAuthRuleTreeRes{
|
||
|
SysAuthRuleInfoRes: menu,
|
||
|
})
|
||
|
}
|
||
|
} else {
|
||
|
res.Rules = service.Rule().GetMenuListTree(0, list)
|
||
|
}
|
||
|
return
|
||
|
}
|
||
|
|
||
|
func (c *menuController) Add(ctx context.Context, req *system.RuleAddReq) (res *system.RuleAddRes, err error) {
|
||
|
err = service.Rule().Add(ctx, req)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// GetAddParams 获取菜单添加及编辑相关参数
|
||
|
func (c *menuController) GetAddParams(ctx context.Context, req *system.RuleGetParamsReq) (res *system.RuleGetParamsRes, err error) {
|
||
|
// 获取角色列表
|
||
|
res = new(system.RuleGetParamsRes)
|
||
|
res.Roles, err = service.Role().GetRoleList(ctx)
|
||
|
if err != nil {
|
||
|
return
|
||
|
}
|
||
|
res.Menus, err = service.Rule().GetIsMenuList(ctx)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// Get 获取菜单信息
|
||
|
func (c *menuController) Get(ctx context.Context, req *system.RuleInfoReq) (res *system.RuleInfoRes, err error) {
|
||
|
res = new(system.RuleInfoRes)
|
||
|
res.Rule, err = service.Rule().Get(ctx, req.Id)
|
||
|
if err != nil {
|
||
|
return
|
||
|
}
|
||
|
res.RoleIds, err = service.Rule().GetMenuRoles(ctx, req.Id)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// Update 菜单修改
|
||
|
func (c *menuController) Update(ctx context.Context, req *system.RuleUpdateReq) (res *system.RuleUpdateRes, err error) {
|
||
|
err = service.Rule().Update(ctx, req)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// Delete 删除菜单
|
||
|
func (c *menuController) Delete(ctx context.Context, req *system.RuleDeleteReq) (res *system.RuleDeleteRes, err error) {
|
||
|
err = service.Rule().DeleteMenuByIds(ctx, req.Ids)
|
||
|
return
|
||
|
}
|