示例#1
0
        public ApiResult UserFindPwdBAT([FromBody] UserFindPwdBATDto request)
        {
            ApiResult msgResult;

            #region 短信验证码和手机号相关验证
            var userService = new BLL.User.Implements.UserService();
            var userInfo    = userService.GetUserInfoByMobile(request.Mobile, EnumUserType.User);
            if (userInfo == null)
            {
                msgResult = new ApiResult()
                {
                    Status = EnumApiStatus.BizError, Msg = "对不起此手机号未注册"
                };
                return(msgResult);
            }
            #endregion

            #region 修改密码操作
            if (userService.ResetPassword(userInfo.UserID, request.Password))
            {
                msgResult = new ApiResult {
                    Status = EnumApiStatus.BizOK, Msg = "密码设置成功"
                };
                return(msgResult);
            }
            else
            {
                msgResult = new ApiResult {
                    Status = EnumApiStatus.BizError, Msg = "密码设置失败"
                };
                return(msgResult);
            }

            #endregion
        }
示例#2
0
        public ApiResult Exist(string Account, string AccountType = "Mobile")
        {
            var bll = new BLL.User.Implements.UserService();
            Response <List <UserDTO> > list = null;

            if (AccountType == "Mobile")
            {
                list = bll.GetPageList <UserDTO>(1, 1, i => i.Mobile == Account && !i.IsDeleted);
            }
            if (AccountType == "UserAccount")
            {
                list = bll.GetPageList <UserDTO>(1, 1, i => i.UserAccount == Account && !i.IsDeleted);
            }

            UserDTO model = null;

            //敏感数据不返回
            if (list.Data != null && list.Data.Count() > 0)
            {
                model             = list.Data[0];
                model.Password    = null;
                model.PayPassword = null;
                return(model.ToApiResultForObject());
            }

            return(EnumApiStatus.BizError.ToApiResultForApiStatus("该用户不存在"));
        }
示例#3
0
        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());
            }
        }
示例#4
0
        public ApiResult UserFindPwdPre([FromBody] UserFindPwdPreDto request)
        {
            #region 短信验证码和手机号相关验证
            ApiResult msgResult;
            var       userService = new BLL.User.Implements.UserService();
            var       userInfo    = userService.GetUserInfoByMobile(request.Mobile, request.UserType);
            if (userInfo == null)
            {
                msgResult = new ApiResult()
                {
                    Status = EnumApiStatus.BizError, Msg = "对不起此手机号未注册"
                };
                return(msgResult);
            }
            if (!serviceMsgLog.CheckVerifyCode(request.Mobile, request.MsgType.ToString(), request.MsgVerifyCode))
            {
                msgResult = new ApiResult()
                {
                    Status = EnumApiStatus.BizError, Msg = "对不起此短信验证码不存在或已经过期"
                };
                return(msgResult);
            }

            string uid = StringEncrypt.Encrypt(userInfo.UserID);
            uid       = HttpUtility.UrlEncode(uid);
            msgResult = new ApiResult {
                Status = 0, Msg = "", Data = uid
            };
            return(msgResult);

            #endregion
        }
示例#5
0
        public ApiResult ChangePassword([FromBody] RequestUserChangePasswordDTO request)
        {
            userService    = new BLL.User.Implements.UserService();
            request.UserID = CurrentOperatorUserID;
            ApiResult msgResult = userService.ChangePassword(request);

            return(msgResult);
        }
示例#6
0
        /// <summary>
        /// 更新用户信息
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ApiResult UpdateUserInfo([FromBody] UserDTO model)
        {
            userService  = new BLL.User.Implements.UserService();
            model.UserID = CurrentOperatorUserID;
            if (userService.UpdateUserInfo(model))
            {
                var GetUserIDByMobile_CacheKey = new XuHos.Common.Cache.Keys.EntityCacheKey <ResponseUserDTO>(StringCacheKeyType.User, model.UserID);
                GetUserIDByMobile_CacheKey.RemoveCache();
                return(true.ToApiResultForBoolean());
            }

            return(EnumApiStatus.BizError.ToApiResultForApiStatus());
        }
