xdh
2019-02-21 92eee67f85cbd29feb1287ae5a15ad0c787e95cb
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
¡®~[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
R ( Rt
getAppPathtostwalktpathtjointreplacetlentfindtsplitt
__import__(    t    importDirtcurPathtroottdirstfilestfiletfileNamet curFileListtext((sL.\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((sL.\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pytOnGMToolCommandPsJ                                                        cCs#tjƒ}|j|jƒƒ|S(N(tSendPackProtocolttagGMCommandResultR#t    GetBuffer(R:tsendpack((sL.\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((sL.\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((sL.\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((sL.\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pytOnGMToolCmdUserDBRequestÜs                        c Cs^|jdkrQ|j}|jddƒ}|jdƒ}|sLtjdfSg}|jtjdƒ}|jtjdƒ}x|D]}d}|tjkrÇtj    |it
|ƒd6dd6ƒ}n8|tj krÿtj    |it
|ƒd6dd6ƒ}n|dkr"tj d    t |ƒfS|t}tjƒ}    d|    _|    j|it
|ƒd6|    jd6ƒ}
|
s‡tj d    t |ƒfS|j|    jƒqƒWt |ƒ|jd
<tjƒ} t |jƒ| _t| jƒ| _t |jƒ| _t| jƒ| _t |jƒ| _t| jƒ| _ t!j"ƒ} | j#| j$ƒƒ| |_%ntj&dfS( NtGMT_AddPersonalCompensationt
playerListRs,t
PlayerNameit    IsDeletedtAccIDs%s can not found!t PlayerIDList('R5R4R,RRt Def_ParamErrtDef_GMKey_QueryTypetDef_GMKey_PlayerFindtDef_GMKey_PlayerNametGetPlayerAccIDRtDef_GMKey_PlayerAccIDt    Def_NoTagtstrt UCN_DBPlayerRt tagDBPlayerRgt
adoLoadCExtappendtPlayerIDR;R!R"R6R&RR%R(R'R7R*R)Rt MMORPGPackett    setBufferRNR:tDef_SendToGameServer( R`RJR4Ret playerIDListt    queryTypet
playerFindt playerAccIDt
collectiontdbPlayertloadOKt
updatePackt
mmoRPGPack((sL.\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR\ùsJ      )) 
        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((sL.\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pytOnGMToolCmdLogicProcessRequest9s                   R3cBs>eZd„Zd„Zd„Zd„Zd„Zd„ZRS(cCs|jƒdS(N(tClear(tself((sL.\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR    Us
cCs:i|_d|_d|_d|_d|_i|_dS(NRi(R4R5R6R.R7R:R;(R…((sL.\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR„]s                        cCscttd|jdfƒ}tj}d}|dkrO||jƒ\}}n|j||ƒdS(Ns%s.%stOnExecR(t GetExecFunctCommandsR5RRyR.R4R^(R…tcallFuncRaRb((sL.\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR>is      cCsittd|jdfƒ}tj}d}|dkrU||||jƒ\}}n|j||ƒdS(Ns%s.%st LogDBResponseR(R‡RˆR5RR0R.R4R^(R…RXtdataR‰RaRb((sL.\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyRWys      cCsittd|jdfƒ}tj}d}|dkrU||||jƒ\}}n|j||ƒdS(Ns%s.%stUserDBResponseR(R‡RˆR5RR0R.R4R^(R…R`R‹R‰RaRb((sL.\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_DoQueryUserDBtgstGMToolCmdUserDBRequestRytSendGMToolCommandToGameServerR:R<RBR/R5(R…RaRb((sL.\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR^™s    %    % (t__name__t
__module__R    R„R>RWR_R^(((sL.\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR3Ps                      t GMCmdOrderMgrcBs,eZd„Zd„Zd„Zd„ZRS(cCs i|_dS(N(t_GMCmdOrderMgr__CmdOrderdict(R…((sL.\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((sL.\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR=¿s
 cCs|jj|dƒS(N(R—tpopR.(R…R6((sL.\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyRBÌscCs|jj|dƒS(N(R—R,R.(R…R6((sL.\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyRVÓs(R”R•R    R=RBRV(((sL.\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR–±s                 cCstdkrtStƒatS(N(t_GMCmdOrderMgrR.R–(((sL.\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((sL.\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pytParseNameGetObjçs cCs9t||ƒ}|dkrdSt|ƒtkr5dS|S(N(R¤R.tcallableR›(R R¡((sL.\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((sL.\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
isinstanceRqRR+tencodeRR trepr(R4RIR²tkeytvaluet translateStr((sL.\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyR1s" ((($tGMToolPyInterfacetDBCommonRRˆRR8R R@R©t MangoDBCommonRt CollectionsRtCollections.CollectionDefinetCommonRRtProtocolRRR.RRKRPRUR[RcR\RƒR3R–R<R¤R‡R/R1(((sL.\ServerPython\db\PyMongoDataServer\GMToolLogicProcess\ProjSpecialProcess.pyt<module>s:
 
        
    F                    @    a(