From 905bad6a43c7ed07a436781600c8fe7ad41dd887 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 25 二月 2019 15:14:51 +0800
Subject: [PATCH] 6250 【后端】【2.0】拍卖行开发单(封包)

---
 ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py                     |   13 +++++++++++++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py |   18 ++++++++++++++++--
 ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py                      |   18 ++++++++++++++++--
 3 files changed, 45 insertions(+), 4 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index bd952cb..f1b67ab 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -7419,6 +7419,7 @@
     ItemID = 0    #(DWORD ItemID)
     ItemCount = 0    #(WORD ItemCount)
     AddTime = ""    #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss
+    BidderID = 0    #(DWORD BidderID)//竞拍玩家ID,也就是当前最高竞价玩家ID
     BidderPrice = 0    #(WORD BidderPrice)//竞拍玩家出价
     UserDataLen = 0    #(WORD UserDataLen)
     UserData = ""    #(String UserData)//自定义数据
@@ -7435,6 +7436,7 @@
         self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
+        self.BidderID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
@@ -7446,6 +7448,7 @@
         self.ItemID = 0
         self.ItemCount = 0
         self.AddTime = ""
+        self.BidderID = 0
         self.BidderPrice = 0
         self.UserDataLen = 0
         self.UserData = ""
@@ -7458,6 +7461,7 @@
         length += 4
         length += 2
         length += 19
+        length += 4
         length += 2
         length += 2
         length += len(self.UserData)
@@ -7471,6 +7475,7 @@
         data = CommFunc.WriteDWORD(data, self.ItemID)
         data = CommFunc.WriteWORD(data, self.ItemCount)
         data = CommFunc.WriteString(data, 19, self.AddTime)
+        data = CommFunc.WriteDWORD(data, self.BidderID)
         data = CommFunc.WriteWORD(data, self.BidderPrice)
         data = CommFunc.WriteWORD(data, self.UserDataLen)
         data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
@@ -7483,6 +7488,7 @@
                                 ItemID:%d,
                                 ItemCount:%d,
                                 AddTime:%s,
+                                BidderID:%d,
                                 BidderPrice:%d,
                                 UserDataLen:%d,
                                 UserData:%s
@@ -7493,6 +7499,7 @@
                                 self.ItemID,
                                 self.ItemCount,
                                 self.AddTime,
+                                self.BidderID,
                                 self.BidderPrice,
                                 self.UserDataLen,
                                 self.UserData
@@ -8003,6 +8010,7 @@
 # B5 03 拍卖行玩家拍卖记录 #tagGCPlayerAuctionRecordInfo
 
 class  tagGCPlayerAuctionRecord(Structure):
+    ItemGUID = ""    #(char ItemGUID[40])
     FamilyID = 0    #(DWORD FamilyID)//有值时为仙盟拍品
     RecordType = 0    #(BYTE RecordType)//记录类型 0-流拍 1-拍卖成交 2-回收 3-竞价成功 4-竞价失败
     RecordTime = ""    #(char RecordTime[19])//记录时间 yyyy-MM-dd hh:mm:ss
@@ -8019,6 +8027,7 @@
 
     def ReadData(self, _lpData, _pos=0, _Len=0):
         self.Clear()
+        self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
         self.FamilyID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.RecordType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.RecordTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
@@ -8030,6 +8039,7 @@
         return _pos
 
     def Clear(self):
+        self.ItemGUID = ""
         self.FamilyID = 0
         self.RecordType = 0
         self.RecordTime = ""
@@ -8042,6 +8052,7 @@
 
     def GetLength(self):
         length = 0
+        length += 40
         length += 4
         length += 1
         length += 19
@@ -8055,6 +8066,7 @@
 
     def GetBuffer(self):
         data = ''
+        data = CommFunc.WriteString(data, 40, self.ItemGUID)
         data = CommFunc.WriteDWORD(data, self.FamilyID)
         data = CommFunc.WriteBYTE(data, self.RecordType)
         data = CommFunc.WriteString(data, 19, self.RecordTime)
