public ApiResult AddUser([FromBody] RequestUserRegisterDTO model) { var userID = Guid.NewGuid().ToString("N"); var memberID = Guid.NewGuid().ToString("N"); var entity = new XuHos.Entity.User() { UserID = userID, Mobile = model.Mobile, Email = model.Email, Password = model.Password, UserType = model.UserType, }; if (string.IsNullOrEmpty(model.OrgID)) { model.OrgID = CurrentOperatorOrgID; } var Reason = ""; userService = new BLL.User.Implements.UserService(); var result = userService.RegisterUser(entity, out Reason, model.OrgID, memberID); //返回参数不要改 if (result) { return((userID + memberID).ToApiResultForObject()); } else { return("".ToApiResultForObject()); } }
public ApiResult UserRegister([FromBody] RequestUserRegisterDTO request) { #region 短信验证码是否正确 if (!serviceMsgLog.CheckVerifyCode(request.Mobile, "1", request.MsgVerifyCode)) { return(new ApiResult() { Status = EnumApiStatus.BizError, Msg = "对不起此短信验证码不存在或已经过期" }); } #endregion #region 参数校验 if (string.IsNullOrEmpty(request.OrgID)) { request.OrgID = CurrentOperatorOrgID; } #endregion #region 注册逻辑处理 XuHos.Entity.User model = new XuHos.Entity.User() { UserID = System.Guid.NewGuid().ToString("N"), Mobile = request.Mobile, Email = request.Email, Password = request.Password, UserType = request.UserType == EnumUserType.Default ? EnumUserType.User : request.UserType, }; var Reason = ""; userService = new BLL.User.Implements.UserService(); if (userService.RegisterUser(model, out Reason, request.OrgID)) { return(new ApiResult() { Status = EnumApiStatus.BizOK, Msg = Reason }); } else { return(new ApiResult() { Status = EnumApiStatus.BizError, Msg = Reason }); } #endregion }
/// <summary> /// 用户注册(新) /// </summary> /// <param name="model"></param> public bool RegisterUser(XuHos.Entity.User model, out string Reason, string openid = null, string appid = null) { Reason = "注册失败"; var password = model.Password; var result = true; try { #region 检查是否支持此类型的用户注册 if (model.UserType != EnumUserType.Doctor && model.UserType != EnumUserType.User && model.UserType != EnumUserType.SysAdmin) { Reason = "不支持的用户类型"; return(false); } #endregion using (DBEntities db = new DBEntities()) { #region 用户信息 if (string.IsNullOrEmpty(model.UserID)) { model.UserID = Guid.NewGuid().ToString("N"); } //密码 model.Password = StringEncrypt.EncryptWithMD5(model.Password); //用户状态 model.UserState = EnumUserState.Disabled; db.Users.Add(model); UserExtend userExtend = new UserExtend(); userExtend.UserID = model.UserID; userExtend.LastTime = DateTime.Now; db.UserExtends.Add(userExtend); if (!string.IsNullOrEmpty(openid)) { UserWechatMap userWechatMap = new UserWechatMap(); userWechatMap.UserID = model.UserID; userWechatMap.OpenID = openid; userWechatMap.AppID = appid; db.UserWechatMaps.Add(userWechatMap); } #endregion #region 家庭成员 UserMember userMember = null; if (model.UserType == EnumUserType.User) { userMember = new UserMember(); userMember.MemberID = Guid.NewGuid().ToString("N"); if (!string.IsNullOrEmpty(model.Mobile)) { userMember.Mobile = model.Mobile; } else { userMember.Mobile = ""; } userMember.UserID = model.UserID; userMember.IDType = EnumUserCardType.IDCard; userMember.Address = ""; userMember.Birthday = ""; userMember.Email = ""; userMember.Gender = EnumUserGender.Other; userMember.IsDefault = true; userMember.Marriage = EnumUserMaritalStatus.Other; userMember.MemberName = model.UserCNName; userMember.PostCode = ""; userMember.Relation = EnumUserRelation.MySelf; db.UserMembers.Add(userMember); } #endregion #region 用户标识 db.ConversationIMUids.Add(new ConversationIMUid() { Identifier = Convert.ToInt32(WaterNoService.GetWaterNo(EnumWaterNoType.Identify)), Enable = false, IsDeleted = false, CreateTime = DateTime.Now, UserID = model.UserID }); #endregion if (db.SaveChanges() >= 0) { #region 将注册消息写入队列,队列中发送短信和注册云通信 using (XuHos.EventBus.MQChannel mqChannel = new EventBus.MQChannel()) { mqChannel.Publish <EventBus.Events.UserRegisteredEvent>(new EventBus.Events.UserRegisteredEvent() { UserAccount = model.UserAccount, UserID = model.UserID, UserPassword = password, UserType = model.UserType, OrgCode = model.OrgCode, Mobile = model.Mobile, }); } #endregion result = true; Reason = "注册成功"; } else { Reason = "注册失败"; } } } catch (Exception ex) { Reason = "系统错误"; result = false; throw ex; } return(result); }