public async Task CreateRecommendServiceFromProject(ProjectCreatedIntegrationEvent @event) { var fromUser = await _userService.GetBaseUserInfoAsync(@event.UserId); var contacts = await _contactService.GetContactsByUserId(@event.UserId); foreach (var item in contacts) { var recommend = new ProjectRecommend { FromUserId = @event.UserId, Company = @event.Company, Tags = @event.Tags, ProjectId = @event.ProjectId, ProjectAvatar = @event.ProjectAvatar, FinancingStage = @event.FinancingStage, RecommendedTime = DateTime.Now, CreatedTime = @event.CreatedTime, Introduction = @event.Introduction, RecommendType = 1, FromUserAvatar = fromUser.Avatar, FromUserName = fromUser.Name, UserId = item.UserId }; await _recommendContext.ProjectRecommends.AddAsync(recommend); } await _recommendContext.SaveChangesAsync(); }
public async Task CreatedRecommendFromProject(ProjectCreatedIntegrationEvent @event) { var fromUser = await _userService.GetBaseUserInfoAsync(@event.UserId); 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, CreatedTime = @event.CreateTime, Introduction = @event.Introduction, RecommendType = EnumRecommendType.Friend, FromUserAvatar = fromUser.Avatar, FromUserName = fromUser.Name, UserId = contact.UserId, }; _context.ProjectRecommends.Add(recommend); } _context.SaveChanges(); }
// [CapSubscribe ("finbook.projectapi.projectJoined")] // [CapSubscribe ("finbook.projectapi.projectviewed")] public async Task CreateRecommendFromProject(ProjectCreatedIntegrationEvent @events) { //获取用户服务,获取创建项目的用户信息 var fromUser = await userService.GetBaseUserInfoAsync(@events.UserId); //获取联系人服务的用户通讯录信息 var contacs = await contactService.GetContactsByUserId(@events.UserId); //遍历通讯录发布创建项目通知 foreach (var contact in contacs) { //项目的推送消息 var recommend = new ProjectRecommend { FromUserId = @events.UserId, Company = @events.Company, Tags = @events.Tags, ProjectId = @events.ProjectId, ProjectAvatar = @events.ProjectAvatar, FinStage = @events.FinStage, RecommendTime = DateTime.Now, CreateTime = @events.CreatedTime, Introduction = @events.Introduction, RecommendType = EnumRecommendType.Friend, FromUserAvatar = fromUser.Avatar, FromUserName = fromUser.Name, UserId = contact.UserId }; dbContext.Recommends.Add(recommend); } await dbContext.SaveChangesAsync(); }
public async Task <bool> CreateRecommendFromProject(ProjectCreatedIntegrationEvent @event) { var fromUserInfo = await _userService.GetUserInfoAsync(@event.UserId); var contactsInfo = await _contactService.GetContactInfoByUser(@event.UserId); //添加一度好友的推荐 foreach (var contactInfo in contactsInfo) { var recommend = new ProjectRecommend { CreateTime = @event.CreateTime, ProjectAvatar = @event.Avatar, ProjectCompany = @event.Company, ProjectFinStage = @event.FinStage, ProjectId = @event.ProjectId, ProjectIntroduction = @event.Introduction, ProjectTags = @event.Tags, RecommendTime = DateTime.Now, RecommendType = EnumRecommendType.Friend, FromUserId = @event.UserId, FromUserAvatar = fromUserInfo.Avatar, FromUserName = fromUserInfo.Name, UserId = contactInfo.UserId }; await _context.ProjectRecommends.AddAsync(recommend); } await _context.SaveChangesAsync(); return(true); }
public Task Handle(ProjectCreatedEvent notification, CancellationToken cancellationToken) { var @event = new ProjectCreatedIntegrationEvent { ProjectId = notification.Project.Id, UserId = notification.Project.UserId, CreatedTime = DateTime.Now }; _capPublisher.Publish("findbook.projectapi.projectcreated ", @event); return(Task.CompletedTask); }
public async Task Handle(ProjecCreatedtEvent notification, CancellationToken cancellationToken) { var @event = new ProjectCreatedIntegrationEvent { ProjectId = notification.Project.Id, UserId = notification.Project.UserId, CreatedTime = notification.Project.CreatedTime }; await _capPublisher.PublishAsync("project.api.create.project", @event, cancellationToken : cancellationToken); }
public Task CreateRecommendFromProject(ProjectCreatedIntegrationEvent @event) { var recommend = new ProjectRecommend() { UserId = @event.UserId, ProjectId = @event.ProjectId }; return(Task.CompletedTask); }
public Task Handle(ProjectCreatedEvent notification, CancellationToken cancellationToken) { var @event = new ProjectCreatedIntegrationEvent() { UserId = notification.UserId, CreatedTime = DateTime.Now, ProjectId = notification.Id }; _capPublisher.Publish("cap.test.queue", @event); return(Task.CompletedTask); }
public async Task Handle(ProjectCreatedEvent notification, CancellationToken cancellationToken) { var @event = new ProjectCreatedIntegrationEvent { ProjectId = notification.Project.Id, CreatedTime = DateTime.Now, UserId = notification.Project.UserId, Company = notification.Project.Company, FinancingStage = notification.Project.FinancingStage, Introduction = notification.Project.Introduction, ProjectAvatar = notification.Project.Avatar, Tags = notification.Project.Tags }; await _capPublisher.PublishAsync("projectApi.project_created", @event); }
/// <summary> /// 将领域事件转成集成事件 /// </summary> /// <param name="notification"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task Handle(ProjectCreatedDomainEvent notification, CancellationToken cancellationToken) { var integrationEvent = new ProjectCreatedIntegrationEvent() { ProjectId = notification.Project.Id, Company = notification.Project.Company, Avatar = notification.Project.Avatar, FromUserId = notification.Project.UserId, Introduction = notification.Project.Introduction, FinStage = notification.Project.FinStage, Tags = notification.Project.Tags, }; await _projectIntegrationEventService.PublishThroughEventBusAsync(integrationEvent); }
public async Task Handle(ProjectCreatedEvent notification, CancellationToken cancellationToken) { var projectCreatedIntegrationEvent = new ProjectCreatedIntegrationEvent() { ProjectId = notification.Project.Id, Company = notification.Project.Company, Finstage = notification.Project.FinStage, Introduction = notification.Project.Introduction, ProjectAvatar = notification.Project.Avator, Tags = notification.Project.Tags, CreateTime = DateTime.Now, UserId = notification.Project.UserId }; await _capPublisher.PublishAsync("pomelobutter.projectCreate", projectCreatedIntegrationEvent); }
/// <summary> /// CAP发送事件到EventBus /// </summary> /// <param name="notification">领域事件</param> /// <param name="cancellationToken"></param> /// <returns></returns> public Task Handle(ProjectCreatedEvent notification, CancellationToken cancellationToken) { var @event = new ProjectCreatedIntegrationEvent { ProjectId = notification.Project.Id, Company = notification.Project.Company, FinStage = notification.Project.FinStage, Tags = notification.Project.Tags, Introduction = notification.Project.Introduction, ProjectAvatar = notification.Project.Avatar, CreatedTime = DateTime.Now, UserId = notification.Project.UserId }; capPublisher.Publish("finbook.projectapi.projectcreated", @event); return(Task.CompletedTask); }
public async Task Handle(ProjectCreatedEvent notification, CancellationToken cancellationToken) { var @event = new ProjectCreatedIntegrationEvent { UserId = notification.Project.UserId, ProjectId = notification.Project.Id, Avatar = notification.Project.Avatar, Company = notification.Project.Company, FinStage = notification.Project.FinStage, Introduction = notification.Project.Introduction, Tags = notification.Project.Tags, CreateTime = DateTime.Now }; await _capPublisher.PublishAsync("zsq.onlinePrject.projectapi.projectcreated", @event); return; }
public async Task CreatRecommendFromProject(ProjectCreatedIntegrationEvent @event) { var fromUser = await _userService.GetBaseUserInfoAsync(@event.UserId); var recommend = new ProjectRecommend() { Company = @event.Company, CreateTime = @event.CreateTime, ProjectId = @event.ProjectId, Introduction = @event.Introduction, RecommendTime = DateTime.Now, RecommendType = EnumRecommendType.Friend, UserId = @event.UserId, FromUserAvatar = fromUser.Avatar, FromUserName = fromUser.Name }; _context.ProjectRecommends.Add(recommend); _context.SaveChanges(); }
public void CreateRecommendFromProject(ProjectCreatedIntegrationEvent @event) { Console.WriteLine($"ProjectId:{@event.ProjectId},UserId:{@event.UserId}"); }