示例#1
0
        public void HandleEvent(CreateVoteEvent @event)
        {
            var mkey = string.Format(KEY_EVAL_MOTTO_FMT, @event.TheDay, @event.MID);

            if (@event.Vote == 1)
            {
                var entries = _redisHelper.HashGetAll(mkey);
                if (entries != null && entries.Length > 0)
                {
                    var motto = ConvertFromHashEntries(entries);
                    motto.Up   += 1;
                    motto.Score = Utils.Hot(motto.Up, motto.Down, motto.AddTime);

                    _redisHelper.HashSet(mkey, new HashEntry[] { new HashEntry(F_UP, motto.Up), new HashEntry(F_SCORE, motto.Score) });

                    _redisHelper.SortedSetAdd(string.Format(KEY_RANK_MOTTO_FMT, @event.TheDay),
                                              @event.MID.ToString(), motto.Score);
                }
            }
            else if (@event.Vote == -1)
            {
                var entries = _redisHelper.HashGetAll(mkey);
                if (entries != null && entries.Length > 0)
                {
                    var motto = ConvertFromHashEntries(entries);
                    motto.Down += 1;
                    motto.Score = Utils.Hot(motto.Up, motto.Down, motto.AddTime);

                    _redisHelper.HashSet(mkey, new HashEntry[] { new HashEntry(F_DOWN, motto.Down), new HashEntry(F_SCORE, motto.Score) });

                    _redisHelper.SortedSetAdd(string.Format(KEY_RANK_MOTTO_FMT, @event.TheDay),
                                              @event.MID.ToString(), motto.Score);
                }
            }
        }
示例#2
0
        public void HandleEvent(CreateVoteEvent @event)
        {
            var redis = _redisHelper.GetDatabase();

            redis.HashIncrement(string.Format(KEY_USER_INFO_FMT, @event.UID),
                                F_S_VOTES);

            redis.HashSet(string.Format(KEY_USER_ALL_VOTE_FMT, @event.UID),
                          @event.MID.ToString(), @event.Vote);

            //if (@event.Vote.Support == 1)
            //{
            //    redis.SetAdd(string.Format(KEY_USER_ALL_SUPPORT_MOTTOS_FMT, @event.Vote.UID),
            //        @event.Vote.MID);
            //}
            //else
            //{
            //    redis.SetAdd(string.Format(KEY_USER_ALL_OPPOSE_MOTTOS_FMT, @event.Vote.UID),
            //        @event.Vote.MID);
            //}
        }