示例#7
0
        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
        }
示例#8
0
        public ApiResult Login([FromBody] RequestUserLoginDTO model)
        {
            if (model != null)
            {
                var userService = new BLL.User.Implements.UserService();
                var appToken    = CurrentOperatorApp;
                model.AppID = appToken.AppId;

                return(userService.Login(model));
            }
            else
            {
                return(EnumApiStatus.BizError.ToApiResultForApiStatus());
            }
        }
示例#9
0
        public ApiResult UserFindPwdNext([FromBody] UserFindPwdNextDto request)
        {
            #region 相关验证
            ApiResult msgResult;
            if (string.IsNullOrEmpty(request.Id))
            {
                msgResult = new ApiResult()
                {
                    Status = EnumApiStatus.BizError, Msg = "对不起此手机号未注册"
                };
                return(msgResult);
            }
            else
            {
                userService = new BLL.User.Implements.UserService();
                request.Id  = StringEncrypt.Decrypt(request.Id);
                var userInfo = userService.GetUserInfoByUserId(request.Id);
                if (userInfo != null)
                {
                    if (userService.ResetPassword(userInfo.UserID, request.Password))
                    {
                        msgResult = new ApiResult {
                            Status = EnumApiStatus.BizOK, Msg = "密码设置成功"
                        };
                        return(msgResult);
                    }
                    else
                    {
                        msgResult = new ApiResult {
                            Status = EnumApiStatus.BizError, Msg = "密码设置失败"
                        };
                        return(msgResult);
                    }
                }
                else
                {
                    msgResult = new ApiResult {
                        Status = EnumApiStatus.BizError, Msg = "对不起此用户不存在"
                    };
                    return(msgResult);
                }
            }
            return(msgResult);

            #endregion
        }
示例#10
0
        public ApiResult UserFindPwd([FromBody] UserFindPwdDto request)
        {
            ApiResult msgResult;

            #region 短信验证码和手机号相关验证

            var userService = new BLL.User.Implements.UserService();
            var userInfo    = userService.GetUserInfoByMobile(request.Mobile, request.UserType);

            if (userInfo == null)
            {
                msgResult = new ApiResult()
                {
                    Status = EnumApiStatus.BizError, Msg = "对不起此手机号未注册"
                };
                return(msgResult);
            }
            if (!serviceMsgLog.CheckVerifyCode(request.Mobile, request.MsgType.ToString(), request.MsgVerifyCode))
            {
                msgResult = new ApiResult()
                {
                    Status = EnumApiStatus.BizError, Msg = "对不起此短信验证码不存在或已经过期"
                };
                return(msgResult);
            }
            #endregion

            #region 修改密码操作
            if (userService.ResetPassword(userInfo.UserID, request.Password))
            {
                msgResult = new ApiResult {
                    Status = EnumApiStatus.BizOK, Msg = "密码设置成功"
                };
                return(msgResult);
            }
            else
            {
                msgResult = new ApiResult {
                    Status = EnumApiStatus.BizError, Msg = "密码设置失败"
                };
                return(msgResult);
            }
            #endregion
        }
示例#11
0
        public void Execute(IJobExecutionContext context)
        {
            if (typeof(SYNC_UpdateLoginInfo).Name.Lock(DateTime.Now.AddSeconds(5)))
            {
                try
                {
                    KMEHosp.BLL.User.Implements.UserService uaser = new BLL.User.Implements.UserService();

                    uaser.DoUpdateLoginInfo();
                }
                catch (Exception E)
                {
                    KMEHosp.Common.LogHelper.WriteError(E);
                }
                finally
                {
                    typeof(SYNC_UpdateLoginInfo).Name.UnLock();
                }
            }
        }
