private async Task <DingDingUser> GetCurrentDDUserInfoAsync(string userId)
        {
            DingDingUser user = null;

            if (!string.IsNullOrEmpty(userId))
            {
                var key       = $"dduser_{userId}";
                var keyValues = await _redis.HMGetAsync(key, DingDingUser.GetFields());

                user = keyValues.GetUserInfoFromDictionary();
                if (string.IsNullOrWhiteSpace(user?.UserId) || string.IsNullOrWhiteSpace(user?.UserName))
                {
                    user = await _ddHelper.GetCurrentDDUserInfoAsync(userId);

                    if (user != null)
                    {
                        await _redis.HMSetAsync(key, user.ToKeyValues());
                    }
                }
            }
            return(user);
        }