Beispiel #1
0
        public async Task <IActionResult> BindTherapistWeChatOpenIdAsync([FromBody] BindTherapistWeChatOpenIdRequestDto requestDto)
        {
            var biz = new TherapistBiz();

            var model = await biz.GetModelByPhoneAsync(requestDto.TherapistPhone);

            if (model == null)
            {
                return(Failed(ErrorCode.InvalidIdPassword));
            }

            if (!string.Equals(model.TherapistPassword, CryptoHelper.AddSalt(model.TherapistGuid, requestDto.TherapistPassword), StringComparison.OrdinalIgnoreCase))
            {
                return(Failed(ErrorCode.InvalidIdPassword));
            }

            if (string.Equals(model.WeChatOpenId, requestDto.WeChatOpenId, StringComparison.OrdinalIgnoreCase))
            {
                return(Failed(ErrorCode.UserData, "已绑定过,无需重复绑定"));
            }

            model.WeChatOpenId = requestDto.WeChatOpenId;

            var result = await biz.UpdateAsync(model);

            return(result ? Success() : Failed(ErrorCode.DataBaseError, "服务人员绑定微信失败"));
        }
Beispiel #2
0
        public async Task <IActionResult> TherapistResetPasswordAsync([FromBody] TherapistResetPasswordAsyncRequestDto requestDto)
        {
            var therapistBiz = new TherapistBiz();

            var biz = new AccountBiz();

            if (!biz.VerifyCode(requestDto.Phone, requestDto.Code))
            {
                return(Failed(ErrorCode.VerificationCode, "手机验证码错误!"));
            }

            var model = await therapistBiz.GetModelByPhoneAsync(requestDto.Phone);

            if (model == null)
            {
                return(Failed(ErrorCode.Empty, "该手机号未注册"));
            }

            model.LastUpdatedBy     = string.IsNullOrWhiteSpace(UserID) ? "test" : UserID;
            model.TherapistPassword = CryptoHelper.AddSalt(model.TherapistGuid, requestDto.Password);
            if (string.IsNullOrEmpty(model.TherapistPassword))
            {
                return(Failed(ErrorCode.SystemException, "密码加盐失败"));
            }

            return(therapistBiz.UpdateAsync(model).Result ? Success() : Failed(ErrorCode.DataBaseError, "密码更新失败!"));
        }
Beispiel #3
0
        public IActionResult TherapistUpdatePassword(string password)
        {
            // 前端传输的密码为MD5加密后的结果
            if (string.IsNullOrEmpty(password) || password.Length != 32)
            {
                return(Failed(ErrorCode.FormatError, "密码为空或者无效"));
            }
            var therapistBiz = new TherapistBiz();
            var biz          = new AccountBiz();
            var userModel    = therapistBiz.GetAsync(UserID).Result;

            if (userModel == null)
            {
                return(Failed(ErrorCode.Empty, "用户不存在或者已经注销"));
            }

            userModel.TherapistPassword = CryptoHelper.AddSalt(UserID, password);
            if (string.IsNullOrEmpty(userModel.TherapistPassword))
            {
                return(Failed(ErrorCode.SystemException, "密码加盐失败"));
            }

            return(therapistBiz.UpdateAsync(userModel).Result ? Success() : Failed(ErrorCode.DataBaseError, "密码更新失败"));
        }