// 开始统计 public override OpRes doStat(object param, GMUser user) { IMongoQuery imqTime = null; string time = (string)param; if (!string.IsNullOrEmpty(time)) { DateTime mint = DateTime.Now, maxt = DateTime.Now; bool res = Tool.splitTimeStr(time, ref mint, ref maxt); if (!res) { return(OpRes.op_res_time_format_error); } m_result.reset(); IMongoQuery imq1 = Query.LT("create_time", BsonValue.Create(maxt)); IMongoQuery imq2 = Query.GTE("create_time", BsonValue.Create(mint)); imqTime = Query.And(imq1, imq2); } m_result.reset(); MapReduceResult map_result = DBMgr.getInstance().executeMapReduce(TableName.PLAYER_INFO, user.getDbServerID(), DbName.DB_PLAYER, imqTime, MapReduceTable.getMap("vipLevel"), MapReduceTable.getReduce("vipLevel")); if (map_result != null) { IEnumerable <BsonDocument> bson = map_result.GetResults(); foreach (BsonDocument d in bson) { try { BsonValue resValue = d["value"]; int count = resValue["count"].ToInt32(); int vip = Convert.ToInt32(d["_id"]); m_result.addVipLevel(vip, count); } catch (System.Exception ex) { } } } return(OpRes.opres_success); }
// 开始统计 public override OpRes doStat(object param, GMUser user) { m_result.reset(); MapReduceResult map_result = DBMgr.getInstance().executeMapReduce(TableName.PLAYER_INFO, user.getDbServerID(), DbName.DB_PLAYER, null, MapReduceTable.getMap("vipLevel"), MapReduceTable.getReduce("vipLevel")); if (map_result != null) { IEnumerable <BsonDocument> bson = map_result.GetResults(); foreach (BsonDocument d in bson) { try { BsonValue resValue = d["value"]; int count = resValue["count"].ToInt32(); int vip = Convert.ToInt32(d["_id"]); m_result.addVipLevel(vip, count); } catch (System.Exception ex) { } } } return(OpRes.opres_success); }