package handler import ( "context" "dashoo.cn/common_definition/admin/menu_def" "dashoo.cn/common_definition/comm_def" "dashoo.cn/micro/app/model" "dashoo.cn/micro/app/service" "dashoo.cn/opms_libary/myerrors" "errors" "github.com/gogf/gf/errors/gerror" "github.com/gogf/gf/frame/g" "github.com/gogf/gf/util/gconv" "github.com/gogf/gf/util/gvalid" ) 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 { g.Log().Error(err) return errors.New("系统异常,请重新尝试") } list, err := menuService.GetList(req) _, _, rsp.Code, rsp.Msg = myerrors.CheckError(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 NoParamsErr } menuService, err := service.NewMenuService(ctx) if err != nil { g.Log().Error(err) return gerror.New("系统异常,请重新尝试") } entity, err := menuService.GetEntity(req.Id) if err != nil { g.Log().Error(err) return err } _, _, rsp.Code, rsp.Msg = myerrors.CheckError(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 { g.Log().Error(v) return v } menuService, err := service.NewMenuService(ctx) if err != nil { g.Log().Error(err) return gerror.New("系统异常,请重新尝试") } id, err := menuService.Create(req) _, _, rsp.Code, rsp.Msg = myerrors.CheckError(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 NoParamsErr } // 检查请求参数 if v := gvalid.CheckStruct(ctx, req, nil); v != nil { g.Log().Error(v) return v } menuService, err := service.NewMenuService(ctx) if err != nil { g.Log().Error(err) return gerror.New("系统异常,请重新尝试") } err = menuService.UpdateById(req) _, _, rsp.Code, rsp.Msg = myerrors.CheckError(err) return nil } // 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 { g.Log().Error(err) return gerror.New("系统异常,请重新尝试") } err = menuService.Delete(req.Id) _, _, rsp.Code, rsp.Msg = myerrors.CheckError(err) return nil } // GetRoleMenuIds 根据角色获取菜单 //func (o *MenuHandler) GetRoleMenuIds(ctx context.Context, req *menu_def.RoleIdReq, rsp *comm_def.CommonMsg) error { // service, err := role_menu.NewService(tenant) // if err != nil { // g.Log().Error(err) // return gerror.New("系统异常,请重新尝试") // } // // entity, err := service.GetRoleMenuIds(req.RoleId) // _, err, code, msg := myerrors.CheckError(err) // rsp.Code = code // rsp.Msg = msg // rsp.Data = entity // // return nil //} // GetMenuTree 获取菜单树 func (h *MenuHandler) GetMenuTree(ctx context.Context, req map[string]interface{}, rsp *comm_def.CommonMsg) error { menuService, err := service.NewMenuService(ctx) if err != nil { g.Log().Error(err) return gerror.New("系统异常,请重新尝试") } isAll := false if val, ok := req["isAll"]; ok && val == "all" { isAll = true } list, err := menuService.GetMenuTree(isAll) _, _, rsp.Code, rsp.Msg = myerrors.CheckError(err) rsp.Data = list return nil }