示例#12
0
        public ApiResult GetDoctorInfo()
        {
            var userId    = CurrentOperatorUserID;
            var userBll   = new BLL.User.Implements.UserService();
            var doctorBll = new BLL.Doctor.Implements.DoctorService();

            var u = userBll.GetUserInfoByUserId(userId);
            var d = doctorBll.GetDoctorInfoByUserID(userId);

            if (u != null && d != null)
            {
                var model = new DTO.ResponseDoctorPersonalInfoDTO
                {
                    Intro        = d.Intro,
                    PhotoUrl     = u.PhotoUrl,
                    Specialty    = d.Specialty,
                    DiseaseLabel = d.DiseaseLabel
                };
                return(model.ToApiResultForObject());
            }
            return(EnumApiStatus.BizError.ToApiResultForApiStatus());
        }
示例#13
0
 public ApiResult GetUserInfo()
 {
     userService = new BLL.User.Implements.UserService();
     return(userService.GetUserInfoByUserId(CurrentOperatorUserID).ToApiResultForObject());
 }
示例#14
0
 public UsersController()
 {
     userService   = new UserService();
     serviceMsgLog = new BLL.Sys.Implements.SysShortMessageService();
 }
示例#15
0
        public ApiResult SendSmsCode([FromBody] RequestMsgCodeMobileDto request)
        {
            var appToken            = CurrentOperatorApp;
            var userService         = new BLL.User.Implements.UserService();
            var shortMessageService = new SysShortMessageService();

            #region 校验:图像验证码
            if (!string.IsNullOrEmpty(request.VerifyCode))
            {
                if (!userService.CheckVerifyCode(request.VerifyCode, appToken.Token))
                {
                    return(EnumApiStatus.BizError.ToApiResultForApiStatus("验证码过期或不正确"));
                }
            }
            #endregion

            #region  校验:用户注册短信 对不起此手机号已经注册
            if (request.TemplateID == "1")
            {
                var userInfo = userService.GetUserInfoByMobile(request.Mobile, request.userType);
                if (userInfo != null)
                {
                    return(EnumApiStatus.BizError.ToApiResultForApiStatus("对不起此手机号已经注册"));
                }
            }
            #endregion

            #region 校验: 找回密码短信 对不起此手机号尚未注册
            if (request.TemplateID == "2")
            {
                var userInfo = userService.GetUserInfoByMobile(request.Mobile, request.userType);
                if (userInfo == null)
                {
                    return(EnumApiStatus.BizError.ToApiResultForApiStatus("对不起此手机号尚未注册"));
                }
            }
            #endregion

            #region 校验:绑定手机号码短信 对不起此手机号已经注册
            if (request.TemplateID == "4")
            {
                var res = userService.ExistsMobile(request.Mobile);
                if (res == true)
                {
                    return(EnumApiStatus.BizError.ToApiResultForApiStatus("对不起此手机号已经注册"));
                }
            }
            #endregion

            #region 默认值:机构编号
            if (string.IsNullOrEmpty(request.OrgID))
            {
                request.OrgID = appToken.OrgID;
            }
            #endregion


            //获取模板
            var template = shortMessageService.GetTemplate(request.TemplateID);
            if (template == null)
            {
                return(EnumApiStatus.BizError.ToApiResultForApiStatus($"短信模板不存在 TemplateID={request.TemplateID}"));
            }
            var outMinute  = 30;
            var codeNum    = new Random().Next(100000, 999999);
            var msgContent = string.Format(template.TemplateContent, codeNum, outMinute);
            //var msgParms = string.Format("{0},{1}", codeNum, outMinute);
            var msgParms = new List <string>();
            msgParms.Add(codeNum.ToString());
            msgParms.Add(outMinute.ToString());

            var evt = new RequestSendSMSDTO()
            {
                MsgParms   = msgParms,
                Content    = msgContent,
                TemplateID = template.TemplateID,
                Mobile     = request.Mobile,
                Title      = codeNum.ToString(),
                OutTime    = DateTime.Now.AddMinutes(outMinute),
            };


            var result = shortMessageService.SendMsg(evt);
            if (result.Status != EnumApiStatus.BizOK)
            {
                return(EnumApiStatus.BizError.ToApiResultForApiStatus(result.Msg));
            }

            return(EnumApiStatus.BizOK.ToApiResultForApiStatus("验证码发送成功"));
        }