protected void onQuery(object sender, EventArgs e) { GMUser user = (GMUser)Session["user"]; ParamIncomeExpenses param = new ParamIncomeExpenses(); param.m_time = m_time.Text; param.m_playerGainDb = Convert.ToInt32(m_player.SelectedValue); param.m_property = Convert.ToInt32(m_property.SelectedValue); TablePlayerIncomeExpenses view = new TablePlayerIncomeExpenses(); OpRes res = user.doStat(param, StatType.statTypePlayerIncomeExpenses); view.genTable(user, m_result, res, param); }
bool isSame(ParamIncomeExpenses p, GMUser user) { if (p.m_time != m_lastParam.m_time) { return(false); } if (user.getDbServerID() != m_lastParam.m_dbId) { return(false); } if (p.m_playerGainDb != m_lastParam.m_playerGainDb) { return(false); } return(true); }
public override OpRes makeQuery(object param, GMUser user, QueryCondition queryCond) { ParamIncomeExpenses p = (ParamIncomeExpenses)param; if (string.IsNullOrEmpty(p.m_time)) { return(OpRes.op_res_time_format_error); } DateTime mint = DateTime.Now, maxt = DateTime.Now; bool res = Tool.splitTimeStr(p.m_time, ref mint, ref maxt); if (!res) { return(OpRes.op_res_time_format_error); } if (queryCond.isExport()) { queryCond.addCond("time", p.m_time); } else { IMongoQuery imq1 = Query.LT("genTime", BsonValue.Create(maxt)); IMongoQuery imq2 = Query.GTE("genTime", BsonValue.Create(mint)); queryCond.addImq(Query.And(imq1, imq2)); if (p.m_playerGainDb == 1) { queryCond.addImq(Query.EQ("isDropDb", true)); } else if (p.m_playerGainDb == 2) { queryCond.addImq(Query.EQ("isDropDb", false)); } } return(OpRes.opres_success); }
// 开始统计 public override OpRes doStat(object param, GMUser user) { m_result.Clear(); m_cond.startQuery(); OpRes res = makeQuery(param, user, m_cond); if (res != OpRes.opres_success) { return(res); } ParamIncomeExpenses p = (ParamIncomeExpenses)param; if (isSame(p, user)) { return(query(p, null, user)); } else { m_lastParam.assign(p, user.getDbServerID()); } IMongoQuery imqTime = m_cond.getImq(); MapReduceResult map_result = DBMgr.getInstance().executeMapReduce(TableName.STAT_INCOME_EXPENSES, user.getDbServerID(), DbName.DB_PUMP, imqTime, MapReduceTable.getMap("playerIncomeExpenses"), MapReduceTable.getReduce("playerIncomeExpenses"), MapTable); if (map_result != null) { return(query(p, null, user)); } return(OpRes.opres_success); }
public void assign(ParamIncomeExpenses p, int dbid) { m_dbId = dbid; m_playerGainDb = p.m_playerGainDb; m_time = p.m_time; }