public async Task Process(ProjectCreatedIntergrationEvent @event) { var info = await _userService.GetBaseUserInfoAsync(@event.UserId); var contacts = await _contactService.GetContactListByUserIdAsync(@event.UserId); if (info != null && contacts.Any()) { foreach (var contact in contacts) { var projectRecommand = new ProjectReCommand() { FromUserId = @event.UserId, Company = @event.Company, ProjectId = @event.ProjectId, Introduction = @event.Introduction, FromUserAvator = info.Avatar, EnumReCommandType = EnumReCommandType.Friend, FromUserName = info.Name, CreateTime = @event.CreationDate, ReCommandTime = DateTime.Now, UserId = contact.UserId }; await _dbContext.ProjectReCommands.AddAsync(projectRecommand); } await _dbContext.SaveChangesAsync(); } }
public async Task CreateRecommendFromProject(ProjectCreatedIntergrationEvent @event) { var fromUser = await _userService.GetBaseUserInfoAsync(@event.UserId, CancellationToken.None); var contacts = await _contactService.GetContactsByUserId(@event.UserId); foreach (var contact in contacts) { var recommend = new ProjectRecommend() { FromUserId = @event.UserId, Company = @event.Company, Tags = @event.Tags, ProjectId = @event.ProjectId, ProjectAvatar = @event.ProjectAvatar, FinStage = @event.FinStage, RecommendTime = DateTime.Now, CreateTime = @event.CreateTime, Introduction = @event.Introduction, RecommednType = EnumRecommendType.Friend, FromUserAvatar = fromUser.Avatar, FromUserName = fromUser.Name, UserId = contact.UserId, }; _context.ProjectRecommends.Add(recommend); } _logger.LogTrace($"finbook.projectapi.projectcreated 接收成功!"); _context.SaveChanges(); }
public async Task CreateRecommendFromProjectAsync(ProjectCreatedIntergrationEvent @event) { //调用UserApi 服务,获取项目创建人信息 var userinfo = await _userService.GetBaseUserInfoAsync(@event.UserId); //调用ContactApi 获取项目创建者的 好友信息 var friendIds = await _contactService.GetContactsByUserIdAsync(@event.UserId); foreach (var item in friendIds) { var recommend = new ProjectRecommend { FromUserId = @event.UserId, Company = @event.Company, Tags = @event.Tags, ProjectId = @event.ProjectId, FinStage = @event.FinStage, ProjectAvatar = @event.ProjectAvatar, CreatedTime = @event.CreatedTime, Introducation = @event.Introducation, RecommendType = EnumRecommendType.Friend, RecommendTime = DateTime.Now, FromUserAvatar = userinfo.Avatar, FromUserName = userinfo.Name, UserId = item.UserId }; _dbContext.ProjectRecommends.Add(recommend); } await _dbContext.SaveChangesAsync(); }
public async Task Handle(ProjectCreatedEvent notification, CancellationToken cancellationToken) { var @event = new ProjectCreatedIntergrationEvent() { Company = notification.Project.Company, ProjectId = notification.Project.Id, UserId = notification.Project.UserId, Introduction = notification.Project.Introduction }; await _capPublisher.PublishAsync("projectapi.projectcreated", @event); }
public Task Handle(ProjectCreatedEvent notification, CancellationToken cancellationToken) { var @event = new ProjectCreatedIntergrationEvent { CreateTime = DateTime.Now, Company = notification.Project.Company, FinStage = notification.Project.FinStage, Introduction = notification.Project.Introduction, ProjectAvatar = notification.Project.Avatar, Tags = notification.Project.Tags, ProjectId = notification.Project.Id, UserId = notification.Project.UserId }; _capPublisher.Publish("finbook.projectapi.projectcreated", @event); return(Task.CompletedTask); }
public async Task CreateRecommendFromProject(ProjectCreatedIntergrationEvent @event) { try { //获取fromuser 信息 使用consul 服务发现 找到User 服务地址,获取用户基本信息 var fromUser = await _userService.GetBaseUserInfoAsync(@event.UserId); if (fromUser == null) { //TBD 记录没有获取到指定userId的用户信息 } //使用通讯录查找所有好友,给这些好友添加 推荐记录 var contacts = await _contactService.GetContactsByUserId(@event.UserId); foreach (var contact in contacts) { //通过 Event传入项目的用户id,及项目其他基本信息 ProjectRecommend recommend = new ProjectRecommend { Company = @event.Company, FinStage = @event.Company, Tags = @event.Tags, RecommendTime = DateTime.Now, CreateTime = @event.CreateTime, FromUserId = @event.UserId, Introduction = @event.Introduction, ProjectAvatar = @event.ProjectAvatar, ProjectId = @event.ProjectId, FromUserAvatar = fromUser.Avatar, FromUserName = fromUser.Name, RecommednType = EnumRecommendType.Friend, UserId = contact.UserId }; _context.ProjectRecommends.Add(recommend); } _context.SaveChanges(); } catch (Exception ex) { } // Task.CompletedTask; }
public async Task CreateRecommendFromProject(ProjectCreatedIntergrationEvent @event) { await Task.CompletedTask; }