| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| ##@package Player.RemoteQuery.GY_Query_GMTAddTitle  | 
| #  | 
| # @todo:¼¤»î³ÆºÅ  | 
| # @author hxp  | 
| # @date 2020-10-30  | 
| # @version 1.0  | 
| #  | 
| # ÏêϸÃèÊö: ¼¤»î³ÆºÅ  | 
| #  | 
| #-------------------------------------------------------------------------------  | 
| #"""Version = 2020-10-30 17:00"""  | 
| #-------------------------------------------------------------------------------  | 
|   | 
| import GameWorld  | 
| import DataRecordPack  | 
| import GMCommon  | 
| import PlayerDienstgrad  | 
|   | 
| #---------------------------------------------------------------------  | 
| #È«¾Ö±äÁ¿  | 
| #---------------------------------------------------------------------  | 
| #---------------------------------------------------------------------  | 
| #Â߼ʵÏÖ   | 
| ## ÇëÇóÂß¼    | 
| #  @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_Success  | 
|     orderId, isOnlineGMT, titleID, expireTime, opType = packCMDList  | 
|       | 
|     isOK = False  | 
|     if opType == "add":  | 
|         isOK = PlayerDienstgrad.PlayerAddDienstgrad(curPlayer, titleID, expireTime=expireTime)  | 
|     elif opType == "del":  | 
|         isOK = PlayerDienstgrad.PlayerDelDienstgrad(curPlayer, titleID)  | 
|           | 
|     if not isOK:  | 
|         errorMsg = "%s fail! Please check that the ID(%s) is correct." % (opType, titleID)  | 
|         GameWorld.Log("GMT_AddTitle, errorMsg=%s" % errorMsg, curPlayer.GetPlayerID())  | 
|         resultMsg = str([orderId, errorMsg, 'GMT_AddTitle', GMCommon.Def_Unknow])  | 
|         GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'GMToolResult', resultMsg, len(resultMsg))  | 
|         return  | 
|       | 
|     resultDict = {"titleID":titleID, "expireTime":expireTime, "isOnlineGMT":isOnlineGMT, "opType":opType}  | 
|     GameWorld.Log("GMT_AddTitle, isOnlineGMT=%s,resultDict=%s" % (isOnlineGMT, resultDict), curPlayer.GetPlayerID())  | 
|     #Á÷Ïò ¼Ç¼  | 
|     DataRecordPack.DR_ToolGMOperate(query_ID, curPlayer.GetPlayerName(), curPlayer.GetAccID(), 'GMT_AddTitle', resultDict)  | 
|       | 
|     if isOnlineGMT:  | 
|         resultMsg = str([orderId, resultDict, 'GMT_AddTitle', 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  | 
|   | 
|   | 
|   | 
|   | 
|   | 
|   | 
|   | 
|   | 
|   |