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 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 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(); }
// [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 CreateRecommendFromProject(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, PrjectAvatar = @event.PrjectAvatar, FinStage = @event.FinStage, RecommendTime = @event.CreateTime, CreatedTime = @event.CreateTime, Introduction = @event.Introduction, RecommendType = EnumRecommendType.Friend, FromUserAvatar = fromUser.Avatar, FromUserName = fromUser.Name, UserId = contact.UserId }; _dbContext.Recommends.Add(recommend); } await _dbContext.SaveChangesAsync(); }
public async Task Handle(ProjectCreatedIntegrationEvent @event) { //1.获取用户信息 var user = await _userService.GetBaseUserInfoAsync(@event.FromUserId); //2.获取好友列表 var contacts = await _contactService.GetContactsAsync(@event.FromUserId); foreach (var item in contacts) { var projectRecommend = new ProjectRecommend { ProjectId = @event.ProjectId, ProjectAvatar = @event.Avatar, Company = @event.Company, Introduction = @event.Introduction, FinStage = @event.FinStage, RecommendTime = DateTime.Now, RecommendType = EnumRecommendType.Friend, FromUserId = @event.FromUserId, CreatedTime = DateTime.Now, Tags = @event.Tags, FromUserName = user.Name, UserId = item.UserId }; _recommendContext.Add(projectRecommend); } await _recommendContext.SaveChangesAsync(); }
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 Task CreateRecommendFromProject(ProjectCreatedIntegrationEvent @event) { var recommend = new ProjectRecommend() { UserId = @event.UserId, ProjectId = @event.ProjectId }; return(Task.CompletedTask); }
public async Task CreateRecommendProject(ProjectCreateIntergrationEvent @event) { //Rpc获取创建项目的基本信息 //var baseUserInfo = await _userService.GetBaseUserInfoAsync(@event.UserId); //Rpc获取项目创建者的好友 //var contacts= _contactService.GetContact(@event.UserId); //循环遍历添加项目推荐 var recommend = new ProjectRecommend() { FromUserId = @event.UserId, FromUserName = "******", FromUserAvatar = "yanh", ProjectAvatar = "test", ProjectId = @event.ProjectId }; _context.ProjectRecommends.Add(recommend); _context.SaveChanges(); }
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 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; }