Esempio n. 1
0
        /// <summary>
        /// 忘记密码
        /// </summary>
        /// <param name="code"></param>
        public void ForgetPassword(string code)
        {
            var user = Broker.Retrieve <user_info>("SELECT * FROM user_info WHERE code = @mail OR mailbox = @mail", new Dictionary <string, object>()
            {
                { "@mail", code }
            });

            AssertUtil.CheckNull <SpException>(user, "用户不存在", "5E507D9C-47BC-4586-880D-D9E42D02FEA4");
            UserIdentityUtil.SetCurrentUser(MapperHelper.Map <CurrentUserModel>(user));
            var id  = Guid.NewGuid().ToString();
            var sms = new mail_vertification()
            {
                Id           = id,
                name         = "重置密码",
                content      = $@"你好,<br/><br/>
请在两小时内点击该<a href=""{ SystemConfig.Config.Protocol }://{SystemConfig.Config.Domain}/api/MailVertification/ResetPassword?id={id}"">链接</a>重置密码
",
                expire_time  = DateTime.Now.AddHours(2),
                is_active    = false,
                mail_address = user.mailbox,
                mail_type    = MailType.ResetPassword.ToString()
            };

            Broker.Create(sms);
        }
Esempio n. 2
0
        /// <summary>
        /// 是否需要填充信息
        /// </summary>
        /// <returns></returns>
        public bool InfoFilled()
        {
            var user = Broker.Retrieve <user_info>(UserIdentityUtil.GetCurrentUserId());

            AssertUtil.CheckNull <SpException>(user, "未查询到用户", "BE999374-F0CF-4274-8D9D-1E436FBA6935");
            if (user.Id == UserIdentityUtil.ADMIN_ID)
            {
                return(false);
            }
            return(!user.gender.HasValue || AssertUtil.CheckEmpty(user.mailbox, user.cellphone, user.realname));
        }
Esempio n. 3
0
        /// <summary>
        /// 更新用户信息
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="broker"></param>
        private void UpdateAuthInfo(BaseEntity entity, IPersistBroker broker)
        {
            var sql      = @"
SELECT * FROM auth_user
WHERE user_infoid = @id
";
            var authInfo = broker.Retrieve <auth_user>(sql, new Dictionary <string, object>()
            {
                { "@id", entity["user_infoId"]?.ToString() }
            });

            AssertUtil.CheckNull <SpException>(authInfo, "用户Id不能为空", "C37CCF94-6B27-4BF4-AF29-DBEDC9E53E5D");
            authInfo.name       = entity["name"]?.ToString();
            authInfo.roleid     = entity["roleid"]?.ToString();
            authInfo.roleidName = entity["roleidName"]?.ToString();
            new AuthUserService(broker).UpdateData(authInfo);
        }