| | |
| | |
|
| | | groupValue1 = GameWorld.ToIntDef(gmCmdDict.get('groupValue1', ''), None)
|
| | | groupValue2 = GameWorld.ToIntDef(gmCmdDict.get('groupValue2', ''), None)
|
| | | queryCount = GameWorld.ToIntDef(gmCmdDict.get('queryCount', ''), 10)
|
| | | startRank = GameWorld.ToIntDef(gmCmdDict.get('startRank', ''), 1)
|
| | | startRank = max(1, startRank)
|
| | |
|
| | | billboardMgr = PyDataManager.GetCrossBillboardManager()
|
| | | groupList = billboardMgr.GetBillboardGroupList(billboardType)
|
| | | |
| | | backMsg = {"billboardType":billboardType, "groupList":groupList}
|
| | | dataTotalDict = {}
|
| | | for bType, gValue1, gValue2 in groupList:
|
| | | billboardObj = billboardMgr.GetCrossBillboard(bType, gValue1, gValue2)
|
| | | dataTotalDict["%s-%s-%s" % (bType, gValue1, gValue2)] = billboardObj.GetCount()
|
| | | |
| | | backMsg = {"billboardType":billboardType, "groupList":groupList, "dataTotalDict":dataTotalDict, |
| | | "groupValue1":groupValue1, "groupValue2":groupValue2, "queryCount":queryCount, "startRank":startRank}
|
| | |
|
| | | if groupValue1 != None and groupValue2 != None:
|
| | | billboardObj = billboardMgr.GetCrossBillboard(billboardType, groupValue1, groupValue2)
|
| | | billboardObj.DoDelaySort()
|
| | | idOrderDict = billboardObj.GetIDOrderDict()
|
| | |
|
| | | dataTotal = billboardObj.GetCount()
|
| | | fromIndex = startRank - 1
|
| | | toIndex = fromIndex + queryCount
|
| | | billboardInfo = []
|
| | | for i in xrange(billboardObj.GetCount()):
|
| | | for i in xrange(startRank - 1, toIndex):
|
| | | if i >= dataTotal:
|
| | | break
|
| | | billboardData = billboardObj.At(i)
|
| | | if not billboardData:
|
| | | continue
|
| | | rank = idOrderDict.get(billboardData.ID, i + 1)
|
| | | billboardDict = {
|
| | | "Index":i,
|
| | | "Rank":rank,
|
| | | "ID":billboardData.ID,
|
| | | "ID2":billboardData.ID2,
|
| | | "Name1":billboardData.Name1,
|
| | |
| | | "Type2":billboardData.Type2,
|
| | | "Value1":billboardData.Value1,
|
| | | "Value2":billboardData.Value2,
|
| | | "Value3":billboardData.Value3,
|
| | | "Value4":billboardData.Value4,
|
| | | "Value5":billboardData.Value5,
|
| | | "Value6":billboardData.Value6,
|
| | | "Value7":billboardData.Value7,
|
| | | "Value8":billboardData.Value8,
|
| | | "CmpValue":billboardData.CmpValue,
|
| | | "CmpValue2":billboardData.CmpValue2,
|
| | | "CmpValue3":billboardData.CmpValue3,
|
| | | "UserData":billboardData.UserData,
|
| | | }
|
| | |
|
| | | # 20210120 后台没做区分不同版本,暂时用游戏版本代码做返回值区分;(BT版存的是元,主干港台版存的是分,美元支持到分)
|
| | |
| | |
|
| | | billboardInfo.append(billboardDict)
|
| | |
|
| | | backMsg.update({"billboardInfo":billboardInfo, "groupValue1":groupValue1, "groupValue2":groupValue2})
|
| | | backMsg.update({"billboardInfo":billboardInfo, "groupValue1":groupValue1, "groupValue2":groupValue2, "dataTotal":dataTotal})
|
| | |
|
| | | #执行成功
|
| | | GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_Success, backMsg)
|