@@ -8067,6 +8079,7 @@
 
     def OutputString(self):
         DumpString = '''
+                                ItemGUID:%s,
                                 FamilyID:%d,
                                 RecordType:%d,
                                 RecordTime:%s,
@@ -8077,6 +8090,7 @@
                                 UserData:%s
                                 '''\
                                 %(
+                                self.ItemGUID,
                                 self.FamilyID,
                                 self.RecordType,
                                 self.RecordTime,
@@ -8092,7 +8106,7 @@
 class  tagGCPlayerAuctionRecordInfo(Structure):
     Head = tagHead()
     Count = 0    #(BYTE Count)
-    AuctionRecordList = list()    #(vector<tagGCPlayerAuctionRecordInfo> AuctionRecordList)
+    AuctionRecordList = list()    #(vector<tagGCPlayerAuctionRecord> AuctionRecordList)
     data = None
 
     def __init__(self):
@@ -8106,7 +8120,7 @@
         _pos = self.Head.ReadData(_lpData, _pos)
         self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         for i in range(self.Count):
-            temAuctionRecordList = tagGCPlayerAuctionRecordInfo()
+            temAuctionRecordList = tagGCPlayerAuctionRecord()
             _pos = temAuctionRecordList.ReadData(_lpData, _pos)
             self.AuctionRecordList.append(temAuctionRecordList)
         return _pos
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py b/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py
index ced9f6a..8e1aa6e 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py
@@ -79,6 +79,7 @@
 class tagDBAuctionRecord(Structure):
     _pack_ = 1
     _fields_ = [
+        ('ItemGUID', ctypes.c_char * 40),
         ('PlayerID', ctypes.c_ulong),
         ('FamilyID', ctypes.c_ulong),
         ('RecordType', ctypes.c_ubyte),
@@ -96,6 +97,7 @@
         self.clear()
 
     def clear(self):
+        self.ItemGUID = ''
         self.PlayerID = 0
         self.FamilyID = 0
         self.RecordType = 0
@@ -112,6 +114,7 @@
         if len(buf) < pos + self.getLength():
             return -1
         self.clear()
+        self.ItemGUID, pos = CommFunc.ReadString(buf, pos, 40)
         self.PlayerID, pos = CommFunc.ReadDWORD(buf, pos)
         self.FamilyID, pos = CommFunc.ReadDWORD(buf, pos)
         self.RecordType, pos = CommFunc.ReadBYTE(buf, pos)
@@ -126,6 +129,7 @@
 
     def getBuffer(self):
         buf = ''
+        buf = CommFunc.WriteString(buf, sizeof(ctypes.c_char) * 40, self.ItemGUID)
         buf = CommFunc.WriteDWORD(buf, self.PlayerID)
         buf = CommFunc.WriteDWORD(buf, self.FamilyID)
         buf = CommFunc.WriteBYTE(buf, self.RecordType)
@@ -139,6 +143,7 @@
 
     def getLength(self):
         length = 0
+        length += sizeof(ctypes.c_char) * 40
         length += sizeof(ctypes.c_ulong)
         length += sizeof(ctypes.c_ulong)
         length += sizeof(ctypes.c_ubyte)
@@ -152,6 +157,7 @@
 
     def outputString(self):
         output = '''// 拍卖记录表 #tagDBAuctionRecord:
+            ItemGUID = %s,
             PlayerID = %s,
             FamilyID = %s,
             RecordType = %s,
@@ -163,6 +169,7 @@
             UserData = %s,
             ADOResult = %s,
             '''%(
+                self.ItemGUID,
                 self.PlayerID,
                 self.FamilyID,
                 self.RecordType,
@@ -177,6 +184,12 @@
         return output
 
     #Char数组类型Set接口,使用该接口对此类型数据赋值,防止赋值的数据过长报错
+    def SetItemGUID(self,Str):
+        if len(Str)<=40:
+            self.ItemGUID = Str
+        else:
+            self.ItemGUID = Str[:40]
+            
     def SetRecordTime(self,Str):
         if len(Str)<=19:
             self.RecordTime = Str
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index bd952cb..f1b67ab 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -7419,6 +7419,7 @@
     ItemID = 0    #(DWORD ItemID)
     ItemCount = 0    #(WORD ItemCount)
     AddTime = ""    #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss
+    BidderID = 0    #(DWORD BidderID)//竞拍玩家ID,也就是当前最高竞价玩家ID
     BidderPrice = 0    #(WORD BidderPrice)//竞拍玩家出价
     UserDataLen = 0    #(WORD UserDataLen)
     UserData = ""    #(String UserData)//自定义数据
@@ -7435,6 +7436,7 @@
         self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
+        self.BidderID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
@@ -7446,6 +7448,7 @@
         self.ItemID = 0
         self.ItemCount = 0
         self.AddTime = ""
+        self.BidderID = 0
         self.BidderPrice = 0
         self.UserDataLen = 0
         self.UserData = ""
@@ -7458,6 +7461,7 @@
         length += 4
         length += 2
         length += 19
+        length += 4
         length += 2
         length += 2
         length += len(self.UserData)
@@ -7471,6 +7475,7 @@
         data = CommFunc.WriteDWORD(data, self.ItemID)
         data = CommFunc.WriteWORD(data, self.ItemCount)
         data = CommFunc.WriteString(data, 19, self.AddTime)
+        data = CommFunc.WriteDWORD(data, self.BidderID)
         data = CommFunc.WriteWORD(data, self.BidderPrice)
         data = CommFunc.WriteWORD(data, self.UserDataLen)
         data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
@@ -7483,6 +7488,7 @@
                                 ItemID:%d,
                                 ItemCount:%d,
                                 AddTime:%s,
+                                BidderID:%d,
                                 BidderPrice:%d,
                                 UserDataLen:%d,
                                 UserData:%s
@@ -7493,6 +7499,7 @@
                                 self.ItemID,
                                 self.ItemCount,
                                 self.AddTime,
+                                self.BidderID,
                                 self.BidderPrice,
                                 self.UserDataLen,
                                 self.UserData
@@ -8003,6 +8010,7 @@
 # B5 03 拍卖行玩家拍卖记录 #tagGCPlayerAuctionRecordInfo
 
 class  tagGCPlayerAuctionRecord(Structure):
+    ItemGUID = ""    #(char ItemGUID[40])
     FamilyID = 0    #(DWORD FamilyID)//有值时为仙盟拍品
     RecordType = 0    #(BYTE RecordType)//记录类型 0-流拍 1-拍卖成交 2-回收 3-竞价成功 4-竞价失败
     RecordTime = ""    #(char RecordTime[19])//记录时间 yyyy-MM-dd hh:mm:ss
@@ -8019,6 +8027,7 @@
 
     def ReadData(self, _lpData, _pos=0, _Len=0):
         self.Clear()
+        self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
         self.FamilyID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.RecordType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.RecordTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
@@ -8030,6 +8039,7 @@
         return _pos
 
     def Clear(self):
+        self.ItemGUID = ""
         self.FamilyID = 0
         self.RecordType = 0
         self.RecordTime = ""
@@ -8042,6 +8052,7 @@
 
     def GetLength(self):
         length = 0
+        length += 40
         length += 4
         length += 1
         length += 19
@@ -8055,6 +8066,7 @@
 
     def GetBuffer(self):
         data = ''
+        data = CommFunc.WriteString(data, 40, self.ItemGUID)
         data = CommFunc.WriteDWORD(data, self.FamilyID)
         data = CommFunc.WriteBYTE(data, self.RecordType)
         data = CommFunc.WriteString(data, 19, self.RecordTime)
@@ -8067,6 +8079,7 @@
 
     def OutputString(self):
         DumpString = '''
+                                ItemGUID:%s,
                                 FamilyID:%d,
                                 RecordType:%d,
                                 RecordTime:%s,
@@ -8077,6 +8090,7 @@
                                 UserData:%s
                                 '''\
                                 %(
+                                self.ItemGUID,
                                 self.FamilyID,
                                 self.RecordType,
                                 self.RecordTime,
@@ -8092,7 +8106,7 @@
 class  tagGCPlayerAuctionRecordInfo(Structure):
     Head = tagHead()
     Count = 0    #(BYTE Count)
-    AuctionRecordList = list()    #(vector<tagGCPlayerAuctionRecordInfo> AuctionRecordList)
+    AuctionRecordList = list()    #(vector<tagGCPlayerAuctionRecord> AuctionRecordList)
     data = None
 
     def __init__(self):
@@ -8106,7 +8120,7 @@
         _pos = self.Head.ReadData(_lpData, _pos)
         self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         for i in range(self.Count):
-            temAuctionRecordList = tagGCPlayerAuctionRecordInfo()
+            temAuctionRecordList = tagGCPlayerAuctionRecord()
             _pos = temAuctionRecordList.ReadData(_lpData, _pos)
             self.AuctionRecordList.append(temAuctionRecordList)
         return _pos

--
Gitblit v1.8.0