/// <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); }
/// <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)); }
/// <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); }