Esempio n. 1
0
        //获取金币排行榜,前50
        protected void GetScoreRank(HttpContext context)
        {
            StringBuilder msg       = new StringBuilder( );
            int           pageIndex = GameRequest.GetInt("pageindex", 1);
            int           pageSize  = GameRequest.GetInt("pagesize", 10);
            int           userID    = GameRequest.GetInt("UserID", 0);

            if (pageIndex <= 0)
            {
                pageIndex = 1;
            }
            if (pageSize <= 0)
            {
                pageSize = 10;
            }
            if (pageSize > 50)
            {
                pageSize = 50;
            }

            //获取用户排行
            string  sqlQuery = string.Format("SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY Score DESC) as ChartID,UserID,Score FROM GameScoreInfo) a WHERE UserID={0}", userID);
            DataSet dsUser   = treasureFacade.GetDataSetByWhere(sqlQuery);
            int     uChart   = 0;
            Int64   uScore   = 0;

            if (dsUser.Tables[0].Rows.Count != 0)
            {
                uChart = Convert.ToInt32(dsUser.Tables[0].Rows[0]["ChartID"]);
                uScore = Convert.ToInt64(dsUser.Tables[0].Rows[0]["Score"]);
            }

            //获取总排行
            DataSet ds = treasureFacade.GetList("GameScoreInfo", pageIndex, pageSize, " ORDER BY Score DESC", " ", "UserID,Score").PageSet;

            if (ds.Tables[0].Rows.Count > 0)
            {
                msg.Append("[");

                //添加用户排行
                msg.Append("{\"NickName\":\"" + Fetch.GetNickNameByUserID(userID) + "\",\"Score\":" + uScore + ",\"Rank\":" + uChart + "},");
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    msg.Append("{\"NickName\":\"" + Fetch.GetNickNameByUserID(Convert.ToInt32(dr["UserID"])) + "\",\"Score\":" + dr["Score"] + "},");
                }
                msg.Remove(msg.Length - 1, 1);
                msg.Append("]");
            }
            else
            {
                msg.Append("{}");
            }
            context.Response.Write(msg.ToString( ));
        }
Esempio n. 2
0
        //获取金币排行榜,前50
        protected void GetScoreRank(HttpContext context)
        {
            StringBuilder msg       = new StringBuilder( );
            int           pageIndex = GameRequest.GetInt("pageindex", 1);
            int           pageSize  = GameRequest.GetInt("pagesize", 10);

            if (pageIndex <= 0)
            {
                pageIndex = 1;
            }
            if (pageSize <= 0)
            {
                pageSize = 10;
            }
            if (pageSize > 50)
            {
                pageSize = 50;
            }
            DataSet ds = treasureFacade.GetList("GameScoreInfo", pageIndex, pageSize, " ORDER BY Score DESC", " WHERE UserID IN(SELECT UserID FROM QPAccountsDBLink.QPAccountsDB.dbo.AccountsInfo)", "UserID,Score").PageSet;

            if (ds.Tables[0].Rows.Count > 0)
            {
                msg.Append("[");
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    msg.Append("{\"NickName\":\"" + Fetch.GetNickNameByUserID(Convert.ToInt32(dr["UserID"])) + "\",\"Score\":" + dr["Score"] + "},");
                }
                msg.Remove(msg.Length - 1, 1);
                msg.Append("]");
            }
            else
            {
                msg.Append("{}");
            }
            context.Response.Write(msg.ToString( ));
        }