From da666f2472eb72d68d2d1cf863a0b1afc9b2fc75 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 17 四月 2019 16:22:34 +0800
Subject: [PATCH] 6539 【前端】【主干】数据事件增加设备信息

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py |    4 ++--
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IPY_GameObj.py |    1 +
 ServerPython/CoreServerGroup/GameServer/Script/IPY_PlayerDefine.py                 |    1 +
 ServerPython/CoreServerGroup/GameServer/Script/EventReport.py                      |    4 ++--
 ServerPython/CoreServerGroup/GameServer/Script/IPY_Player.py                       |    1 +
 Tool/数据库/ChangeAccount/Collections/DataServerPlayerData.py                         |   49 +++++++++++++++++++++++++++++++++++++++++++------
 6 files changed, 50 insertions(+), 10 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/EventReport.py b/ServerPython/CoreServerGroup/GameServer/Script/EventReport.py
index f4f13c5..0f40ced 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/EventReport.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/EventReport.py
@@ -116,9 +116,9 @@
             return
         RegionName = 's%s'%sid
         
-    getUrl = "%s?ProductID=%s&OperatorID=%s&RegionName=%s&EventID=%s%s&Time=%s&%s"%(\
+    getUrl = "%s?ProductID=%s&OperatorID=%s&RegionName=%s&EventID=%s%s&Time=%s&DeviceFlag=%s&%s"%(\
              ReportUrl, ProductID, OperatorID, RegionName, eventActionID, playerInfo,
-             str(datetime.datetime.today()).split('.')[0], eventParam)
+             str(datetime.datetime.today()).split('.')[0], curPlayer.GetDeviceFlag(), eventParam)
     GameWorld.DebugLog("EventReport: %s"%getUrl)
     
     # 第五个参数0代表get发送  1代表post
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IPY_Player.py b/ServerPython/CoreServerGroup/GameServer/Script/IPY_Player.py
index 7073df2..27410b2 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/IPY_Player.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/IPY_Player.py
@@ -454,6 +454,7 @@
     def Sync_DeletePlayerLabel(self, *args): return _IPY_Player.IPY_Player_Sync_DeletePlayerLabel(self, *args)
     def Sync_SameLabelPlayer(self, *args): return _IPY_Player.IPY_Player_Sync_SameLabelPlayer(self, *args)
     def GetGeTuiClientID(self): return _IPY_Player.IPY_Player_GetGeTuiClientID(self)
+    def GetDeviceFlag(self): return _IPY_Player.IPY_Player_GetDeviceFlag(self)
     def Sync_GeneralPack(self, *args): return _IPY_Player.IPY_Player_Sync_GeneralPack(self, *args)
     def Sync_PlayerRecallInfo(self, *args): return _IPY_Player.IPY_Player_Sync_PlayerRecallInfo(self, *args)
     def Sync_SendInviteCode(self, *args): return _IPY_Player.IPY_Player_Sync_SendInviteCode(self, *args)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IPY_PlayerDefine.py b/ServerPython/CoreServerGroup/GameServer/Script/IPY_PlayerDefine.py
index 0c369c0..99becc1 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/IPY_PlayerDefine.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/IPY_PlayerDefine.py
@@ -970,6 +970,7 @@
 fbtAll = _IPY_PlayerDefine.fbtAll
 fbtVsRoom = _IPY_PlayerDefine.fbtVsRoom
 fbtCrossVSRoom = _IPY_PlayerDefine.fbtCrossVSRoom
+fbtCrossAll = _IPY_PlayerDefine.fbtCrossAll
 vftNull = _IPY_PlayerDefine.vftNull
 vftViewAll = _IPY_PlayerDefine.vftViewAll
 vftFamilyWar = _IPY_PlayerDefine.vftFamilyWar
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py
index d51c639..bf0039f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py
@@ -139,9 +139,9 @@
         eventParam = "&%s"%eventParam
     
     
