Beispiel #1
0
        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);
        }
Beispiel #2
0
    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);
    }
Beispiel #3
0
    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);
    }
Beispiel #4
0
    // 开始统计
    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);
    }
Beispiel #5
0
 public void assign(ParamIncomeExpenses p, int dbid)
 {
     m_dbId         = dbid;
     m_playerGainDb = p.m_playerGainDb;
     m_time         = p.m_time;
 }