public override string doQuery(object param)
    {
        ParamQueryWinLosePlayerList p = (ParamQueryWinLosePlayerList)param;
        bool cres = createGMUser(p);

        if (!cres)
        {
            return(Helper.genJsonStr(m_retData));
        }
        if (!p.checkSign(m_gmUser))
        {
            m_retData.Add("result", RetCode.RET_SIGN_ERROR);
            return(Helper.genJsonStr(m_retData));
        }

        string oriCmd = "";
        bool   code   = createQueryCmd(p, ref oriCmd);

        if (code)
        {
            List <Dictionary <string, object> > winLoseList = new List <Dictionary <string, object> >();
            calWinLose(oriCmd, winLoseList);

            m_retData.Add("result", RetCode.RET_SUCCESS);
            m_retData.Add("winLoseList", winLoseList);
            // 货币单位
            m_retData.Add("moneyBase", CONST.MONEY_BASE);
        }

        return(Helper.genJsonStr(m_retData));
    }
    bool createQueryCmd(ParamQueryWinLosePlayerList p, ref string sqlCmd)
    {
        DateTime startT, endT;

        if (!DateTime.TryParseExact(p.m_startTime, CONST.DATE_TIME_FORMAT_PART_DAY, CONST.DATE_PROVIDER, DateTimeStyles.None, out startT))
        {
            m_retData.Add("result", RetCode.RET_PARAM_NOT_VALID);
            return(false);
        }
        if (!DateTime.TryParseExact(p.m_endTime, CONST.DATE_TIME_FORMAT_PART_DAY, CONST.DATE_PROVIDER, DateTimeStyles.None, out endT))
        {
            m_retData.Add("result", RetCode.RET_PARAM_NOT_VALID);
            return(false);
        }

        sqlCmd = string.Format(WIN_LOSE_SEARCH_CMD,
                               TableName.PLAYER_WIN_LOSE,
                               startT.ToString(ConstDef.DATE_TIME24),
                               endT.ToString(ConstDef.DATE_TIME24));

        return(true);
    }
        protected void Page_Load(object sender, EventArgs e)
        {
            ParamQueryWinLosePlayerList param = new ParamQueryWinLosePlayerList();

            param.m_gmAccount = Request.QueryString["gmAcc"];
            param.m_gmPwd     = Request.QueryString["gmPwd"];
            param.m_startTime = Request.QueryString["startTime"];
            param.m_endTime   = Request.QueryString["endTime"];
            param.m_sign      = Request.QueryString["sign"];

            if (!param.isParamValid())
            {
                Dictionary <string, object> data = new Dictionary <string, object>();
                data.Add("result", RetCode.RET_PARAM_NOT_VALID);
                Response.Write(Helper.genJsonStr(data));
                return;
            }

            QueryWinLosePlayerListAPI query = new QueryWinLosePlayerListAPI();
            string retStr = query.doQuery(param);

            Response.Write(retStr);
        }