Пример #1
0
    Dictionary <int, IncomeExInfo> calStartRemain(IMongoQuery imq)
    {
        Dictionary <int, IncomeExInfo> ret = new Dictionary <int, IncomeExInfo>();

        MapReduceResult mapResult = MongodbLog.Instance.executeMapReduce(TableName.PUMP_PLAYER_MONEY,
                                                                         imq,
                                                                         MapReduceTable.getMap("iteratorPlayer"),
                                                                         MapReduceTable.getReduce("iteratorPlayer"));

        if (mapResult != null)
        {
            IEnumerable <BsonDocument> bson = mapResult.GetResults();
            foreach (BsonDocument d in bson)
            {
                int playerId = Convert.ToInt32(d["_id"]);

                sr(playerId, 1, imq, ret);
                sr(playerId, 2, imq, ret);
                sr(playerId, 11, imq, ret);
                sr(playerId, 14, imq, ret);
            }

            IncomeExInfo info = new IncomeExInfo();
            info.m_start = bson.Count();
            ret[-1]      = info;
        }

        return(ret);
    }
Пример #2
0
    void sr(int playerId, int itemId, IMongoQuery imq, Dictionary <int, IncomeExInfo> ret)
    {
        int          delta = 0;
        IncomeExInfo info  = null;

        if (ret.ContainsKey(itemId))
        {
            info = ret[itemId];
        }
        else
        {
            info = new IncomeExInfo();
            ret.Add(itemId, info);
        }

        if (itemId == 1)
        {
            info.m_start += getGoldStartVal(imq, playerId);
            info.m_end   += geGoldtLastVal(imq, playerId);
        }
        else
        {
            info.m_start += getStartValNew(imq, itemId, playerId);
            info.m_end   += getLastValNew(imq, itemId, playerId, ref delta);
        }
    }
Пример #3
0
    void addDataRemain(StatIncomeExpensesItemBase item, DateTime time, Dictionary <int, IncomeExInfo> incomeInfo)
    {
        IMongoQuery imq = Query.EQ("genTime", BsonValue.Create(time));

        Dictionary <string, object> data = new Dictionary <string, object>();

        data.Add("goldRemain", item.m_goldRemain);
        data.Add("gemRemain", item.m_gemRemain);
        data.Add("dbRemain", item.m_dbRemain);
        data.Add("chipRemain", item.m_chipRemain);

        IncomeExInfo info = incomeInfo[1];

        data.Add("dayGoldStart", info.m_start);
        data.Add("dayGoldRemain", info.m_end);

        info = incomeInfo[2];
        data.Add("dayGemStart", info.m_start);
        data.Add("dayGemRemain", info.m_end);

        info = incomeInfo[11];
        data.Add("dayChipStart", info.m_start);
        data.Add("dayChipRemain", info.m_end);

        info = incomeInfo[14];
        data.Add("dayDbStart", info.m_start);
        data.Add("dayDbRemain", info.m_end);

        info = incomeInfo[-1];
        data.Add("dayPlayerCount", info.m_start);

        MongodbLog.Instance.ExecuteUpdateByQuery(TableName.STAT_INCOME_EXPENSES_REMAIN, imq, data);
    }