Example #1
0
        //[AllowAnonymous]
        //[ValidateAntiForgeryToken]
        public ActionResult UserSelectDealerToPay(string dealerId)
        {
            //判断是否登录
            if (!this.User.Identity.IsAuthenticated)
            {
                return(Redirect("/Account/Login?url=" + Request.RawUrl));
            }

            //获取当前登录人Id
            var userId = this.User.Identity.GetUserId();

            if (string.IsNullOrEmpty(dealerId))
            {
                return(Json(new { code = "401", msg = "经销商不能为空" }));
            }
            var store = new FrontUserStore <FrontIdentityUser>();
            var user  = store.FindByIdAsync(userId).Result;
            var returnIntegralType = (int)_AppContext.CarServiceUserApp.GetReIntegralTypeByIdentity(user.IdentityNumber);

            user.IsPay = 2;
            if (returnIntegralType > -1)
            {
                user.Amount = returnIntegralType > 1 ? 50 : 100;
            }
            store.UpdateAsync(user);
            if (store.AddMembershipDealerRecord(userId, dealerId) && store.CreateMembershipRequest(userId, user.IdentityNumber, dealerId, string.Empty, "blms"))
            {
                return(Json(new { code = "200", msg = "申请成功" }));
            }
            else
            {
                return(Json(new { code = "401", msg = "申请失败" }));
            }
        }
