public void Vistor(QuqueName topicName, MqCommandInfo commandInfo) { try { if (commandInfo.MessageType != NMSMessageType.SyncByTableName || string.IsNullOrEmpty(commandInfo.Body)) { return; } var content = JsonUtils.Deserialize <SyncTableContent>(commandInfo.Body); if (content == null || !content.HasData) { _logger.Error(string.Format("内容解析无效 StoreId: {0} Body:{1}", commandInfo.StoreId, commandInfo.Body)); return; } //TODO 上报数据插入数据库 InsertOrUpdate(content); } catch (Exception ex) { //错误处理,缓存到本地文件中 _cacheManager.AddOnlyFileCache(Guid.NewGuid(), commandInfo); _logger.Error(ex, "Vistor"); } }
public void Vistor(TopicName topicName, MqCommandInfo commandInfo) { if (topicName != TopicName.PushMessage && commandInfo.MessageType != NMSMessageType.AutoUpdateInfo) { return; } var data = JsonUtils.Deserialize <MqAutoUpdateInfo>(commandInfo.Body); if (data == null) { _logger.Error("自动更新数据包无效 Body:" + commandInfo.Body); return; } if (data.AppType != AppType.MqListener) { _logger.Error("自动更新AppType无效:" + data.AppType.ToString() + " Body:" + commandInfo.Body); return; } var clientId = ProcessLockHelper.GetProcessLockId(); if (!string.Equals(clientId, data.AppId, StringComparison.OrdinalIgnoreCase)) { _logger.Error("自动更新数据包客户ID不匹配" + data.AppId + " Body:" + commandInfo.Body); return; } AutoUpdaterInfo info = AutoUpdaterInfo.Current; UpdateListener(info, data); }
public void Vistor(QuqueName queueName, MqCommandInfo commandInfo) { if (queueName != QuqueName.ClientHeart && commandInfo.MessageType != NMSMessageType.Heart && !commandInfo.Properties.ContainsKey(MqConsts.MqDevice)) { return; } var deviceType = commandInfo.Properties[MqConsts.MqDevice]; LoggerFactory.GetLog().Error(string.Format("{0}设备心跳包处理", deviceType)); }
public void Vistor(QuqueName queueName, MqCommandInfo commandInfo) { if (queueName != QuqueName.BusinessProcessing && commandInfo.MessageType != NMSMessageType.None && !commandInfo.Properties.ContainsKey(MqConsts.MqDevice)) { return; } var deviceType = TypeParse.StrToInt(commandInfo.Properties[MqConsts.MqAppType]); if (deviceType == 0) { //不是有效的app类型 return; } var data = JsonUtils.Deserialize <MqDeviceRegisterInfo>(commandInfo.Body); if (data == null) { return; } //App心跳 //_deviceAccess.Exists(string.Format("StoreId='{0}' AND ", commandInfo.StoreId)); }
public void Vistor(QuqueName queueName, MqCommandInfo commandInfo) { if (queueName != QuqueName.ClientHeart && commandInfo.MessageType != NMSMessageType.Heart && !commandInfo.Properties.ContainsKey(MqConsts.MqAppType)) { return; } var appType = Utils.GetEnum <AppType>(commandInfo.Properties[MqConsts.MqAppType]); if (appType == AppType.Empty) { //不是有效的app类型 return; } var data = JsonUtils.Deserialize <MqHeartbeatInfo>(commandInfo.Body); if (data == null) { return; } //App心跳 _listenerService.Heartbeat(commandInfo.StoreId, appType, data); }