-    getUrl = "%s?ProductID=%s&OperatorID=%s&RegionName=%s&EventID=%s&%s&Time=%s%s"%(\
+    getUrl = "%s?ProductID=%s&OperatorID=%s&RegionName=%s&EventID=%s&%s&Time=%s&DeviceFlag=%s&%s"%(\
              ReportUrl, ProductID, OperatorID, RegionName, eventActionID, playerInfo,
-             str(datetime.datetime.today()).split('.')[0], eventParam)
+             str(datetime.datetime.today()).split('.')[0], curPlayer.GetAccountData().GetDeviceFlag(), eventParam)
     GameWorld.DebugLog("EventReport: %s"%getUrl)
     
     # 第五个参数0代表get发送  1代表post
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IPY_GameObj.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IPY_GameObj.py
index 01538b1..cb9d533 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IPY_GameObj.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IPY_GameObj.py
@@ -918,6 +918,7 @@
     def GetOperator(self): return _IPY_GameObj.IPY_Account_GetOperator(self)
     def GetAreaID(self): return _IPY_GameObj.IPY_Account_GetAreaID(self)
     def GetGeTuiClientID(self): return _IPY_GameObj.IPY_Account_GetGeTuiClientID(self)
+    def GetDeviceFlag(self): return _IPY_GameObj.IPY_Account_GetDeviceFlag(self)
     def GetLastLoginTime(self): return _IPY_GameObj.IPY_Account_GetLastLoginTime(self)
     __swig_destroy__ = _IPY_GameObj.delete_IPY_Account
     __del__ = lambda self : None;
diff --git "a/Tool/\346\225\260\346\215\256\345\272\223/ChangeAccount/Collections/DataServerPlayerData.py" "b/Tool/\346\225\260\346\215\256\345\272\223/ChangeAccount/Collections/DataServerPlayerData.py"
index 82f315c..de6b77e 100644
--- "a/Tool/\346\225\260\346\215\256\345\272\223/ChangeAccount/Collections/DataServerPlayerData.py"
+++ "b/Tool/\346\225\260\346\215\256\345\272\223/ChangeAccount/Collections/DataServerPlayerData.py"
@@ -1178,6 +1178,7 @@
 
 
 #----------------------------------------------------------------------
+#------------------------------------------------------
 #玩家账户信息#tagDSAccount
 class tagDSAccount(Structure):
     _pack_ = 1
@@ -1209,6 +1210,7 @@
         ('AccountID', ctypes.c_ulong),
         ('TokenExpire', ctypes.c_char * 20),
         ('Phone', ctypes.c_ubyte),
+        ('DeviceFlag', ctypes.c_char * 33),
         ('ADOResult', ctypes.c_ulong),
         ('SID', ctypes.c_int),    #用于校验
         ('VerNO', ctypes.c_ulong)   #用于SID校验时比较版本号
@@ -1222,18 +1224,43 @@
     def clear(self):
         memset(addressof(self), 0, self.getLength())
 
-
     def readData(self, buf, pos = 0, length = 0):
         if not pos <= length:
-            msg = error.formatMsg('error', error.ERROR_NO_150, '(pos = %s)> (length = %s)'%(pos, length))
+            msg = error.formatMsg('error', error.ERROR_NO_148, '(pos = %s) > (length = %s)'%(pos, length))
             mylog.error(msg)
             return -1
         if len(buf) < pos + self.getLength():
-            msg = error.formatMsg('error', error.ERROR_NO_151, 'len = %s while %s expected!'%(len(buf) - pos, self.getLength()))
+            msg = error.formatMsg('error', error.ERROR_NO_149, 'len = %s while %s expected!'%(len(buf) - pos, self.getLength()))
             mylog.error(msg)
-            return -1
         self.clear()
