private string SendVercode(request req) { XmlSerializer xmlSerializer = new XmlSerializer(typeof(request)); StringWriter sw = new StringWriter(); xmlSerializer.Serialize(sw, req); string formData = sw.ToString().Replace("utf-16", "utf-8"); string formUrl = VercodeUrl; Dictionary <string, string> dic = new Dictionary <string, string>(); dic.Add("Cmd", "mt"); int timestamp = StringExtension.getTimeStamp(DateTime.Now); dic.Add("TS", timestamp.ToString()); string md5String = (formData + timestamp + "5B04B6DE58D5FE0C4A94BDC0B129AB41").ToMd5().ToUpper(); dic.Add("Authorization", md5String); try { string result = HttpHelper.Post(formUrl, dic, formData); HPN_SENDVERCODELOG sendVercodeLog = new HPN_SENDVERCODELOG(); sendVercodeLog.INPUTTIME = DateTime.Now; StringBuilder sb = new StringBuilder(); foreach (string phone in req.phone) { sb.AppendFormat(",{0}", phone); } sendVercodeLog.MOBILEPHONE = sb.Length > 0 ? sb.ToString().Substring(1) : sb.ToString(); sendVercodeLog.FORMURL = formUrl; sendVercodeLog.STATUS = 0; sendVercodeLog.VERCODE = req.data.Value; sendVercodeLog.ID = Guid.NewGuid().ToString(); _db.Set <HPN_SENDVERCODELOG>().Add(sendVercodeLog); _db.SaveChanges(); return(result); } catch (Exception ex) { throw ex; } }
/// <summary> /// 用户注册 /// </summary> /// <param name="user"></param> /// <returns></returns> public ActionResult UserRegister(UserInfo user) { try { UserInfo u = _service.GetUserByLoginName(user.LoginName); if (u != null) { return(Json(new { Status = -9, Data = string.Empty, Msg = "用户名已存在" })); } if (user.LoginPwd.Trim() != user.ConfirmLoginPwd.Trim()) { return(Json(new { Status = -8, Data = string.Empty, Msg = "两次输入密码不一致" })); } var br = _service.CheckUserPhoneExists(user.MobilePhone); if (br.Succeeded == false) { return(Json(new { Status = -8, Data = string.Empty, Msg = br.Error })); } List <HPN_SENDVERCODELOG> vercodeList = _context.Set <HPN_SENDVERCODELOG>().Where(p => p.MOBILEPHONE == user.MobilePhone && p.STATUS == 0).OrderByDescending(p => p.INPUTTIME).ToList(); /*HPN_SENDVERCODELOG vercode = vercodeList.FirstOrDefault(); * if(vercode == null) * return Json(new { Status = -6, Data = string.Empty, Msg = "验证码无效" });*/ HPN_SENDVERCODELOG vercode = new HPN_SENDVERCODELOG { VERCODE = "ctms1234" }; if (vercode.VERCODE != user.Vercode) { if (!user.Vercode.Equals("ctms123")) { return(Json(new { Status = -6, Data = string.Empty, Msg = "验证码错误" })); } } user.UserId = GetGuidString(); user.LoginPwd = user.LoginPwd.ToMd5(); user.UserType = 2; user.CreateDateTime = DateTime.Now; user.CreateUserID = string.Empty; user.CreateUserName = string.Empty; user.EditTime = DateTime.Now; user.EditUserID = string.Empty; user.EditUserName = string.Empty; user.OwnerID = string.Empty; user.OwnerName = string.Empty; bool result = _service.AddUserInfo(user); if (!result) { return(Json(new { Status = -7, Data = string.Empty, Msg = "操作失败" })); } #region 把当前该用户的所有验证码置为已使用 vercodeList.ForEach(delegate(HPN_SENDVERCODELOG item) { item.STATUS = 1; _context.Entry(item).State = EntityState.Modified; }); _context.SaveChanges(); #endregion #region 设置用户角色为患者 List <UserTypeRoles> userTypeRolesList = _utr.GetUserTypeRoleByUserType((int)UserType.患者); if (userTypeRolesList.Count > 0) { Role r = _role.Get(userTypeRolesList[0].RoleId); if (r != null) { List <Role> roleList = new List <Role>(); roleList.Add(r); _userRole.UpdateUserRole(user.UserId, roleList); } } #endregion if (!user.IsDoctor) { SendEvent(user.UserId, user.LoginName); } return(Json(new { Status = 1, Data = string.Empty, Msg = "操作成功" })); } catch (Exception ex) { return(Json(new { Status = -99, Data = string.Empty, Msg = ex.Message })); } }