public virtual async Task Verify(IEnumerable <int> ids) { var manager = Manager as NewMinerManager; var userManger = Resolve <UserManager>(); var roleManager = Resolve <RoleManager>(); var role = await roleManager.FindByNameAsync(StaticRoleNames.Tenants.Miner); var newMiners = await manager.GetListByIdsAsync(ids); foreach (var newMiner in newMiners) { var user = newMiner.MapTo <User>(); user.Id = 0; user.SetPropertyValue("NickName", newMiner.NickName); user.SetPropertyValue("Avata", newMiner.Avata); user.SetPropertyValue("WorkYear", newMiner.WorkYear); user.SetPropertyValue("Introduction", newMiner.Introduction); user.TenantId = AbpSession.TenantId; await userManger.InsertAndGetIdAsync(user); await userManger.SetRoles(user, new int[] { role.Id }); user.Logins = new List <UserLogin>() { new UserLogin(AbpSession.TenantId, user.Id, "Wechat", newMiner.OpenId) }; newMiner.Verified = true; await CurrentUnitOfWork.SaveChangesAsync(); await manager.DeleteAsync(newMiner); //发送邮件 var emailLog = new EmailLog() { Title = "您的账号已经审核通过", Content = $"您可以通过微信登录简法案例系统", ToEmail = user.Email }; var emailLogId = await Resolve <EmailLogManager>().InsertAndGetIdAsync(emailLog); var jobArg = new SendEmailJobArgs() { EmailLogId = emailLogId }; await Resolve <IBackgroundJobManager>().EnqueueAsync <SendEmailJob, SendEmailJobArgs>(jobArg); } }
public virtual async Task RemindUserPassword(User user, string password) { var emailLog = new EmailLog() { Title = "请及时修改您的简法案例系统密码", Content = $"您的登录名为{user.UserName},密码为{password},请及时登录系统更改", ToEmail = user.Email }; var emailLogId = await Resolve <EmailLogManager>().InsertAndGetIdAsync(emailLog); var jobArg = new SendEmailJobArgs() { EmailLogId = emailLogId }; await Resolve <IBackgroundJobManager>().EnqueueAsync <SendEmailJob, SendEmailJobArgs>(jobArg); }