#!/usr/bin/python # -*- coding: GBK -*- #--------------------------------------------------------------------- # #--------------------------------------------------------------------- ##@package GY_Query_GMTCTG # @todo: CTG # # @author: whx # @date 2012-08-27 13:59 # @version 1.2 # # @note: # # @change: "2014-05-19 14:40" Alee ×ÊÔ´²¹Ìù¼Ç¼Ôö¼Ó½ð¶î # @change: "2016-07-20 14:30" hxp Ôö¼ÓÁ÷ÏòÀàÐͼǼ #--------------------------------------------------------------------- #"""Version = 2016-07-20 14:30""" #--------------------------------------------------------------------- #µ¼Èë import GameWorld import DataRecordPack import PlayerCoin import ChConfig import GMCommon import ShareDefine import PlayerControl import IpyGameDataPY #--------------------------------------------------------------------- #È«¾Ö±äÁ¿ #--------------------------------------------------------------------- #--------------------------------------------------------------------- #Âß¼­ÊµÏÖ ## ÇëÇóÂß¼­ # @param query_Type ÇëÇóÀàÐÍ # @param query_ID Íæ¼ÒID # @param packCMDList ·¢°üÃüÁî # @param tick µ±Ç°Ê±¼ä # @return "True" or "False" or "" # @remarks º¯ÊýÏêϸ˵Ã÷. def DoLogic(query_Type, query_ID, packCMDList, tick): curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(query_ID) if not curPlayer or curPlayer.IsEmpty(): return Result = GMCommon.Def_Unknow orderId, value, appID, isAddBourseMoney, isResult = packCMDList goldBefore = curPlayer.GetGold() changeCoinPointBefore = curPlayer.GetChangeCoinPointTotal() bourseMoneyBefore = PlayerControl.GetMoney(curPlayer, ShareDefine.TYPE_Price_BourseMoney) errorMsg = "" orderInfoIpyData = None if appID: orderInfoIpyData = IpyGameDataPY.GetIpyGameDataNotLog("OrderInfo", value, appID) if not orderInfoIpyData: Result = GMCommon.Def_ParamErr errorMsg = "Can not found the orderInfo(%s) and appID(%s)!" % (value, appID) if errorMsg: GameWorld.Log("GMT_CTG, errorMsg=%s" % errorMsg, query_ID) resultMsg = str([orderId, errorMsg, 'GMT_CTG', Result]) GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'GMToolResult', resultMsg, len(resultMsg)) return orderRMB = GameWorld.ToNumDef(value, None) if not orderInfoIpyData and orderRMB != None: if PlayerCoin.PlayerCoinToGoldEx(curPlayer, orderRMB, ChConfig.Def_GiveMoney_GMTCTG, isAddBourseMoney): Result = GMCommon.Def_Success else: errorMsg = "order error! value(%s)" % (value) else: orderInfo = value if PlayerCoin.DoGMCTG(curPlayer, orderInfo, appID, isAddBourseMoney, ChConfig.Def_GiveMoney_GMTCTG): Result = GMCommon.Def_Success else: errorMsg = "orderInfo error! appID(%s), value(%s)" % (appID, value) if Result != GMCommon.Def_Success: GameWorld.Log("GMT_CTG, errorMsg=%s" % errorMsg, query_ID) resultMsg = str([orderId, errorMsg, 'GMT_CTG', Result]) GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'GMToolResult', resultMsg, len(resultMsg)) return goldAfter = curPlayer.GetGold() changeCoinPointAfter = curPlayer.GetChangeCoinPointTotal() bourseMoneyAfter = PlayerControl.GetMoney(curPlayer, ShareDefine.TYPE_Price_BourseMoney) resultDict = {"value":value, "appID":appID, "isAddBourseMoney":isAddBourseMoney, "Result":Result, "gold":[goldBefore, goldAfter], "changeCoinPoint":[changeCoinPointBefore, changeCoinPointAfter], "bourseMoney":[bourseMoneyBefore, bourseMoneyAfter]} GameWorld.Log("GMT_CTG, resultDict=%s" % resultDict, query_ID) #Á÷Ïò Ôö¼Ó½ð¶î¼Ç¼ DataRecordPack.DR_ToolGMOperate(query_ID, curPlayer.GetPlayerName(), curPlayer.GetAccID(), 'GMT_CTG', resultDict) if isResult: resultMsg = str([orderId, resultDict, 'GMT_CTG', Result]) GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'GMToolResult', resultMsg, len(resultMsg)) return #--------------------------------------------------------------------- #Ö´Ðнá¹û ## Ö´Ðнá¹û # @param curPlayer ·¢³öÇëÇóµÄÍæ¼Ò # @param callFunName ¹¦ÄÜÃû³Æ # @param funResult ²éѯµÄ½á¹û # @param tick µ±Ç°Ê±¼ä # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. def DoResult(curPlayer, callFunName, funResult, tick): return