public async Task<NewtonsoftJsonActionResult<ValidateResult>> SendMsg(UsermessageRequest model) { //注册短信或者忘记密码发送验证当前账号是否已存在 if (model.type == (int)UserEnum.UserMessEnum.注册 || model.type == (int)UserEnum.UserMessEnum.登陆 || model.type == (int)UserEnum.UserMessEnum.忘记密码) { UserLoginRequest request = new UserLoginRequest(); request.account = model.phone; request.logintype = (int)UserEnum.UserLogintypeEnum.手机; ValidateResult<CrmEntity> ret = await _appUser.GetUser(request); if (model.type == (int)UserEnum.UserMessEnum.注册) { if (ret.Data != null) { ValidateResult res = new ValidateResult(); res.Result = false; res.Description = "当前账号已存在!"; return res; } } else if (model.type == (int)UserEnum.UserMessEnum.忘记密码 || model.type == (int)UserEnum.UserMessEnum.登陆) { if (ret.Data == null) { ValidateResult res = new ValidateResult(); res.Result = false; res.Description = "当前账号不存在!"; return res; } } } Random rad = new Random(); model.valcode = "1234";// rad.Next(1000, 9999).ToString(); return await _appUsermessage.Add(model); }
/// <summary> /// 保存 /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task <ValidateResult> Add(UsermessageRequest model) { var userInfo = ContextContainer.GetValue <UserInfo>(ContextExtensionTypes.CurrentUserInfo); var validateResult = new ValidateResult(); try { Guid id = Guid.NewGuid(); var entity = new CrmExecuteEntity(entityName, id); if (!string.IsNullOrEmpty(model.phone)) { entity.Attributes.Add("mcs_phone", model.phone); } if (!string.IsNullOrEmpty(model.valcode)) { entity.Attributes.Add("mcs_name", model.valcode); } entity.Attributes.Add("mcs_type", model.type); await _crmService.Create(entity, userInfo?.systemuserid); #region 组装数据返回 validateResult.Result = true; validateResult.Description = "操作成功"; #endregion } catch (Exception e) { validateResult.Result = false; validateResult.Description = e.Message; } return(validateResult); }
public async Task<NewtonsoftJsonActionResult<ValidateResult>> UpdatePwd(UserLoginRequest request) { UsermessageRequest req = new UsermessageRequest(); req.phone = request.account; req.type = int.Parse(request.type); req.valcode = request.valcode; //验证码验证 ValidateResult res = await _appUsermessage.ValCode(req); if (res.Result) { return await _appUser.UpdateUserPwd(request); } else return res; }
/// <summary> /// 获取验证码 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <ValidateResult> ValCode(UsermessageRequest request) { try { var validateResult = new ValidateResult(); var crmRequestHelper = new CrmRequestHelper(); XDocument fetchXdoc = null; fetchXdoc = await _repository.GetMes(request); var entities = await crmRequestHelper.ExecuteAsync(_crmService, entityName, fetchXdoc); if (entities.Results.Count > 0) { var ent = entities.Results[0]; var code = ent.Attributes["mcs_name"].ToString(); var createdon = DateTime.Parse(ent.Attributes["createdon"].ToString()); //180秒过期判断 if (createdon.AddSeconds(180) >= new DateTime()) { //判断当前验证码是否错误 if (code != request.valcode) { validateResult.Result = false; validateResult.Description = "短信验证码错误!"; } else { validateResult.Result = true; } } else { validateResult.Result = false; validateResult.Description = "短信验证码过期!"; } } else { validateResult.Result = false; validateResult.Description = "短信验证码不存在!"; } return(validateResult); } catch (Exception ex) { throw ex; } }
public async Task <XDocument> GetMes(UsermessageRequest request) { return(await Task <XDocument> .Run(() => { var fetchXml = $@"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='true'> <entity name='mcs_usermessage'> <attribute name='mcs_name' /> <attribute name='createdon' /> <order attribute='createdon' descending='true' /> <filter type='and'> <condition attribute='mcs_type' operator='eq' value='{request.type}' /> <condition attribute='mcs_phone' operator='eq' value='{request.phone}' /> </filter> </entity> </fetch>"; return XDocument.Parse(fetchXml); })); }
public async Task<NewtonsoftJsonActionResult<ValidateResult<CrmEntity>>> loginphone(UserLoginRequest request) { UsermessageRequest req = new UsermessageRequest(); req.phone = request.account; req.type = (request.type == "2" ? (int)UserEnum.UserMessEnum.登陆 : (int)UserEnum.UserMessEnum.注册);// req.valcode = request.valcode; //验证码验证 ValidateResult res = await _appUsermessage.ValCode(req); if (res.Result) { //验证通过;判断是登陆还是注册,登陆获取用户信息,注册直接返回验证成功 if (request.type == "2") { ValidateResult<CrmEntity> crm = await _appUser.GetUser(request); _appUser.LoginLog(request, crm.Data.Id, (int)UserEnum.LoginlogEnum.成功); return crm; } else { ValidateResult<CrmEntity> ret = new ValidateResult<CrmEntity>(); ret.Result = true; res.Description = "验证成功!"; return ret; } } else { //登陆验证失败,写入登陆日志 if (request.type == "2") { ValidateResult<CrmEntity> crm = await _appUser.GetUser(request); _appUser.LoginLog(request, crm.Data.Id, (int)UserEnum.LoginlogEnum.失败); } ValidateResult<CrmEntity> ret = new ValidateResult<CrmEntity>(); ret.Result = false; ret.Description = res.Description; return ret; } }
public async Task <ValidateResult> Add(UsermessageRequest request) { return(await _userService.Add(request)); }