示例#1
0
        protected sealed override Dictionary <string, Action <BasicDeliverEventArgs> > GetPaths()
        {
            var paths = new Dictionary <string, Action <BasicDeliverEventArgs> > {
                [MqKeyword.UserAddedRoutingKey] = ea => {
                    string loginName = UserMqBodyUtil.GetLoginNameMqReceiveBody(ea.Body);
                    string appId     = ea.BasicProperties.AppId;
                    VirtualRoot.RaiseEvent(new UserAddedMqEvent(appId, loginName, ea.GetTimestamp()));
                },
                [MqKeyword.UserUpdatedRoutingKey] = ea => {
                    string loginName = UserMqBodyUtil.GetLoginNameMqReceiveBody(ea.Body);
                    string appId     = ea.BasicProperties.AppId;
                    VirtualRoot.RaiseEvent(new UserUpdatedMqEvent(appId, loginName, ea.GetTimestamp()));
                },
                [MqKeyword.UserRemovedRoutingKey] = ea => {
                    string loginName = UserMqBodyUtil.GetLoginNameMqReceiveBody(ea.Body);
                    string appId     = ea.BasicProperties.AppId;
                    VirtualRoot.RaiseEvent(new UserRemovedMqEvent(appId, loginName, ea.GetTimestamp()));
                },
                [MqKeyword.UserEnabledRoutingKey] = ea => {
                    string loginName = UserMqBodyUtil.GetLoginNameMqReceiveBody(ea.Body);
                    string appId     = ea.BasicProperties.AppId;
                    VirtualRoot.RaiseEvent(new UserEnabledMqEvent(appId, loginName, ea.GetTimestamp()));
                },
                [MqKeyword.UserDisabledRoutingKey] = ea => {
                    string loginName = UserMqBodyUtil.GetLoginNameMqReceiveBody(ea.Body);
                    string appId     = ea.BasicProperties.AppId;
                    VirtualRoot.RaiseEvent(new UserDisabledMqEvent(appId, loginName, ea.GetTimestamp()));
                },
                [MqKeyword.UserPasswordChangedRoutingKey] = ea => {
                    string loginName = UserMqBodyUtil.GetLoginNameMqReceiveBody(ea.Body);
                    string appId     = ea.BasicProperties.AppId;
                    VirtualRoot.RaiseEvent(new UserPasswordChangedMqEvent(appId, loginName, ea.GetTimestamp()));
                },
                // 该事件通常不会发生,因为用户注册的时候已经生成了RSA公私钥对了,RSA非空时不会更新
                [MqKeyword.UserRSAKeyUpdatedRoutingKey] = ea => {
                    string loginName = UserMqBodyUtil.GetLoginNameMqReceiveBody(ea.Body);
                    string appId     = ea.BasicProperties.AppId;
                    VirtualRoot.RaiseEvent(new UserRSAKeyUpdatedMqEvent(appId, loginName, ea.GetTimestamp()));
                }
            };
            var dic = DoGetPaths();

            if (dic != null)
            {
                foreach (var kv in dic)
                {
                    paths[kv.Key] = kv.Value;
                }
            }
            return(paths);
        }
示例#2
0
        public override bool Go(BasicDeliverEventArgs ea)
        {
            bool baseR = DoGo(ea);
            bool r     = true;

            switch (ea.RoutingKey)
            {
            case MqKeyword.UserAddedRoutingKey: {
                string   loginName = UserMqBodyUtil.GetLoginNameMqReceiveBody(ea.Body);
                DateTime timestamp = Timestamp.FromTimestamp(ea.BasicProperties.Timestamp.UnixTime);
                string   appId     = ea.BasicProperties.AppId;
                VirtualRoot.RaiseEvent(new UserAddedMqMessage(appId, loginName, timestamp));
            }
            break;

            case MqKeyword.UserUpdatedRoutingKey: {
                string   loginName = UserMqBodyUtil.GetLoginNameMqReceiveBody(ea.Body);
                DateTime timestamp = Timestamp.FromTimestamp(ea.BasicProperties.Timestamp.UnixTime);
                string   appId     = ea.BasicProperties.AppId;
                VirtualRoot.RaiseEvent(new UserUpdatedMqMessage(appId, loginName, timestamp));
            }
            break;

            case MqKeyword.UserRemovedRoutingKey: {
                string   loginName = UserMqBodyUtil.GetLoginNameMqReceiveBody(ea.Body);
                DateTime timestamp = Timestamp.FromTimestamp(ea.BasicProperties.Timestamp.UnixTime);
                string   appId     = ea.BasicProperties.AppId;
                VirtualRoot.RaiseEvent(new UserRemovedMqMessage(appId, loginName, timestamp));
            }
            break;

            case MqKeyword.UserEnabledRoutingKey: {
                string   loginName = UserMqBodyUtil.GetLoginNameMqReceiveBody(ea.Body);
                DateTime timestamp = Timestamp.FromTimestamp(ea.BasicProperties.Timestamp.UnixTime);
                string   appId     = ea.BasicProperties.AppId;
                VirtualRoot.RaiseEvent(new UserEnabledMqMessage(appId, loginName, timestamp));
            }
            break;

            case MqKeyword.UserDisabledRoutingKey: {
                string   loginName = UserMqBodyUtil.GetLoginNameMqReceiveBody(ea.Body);
                DateTime timestamp = Timestamp.FromTimestamp(ea.BasicProperties.Timestamp.UnixTime);
                string   appId     = ea.BasicProperties.AppId;
                VirtualRoot.RaiseEvent(new UserDisabledMqMessage(appId, loginName, timestamp));
            }
            break;

            case MqKeyword.UserPasswordChangedRoutingKey: {
                string   loginName = UserMqBodyUtil.GetLoginNameMqReceiveBody(ea.Body);
                DateTime timestamp = Timestamp.FromTimestamp(ea.BasicProperties.Timestamp.UnixTime);
                string   appId     = ea.BasicProperties.AppId;
                VirtualRoot.RaiseEvent(new UserPasswordChangedMqMessage(appId, loginName, timestamp));
            }
            break;

            case MqKeyword.UserRSAKeyUpdatedRoutingKey: {
                string   loginName = UserMqBodyUtil.GetLoginNameMqReceiveBody(ea.Body);
                DateTime timestamp = Timestamp.FromTimestamp(ea.BasicProperties.Timestamp.UnixTime);
                string   appId     = ea.BasicProperties.AppId;
                VirtualRoot.RaiseEvent(new UserRSAKeyUpdatedMqMessage(appId, loginName, timestamp));
            }
            break;

            default:
                r = false;
                break;
            }
            return(baseR || r);
        }