workdesktopmenuinfologic.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package logic
  2. import (
  3. "context"
  4. "userCenter/rpc/internal/config"
  5. "userCenter/service"
  6. "userCenter/rpc/internal/svc"
  7. "userCenter/rpc/pb"
  8. "github.com/zeromicro/go-zero/core/logx"
  9. )
  10. type WorkDesktopMenuInfoLogic struct {
  11. ctx context.Context
  12. svcCtx *svc.ServiceContext
  13. logx.Logger
  14. }
  15. func NewWorkDesktopMenuInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *WorkDesktopMenuInfoLogic {
  16. return &WorkDesktopMenuInfoLogic{
  17. ctx: ctx,
  18. svcCtx: svcCtx,
  19. Logger: logx.WithContext(ctx),
  20. }
  21. }
  22. // 获取菜单树
  23. func (l *WorkDesktopMenuInfoLogic) WorkDesktopMenuInfo(in *pb.WorkDesktopMenuInfoReq) (*pb.WorkDesktopMenuInfoResp, error) {
  24. if in.UserId == "" {
  25. return &pb.WorkDesktopMenuInfoResp{
  26. ErrorCode: -1,
  27. ErrorMsg: "用户信息有误",
  28. Data: nil,
  29. }, nil
  30. }
  31. var (
  32. errorCode int64 = 0
  33. errorMsg = ""
  34. menuMode = "all"
  35. )
  36. //菜单树
  37. in.BigMemberOff = config.ConfigJson.BigMemberOff //大会员权限开关
  38. in.RedisOutTime = config.ConfigJson.RedisOutTime //用户权限 redis 缓存时间
  39. in.InternalTime = config.ConfigJson.InternalTime //常用功能 功能设置数量限制
  40. menuList, err := service.GetWordDesktopMenuTree(in)
  41. //菜单模式
  42. menuMode, err = service.GetWorkDesktopMenuMode(in)
  43. logx.Info(err, "+++++:", len(menuList))
  44. if err != nil {
  45. errorCode = -1
  46. errorMsg = err.Error()
  47. }
  48. return &pb.WorkDesktopMenuInfoResp{
  49. ErrorCode: errorCode,
  50. ErrorMsg: errorMsg,
  51. Data: &pb.MenuData{
  52. MenuType: menuMode,
  53. MenuList: menuList,
  54. },
  55. }, nil
  56. }