public async Task <JsonResult> SubmitChangeBindingAction(string oldNumber, string newNumber, string vCode) { try { using (var client = new UserAccountClient()) { var result = await client.ChangeBindMobileActionAsync(new UserChangeBindMobileAction { Operator = User.Identity.Name, SourceBindMobile = oldNumber, TargetBindMobile = newNumber, TargetMobileCode = vCode }); result.ThrowIfException(false); if (result.Success && result.Result) { var flag = false; var smsBody = "您的途虎账号已经与本手机号解绑, 如非本人操作请联系客服:400-111-8868【途虎养车】"; // 提交验证码 await Business.Sms.SmsManager.SubmitVerficationCodeAsync(newNumber, vCode); // 模板:您的途虎账号已经与本手机号解绑, 如非本人操作请联系客服:400-111-8868 if (await Business.Sms.SmsManager.SendTemplateSmsMessageAsync(oldNumber, 75)) { flag = true; } await client.LogChangeBindMobileActionAsync( new UserChangeBindMobileLog { SourceBindMobile = oldNumber, TargetBindMobile = newNumber, Operator = User.Identity.Name, OperateStatus = true, CreatedTime = DateTime.Now }); return(flag ? Json("绑定成功但发送确认短信失败") : Json("绑定成功")); } await client.LogChangeBindMobileActionAsync( new UserChangeBindMobileLog { SourceBindMobile = oldNumber, TargetBindMobile = newNumber, Operator = User.Identity.Name, OperateStatus = false, FailReason = result.ErrorMessage, CreatedTime = DateTime.Now }); return(Json(result.ErrorMessage)); } } catch (Exception exception) { WebLog.LogException(exception); return(Json("未知异常")); } }
public async Task <JsonResult> SubmitChangeBindingRequest(string oldNumber, string newNumber) { try { var fetchOrderResult = 0; using (var client = new UserAccountClient()) { var oldUser = await client.GetUserByMobileAsync(oldNumber); if (!oldUser.Success || oldUser.Result == null) { await client.LogChangeBindMobileActionAsync( new UserChangeBindMobileLog { SourceBindMobile = oldNumber, TargetBindMobile = newNumber, Operator = User.Identity.Name, OperateStatus = false, FailReason = "需解绑手机号不存在", CreatedTime = DateTime.Now }); return(Json(-1)); } var newUser = await client.GetUserByMobileAsync(newNumber); if (!newUser.Success || newUser.Result?.UserId == null || newUser.Result.UserId.Equals(Guid.Empty)) { return(Json(1)); } fetchOrderResult = DownloadAppManager.HasUnOrRecentlyCompletedOrder(newUser.Result.UserId.ToString("D")); if (fetchOrderResult < 0) { await client.LogChangeBindMobileActionAsync( new UserChangeBindMobileLog { SourceBindMobile = oldNumber, TargetBindMobile = newNumber, Operator = User.Identity.Name, OperateStatus = false, FailReason = fetchOrderResult == -4 ? "需绑定手机号有近期完成订单" : "需绑定手机号有未完成订单", CreatedTime = DateTime.Now }); return(Json(fetchOrderResult)); } } using (var client = new YLHUserAccountClient()) { var ylhUser = await client.GetYLHUserInfoByMobileAsync(newNumber); if (ylhUser.Success && ylhUser.Result?.UserId != null && !ylhUser.Result.UserId.Equals(Guid.Empty)) { fetchOrderResult = -2; } } if (fetchOrderResult == -2) { using (var client = new UserAccountClient()) { await client.LogChangeBindMobileActionAsync( new UserChangeBindMobileLog { SourceBindMobile = oldNumber, TargetBindMobile = newNumber, Operator = User.Identity.Name, OperateStatus = false, FailReason = "需绑定手机号已关联永隆行账户", CreatedTime = DateTime.Now }); } } return(Json(fetchOrderResult)); } catch (Exception ex) { WebLog.LogException(ex); return(Json(0)); } }