package logic import ( "context" "userCenter/rpc/internal/config" "userCenter/service" "userCenter/rpc/internal/svc" "userCenter/rpc/pb" "github.com/zeromicro/go-zero/core/logx" ) type WorkDesktopMenuInfoLogic struct { ctx context.Context svcCtx *svc.ServiceContext logx.Logger } func NewWorkDesktopMenuInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *WorkDesktopMenuInfoLogic { return &WorkDesktopMenuInfoLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logx.WithContext(ctx), } } // 获取菜单树 func (l *WorkDesktopMenuInfoLogic) WorkDesktopMenuInfo(in *pb.WorkDesktopMenuInfoReq) (*pb.WorkDesktopMenuInfoResp, error) { if in.UserId == "" { return &pb.WorkDesktopMenuInfoResp{ ErrorCode: -1, ErrorMsg: "用户信息有误", Data: nil, }, nil } var ( errorCode int64 = 0 errorMsg = "" menuMode = "all" ) //菜单树 in.BigMemberOff = config.ConfigJson.BigMemberOff //大会员权限开关 in.RedisOutTime = config.ConfigJson.RedisOutTime //用户权限 redis 缓存时间 in.InternalTime = config.ConfigJson.InternalTime //常用功能 功能设置数量限制 menuList, err := service.GetWordDesktopMenuTree(in) //菜单模式 menuMode, err = service.GetWorkDesktopMenuMode(in) if err != nil { errorCode = -1 errorMsg = err.Error() } return &pb.WorkDesktopMenuInfoResp{ ErrorCode: errorCode, ErrorMsg: errorMsg, Data: &pb.MenuData{ MenuType: menuMode, MenuList: menuList, }, }, nil }