Beispiel #1
0
        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();
        }
Beispiel #5
0
        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();
        }
Beispiel #7
0
        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();
        }
Beispiel #8
0
        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();
        }
Beispiel #10
0
        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();
        }
Beispiel #11
0
        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;
        }