Exemplo n.º 1
0
        public void Exit(string nodeId)
        {
            var message = new CreateMessageInput
            {
                ApplicationName = "NULL",
                Name            = Core.Entities.Message.ExitMessageName,
                NodeId          = nodeId,
                TaskId          = 0
            };

            Logger.Information($"Exit node: {nodeId}.");
            _messageAppService.Create(message);
        }
Exemplo n.º 2
0
        public void Create(CreateMessageInput input)
        {
            if (input == null)
            {
                Logger.LogError($"{nameof(input)} should not be null.");
                return;
            }
            var message = Mapper.Map <Core.Entities.Message>(input);

            DbContext.Message.Add(message);
            DbContext.SaveChanges();
            Logger.LogWarning($"Crate message {JsonConvert.SerializeObject(input)} success.");
        }
Exemplo n.º 3
0
        public async Task <BlogResponse> CreateAsync(CreateMessageInput input)
        {
            var response = new BlogResponse();

            await _messages.InsertAsync(new Message
            {
                Name    = input.Name,
                Content = input.Content,
                Avatar  = input.Avatar,
                UserId  = input.UserId
            });

            return(response);
        }
Exemplo n.º 4
0
        public async Task <ActionResult> SendMessage(int userId, string message)
        {
            var currentUserInfo = await _userService.Get(new EntityDto <long>(_AbpSession.GetUserId()));

            CreateMessageInput input = new CreateMessageInput
            {
                Content    = message,
                RecieverId = userId,
                SenderId   = currentUserInfo.Id
            };

            await _messageService.Create(input);

            AppointmentHub.Static_Message(userId, currentUserInfo.FullName, message);

            return(Json(new AjaxResponse {
                Success = true
            }));
        }
Exemplo n.º 5
0
        /// <summary>
        /// 结束节点(作用??)
        /// </summary>
        /// <param name="nodeId"></param>
        public void Exit(string nodeId)
        {
            var node = DbContext.Node.FirstOrDefault(n => n.NodeId == nodeId);

            if (node != null)
            {
                var message = new CreateMessageInput
                {
                    ApplicationName = "NULL",
                    Name            = Core.Entities.Message.ExitMessageName,
                    NodeId          = nodeId,
                    TaskId          = string.Empty
                };
                Logger.Information($"Exit node: {nodeId}.");
                _messageAppService.Create(message);
            }
            else
            {
                throw new DotnetSpiderHubException("Node unfound.");
            }
        }
Exemplo n.º 6
0
		public static void ExitTask(INodeAppService nodeAppService, IMessageAppService messageAppService, Core.Entities.Task task, ILogger logger = null)
		{
			var runningNodes = nodeAppService.GetAllOnline();

			var messages = new List<CreateMessageInput>();
			foreach (var status in runningNodes)
			{
				var msg = new CreateMessageInput
				{
					ApplicationName = "NULL",
					TaskId = task.Id,
					Name = Core.Entities.Message.CanleMessageName,
					NodeId = status.NodeId
				};
				logger?.Warning($"Add CANCLE message: {JsonConvert.SerializeObject(msg)}.");
				messages.Add(msg);
			}
			messageAppService.Create(messages);

			task.IsRunning = false;
			task.NodeRunningCount = 0;
		}
Exemplo n.º 7
0
        private string PushTask(Core.Entities.Task task)
        {
            var nodes = _nodeAppService.GetAvailable(task.Os, task.NodeType, task.NodeCount);

            if (nodes.Count == 0)
            {
                // TODO LOG
                return(null);
            }

            var identity = Guid.NewGuid().ToString("N");
            var messages = new List <CreateMessageInput>();

            foreach (var node in nodes)
            {
                var arguments = string.Concat(task.Arguments, task.IsSingle ? " --tid:" : " ", task.Id, task.IsSingle ? " -i:" : " ", identity);
                var msg       = new CreateMessageInput
                {
                    TaskId          = task.Id,
                    ApplicationName = task.ApplicationName,
                    Name            = Core.Entities.Message.RunMessageName,
                    NodeId          = node.NodeId,
                    Package         = task.Package,
                    Arguments       = arguments
                };
                messages.Add(msg);
            }
            _messageAppService.Create(messages);

            var taskHistory = new AddTaskHistoryInput
            {
                Identity = identity,
                NodeIds  = string.Join("|", nodes.Select(a => a.NodeId)),
                TaskId   = task.Id
            };

            _taskHistoryAppService.Add(taskHistory);
            return(identity);
        }
Exemplo n.º 8
0
        /// <summary>
        /// 添加信息
        /// ================================
        /// 业主通知:选择具体业主然后添加信息
        /// 1. 记录CommunityId, BuildingId, FlatNoId, HomeOwerId
        /// 2. IsPublic = false
        /// 3. IsRead = false
        /// ================================
        /// 公告:选择单元楼然后添加信息
        /// 1. 记录CommunityId, BuildingId
        /// 2. FlatNoId, HomeOwerId为Null
        /// 3. IsPublic = true
        /// 4. IsRead = null
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task CreateMessage(CreateMessageInput input)
        {
            #region 公告
            if (input.BuildingIds != null)
            {
                foreach (long buildingId in input.BuildingIds)
                {
                    var building = await _buildingManager.BuildingRepository.GetAsync(buildingId);

                    if (building != null)
                    {
                        var entity = new Message(CurrentUnitOfWork.GetTenantId(), input.Title, input.Content, input.FileArray, EMessageStatusTypeUtils.GetValue(input.Status), building.CommunityId, buildingId);
                        await _manager.CreateAsync(entity);
                    }
                }
            }
            #endregion

            #region 消息
            if (input.BuildingIds != null)
            {
                foreach (var homeOwerDto in input.HomeOwerIds)
                {
                    var community = await _communityManager.CommunityRepository.GetAsync(homeOwerDto.CommunityId);

                    var building = await _buildingManager.BuildingRepository.GetAsync(homeOwerDto.BuildingId);

                    var flatNo = await _flatNoManager.FlatNumberRepository.GetAsync(homeOwerDto.FlatNoId);

                    if (community != null && building != null && flatNo != null)
                    {
                        var entity = new Message(CurrentUnitOfWork.GetTenantId(), input.Title, input.Content, input.FileArray, EMessageStatusTypeUtils.GetValue(input.Status), homeOwerDto.CommunityId, homeOwerDto.BuildingId, homeOwerDto.FlatNoId, homeOwerDto.HomeOwerId, community.Name, building.BuildingName, flatNo.FlatNo);
                        await _manager.CreateAsync(entity);
                    }
                }
            }
            #endregion
        }