Exemple #1
0
        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);
        }
Exemple #2
0
        /// <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);
        }
Exemple #3
0
 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;
 }
Exemple #4
0
        /// <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);
            }));
        }
Exemple #6
0
        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;
            }
        }
Exemple #7
0
 public async Task <ValidateResult> Add(UsermessageRequest request)
 {
     return(await _userService.Add(request));
 }