-        memmove(addressof(self), buf[pos:], self.getLength())
+        self.ACCID, pos = CommFunc.ReadString(buf, pos, 65)
+        self.Psw, pos = CommFunc.ReadString(buf, pos, 33)
+        self.PswLV2, pos = CommFunc.ReadString(buf, pos, 33)
+        self.LogNum, pos = CommFunc.ReadDWORD(buf, pos)
+        self.Adult, pos = CommFunc.ReadBYTE(buf, pos)
+        self.RegIP, pos = CommFunc.ReadString(buf, pos, 20)
+        self.Presentee, pos = CommFunc.ReadBYTE(buf, pos)
+        self.TelLockState, pos = CommFunc.ReadBYTE(buf, pos)
+        self.GeTuiClientID, pos = CommFunc.ReadString(buf, pos, 33)
+        self.TotalSavePoint, pos = CommFunc.ReadDWORD(buf, pos)
+        self.BalanceInfo, pos = CommFunc.ReadDWORD(buf, pos)
+        self.AppID, pos = CommFunc.ReadString(buf, pos, 20)
+        self.AreaID, pos = CommFunc.ReadDWORD(buf, pos)
+        self.fobbiddenAccount, pos = CommFunc.ReadBYTE(buf, pos)
+        self.ApplyingAdult, pos = CommFunc.ReadBYTE(buf, pos)
+        self.SpreadedUser, pos = CommFunc.ReadBYTE(buf, pos)
+        self.Spreader, pos = CommFunc.ReadBYTE(buf, pos)
+        self.onlineSMSNotice, pos = CommFunc.ReadBYTE(buf, pos)
+        self.EkeyType, pos = CommFunc.ReadBYTE(buf, pos)
+        self.EkeyBindFlag, pos = CommFunc.ReadBYTE(buf, pos)
+        self.IPBan, pos = CommFunc.ReadBYTE(buf, pos)
+        self.RegisterTime, pos = CommFunc.ReadString(buf, pos, 20)
+        self.LastLoginTime, pos = CommFunc.ReadString(buf, pos, 20)
+        self.Operator, pos = CommFunc.ReadString(buf, pos, 15)
+        self.AccountID, pos = CommFunc.ReadDWORD(buf, pos)
+        self.TokenExpire, pos = CommFunc.ReadString(buf, pos, 20)
+        self.Phone, pos = CommFunc.ReadBYTE(buf, pos)
+        self.DeviceFlag, pos = CommFunc.ReadString(buf, pos, 33)
         return self.getLength()
 
 
@@ -1279,6 +1306,7 @@
         rec[u'AccountID'] = self.AccountID
         rec[u'TokenExpire'] = fix_incomingText(self.TokenExpire)
         rec[u'Phone'] = self.Phone
+        rec[u'DeviceFlag'] = fix_incomingText(self.DeviceFlag)
         rec[u'SID'] = self.SID
         rec[u'VerNO'] = self.VerNO
         return rec
@@ -1312,6 +1340,7 @@
         self.AccountID = rec.get(u'AccountID', 0)
         self.TokenExpire = fix_outgoingText(rec.get(u'TokenExpire', u''))
         self.Phone = rec.get(u'Phone', 0)
+        self.DeviceFlag = fix_outgoingText(rec.get(u'DeviceFlag', u''))
         self.SID = rec['SID']
         self.VerNO = rec.get(u'VerNO', 0)
 
@@ -1560,6 +1589,7 @@
             AccountID = %s,
             TokenExpire = %s,
             Phone = %s,
+            DeviceFlag = %s,
             ADOResult = %s,
             SID = %s,
             VerNO = %s,
@@ -1591,6 +1621,7 @@
                 self.AccountID,
                 self.TokenExpire,
                 self.Phone,
+                self.DeviceFlag,
                 self.ADOResult,
                 self.SID,
                 self.VerNO
@@ -1598,7 +1629,7 @@
         return output
 
     def dumpString(self):
-        output = '''%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s'''%(
+        output = '''%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s\t%1s'''%(
                 self.ACCID,
                 self.Psw,
                 self.PswLV2,
@@ -1626,6 +1657,7 @@
                 self.AccountID,
                 self.TokenExpire,
                 self.Phone,
+                self.DeviceFlag,
             )
         return output
 
@@ -1690,6 +1722,11 @@
         else:
             self.TokenExpire = Str[:20]
             
+    def SetDeviceFlag(self,Str):
+        if len(Str)<=33:
+            self.DeviceFlag = Str
+        else:
+            self.DeviceFlag = Str[:33]
             
 #------------------------------------------------------
 #人物物品#tagRoleItem

--
Gitblit v1.8.0