workdesktopmenuinfologic.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package logic
  2. import (
  3. "context"
  4. "log"
  5. "userCenter/entity"
  6. "userCenter/rpc/internal/config"
  7. "userCenter/service"
  8. "userCenter/rpc/internal/svc"
  9. "userCenter/rpc/pb"
  10. "github.com/zeromicro/go-zero/core/logx"
  11. )
  12. type WorkDesktopMenuInfoLogic struct {
  13. ctx context.Context
  14. svcCtx *svc.ServiceContext
  15. logx.Logger
  16. }
  17. func NewWorkDesktopMenuInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *WorkDesktopMenuInfoLogic {
  18. return &WorkDesktopMenuInfoLogic{
  19. ctx: ctx,
  20. svcCtx: svcCtx,
  21. Logger: logx.WithContext(ctx),
  22. }
  23. }
  24. var clearUserPowerSwitch = true
  25. // 获取菜单树
  26. func (l *WorkDesktopMenuInfoLogic) WorkDesktopMenuInfo(in *pb.WorkDesktopMenuInfoReq) (*pb.WorkDesktopMenuInfoResp, error) {
  27. if in.UserId == "" {
  28. return &pb.WorkDesktopMenuInfoResp{
  29. ErrorCode: -1,
  30. ErrorMsg: "用户信息有误",
  31. Data: nil,
  32. }, nil
  33. }
  34. //用户权限信息
  35. //go entity.AutoUserPowerInfo(in.UserId, config.ConfigJson.InternalTime, config.ConfigJson.BigMemberOff)
  36. //定时启动清除用户权限内存信息
  37. log.Println("clearUserPowerSwitch:", clearUserPowerSwitch)
  38. if clearUserPowerSwitch {
  39. clearUserPowerSwitch = false
  40. go func() {
  41. entity.ClearUserPower()
  42. }()
  43. }
  44. var (
  45. errorCode int64 = 0
  46. errorMsg = ""
  47. menuMode = "all"
  48. )
  49. //菜单树
  50. menuList, err := service.GetWordDesktopMenuTree(in, config.ConfigJson.RedisOutTime, config.ConfigJson.BigMemberOff)
  51. logx.Info(err, "+++++:", len(menuList))
  52. if err != nil {
  53. errorCode = -1
  54. errorMsg = err.Error()
  55. }
  56. return &pb.WorkDesktopMenuInfoResp{
  57. ErrorCode: errorCode,
  58. ErrorMsg: errorMsg,
  59. Data: &pb.MenuData{
  60. MenuType: menuMode,
  61. MenuList: menuList,
  62. },
  63. }, nil
  64. }