public async Task <string> CheckRenewPasswordCmdValidatableAsync(string currentMemberId, RenewPasswordCmd cmd, string clientIp, DateTime timeNow)
        {
            if (cmd.CheckCode.IsNullOrWhiteSpace())
            {
                return("验证码不可为空");
            }
            if (cmd.Password.IsNullOrWhiteSpace())
            {
                return("密码不能为空");
            }
            if (cmd.Password.Length > 30)
            {
                return("密码超长");
            }
            if (cmd.CheckCode.Length != 6)
            {
                return("验证码错误");
            }

            if (cmd.CodeType != CodeType.RenewPassword)
            {
                return("验证码类型错误");
            }

            await _verificationCodeService.UpdateVerificationCodeToDisabledByTimeAsync().ConfigureAwait(false);

            if (!await _verificationCodeService.ExistAvailableCode(currentMemberId, cmd.CheckCode, cmd.CodeType).ConfigureAwait(false))
            {
                return("验证码错误");
            }
            return(null);
        }