workdesktopmenuinfologic.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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 //用户权限 redis 缓存时间
  40. menuList, err := service.GetWordDesktopMenuTree(in)
  41. //菜单模式
  42. menuMode, err = service.GetWorkDesktopMenuMode(in)
  43. if err != nil {
  44. errorCode = -1
  45. errorMsg = err.Error()
  46. }
  47. return &pb.WorkDesktopMenuInfoResp{
  48. ErrorCode: errorCode,
  49. ErrorMsg: errorMsg,
  50. Data: &pb.MenuData{
  51. MenuType: menuMode,
  52. MenuList: menuList,
  53. },
  54. }, nil
  55. }