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
DSÜ_c@skddlTddlmZddlmZddlZddlZddlZddlZddlZddl    m
Z
ddl m Z ddl TddlmZmZddlmZd    „Zed
ƒdad „Zd „Zd „Zd„Zd„Zd„Zd„Zddd„ƒYZddd„ƒYZd„Zd„Z d„Z!ddd„Z"d„Z#dS(iÿÿÿÿ(t*(tGlobalFunctions(tGMCommonN(tfix_incomingText(tDataServerPlayerData(t
CommFuncExtmylog(t
MMORPGPackc    Csôtjƒ}xátjd||fƒD]Æ\}}}x´|D]¬}tjj||ƒ}|j|dƒ}|dt|ƒ!}|jdƒdkr—q<n|j    dƒ}|d}|d}|d
krÌq<n|jd    dƒ}t
|ƒq<Wq&WdS( Ns%s\%stit__init__is.tpyctpys\(R
spy( Rt
getAppPathtostwalktpathtjointreplacetlentfindtsplitt
__import__(    t    importDirtcurPathtroottdirstfilestfiletfileNamet curFileListtext((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pytImportCommandAll3s ) 
 
 sGMToolLogicProcess\Commandsc Cs»tjdƒtjƒ}|j|jƒƒ|j}|j}|j}|j    }|j
}|j }tjd||fƒd}yÜt |ƒ}    |    j tjdƒ}|dkrÆt||    tjƒdSt|    ƒ}
|
ikrõt||    tjƒdStƒ} |
| _|| _|| _|| _tj|ƒ| _|    | _tƒj|| ƒ| j ƒWnLt!k
r©tjdt"j#ƒƒtƒj$|ƒt||tj%ƒdSXtjdƒdS(Ns%ProjSpecialProcess OnGMToolCommand INsGM Tool Cmd->%s,orderId->%sRsGM cmd error - > %ss'ProjSpecialProcess OnGMToolCommand Done(&RtinfotRecvPackProtocolt tagGMCommandtReadDatat    getBuffertOrderLentOrderIdtCmdLentCmdt UserDataLentUserDatatevaltgetRtDef_GMKey_TypetNonetGMCommandResultt Def_GMCmdNonetChangeEncodIngtDef_EncodeFailt GMCmdMangert    gmCmdDicttfuncNametorderIdtuserDatatcopytdeepcopytpacktgmCmdDictUnEncodet GetGMOrderMgrtAddCmdt GMToolCommandt BaseExceptiont    tracebackt
format_exctPopCmdtDef_GMDBEntranceFail( R:trecvPacktorderLenR6tcmdLentcmdt
uerDataLenR7R5R4tcmdDictt gmCmdManger((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pytOnGMToolCommandPsJ                                                        cCs#tjƒ}|j|jƒƒ|S(N(tSendPackProtocolttagGMCommandResultR#t    GetBuffer(R:tsendpack((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pytOnGMToolCommandResult–s cCsatjdƒtjƒ}|j|jƒƒ|j}|j}|j}|j    }tjdƒdS(Ns-ProjSpecialProcess OnGMToolCmdSysDBRequest INs/ProjSpecialProcess OnGMToolCmdSysDBRequest Done(
RR R!ttagGMCommandDBRequestR#R$R%R&tDataLentData(tsysdbR:RDR%R&RRRS((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pytOnGMToolCmdSysDBRequest§s                   c    Cs‰tjdƒtjƒ}|j|jƒƒ|j}|j}|j}|j    }t
ƒ}|j |ƒ}|j ||ƒtjdƒdS(Ns-ProjSpecialProcess OnGMToolCmdLogDBRequest INs/ProjSpecialProcess OnGMToolCmdLogDBRequest Done( RR R!RQR#R$R%R&RRRSR<tGetCmdtLogDBRequestResponse(    tlogdbR:RDR%R&RRRSt gmCmdOrderMgrt    cmdManger((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pytOnGMToolCmdLogDBRequestÁs                       c CsÁtjdƒtjƒ}|j|jƒƒ|j}|j}|j}|j    }t
ƒ}|j |ƒ}t ||ƒ\}    }
|    t jkr |j|    |
ƒdS|j||ƒtjdƒdS(Ns.ProjSpecialProcess OnGMToolCmdUserDBRequest INs0ProjSpecialProcess OnGMToolCmdUserDBRequest Done(RR R!RQR#R$R%R&RRRSR<RVtUpdatePackDataRtDef_ResultTypeMaxtGMCmdExecuteResulttUserDBRequestResponse( tuserdbR:RDR%R&RRRSRYRZtexecTypetexecInfo((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pytOnGMToolCmdUserDBRequestÜs                        c Csz|jd krm|j}|jddƒ}|jdƒ}|sLtjdfSg}|jtjdƒ}|tjkrƒtjdfS|jtj    dƒ}x|D]}d}|tj
krãtj |it |ƒd6dd6ƒ}n8|tj krtj |it |ƒd    6dd6ƒ}n|dkr>tjd
t|ƒfS|t}tjƒ}    d|    _|    j|it |ƒd    6|    jd6ƒ}
|
s£tjd
t|ƒfS|j|    jƒqŸWt|ƒ|jd <tjƒ} t|jƒ| _t| jƒ| _t|jƒ| _t| jƒ| _t|j ƒ| _!t| j!ƒ| _"t#j$ƒ} | j%| j&ƒƒ| |_'ntjdfS( NtGMT_AddPersonalCompensationtGMT_CompensationQueryPersonalt
playerListRs,t
PlayerNameit    IsDeletedtAccIDs%s can not found!t PlayerIDList(RdRe((R5R4R,RRt Def_ParamErrtDef_GMKey_QueryTypetDef_GMKey_FamilyIDtDef_SendToGameServertDef_GMKey_PlayerFindtDef_GMKey_PlayerNametGetPlayerAccIDRtDef_GMKey_PlayerAccIDt    Def_NoTagtstrt UCN_DBPlayerRt tagDBPlayerRht
adoLoadCExtappendtPlayerIDR;R!R"R6R&RR%R(R'R7R*R)Rt MMORPGPackett    setBufferRNR:( R`RJR4Rft playerIDListt    queryTypet
playerFindt playerAccIDt
collectiontdbPlayertloadOKt
updatePackt
mmoRPGPack((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR\ùsN       )) 
        cCsatjdƒtjƒ}|j|jƒƒ|j}|j}|j}|j    }tjdƒdS(Ns4ProjSpecialProcess OnGMToolCmdLogicProcessRequest INs6ProjSpecialProcess OnGMToolCmdLogicProcessRequest Done(
RR R!RQR#R$R%R&RRRS(R:RDR%R&RRRS((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pytOnGMToolCmdLogicProcessRequest=s                   R3cBs>eZd„Zd„Zd„Zd„Zd„Zd„ZRS(cCs|jƒdS(N(tClear(tself((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR    Ys
cCs:i|_d|_d|_d|_d|_i|_dS(NRi(R4R5R6R.R7R:R;(R‡((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR†as                        cCscttd|jdfƒ}tj}d}|dkrO||jƒ\}}n|j||ƒdS(Ns%s.%stOnExecR(t GetExecFunctCommandsR5RRnR.R4R^(R‡tcallFuncRaRb((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR>ms      cCsittd|jdfƒ}tj}d}|dkrU||||jƒ\}}n|j||ƒdS(Ns%s.%st LogDBResponseR(R‰RŠR5RR0R.R4R^(R‡RXtdataR‹RaRb((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyRW}s      cCsittd|jdfƒ}tj}d}|dkrU||||jƒ\}}n|j||ƒdS(Ns%s.%stUserDBResponseR(R‰RŠR5RR0R.R4R^(R‡R`RR‹RaRb((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR_s      cCsÜ|tjkr=ttjt|jƒ|jt|ƒ|ƒn›|tjkrzttjt|jƒ|jt|ƒ|ƒn^|tj    kr¬t
|j ƒt ƒj |jƒn,t ƒj |jƒt|j|j||ƒdS(N(RtDef_DoQueryLogDBt SendDBRequestt CommonDefinetgstGMToolCmdLogDBRequestRR6tDef_DoQueryUserDBtgstGMToolCmdUserDBRequestRntSendGMToolCommandToGameServerR:R<RBR/R5(R‡RaRb((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR^s    %    % (t__name__t
__module__R    R†R>RWR_R^(((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR3Ts                      t GMCmdOrderMgrcBs,eZd„Zd„Zd„Zd„ZRS(cCs i|_dS(N(t_GMCmdOrderMgr__CmdOrderdict(R‡((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR    ºs    cCsD||jjƒkr3tjd||jfƒtS||j|<tS(Ns(orderId = %s already exists,New cmd = %d(R™tkeysRtwarningR5tFalsetTrue(R‡R6RZ((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR=Ãs
 cCs|jj|dƒS(N(R™tpopR.(R‡R6((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyRBÐscCs|jj|dƒS(N(R™R,R.(R‡R6((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyRV×s(R–R—R    R=RBRV(((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR˜µs                 cCstdkrtStƒatS(N(t_GMCmdOrderMgrR.R˜(((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR<Ýs     cCsb|jdƒ}t|ƒdkr%dSx6|D].}t||ƒtkrKdSt||ƒ}q,W|S(Ns.i(RRR.thasattrRtgetattr(t
curCallObjtcallNametcallListt curCallName((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pytParseNameGetObjës cCs9t||ƒ}|dkrdSt|ƒtkr5dS|S(N(R¦R.tcallableR(R¢R£((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR‰þs  RcCsyi|tj6|tj6|tj6}tj|dtƒ}tjd|ƒt    t
|ƒ|t
|ƒ|t
|ƒ|ƒdS(Nt ensure_asciis gm result:%s( RR-tDef_GMKey_ResultTypetDef_GMKey_ResultMsgtjsontdumpsRœRR tSendToGMToolCommandResultR(R6tgmCmdt
resultTypetstrMsgtuseDatat
resultDcitt    resultMsg((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR/s 
 +cCsÑi}|jddƒ}|dkr(|Sx¢|jƒD]”\}}t|tƒsVq5nyG|jddƒ}|jddƒ}td|ƒ}|j|ƒ}Wntjdt    |ƒƒ|SX|||<q5W|S(    NtcodingRs
s`rs's\'su'%s's translateStr error! srcStr = %s (
R,titemst
isinstanceRtRR+tencodeRR trepr(R4RIR´tkeytvaluet translateStr((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR1!s" ((($tGMToolPyInterfacetDBCommonRRŠRR8R R@R«t MangoDBCommonRt CollectionsRtCollections.CollectionDefinetCommonRRtProtocolRRR.RŸRKRPRUR[RcR\R…R3R˜R<R¦R‰R/R1(((s\E:\SnxxServerCode\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyt<module>s:
 
        
    F                    D    a(