| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- package handler
- import (
- "context"
- "dashoo.cn/common_definition/admin/menu_def"
- "dashoo.cn/common_definition/comm_def"
- "dashoo.cn/opms_libary/myerrors"
- "github.com/gogf/gf/util/gconv"
- "github.com/gogf/gf/util/gvalid"
- "dashoo.cn/micro/app/model"
- "dashoo.cn/micro/app/service"
- )
- type MenuHandler struct{}
- // GetList 获取列表
- func (h *MenuHandler) GetList(ctx context.Context, req *menu_def.SelectReq, rsp *comm_def.CommonMsg) error {
- menuService, err := service.NewMenuService(ctx)
- if err != nil {
- return err
- }
- list, err := menuService.GetList(req)
- if err != nil {
- return err
- }
- rsp.Data = list
- return nil
- }
- // GetEntityById 详情
- func (h *MenuHandler) GetEntityById(ctx context.Context, req *comm_def.IdReq, rsp *comm_def.CommonMsg) error {
- // 参数校验
- if req.Id == 0 {
- return myerrors.TipsError("请求参数不存在。")
- }
- menuService, err := service.NewMenuService(ctx)
- if err != nil {
- return err
- }
- entity, err := menuService.GetEntity(req.Id)
- if err != nil {
- return err
- }
- rsp.Data = entity
- return nil
- }
- // Create 添加
- func (h *MenuHandler) Create(ctx context.Context, req *model.SysMenuReq, rsp *comm_def.CommonMsg) error {
- // 检查请求参数
- if v := gvalid.CheckStruct(ctx, req, nil); v != nil {
- return v
- }
- menuService, err := service.NewMenuService(ctx)
- if err != nil {
- return err
- }
- id, err := menuService.Create(req)
- if err != nil {
- return err
- }
- rsp.Data = gconv.String(id)
- return nil
- }
- // UpdateById 编辑
- func (h *MenuHandler) UpdateById(ctx context.Context, req *model.SysMenuReq, rsp *comm_def.CommonMsg) error {
- // 参数校验
- if req.Id == 0 {
- return myerrors.TipsError("请求参数不存在。")
- }
- // 检查请求参数
- if v := gvalid.CheckStruct(ctx, req, nil); v != nil {
- return v
- }
- menuService, err := service.NewMenuService(ctx)
- if err != nil {
- return err
- }
- err = menuService.UpdateById(req)
- return err
- }
- // DeleteById 删除菜单
- func (h *MenuHandler) DeleteById(ctx context.Context, req *comm_def.IdReq, rsp *comm_def.CommonMsg) error {
- menuService, err := service.NewMenuService(ctx)
- if err != nil {
- return err
- }
- err = menuService.Delete(req.Id)
- return err
- }
- // GetRoleMenuIds 根据角色获取菜单
- //func (o *MenuHandler) GetRoleMenuIds(ctx context.Context, req *menu_def.RoleIdReq, rsp *comm_def.CommonMsg) error {
- // menuService, err := service.NewMenuService(ctx)
- // if err != nil {
- // return err
- // }
- //
- // entity, err := menuService.GetRoleMenuIds(req.RoleId)
- // if err != nil {
- // return err
- // }
- // rsp.Data = entity
- // return nil
- //}
- // GetMenuTree 获取菜单树 isAll获取完整菜单树
- func (h *MenuHandler) GetMenuTree(ctx context.Context, req map[string]interface{}, rsp *comm_def.CommonMsg) error {
- menuService, err := service.NewMenuService(ctx)
- if err != nil {
- return err
- }
- isAll := false
- if val, ok := req["isAll"]; ok && val == "all" {
- isAll = true
- }
- var list interface{}
- if menuService.GetCxtUserName() == "dashoo" || isAll {
- list, err = menuService.GetMenuTree(isAll)
- } else {
- userService, _ := service.NewUserService(ctx)
- userRoles, _ := userService.GetUserRoleIds(userService.GetCxtUserId())
- list, err = menuService.GetUserRoleMenuTree(userRoles)
- }
- if err != nil {
- return err
- }
- rsp.Data = list
- return nil
- }
|