package logic import ( "context" "log" "userCenter/entity" "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), } } var clearUserPowerSwitch = true // 获取菜单树 func (l *WorkDesktopMenuInfoLogic) WorkDesktopMenuInfo(in *pb.WorkDesktopMenuInfoReq) (*pb.WorkDesktopMenuInfoResp, error) { if in.UserId == "" { return &pb.WorkDesktopMenuInfoResp{ ErrorCode: -1, ErrorMsg: "用户信息有误", Data: nil, }, nil } //用户权限信息 //go entity.AutoUserPowerInfo(in.UserId, config.ConfigJson.InternalTime, config.ConfigJson.BigMemberOff) //定时启动清除用户权限内存信息 log.Println("clearUserPowerSwitch:", clearUserPowerSwitch) if clearUserPowerSwitch { clearUserPowerSwitch = false go func() { entity.ClearUserPower() }() } var ( errorCode int64 = 0 errorMsg = "" menuMode = "all" ) //菜单树 menuList, err := service.GetWordDesktopMenuTree(in, config.ConfigJson.RedisOutTime, config.ConfigJson.BigMemberOff) //菜单模式 menuMode, err = service.GetWorkDesktopMenuMode(in) logx.Info(err, "+++++:", len(menuList)) if err != nil { errorCode = -1 errorMsg = err.Error() } return &pb.WorkDesktopMenuInfoResp{ ErrorCode: errorCode, ErrorMsg: errorMsg, Data: &pb.MenuData{ MenuType: menuMode, MenuList: menuList, }, }, nil }