Example #2
0
        public JsonResult SubmitFreeCar(SonataServiceEntity entity)
        {
            ReturnResult result = new ReturnResult()
            {
                IsSuccess = true, Message = "预约成功", Errors = 200
            };

            if (this.User.Identity.IsAuthenticated)
            {
                var userId   = User.Identity.GetUserId();
                var userName = User.Identity.GetUserName();

                entity.DataSource = WebUtils.Device();
                entity.UserId     = userId;
                entity.UserName   = userName;
                entity.OrderType  = EBMServiceType.Home2Home;
                entity.DataSource = "blms_wap";

                //判断此车型是不预约过
                //QueryParamEntity par = new QueryParamEntity();
                //par.ScheduleFromDate = entity.ScheduleDate;
                //par.ScheduleToDate = entity.ScheduleDate;
                //par.LicensePlate = entity.LicensePlate;
                //var list = _AppContext.SonataServiceApp.QueryOrders(par, 1, 100);
                //if (list.Items.Count > 0)
                //{
                //    result.IsSuccess = false;
                //    result.Errors = 400;
                //    result.Message = "您已经预约过,请耐心等待,经销商会主动与您取得联系。";
                //    return Json(result, JsonRequestBehavior.AllowGet);
                //}
                var user  = new FrontUserStore <FrontIdentityUser>().FindByIdAsync(userId).Result;
                var count = _AppContext.CarServiceUserApp.GetFreeServiceRecord(user.IdentityNumber, EDMSServiceType.Home2Home).Where(w => w.MLevelBeginDate <= w.CreateTime && w.MLevelInvalidDate >= w.CreateTime).ToList().Count;
                if (count > 0)
                {
                    result.IsSuccess = false;
                    result.Errors    = 400;
                    result.Message   = "您已经预约过,请耐心等待,经销商会主动与您取得联系。";
                    return(Json(result, JsonRequestBehavior.AllowGet));
                }
                int _result = _AppContext.SonataServiceApp.Add(entity);
                if (_result <= 0)
                {
                    result.IsSuccess = false;
                    result.Errors    = 400;
                    result.Message   = "预约失败。";
                }
                else
                {
                    _AppContext.SMSApp.SendSMS(ESmsType.预约_预约成功, entity.Phone, new string[] { });
                }
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Example #3
0
        /// <summary>
        /// 登录状态
        /// </summary>
        /// <param name="model"></param>
        /// <param name="applicationUser"></param>
        /// <param name="loginType"></param>
        /// <returns></returns>
        private LoginUserStatus ReLoginStatus(LoginViewModel model, out ApplicationUser applicationUser, int loginType = 1)
        {
            applicationUser = new ApplicationUser();
            var userStor  = new FrontUserStore <FrontIdentityUser>();
            var userDatas = userStor.FindLogin(model.UserName);

            if (userDatas == null || userDatas.Count == 0)
            {
                return(LoginUserStatus.NoExistsUser);
            }

            foreach (var userData in userDatas)
            {
                if (loginType == 1)
                {
                    if (!string.IsNullOrEmpty(userData.PasswordHash))
                    {
                        bool result = VerifyHashedPassword(userData.PasswordHash, model.Password);

                        if (result)
                        {
                            if (userData != null)
                            {
                                if (userData.IsNeedModifyPw == 1)
                                {
                                    //  applicationUser = this.ConvertApplicationUser(userDatas[0]);
                                    return(LoginUserStatus.NeedModfiyPassWord);
                                }

                                applicationUser = this.ConvertApplicationUser(userData);
                                return(LoginUserStatus.Sucessed);
                            }
                        }
                        else
                        {
                            return(LoginUserStatus.NameOrPassWordError);
                        }
                    }
                }
                else
                {
                    if (userData != null)
                    {
                        applicationUser = this.ConvertApplicationUser(userData);
                        return(LoginUserStatus.Sucessed);
                    }
                }
            }

            return(LoginUserStatus.Failed);
        }
Example #4
0
 public ActionResult FreeCar()
 {
     if (User.Identity.IsAuthenticated)
     {
         var userId             = User.Identity.GetUserId();
         var user               = new FrontUserStore <FrontIdentityUser>().FindByIdAsync(userId).Result;
         var freeServiceRecords = _AppContext.CarServiceUserApp.GetFreeServiceRecord(user.IdentityNumber, EDMSServiceType.Home2Home);
         ViewBag.RecordCount = freeServiceRecords.Where(w => w.MLevelBeginDate <= w.CreateTime && w.MLevelInvalidDate >= w.CreateTime).ToList().Count;
         return(View(user));
     }
     else
     {
         return(RedirectToAction("login", "account", new { url = "/carService/FreeCar" }));
     }
 }
Example #5
0
        /// <summary>
        /// 天猫付款
        /// </summary>
        /// <param name="paynumber"></param>
        /// <param name="dealerId"></param>
        /// <returns></returns>
        //[AllowAnonymous]
        //[ValidateAntiForgeryToken]
        public ActionResult PayByTmallRequest(string paynumber, string dealerId)
        {
            //判断是否登录
            if (!this.User.Identity.IsAuthenticated)
            {
                return(Redirect("/Account/Login?url=" + Request.RawUrl));
            }

            //获取当前登录人Id
            var userId = this.User.Identity.GetUserId();

            var store = new FrontUserStore <FrontIdentityUser>();
            var user  = store.FindByIdAsync(userId).Result;

            user.ApprovalStatus = (int)MembershipApprovalStatus.Activing;
            if (string.IsNullOrEmpty(paynumber))
            {
                return(Json(new { code = 400, msg = "选择天猫支付必须输入支付码" }));
            }
            if (!string.IsNullOrEmpty(paynumber))
            {
                user.PayNumber = paynumber;
            }
            user.IsPay = 2;
            var returnIntegralType = (int)_AppContext.CarServiceUserApp.GetReIntegralTypeByIdentity(user.IdentityNumber);

            if (returnIntegralType != -1)
            {
                user.Amount = returnIntegralType > 1 ? 50 : 100;
            }
            store.UpdateAsync(user);
            store.AddMembershipDealerRecord(userId, dealerId);
            var result = store.CreateMembershipRequest(userId, user.IdentityNumber, dealerId, string.Empty, "blms_wap");

            if (result)
            {
                return(Json(new { code = "200", msg = "申请成功,如长时间未通过,请咨询申请经销商" }));
            }
            else
            {
                return(Json(new { code = "400", msg = "申请失败,请重新输入" }));
            }
        }
Example #6
0
        public ActionResult RoadRescue()
        {
            if (User.Identity.IsAuthenticated)
            {
                var userId   = User.Identity.GetUserId();
                var user     = new FrontUserStore <FrontIdentityUser>().FindByIdAsync(userId);
                var userType = 0;
                if (user != null)
                {
                    if (user.Result.SystemMType > 1)
                    {
                        string[] strArray = new string[] { "第九代索纳塔", "索九", "索纳塔9", "第九代索纳塔混合动力", "全新途胜", "全新胜达", "悦纳" };
                        var      cars     = _AppContext.CarServiceUserApp.CarsByUserId(userId).Where(w => w.BuyTime >= DateTime.Now.AddYears(-1) && w.BuyTime <= DateTime.Parse("2016-12-31") && strArray.Contains(w.CarCategory)).ToList();
                        if (cars.Count > 0)
                        {
                            userType = 3;
                        }
                        else
                        {
                            userType = 2;
                        }
                    }
                    else
                    {
                        userType = user.Result.SystemMType;
                    }
                }

                ViewBag.userId = userId;
                //根据userid获取userType
                ViewBag.userType = userType;
                return(View());
            }
            else
            {
                return(RedirectToAction("login", "account", new { url = "/carService/roadRescue" }));
            }
        }
Example #7
0
        /// <summary>
        /// 登陆厂操作
        /// </summary>
        /// <param name="model"></param>
        /// <param name="applicationUser"></param>
        /// <param name="loginType"></param>
        /// <returns></returns>
        private bool LoginFactory(LoginViewModel model, out ApplicationUser applicationUser, int loginType = 1)
        {
            applicationUser = new ApplicationUser();
            var userStor  = new FrontUserStore <FrontIdentityUser>();
            var userDatas = userStor.FindLogin(model.UserName);

            foreach (var userData in userDatas)
            {
                if (loginType == 1)
                {
                    if (!string.IsNullOrEmpty(userData.PasswordHash))
                    {
                        bool result = VerifyHashedPassword(userData.PasswordHash, model.Password);

                        if (result)
                        {
                            if (userData != null)
                            {
                                applicationUser = this.ConvertApplicationUser(userData);
                                return(true);
                            }
                        }
                    }
                }
                else
                {
                    if (userData != null)
                    {
                        applicationUser = this.ConvertApplicationUser(userData);
                        return(true);
                    }
                }
            }

            return(false);
        }
Example #8
0
        public ActionResult SetBaseInfoSave(ApplicationUser userEntity)
        {
            if (!this.User.Identity.IsAuthenticated)
            {
                return(Json(new
                {
                    code = "401",
                    msg = "账号登陆异常"
                }));
            }

            //验证用户名的唯一性
            var user = new FrontUserStore <FrontIdentityUser>().FindByNickNameAsync(userEntity.NickName);

            if (user != null && user.Result != null)
            {
                if (this.User.Identity.GetUserId() != user.Result.Id)
                {
                    return(Json(new { code = "401", msg = "用户名已存在,请更换" }));
                }
            }
            ApplicationUser _curUser = UserManager.FindById(this.User.Identity.GetUserId());

            if (userEntity.IdentityNumber != null)
            {
                _curUser.IdentityNumber = userEntity.IdentityNumber;
            }
            //个人信息
            _curUser.NickName = userEntity.NickName;
            _curUser.Gender   = userEntity.Gender;
            _curUser.Birthday = userEntity.Birthday;
            _curUser.Address  = userEntity.Address;

            //_curUser.RealName = userEntity.RealName;
            //_curUser.NickName = userEntity.NickName;
            //_curUser.Birthday = userEntity.Birthday;
            //_curUser.Email = userEntity.Email;
            //_curUser.Address = userEntity.Address;
            //_curUser.FaceImage = userEntity.FaceImage;
            //_curUser.Provency = userEntity.Provency;
            //_curUser.City = userEntity.City;
            //_curUser.Area = userEntity.Area;
            //_curUser.Gender = userEntity.Gender;
            //_curUser.IdentityNumber = userEntity.IdentityNumber;

            UserManager.Update(_curUser);

            //详细信息
            _curUser.PaperWork       = userEntity.PaperWork;
            _curUser.MainContact     = userEntity.MainContact;
            _curUser.MainTelePhone   = userEntity.MainTelePhone;
            _curUser.TelePhone       = userEntity.TelePhone;
            _curUser.TransactionTime = userEntity.TransactionTime;
            _curUser.Industry        = userEntity.Industry;
            _curUser.Job             = userEntity.Job;
            _curUser.IsMarriage      = userEntity.IsMarriage;
            _curUser.MarriageDay     = userEntity.MarriageDay;
            _curUser.Educational     = userEntity.Educational;
            _curUser.SendSms         = userEntity.SendSms;
            _curUser.SendLetter      = userEntity.SendLetter;
            _curUser.MakePhone       = userEntity.MakePhone;
            _curUser.SendEmail       = userEntity.SendEmail;
            _curUser.Remark          = userEntity.Remark;

            //var appro = new FrontUserStore<FrontIdentityUser>().Update_Or_Insert_Membership_Schedule(_curUser);

            return(Json(new
            {
                code = "200",
                msg = "保存成功"
            }));
        }
Example #9
0
        /// <summary>
        /// 绑定车辆
        /// </summary>
        /// <param name="identityNumber"></param>
        /// <param name="PaperWork"></param>
        /// <returns></returns>
        public ActionResult ToCheckCarownerSave(string identityNumber, string PaperWork, string source = "")
        {
            //判断是否登录
            if (!this.User.Identity.IsAuthenticated)
            {
                return(Redirect("/Account/Login?url=" + Request.RawUrl));
            }

            //获取当前登录人Id
            var userId = this.User.Identity.GetUserId();

            string appkey     = string.Empty;
            var    userStore  = new FrontUserStore <FrontIdentityUser>();
            var    userObj    = userStore.FindByIdentityNumber(identityNumber).Result;//membership里查询该身份证号
            var    isPIDExist = userObj != null;

            //如果证件号存在
            if (userObj != null)
            {
                //如果证件号已存在并绑定到车主,不能绑定
                if (userObj.SystemMType > 1)
                {
                    return(Json(new { code = 400, msg = "很抱歉,您的身份未绑定成功,请联系bluemembers在线客服" }));
                }
            }
            else
            {
                userObj = userStore.FindByIdAsync(userId).Result; //membership里查询该用户ID
            }
            //获取用户车辆信息
            var carQuery = _AppContext.CarServiceUserApp.CarsByPID(identityNumber);

            if (carQuery != null && carQuery.Count() > 0)                                   //有车
            {
                var memberLevel = _AppContext.DealerMembershipApp.GetLevel(identityNumber); //获取用户级别
                userObj.MLevel               = Convert.ToInt32(memberLevel);
                userObj.PaperWork            = PaperWork;
                userObj.SystemMType          = (int)MembershipType.WhitCar;
                userObj.IdentityNumber       = identityNumber;
                userObj.AuthenticationTime   = DateTime.Now;
                userObj.AuthenticationSource = "blms_wap";
                //认证来源
                //switch (source)
                //{
                //    case "activity_trip":
                //        userObj.Remark = "source:activity_trip";//机场活动
                //        break;
                //    case "activity_verna":
                //        userObj.Remark = "source:activity_verna";//悦纳上市活动
                //        break;
                //    default:
                //        userObj.Remark = "source:none";//无
                //        break;
                //}
                //提取生日信息、性别、年龄
                int Gender = -1;
                int Age    = -1;
                if (userObj.IdentityNumber != null && userObj.PaperWork == "1")
                {
                    if (userObj.IdentityNumber.Length == 15)
                    {
                        var str = userObj.IdentityNumber.Substring(6, 6);
                        userObj.Birthday = "19" + str.Remove(2) + "-" + str.Substring(2, 2) + "-" + str.Substring(4, 2);
                        Gender           = (Convert.ToInt32(userObj.IdentityNumber.Substring(14)) % 2 == 0 ? 2 : 1);
                        Age = DateTime.Now.Year - Convert.ToInt32("19" + userObj.IdentityNumber.Substring(6, 2));
                    }
                    if (userObj.IdentityNumber.Length == 18)
                    {
                        var str = userObj.IdentityNumber.Substring(6, 8);
                        userObj.Birthday = str.Remove(4) + "-" + str.Substring(4, 2) + "-" + str.Substring(6, 2);
                        Gender           = (Convert.ToInt32(userObj.IdentityNumber.Substring(16, 1)) % 2 == 0 ? 2 : 1);
                        Age = DateTime.Now.Year - Convert.ToInt32(userObj.IdentityNumber.Substring(6, 4));
                    }
                    DateTime birthDay   = DateTime.Now;
                    var      isBirthday = DateTime.TryParse(userObj.Birthday, out birthDay);
                    if (!isBirthday)
                    {
                        return(Json(new { code = 400, msg = "身份证填写错误" }));
                    }
                    userObj.Gender = Gender.ToString();
                    userObj.Age    = Age;
                }
                //一切正常,绑定用户
                userObj.MLevelBeginDate = userObj.AuthenticationTime;
                if (userObj.MLevel == 11 || userObj.MLevel == 12)
                {
                    userObj.MLevelInvalidDate = userObj.AuthenticationTime.AddYears(1);
                }
                //添加用户和证件类型的对应关系
                userStore.AddPaperworkToMembership_Schedule(userObj);
                //修改用户信息
                userStore.UpdateAsync(userObj);
                //判断交费级别
                //var integralType = (int)_AppContext.CarServiceUserApp.GetReIntegralTypeByIdentity(identityNumber);
                //if (integralType != -1)
                //{
                //    //authResult.Content = integralType;
                //    return Json(new { code = 200, msg = "绑定成功" });
                //}
                return(Json(new { code = 200, msg = "绑定成功" }));
            }
            else//无车
            {
                return(Json(new { code = 400, msg = "很抱歉,您的身份未绑定成功,请联系bluemembers在线客服" }));
            }
        }
Example #10
0
        public async Task <ActionResult> DoRegister_Vip(RegisterViewModel model)
        {
            try
            {
                //1、验证请求
                if (!ModelState.IsValid)
                {
                    foreach (ModelState state in ModelState.Values.Where(state => state.Errors.Count > 0))
                    {
                        return(Json(new { code = 400, msg = state.Errors[0].ErrorMessage }));
                    }
                    return(Json(new { code = 400, msg = "注册失败,参数错误" }));
                }

                var    birthday         = string.Empty;
                int    Gender           = -1;
                int    Age              = -1;
                string IdentityCardType = ((int)ECustomerIdentificationType.IdentityCard).ToString();
                //判断证件类型是否是身份证
                if (model.PaperWork == IdentityCardType)
                {
                    switch (model.IdentityNumber.Length)
                    {
                    case 15:
                        birthday = "19" + model.IdentityNumber.Substring(6, 2) + "-" + model.IdentityNumber.Substring(8, 2) + "-" + model.IdentityNumber.Substring(10, 2);
                        Gender   = (Convert.ToInt32(model.IdentityNumber.Substring(14)) % 2 == 0 ? 2 : 1);
                        Age      = DateTime.Now.Year - Convert.ToInt32("19" + model.IdentityNumber.Substring(6, 2));
                        break;

                    case 18:
                        birthday = model.IdentityNumber.Substring(6, 4) + "-" + model.IdentityNumber.Substring(10, 2) + "-" + model.IdentityNumber.Substring(12, 2);
                        Gender   = (Convert.ToInt32(model.IdentityNumber.Substring(16, 1)) % 2 == 0 ? 2 : 1);
                        Age      = DateTime.Now.Year - Convert.ToInt32(model.IdentityNumber.Substring(6, 4));
                        break;

                    default:
                        return(Json(new { code = 402, msg = "请正确输入证件号码" }));
                    }
                    DateTime time;
                    if (!DateTime.TryParse(birthday, out time))
                    {
                        return(Json(new { code = 402, msg = "请正确输入证件号码" }));
                    }
                    if (time < DateTime.Parse("1900-01-10"))
                    {
                        return(Json(new { code = 402, msg = "请正确输入证件号码" }));
                    }
                }

                //第一:确认验证码
                var validateCode = string.Empty;

                if (Session["ValidateCode"] != null)
                {
                    validateCode = Session["ValidateCode"].ToString();
                }

                if (!validateCode.Equals(model.ImgCaptcha))
                {
                    return(Json(new { code = 402, url = "/Account/LogonPage", msg = "图片验证码输入有误" }));
                    //return RedirectToAction("LogonPage", "Account", new { returnUrl = returnUrl });
                }
                ////2、验证手机验证码
                ReturnResult _captchaResult = _AppContext.UserSecurityApp.ValidateMobileVerifyCode(model.Mobile, model.Captcha);
                if (!_captchaResult.IsSuccess)
                {
                    return(Json(new { code = 401, msg = "短信验证码错误或已过期,请重新获取" }));
                }
                int userLevel = (int)MemshipLevel.OneStar;
                //根据身份证号,查询车辆信息,确定会员级别
                if (!string.IsNullOrEmpty(model.IdentityNumber))
                {
                    userLevel = GetUserLevel(model.IdentityNumber);
                }

                //判断用户级别
                //3、获取注册信息
                var user = new ApplicationUser
                {
                    No                 = _AppContext.MemberNumberApp.GetNumber("1"),//会员卡号
                    PhoneNumber        = model.Mobile,
                    UserName           = model.Mobile,
                    NickName           = CommonUtilitys.GetNikeName(),
                    IdentityNumber     = model.IdentityNumber,
                    MLevel             = userLevel,
                    MType              = (int)model.MType,
                    SystemMType        = (int)MembershipType.WhitoutCar,
                    ActiveWay          = (int)MembershipActiveWay.ClientWeb,
                    CreatedPerson      = string.IsNullOrEmpty(model.Source) ? "blms_wap" : model.Source,
                    MLevelBeginDate    = DateTime.Parse(DateTime.Now.ToShortDateString()),
                    MLevelInvalidDate  = DateTime.Parse(DateTime.Now.ToShortDateString()).AddYears(1),
                    PaperWork          = model.PaperWork,
                    Mid                = model.IdentityNumber,
                    AuthenticationTime = Convert.ToDateTime("1900-01-01"),
                    Age                = Age,
                    Gender             = Gender.ToString()
                };
                string _activedealerId = model.ActivedealerId;

                //4、检验身份证号
                Task <FrontIdentityUser> cusObj = null;
                if (!string.IsNullOrEmpty(model.IdentityNumber))
                {
                    cusObj = new FrontUserStore <FrontIdentityUser>().FindByIdentityNumber(model.IdentityNumber);
                    if (cusObj != null && cusObj.Result != null)
                    {
                        return(Json(new { code = 402, msg = "您输入的证件号已被注册" }));
                    }
                }
                //5、注册用户,如果用户存在则更新该用户信息
                IdentityResult result = null;
                //if (string.IsNullOrEmpty(model.VIN))
                if (!string.IsNullOrEmpty(birthday))
                {
                    user.Birthday = birthday;
                }
                if (!(cusObj != null && cusObj.Result != null))
                {
                    result = await UserManager.CreateAsync(user, model.Password);
                }
                int IsHasCar = 0;
                //6、注册完成跳转
                if (result != null && result.Succeeded)
                {
                    // 1)检索是否有车
                    var gradeUser = UserManager.FindByName(model.Mobile);
                    var carList   = _AppContext.CarServiceUserApp.SelectCarListByIdentity(model.IdentityNumber);

                    // 正式环境取消注释
                    if (carList.Count() > 0)
                    {
                        gradeUser.SystemMType = (int)MembershipType.WhitCar;
                        IsHasCar = 1;
                        gradeUser.AuthenticationTime   = DateTime.Now;
                        gradeUser.AuthenticationSource = "blms_wap";
                        gradeUser.Age    = Age;
                        gradeUser.Gender = Gender.ToString();
                    }
                    gradeUser.Age    = Age;
                    gradeUser.Gender = Gender.ToString();
                    UserManager.Update(gradeUser);

                    try
                    {
                        //模拟登陆
                        await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);
                    }
                    catch (Exception ex)
                    {
                        Vcyber.BLMS.Common.LogService.Instance.Debug("注册成功模拟登陆异常", ex);
                    }
                    // 5)发送短信

                    //6判断车型交费返积分
                    // var returnIntegralType= (int) GetCarTypeByIdentity(model.IdentityNumber);

                    var returnIntegralType = (int)_AppContext.CarServiceUserApp.GetReIntegralTypeByIdentity(model.IdentityNumber);

                    if (gradeUser.SystemMType == 2 && returnIntegralType != -1)
                    {
                        var amount = "";
                        if (returnIntegralType == 0)
                        {
                            amount = "400";
                        }
                        else if (returnIntegralType == 1)
                        {
                            amount = "700";
                        }
                        else if (returnIntegralType == 2)
                        {
                            amount = "200";
                        }
                        else
                        {
                            amount = "400";
                        }
                        _AppContext.SMSApp.SendSMS(ESmsType.提交注册_匹配到车辆, model.Mobile, new string[] { amount });
                    }
                    else
                    {
                        _AppContext.SMSApp.SendSMS(ESmsType.注册成功, model.Mobile, new string[] { "" });
                    }
                    //判断用户是否是企业用户
                    bool flag = _AppContext.DealerMembershipApp.IsPersonalUser(model.IdentityNumber);
                    if (!flag)
                    {
                        returnIntegralType = -1;
                    }
                    return(Json(new { code = 200, msg = "注册成功", ReIntegralType = returnIntegralType, Mtype = gradeUser.MType, HasCar = IsHasCar }));
                }
                AddErrors(result);
                var errorMsg = result.Errors.FirstOrDefault();
                if (errorMsg != null && errorMsg.StartsWith("Passwords"))
                {
                    errorMsg = "密码必须为8位以上数字和大小写字母组合";
                }
                if (errorMsg != null && errorMsg.StartsWith("Name"))
                {
                    errorMsg = "您的手机号已经注册过";
                }

                // 如果我们进行到这一步时某个地方出错,则重新显示表单
                return(Json(new { code = 400, msg = string.Format("{0}", errorMsg) }));
            }
            catch (Exception ex)
            {
                return(Json(new { code = 400, msg = string.Format("{0}", ex.Message) }));
            }
        }
Example #11
0
        public async Task <ActionResult> DoLoginByPhone(LoginViewModel model)
        {
            try
            {
                int isFirst = 0;

                if (!string.IsNullOrEmpty(model.Captcha))
                {
                    //第一:确认验证码
                    var validateCode = string.Empty;

                    if (Session["ValidateCode"] != null)
                    {
                        validateCode = Session["ValidateCode"].ToString();
                    }

                    if (!validateCode.Equals(model.Captcha))
                    {
                        return(Json(new { code = 400, url = "/Account/LogonPage", msg = "图片验证码输入有误" }));
                    }
                }
                ReturnResult _captchaResult = _AppContext.UserSecurityApp.ValidateMobileVerifyCode(model.UserName, model.SMSCaptcha);
                if (!_captchaResult.IsSuccess)
                {
                    return(Json(new { code = 400, msg = "短信验证码错误或已过期,请重新获取" }));
                }

                //手机号是注册用直接登陆,否则注册新用户登陆
                ApplicationUser applicationUser;
                if (this.LoginFactory(model, out applicationUser, 2))
                {
                    if (applicationUser != null)
                    {
                        if (applicationUser.IsNeedModifyPw == 1)
                        {
                            return(Json(new { code = 300, msg = " 帐户存在风险, 请先重置密码" }));
                        }
                    }
                    _AppContext.LoginMemRecordApp.Add(applicationUser.Id, applicationUser.NickName, EDataSource.blms_wap);
                    await SignInManager.SignInAsync(applicationUser, model.RememberMe, rememberBrowser : false);

                    //BBSUtil.CheckAndCreateDefaultBBSMember(applicationUser); //new

                    var returnIntegralType = (int)_AppContext.CarServiceUserApp.GetReIntegralTypeByIdentity(applicationUser.IdentityNumber);
                    if (_AppContext.LoginMemRecordApp.IsReMemberShipRequest(applicationUser.Id) && returnIntegralType != -1 && applicationUser.IsPay != 2)
                    {
                        return(Json(new { code = 200, msg = "登录成功", isrequest = 1, returnIntegralType = returnIntegralType, identityNumber = applicationUser.IdentityNumber }));
                    }
                    else
                    {
                        return(Json(new { code = 200, msg = "登录成功", isrequest = 0 }));
                    }
                }
                else //手机号未注册 ,注册并登陆
                {
                    isFirst = 1;
                    var store             = new FrontUserStore <FrontIdentityUser>();
                    var membershipManager = new UserManager <FrontIdentityUser>(store);
                    if (store.CheckUserNameIsExist(model.UserName))
                    {
                        return(Json(new { code = 400, success = false, msg = "系统中已存在此手机号" }));
                    }

                    IdentityResult CreateResult       = null;
                    var            membershipIdentity = new FrontIdentityUser
                    {
                        No                 = _AppContext.MemberNumberApp.GetNumber("1"), //会员卡号
                        NickName           = CommonUtilitys.GetNikeName(),
                        UserName           = model.UserName,                             // model.UserName,
                        PhoneNumber        = model.UserName,
                        Password           = "******" + model.UserName.Substring(model.UserName.Length - 6, 6),
                        Status             = (int)MembershipStatus.Nomal,
                        CreateTime         = DateTime.Now.ToLongTimeString(),
                        CreatedPerson      = "blms_wap",
                        MType              = (int)MembershipType.WhitoutCar,         //非车主
                        MLevel             = (int)MemshipLevel.OneStar,              //级别
                        IsPay              = (int)MembershipPayStatus.NotPay,        //经销商新增的会员均为已缴纳100付费
                        ApprovalStatus     = (int)MembershipApprovalStatus.Activing, //激活中
                        ActiveWay          = (int)MembershipActiveWay.ClientWeb,
                        IsNeedModifyPw     = (int)MembershipNeedModifyPw.No,
                        MLevelBeginDate    = DateTime.Parse(DateTime.Now.ToShortDateString()),
                        MLevelInvalidDate  = DateTime.Parse(DateTime.Now.ToShortDateString()).AddYears(1),
                        AuthenticationTime = DateTime.Parse("1900-01-01")
                    };
                    CreateResult = membershipManager.Create(membershipIdentity, membershipIdentity.Password);
                    // var user = store.FindByNameAsync(model.UserName).Result;
                    if (CreateResult != null && !CreateResult.Succeeded)
                    {
                        var message = "";
                        foreach (var error in CreateResult.Errors)
                        {
                            message += error;
                        }
                        ModelState.AddModelError("", message);
                        return(Json(new { success = false, msg = message }));
                    }

                    this.LoginFactory(model, out applicationUser, 2);
                    _AppContext.LoginMemRecordApp.Add(applicationUser.Id, applicationUser.NickName, EDataSource.blms_wap);
                    await SignInManager.SignInAsync(applicationUser, model.RememberMe, rememberBrowser : false);

                    //BBSUtil.CheckAndCreateDefaultBBSMember(applicationUser); //new

                    _AppContext.UserMessageRecordApp.InsertLoginChangePasswordMessage(applicationUser.Id);
                    return(Json(new { code = 200, msg = "登录成功", first = isFirst }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { code = 400, msg = ex.Message }));
            }
        }