cehua-HWJ35
2019-03-07 cd6fbfa9dce9c101fe7a819c811036cfbbefab8d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
ò#~\c@sßddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZedƒZ\ZZZedƒZ\ZZZZZZdZdZd„Zd„Zd„Z d    „Z!d
„Z"d „Z#d „Z$d „Z%d„Z&d„Z'd„Z(d„Z)d„Z*d„Z+d„Z,dd„Z.d„Z/d„Z0d„Z1d„Z2d„Z3d„Z4d„Z5d„Z6e7d„Z8d„Z9d „Z:d!„Z;d"„Z<d#„Z=d$„Z>d%„Z?d&„Z@d'„ZAd(„ZBd)„ZCd*„ZDdgdgd+dd,d-„ZEd.„ZFd/„ZGd0„ZHgd1„ZIdd2„ZJddd3„ZKdd4„ZLeMd5„ZNd6„ZOdS(7iÿÿÿÿNiiiicCs
tjƒS(N(t PlayerBourset GetOpenState(((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytGetAuctionHouseState9scCs8t|ƒt||jƒƒt|ƒt|tƒdS(N(tSync_PlayerAuctionItemInfotSync_FamilyAuctionItemInfot GetFamilyIDtSync_PlayerBiddingItemInfot!Sync_PlayerAttentionAuctionItemIDtFalse(t    curPlayer((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyt OnPlayerLogin;s
 
 
 cCs/|jƒ}tjƒ}|jj|dƒdS(N(t GetPlayerIDt PyDataManagertGetAuctionItemManagertmyAttentionItemDicttpoptNone(R    tplayerIDtauctionItemMgr((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytOnPlayerLeaveServerBs  cCstjƒjj|gƒS(N(R tGetAuctionRecordManagertmyAuctionItemRecordDicttget(R((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytGetMyAuctionItemRecordIscCstjƒjj|gƒS(N(R RtmyBidItemRecordDictR(R((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytGetMyBiddingItemRecordMscCstjƒjj|gƒS(N(R RtfamilyAuctionItemRecordDictR(tfamilyID((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytGetFamilyAuctionItemRecordQsc
Cs‹|s
dS|j|j|j}}}d\}}|ttgkrTt}|}n!|rit}|}n t}|}| r‡| r‡dStj    ƒ}|j
|_
||_||_||_ ||_ t jƒ|_|j|_|j|_|j|_|j|_|j|_|j|_t|ƒ|r@td|||ƒnG|r‡t jƒj|ƒ}    |    r‡tj|    ƒ r‡t|    ||ƒq‡ndS(sŒ Ìí¼ÓÅÄÂôÐмǼ
    @param auctionItem: Ïà¹ØµÄÅÄÆ·ÊµÀý
    @param recordResult: ¼Ç¼½á¹û 0-Á÷ÅÄ 1-ÅÄÂô³É½» 2-»ØÊÕ 3-¾º¼Û³É¹¦ 4-¾º¼Ûʧ°Ü
    Ni(ii(tPlayerIDtFamilyIDtBidderIDtAuctionRecordResult_BidOKtAuctionRecordResult_BidFailtAuctionRecordType_MyBidtAuctionRecordType_FamilyAuctiontAuctionRecordType_MyAuctiontPyGameDataStructttagDBAuctionRecordtItemGUIDt
RecordTypet RecordResultt    GameWorldtGetCurrentDataTimeStrt
RecordTimet BidderPricet
BidderNametItemIDtCounttUserDatat UserDataLentAddNewAuctionRecordtSync_PlayerAuctionRecordInfoRtGetPlayerManagertFindPlayerByIDt PlayerControltGetIsTJG(
t auctionItemt recordResultRRtbidderIDtrecordPlayerIDtrecordFamilyIDt
recordTypet newRecordDatat recordPlayer((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytAddAuctionRecordUsF                                 
cCsï|j}|j}|j}|tkr?|}tjƒj}nL|tkrc|}tjƒj}n(|t    kr‡|}tjƒj
}ndS|j |gƒ}t dt jddƒƒ}t|ƒ|krÔ|d=n|j|ƒ|||<dS(Ni2t AuctionHouseii(RRR(R$R RRR#RR"RRtmint IpyGameDataPYt
GetFuncCfgtlentappend(R?RRR>tkeyIDt
recordDictt
recordListtmaxCount((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyR3…s(               
 
cCs-||jkrgS|j|}|j}|S(N(tplayerAttentionDicttAttentionItemIDList(t attentionMgrRt attentionObjtattentionItemIDList((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytGetPlayerAuctionAttentions
     cCsÈ||jkr>tjƒ}||_t|ƒ||j|<n|j|}|j}t|ƒtjddƒkr†t    j
d|ƒdS||kr–t S|j |ƒt |ƒ|_t|jƒ|_t S(NRBis¹Ø×¢ÅÄÆ·Êý´ïµ½ÉÏÏÞ!(RLR%ttagDBAuctionAttentionRt__InitAuctionAttentionAttrExRMRFRDRER*tDebugLogtTrueRGtstrt AttentionInfot AttentionLen(RNRtitemIDtdbDataRORP((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytAddPlayerAuctionAttention¥s      
       cCsk||jkrdS|j|}|j}||kr9dS|j|ƒt|ƒ|_t|jƒ|_tS(N(RLRMtremoveRVRWRFRXRU(RNRRYRORP((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytDelPlayerAuctionAttention¸s       cCst|ƒdS(N(RS(t attentionData((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytOnLoadAuctionAttentionDataExÅs
cCs/t|d|jsgntj|jƒƒdS(NRM(tsetattrRWtjsontloads(R^((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyRSÊs+c    Cs\t|ƒ|j}|j}|j}tjƒ}|jj|ƒ|jt    krc|j
j|ƒn|r›|j j |gƒ}|j|ƒ||j |<n|rX|j j |gƒ}|j|ƒ||j |<t|ƒ|jkrX||kr#|jj |gƒ}|j|ƒ||j|<qU|jj |gƒ}|j|ƒ||j|<qXndS(N(t__InitAuctionItemAttrExRRRR R tallAuctionItemByEndTimeListRGt AuctionTypetAuctionType_WorldtworldAuctionItemListtfamilyAuctionItemDictRtmyAuctionItemDictRVt BidderIDInfotnowBiddingAuctionItemDictthisBiddingAuctionItemDict(    RZRRR;tpyAuctionItemMgrtfamilyItemListt
myItemListtnowBidItemListthisBidItemList((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytOnLoadAuctionItemDataExÑs2
                   cCs tƒdS(N(t__SortAuctionitem(((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytOnLoadAuctionItemDataOKôscCs…|stjd|jƒ}nt|dd|s6dn    |jƒƒt|ddƒt|ddƒt|ddƒt||ƒtS(Nt AuctionItemt SortpriorityiŸ†itBiddingQueryIDtBiddingQueryTicktEndTime(RDtGetIpyGameDataR/R`tGetSortpriorityt__SetAuctionItemEndTimeRU(R9tipyData((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyRcùs& cCs~|s
dS|j}|j}tj|ƒ}|jƒ}|tkrO|jƒn    |jƒ}|||d|_t    |ƒdS(Ni<(
tAddTimeReR*tChangeTimeStrToNumtGetNoticeSaleMinutestAuctionType_FamilytGetFamilySaleMinutestGetWorldSaleMinutesRyt__AddAuctionItemEndTimeByBid(R9R}t
addTimeStrt auctionTypetaddTimet noticeMinutest saleMinutes((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyR|s         $
cCsU|js dStj|jƒ}|tjddƒ}||jkrHdS||_tS(NRBi(R-R*Rt BiddingTimeRDRERyRU(R9tbidTimetendTime((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyR„s        cCs®i|jd6|jd6|jd6|jd6|jd6|jd6|jd6|jd6|jd    6|j    d
6|j
d 6|j s€d nt j |j ƒd 6|jd6|jd6}|S(NtGUIDRRR/R0ReR~RŠRR-R1tRytFamilyPlayerIDInfoRj(R'RRR/R0ReR~RŠRR-R1RyR*tChangeTimeNumToStrRRj(R9tdrDict((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyt__GetAuctionItemDRDicts!"cCstjƒjj|ƒS(N(R R tallAuctionItemDictR(titemGUID((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytGetAuctionItem'scCstjƒjj|gƒS(N(R R RiR(R((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytGetPlayerAuctionItemList+scCstjƒjj|gƒS(N(R R RhR(R((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytGetFamilyAuctionItemList/scCsØtjƒj}|sdSg}g}t|ƒ}x‰|dkr¼|r¼|d8}|d}||jkrmPn|jdƒ|j r¬|jr¬|jt    kr¬|j
|ƒq4|j
|ƒq4Wt |dƒt |ƒdS(NiitByTime( R R RdRFRyRR-RReRRGt__EndAuctionItemt__MoveFamilyAuctionItemToWorld(tcurTimeRdt endItemListtmoveToWorldItemListtdoCountR9((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytOnAuctionItemTimeProcess3s$ 
 
 " 
cCs½|s
dStjƒ}tjƒ}tjƒ}g}xg|D]_}|j}|j}|j}|j}    |j    }
t
j d|ƒ} t |_ ||_t|| ƒ|jj|ƒ|jj|ƒ|j|||    gƒxT|jjƒD]C\} } |t|| ƒkr qån|| krå| j|ƒqåqåW| jƒrZtjdd|| jƒgƒnit|ƒd6}tdd|ƒtjd|||
|fƒq;Wtƒt|ƒt |ƒdS(NRuitPaimai4tAuctionItemInfot FamilyToWorldsBÏÉÃËÅÄÆ·×ªÒƵ½È«·þ: itemID=%s,itemCount=%s,familyID=%s,itemGUID=%s(!R*R+R tGetAuctionAttentionManagerR R'R/R0RRRDRzRfReR~R|RdRGRgRtitemsRQtGetNeedWorldNotifyR7t WorldNotifyR€R’tDR_AuctionHouseRRTRst__SyncRefreshAuctionItemt__NotifyAuctionPlayerAddItem(tauctionItemListt
curTimeStrRNRtnotifyWorldAddItemListR9R”RYt    itemCountRRR}tattentionPlayerIDt attentionListR‘((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyRšMsD                                   "    
 
cCs]tjƒ}|jjdtjdƒƒ|rY|jjdtjddƒƒi|_ndS(s± Ë¢ÐÂÈ«²¿ÅÄÆ·ÅÅÐò
        ºó¶ËÅÅÐò
        1.È«·þÅÄÆ·£º ÒòΪȫ·þÅÄÆ·ÊýÁ¿±È½Ï´ó£¬²ÉÓÃÖ»²éѯָ¶¨¸öÊýÅÄÆ·£¬ËùÒÔÖ»ÄÜÓɺó¶ËÅÅÐòºóͬ²½
        2.È«²¿ÅÄÆ·¾º¼Û½áÊøÊ±¼ä£ººó¶ËÐèÒª´¦Àí¾º¼Û½áÊø
        
        Ç°¶ËÅÅÐò£º
        1.¸öÈËÅÄÆ·£º¸öÊý½ÏÉÙ£¬È«²¿Í¬²½£¬ÓÉǰ¶Ë×Ô¼ºÅÅÐò
        2.ÏÉÃËÅÄÆ·£º¸öÊý½ÏÉÙ£¬È«²¿Í¬²½£¬ÓÉǰ¶Ë×Ô¼ºÅÅÐò
        3.¾º¼ÛÅÄÆ·£º¸öÊý½ÏÉÙ£¬È«²¿Í¬²½£¬ÓÉǰ¶Ë×Ô¼ºÕûºÏÅÅÐò£¬Çø·Ö×î¸ß¾º¼Û¡¢ÀúÊ·¾º¼Û
        4.¹Ø×¢ÅÄÆ·£º¸öÊý½ÏÉÙ£¬È«²¿Í¬²½£¬ÓÉǰ¶Ë×Ô¼ºÅÅÐò
        
        ´¥·¢ÅÅÐòʱ»ú£º
        1-ÉϼÜÐÂÈ«·þÅÄÆ·
        2-ÏÉÃËÅÄÆ·×ªÒÆÈ«·þÅÄÆ·£¬Ï൱ÓÚÉϼÜÐÂÈ«·þÅÄÆ·
        3-¾º¼ÛÅÄÆ·´¥·¢¼Óʱʱ£¬ÐèÒª¶Ô½áÊøÊ±¼äÖØÅÅ£¬¾º¼Û¼ÓʱµÄÖ»´¥·¢¼Óʱ£¬¶ÔÈ«·þÅÄÆ·µÄÅÅÐòûÓÐÓ°Ï죬¹Ê¿É²»ÖØÅÄÈ«·þÅÄÆ·
    tkeyRyRvR~N(R R Rdtsorttoperatort
attrgetterRgtworldAuctionItemQueryDict(tisSortWorldItemR((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyRs|s   c%Cs8|s
dStjƒ}g}xi|D]a}|s5q#n|j}|j}|j}|j}|j}    |j}
|j} d} |
rÑ| rÑd} | g} i|d6}i|d6|d6t    d6|j
d6g}t j d    |
g|| d
|ƒt |tƒ|    r|jrtj|jƒ}tjd d ƒ}tjd d ƒ}ttj| d|dƒƒ}ttj||dƒƒ}t|ƒ}t|ttj|d|ƒƒƒ}i|d6|d6|d6| d6|d6}||j| |||g} t j d|g| d|d
|dtjƒn¤|rÁtjd dƒ}ttj| d|dƒƒ}i|d6|d6|d6| d6}||j| ||g} t j d|gg| d|d
|dtjƒnt |tƒn‰|    ríd} t |tƒnmd} g} i|d6}i|d6|d6t    d6|j
d6g}t j d|g|| d
|ƒt |tƒit|ƒd6| d6|d6}t d d|ƒt"j#d|||    | ||f|ƒ|j$j%|d ƒ||j&kræ|j&j'|ƒn||j(kr|j(j'|ƒnx3|j)j*ƒD]"}||kr|j'|ƒqqW|    r|    |j+kr|j+|    }||kr|j'|ƒqnx3|j,j*ƒD]"}||kr|j'|ƒqqWx3|j-j*ƒD]"}||krÅ|j'|ƒqÅqÅW|r,||j.kr,|j.|}||kr,|j'|ƒq,nx3|j/j*ƒD]"}||kr<|j'|ƒq<q<Wt0j1ƒ}||_|j2|ƒq#W|s’dSt|ƒ} t0j3ƒ}!||!_4t|!j4ƒ|!_5t"j6ƒ}"x`t7|"j8ƒƒD]L}#|"j9|#ƒ}$|$d kr qänt:j;|$ƒr qänt<j=|$|!ƒqäW| S(!sB ½áÊøÅÄÆ·¾ºÅÄ
    @param delItemStateDict: É¾³ýµÄÅÄÆ·¾ºÅÄ״̬
    iRŽtOKR'R/R0tIsBindR1t PaimaiMail3tdetailtAuctionTaxrateiiidgY@gð?R-tFamilyPlayerIDListt PaimaiMail6tgoldt moneySourceit PaimaiMail5tRecycletReturnt PaimaiMail4R¡tEndTypetEndEventtEndAuctionItemsO½áÊø¾ºÅÄ: itemID=%s,itemCount=%s,familyID=%s,endType=%s,endEvent=%s,itemGUID=%sN(>R R R'R/R0RRRR-RUR1tPlayerCompensationt SendMailByKeyRAR RRaRbRDREtinttmathtceilRFRCR.tChConfigtDef_GiveMoney_AuctionGaintAuctionRecordResult_SellOKtAuctionRecordResult_RecycletAuctionRecordResult_SellFailR’R§RR*RTR“RRdR\RgR´tvaluesRhRkRlRiRtChPyNetSendPackttagGCClearAuctionItemRGttagGCClearAuctionItemInfotClearAuctionItemListt
ClearCountR5txrangetGetActivePlayerCounttGetActivePlayerAtR7R8t NetPackCommont SendFakePack(%RœtendEventRtclearAuctionItemListR9R”RYR­RRR;t bidderPricetendTypet    paramListR¹t addItemListtfamilyPlayerIDListttaxRatet personMaxRatet giveTotalGoldt giveMaxGoldtmemCounttgiveGoldAveragetgivePlayerGoldR‘t queryItemListRntnowBiddingItemListthisBiddingItemListtplayerItemListtattentionItemListt    clearItemt
clearCountt
clientPackt playerManagertitplayer((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyR™”sÄ                                    ( ! &)!" ( !                         cCs"|s dn    |jƒ}|\}}g}tjd||f|ƒtƒsj|rftj|dƒndS|dkr˜t|ƒ}|sŒdS|g}nI|dkr»|}t||ƒdS|dkr+|\}    }
t||    |
|t    ƒ\} } tj
d| | f|ƒ| rdS| sdS| g}n¶|dkr­|\}    }
t||    |
|t ƒ\} } | r©tj
d    | |ƒi|    d
6|
d 6| d 6} t |d | ƒndS|dkrÇt |ƒdS|dkrát|ƒdSt|||gƒ}|r|jddd|t|ƒƒndS(Nis-ÊÕµ½µØÍ¼ÅÄÂôÐÐÐÅÏ¢: queryType=%s,queryData=%stAuctionHouseClosetAddAuctionItemQuerytAddAuctionItemtBidAuctionItemQuerys    itemID=%s,errInfo=%stBidAuctionItems    errInfo=%sR't BiddingPricetErrInfotBidAuctionItemErrortClearAuctionItemtPrintAuctionItemRB(R R*tLogRR7t
NotifyCodet__CheckPlayerCanAddAuctionItemt__AddAuctionItemByListt__DoPlayerBidAuctionItemRURTRR§t__DoGMClearAuctionItemt__DoGMPrintAuctionItemRVtMapServer_QueryPlayerResultRF(R    tmsgListttickRt    queryTypet    queryDatatresulttcanSelltaddAuctionItemListR”t biddingPriceRYterrInfoR‘t    resultMsg((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytMapServer_AuctionHouseLogicsX                
 
"cCsi|jƒ}tjddƒ}|ret|ƒ}t|ƒ}||k}|satj|dƒn|StS(NRBitSellCountLimit(R RDRER–RFR7RÿRU(R    Rt maxSellCounttplayerAuctionItemListtplayerSellCountR ((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyR\s    c Csg}i}x¬|D]¤\}}}}| r9| r9qnt|||||ƒ}|s]qn|r|j|gƒ}    |    j|ƒ|    ||<q|j}
|j} |j|
| |gƒqW|sÇ|rã|gk} td| ƒnx*|jƒD]\}}    td||    ƒqðWt    |ƒdS(s3 ÅúÁ¿Ìí¼ÓÅÄÆ·
    @param curPlayer: ¿ÉÄÜΪNone
    RµN(
t__DoAddAuctionItemRRGR'R/RsR¤RRR©( R    R R¬tnotifyFamilyAddItemDictRRRátitemDataR9tfamilyAddItemListR”RYRµ((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyRis,            
cCsî|jddƒ}tjd|ƒ}|s.dS|jddƒ}tjƒ}||_||_||_||_|jddƒ|_    t
j ƒ|_ |jddƒ|_ |jddƒ|_|jd    dƒ|_|jd
dƒ|_t|jƒ|_t|ƒ|_t|jƒ|_t|ƒs+dStjƒ}    ||    j|j<|    jj|ƒ|r˜t|_|    jj|gƒ}
|
j|ƒ|
|    j|<nøt|_|    j j|ƒ|rÿ|    j!j|gƒ} | j|ƒ| |    j!|<|rÿt"||ƒqÿntj#ƒ} xT|    j$j%ƒD]C\} }|t&| | ƒkrBqn||kr|j|ƒqqW|j'ƒrt(j)dd ||j*ƒgƒnit+|ƒd 6}t,|d |ƒt
j-d|||f|ƒt
j-dt|    jƒƒ|S(NR/iRuRRŽt    ItemCounttItemTypet ItemJobLimitt ItemClassLVR1R R¡Rös$ÉϼÜÅÄÆ·: playerID=%s,familyID=%s,%ss¸üÐÂÅÄÆ·Êý: %s(.RRDRzR%ttagDBAuctionItemR'RRR/R0R*R+R~RRRR1RFR2RVRtFamilyPlayerIDLenRcR R R“RdRGRReRhRfRgRiRR£RR¤RQR¥R7R¦R€R’R§RT(R    RRRáRRYR}R”R9RRntmyAuctionItemListRNR®R¯R‘((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyRsd                                 "c CsR|s
dStjƒ}tjƒ}x)t|jƒƒD]}|j|ƒ}|dkr\q5ntj    |ƒrqq5nt
||j ƒƒ}|s’q5nd}x„|D]|\}}}    |    |j ƒkrÆqŸn||krØqŸn|sít j ƒ}nt jƒ}
||
_||
_|jj|
ƒqŸW|r5t|jƒ|_tj||ƒq5q5WdS(N(R R£R*R5RÖR×RØRR7R8RQR RÑttagGCAddAuctionItemInfottagGCAddAuctionItemR'R/tAddAuctionItemListRGRFtAddCountRÙRÚ( R¬RNRñRòRótplayerAttentionIDListtinfoPackR”RYRtitemInfo((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyR©Ís:             c#CsKd}d}t|ƒ}|s>tj|dƒd}||fS|j}tjd|ƒ}|sod}||fS|jƒ}    |j}
|j} t    j
|
ƒ} t t j ƒƒ} | | d}|j ƒ}||krt    jd|||
f|    ƒd    }||fS| tkrh|j}|jƒ}| s5||krht    jd
||||f|    ƒd }||fSn| |jkr¤t    jd |||
f|    ƒd }||fS|js¹|jƒn|j|jƒ}|jƒ}|sä|n t||ƒ}||kp|o||ksDtj|dƒd|||||f}||fS|r¥|j}|r‰||dkr‰tj|dƒd}||fS|    |_||_||fS|j|    krÔtj|dƒd}||fS|j}|j}|j}|oþ||k}tjƒ}|j}|j}|rœ|rœi|d6|d6|d6}|r‰||g}t j!d|gg|d|d|dt"j#ƒn=|||g}t j!d|gg|d|d|dt"j#ƒt$|t%ƒt&}|j'|gƒ}||kr|j(|ƒ|||<t)}n|j'|gƒ} || krU| j*|ƒ| ||<t)}n|rœt    j+ƒj,|ƒ}!|!r™tj-|!ƒ r™t.|!|ƒq™qœnd|_d|_/t    j0ƒ|_1|    |_|j2ƒ|_3||_t&}|j'|    gƒ}||kr"|j*|ƒ|||    <t)}n|j'|    gƒ} || kr`| j(|ƒ| ||    <t)}n|rvt.||ƒnt4|    ƒ|j5kr³|j5d|    7_5t6|j5ƒ|_7nt    j8d||||||j5f|    ƒ|rõt9|gdƒnLt:|ƒrt;dt&ƒnit<|ƒd 6}"t=|d!|"ƒt>|gƒ||fS("sš Íæ¼Ò¾º¼ÛÎïÆ·
    @param curPlayer: ¾º¼ÛµÄÍæ¼Ò
    @param itemGUID: ÅÄÆ·GUID
    @param biddingPrice: ¾º¼Û
    @param isOnlyCheck: ÊÇ·ñ½ö¼ì²é¿É·ñ¾º¼Û
    RŽitPaimai3snot auctionItemRus not ipyDatai<s5ÅÄÆ·ÉÐ먦·Å¾º¼Û! itemGUID=%s,itemID=%s,addTimeStr=%ssin notice timesc¸ÃÅÄÆ·ÎªÏÉÃË˽ÓÐÅÄÆ·£¬·Ç±¾ÏÉÃËÈËÔ±²»¿É¾ºÅÄ! itemGUID=%s,itemID=%s,itemFamilyID=%s,playerFamilyID=%ssis family auction items3ÅÄÆ·ÒѽáÊø¾º¼Û! itemGUID=%s,itemID=%s,addTimeStr=%ssend bidtPaimai2sRbid price error! biddingPrice=%s,nextPrice=%s,buyoutPrice=%s,itemGUID=%s,itemID=%si'tPaimai1sother player biddingsbidding player errorR/R'R0t PaimaiMail2R½R¹R¾t PaimaiMail1s%s|sbÍæ¼Ò¾º¼ÛÅÄÆ·: itemGUID=%s,itemID=%s,isBuyout=%s,lastBidderID=%s,lastBidderPrice=%s,bidderIDInfo=%stBuyoutRµR¡Rø(?R•R7RÿR/RDRzR R~ReR*RRÈttimeR€tErrLogRRRRyR-t GetBasePricet GetBiddingAddtGetBuyoutPriceRCRxRwRR0R R RkRlRÆRÇRËtDef_GiveMoney_AuctionBidReturnRAR!RRR\RURGR5R6R8Rt BiddingTickR+RŠtGetNameR.RVRjRFt BidderIDLenRTR™R„RsR’R§R¨(#R    R”R Rt isOnlyCheckRRYR9R}RR…R†R‡R›t passMinutesRˆt itemFamilyIDtplayerFamilyIDt    nextPricet buyoutPricet    queryTickt lastBidderIDtlastBidderPriceR­tisBuyoutRRkRlR¹RßtisSyncBiddingItemtnowBiddingAuctionItemListthisBiddingAuctionItemListt
lastBidderR‘((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyRïsî 
    
           
           
( 
    
        
 
                          
      
                      
      
           cCsg}xc|D][}tjƒ}|j|_|j|_|j|_|j|_|j|_|j|ƒq W|svdStjƒ}||_    t
|j    ƒ|_ t j ƒ}x`t|jƒƒD]L}|j|ƒ}|dkrãq¼ntj|ƒrøq¼ntj||ƒq¼WdS(st // B5 08 ÅÄÂôÐÐË¢ÐÂÅÄÆ· #tagGCRefreshAuctionItemInfo
        1-ÏÉÃËÅÄÆ·×ªÒƵ½È«·þʱ֪ͨ£» 2-ÅÄÆ·ÓÐÈ˾º¼ÛʱˢÐÂ
    N(RÑttagGCRefreshAuctionItemR'ReR~RR-RGttagGCRefreshAuctionItemInfotRefreshAuctionItemListRFt RefreshCountR*R5RÖR×RØRR7R8RÙRÚ(RªtrefreshAuctionItemListR9t refreshItemRðRñRòRó((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyR¨‰s.              cCsŠ|jƒdkrdStjƒj}|s?tj|dƒdSg}x|D]}|j|ƒqLWt|dƒ}tj|d|ƒdS(NiZs µ±Ç°Ã»ÓÐÅÄÆ·!tGMClears Çå¿ÕÅÄÆ·Êý=%s(t
GetGMLevelR R RdR*t DebugAnswerRGR™(R    RdRœR9Rï((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyRªs c Cså|jƒdkrdStjƒ}|j}tjdt|ƒƒx7t|ƒD])\}}tjd|t|ƒfƒqOWtjdt|j    ƒƒtjdt|j
ƒƒx:|j j ƒD])\}}tjd|t|ƒfƒqÀWx:|j j ƒD])\}}tjd|t|ƒfƒqýWx:|jj ƒD])\}}    tjd|t|    ƒfƒq:Wx:|jj ƒD])\}}
tjd    |t|
ƒfƒqwWx:|jj ƒD])\}} tjd
|t| ƒfƒq´WdS( NiZsTimeList×ÜÅÄÆ·Êý: =%ss     i=%s, %ssAllDict×ÜÅÄÆ·Êý: =%ssÈ«·þÅÄÆ·¸öÊý: =%ssÏÉÃËÅÄÆ·¸öÊý: familyID=%s, %ssÍæ¼ÒÅÄÆ·¸öÊý: playerID=%s, %ss%Íæ¼Ò×î¸ß¾º¼ÛÅÄÆ·¸öÊý: playerID=%s, %ss%Íæ¼ÒÀúÊ·¾º¼ÛÅÄÆ·¸öÊý: playerID=%s, %ss!Íæ¼Ò¹Ø×¢ÅÄÆ·¸öÊý: playerID=%s, %s(RKR R RdR*RTRFt    enumerateR’R“RgRhR¤RiRkRlR( R    RRdRòR9RRnRRoRêRëRí((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyR¼s(     !!!!!!c     Cswtjƒj|ƒ}|j}|j}|j}|j}|j}|j}    |j    }
t
|||||||    |
ƒdS(N( R*R5tGetPlayerByIndextJobt ItemTypeListtClassLVtSpecItemIDListt FromItemGUIDtQueryDirt
QueryCountt"__Sync_WorldAuctionItemQueryResult( tindext
clientDataRR    tjobt itemTypeListtclassLVtspecItemIDListt fromItemGUIDtqueryDirt
queryCount((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytOnQueryAuctionItemés                            cCs>tjƒj|ƒ}|j}d}t|d|d|ƒdS(NiR]R^(R*R5RNR'RV(RWRXRR    t tagItemGUIDR^((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytOnQueryTagAuctionItemýs
    RŽi
cCs#d}|rFt|ƒ}|sFtjd|ƒtj|dƒdSn|t|ƒ|t|ƒf}    tjƒ}
|
j    } |    | kr%g} xŠ|
j
D]} |r¶| j |kr¶q•n|rÑ| j |krÑq•n|rì| j |krìq•n|r| j|krq•n| j| ƒq•W| | |    <n
| |    } t| ƒ}d}|rŠ|| krxtjd|ƒtj|dƒdS| j|ƒ}n|dkrÇtd||dƒ}| ||d!}|}n(| |||!}td|||ƒ}tjƒ}||_||_t|jƒ|_||_||_t|jƒ|_||_||_||_||_g|_ xŠ|D]‚}tj!ƒ}|j"|_"|j#|_#|j|_|j$|_%|j&|_&|j'|_'|j(|_(|j)|_)|j j|ƒqwWt|j ƒ|_*t+j,||ƒdS(Ns%²éѯµÄÄ¿±êÅÄÆ·²»´æÔÚ! fromItemGUID=%stPaimai5is5²éѯµÄÄ¿±êÅÄÆ·²»ÔÚËùÔڵĹýÂ˵ÄÌõ¼þÀï! fromItemGUID=%sii(-RR•R*RTR7RÿttupleR R R´RgRRRR/RGRFR.RWtmaxRÑttagGCAuctionItemInfoRORPt ItemTypeCountRQRRtSpecItemIDCountRSRTRUtQueryRemainlCounttAuctionItemListttagGCAuctionItemR'RR0RR~R-R1R2tAuctionItemCountRÙRÚ(R    RYRZR[R\R]R^R_tfromAuctionItemtqueryKeyRR´tauctionItemQueryListtworldAuctionItemtqueryTotalCountt    fromIndext
startIndext syncItemListtqueryRemainlCountRðR9R&((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyRVs€        
                                                      cCs;tjƒj|ƒ}|j}t||d|jƒƒdS(N(R*R5RNR(R4RR(RWRXRR    R>((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytOnQueryAuctionRecordYs    cCstjƒj|ƒ}|jƒ}tjƒ}|j}||krO||}njg}tjƒ}t||ƒ}    |    r¹x3|j    D](}
|
j
|    kr›q€n|j |
ƒq€W|||<nt j ƒ} g| _xŠ|D]‚} t jƒ} | j| _| j| _| j
| _
| j| _| j| _| j| _| j| _| j| _| jj | ƒqÕWt| jƒ| _tj|| ƒdS(N(R*R5RNR R R RR£RQRgR/RGRÑttagGCAttentionAuctionItemInfoRjttagGCAttentionAuctionItemR'RR0RR~R-R1R2RFRlRÙRÚ(RWRXRR    RRRRíRNRPR9Rðt attentionItemtitemObj((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytOnQueryAttentionAuctionItemes>                         c    Cs¤tjƒj|ƒ}|jƒ}|j}|j}tjƒ}|r^t|||ƒstdSnt    |||ƒstdSt
|t ƒtj ƒ}|j j|dƒdS(N(R*R5RNR R/t IsAttentionR R£R[R]RRUR RRR(    RWRXRR    RRYt isAttentionRNR((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pytOnAttentionAuctionItemChange‘s            cCs.|s
dS|st|ƒ}n|s)dStjƒ}g|_x®|D]¦}tjƒ}|j|_|j|_|j|_|j|_    |j
|_
|j |_ |j |_ |j |_ |j|_|j|_|j|_|jj|ƒqEWt|jƒ|_|rtj||ƒntj||ƒdS(N(R—RÑttagGCFamilyAuctionItemInfoRjttagGCFamilyAuctionItemR'RR/R0RR~R-R1R2RRReRGRFRlRÙRÚt PlayerFamilytSendFamilyFakePack(R    Rt itemInfoListt itemInfoPackR9tpackItem((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyR¥s6                  cCsö|r|g}nt|jƒƒ}|s.dStjƒ}g|_xŠ|D]‚}tjƒ}|j|_|j|_|j|_|j    |_
|j |_ |j |_ |j |_ |j|_|jj|ƒqJWt|jƒ|_tj||ƒdS(N(R–R RÑttagGCPlayerAuctionItemInfoRjttagGCPlayerAuctionItemR'RR/R0RR~R-R1R2RGRFRlRÙRÚ(R    R9RtR„R…((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyRÉs*                cCsº|tkr6|r6|r!|gnt|jƒƒ}nj|tkrf|rf|rW|gn    t|ƒ}n:|tkrœ|rœ|r‡|gnt|jƒƒ}ndStjƒ}g|_    x®|D]¦}tj
ƒ}|j |_ |j |_ |j |_ |j|_|j|_|j|_|j|_|j|_|j|_|j|_|j|_|j    j|ƒq¼Wt|j    ƒ|_|r‘tj||ƒn%|r¶|tkr¶tj||ƒndS(N(R$RR R#RR"RRÑttagGCPlayerAuctionRecordInfotAuctionRecordListttagGCPlayerAuctionRecordR'RR(R)R,R-R.R/R0RR1R2RGRFRÙRÚRR‚(R    R>R?RtsyncRecordListRðt
recordDatatrecord((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyR4ås:$$                  c    Cs<|r|g}nL|jƒ}tjƒ}|jj|gƒ}|jj|gƒ}||}|shdStjƒ}g|_x–|D]Ž}tj    ƒ}|j
|_
|j |_ |j |_ |j |_|j|_|j|_|j|_|j|_|j|_|jj|ƒq„Wt|jƒ|_tj||ƒdS(N(R R R RkRRlRÑttagGCBiddingItemInfoRjttagGCBiddingItemR'RR/R0RR~RR-R1R2RGRFRlRÙRÚ(    R    R9RtRRRARBR„R…((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyRs4   
                cCsntjƒ}t||jƒƒ}| r3| r3dStjƒ}||_t|jƒ|_t    j
||ƒdS(N( R R£RQR RÑttagGCAttentionAuctionItemIDRMRFtAttentionCountRÙRÚ(R    tisForceRNRPRð((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyR*s      cCso|s dn    |jƒ}|s$dn    |jƒ}i|d6|d6|d6}|j|ƒtjd||ƒdS(NRŽit    EventNameRtAccIDRB(tGetAccIDR tupdatetDataRecordPackt SendEventPack(R    t    eventNameR‘taccIDRtdataDict((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyR§6s  (PR*R R7R—R%RÆRÑRDRÙRRRËR²R-RÉRatrangetAuctionRecordTypeListR$R#R"tAuctionRecordResultListRÏRÍRÎR R!tAuctionRecordResult_MoveToWorldRfRRR
RRRRRAR3RQR[R]R_RSRrRtRRcR|R„R’R•R–R—RŸRšRURsR™RRRRR©RR¨RRR`RbRVRvR{R~RRR4RRRR§(((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\AuctionHouse.pyt<module>s„                
"                            0                             #                                          /     ‹    =         $    @    "    š    !        -        U         ,     $ # "