unknown
2022-08-18 bc6204f30deb7518b6f4738e3c842598cd040545
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
B
mÑýbcã@s$ddlZddlZddlZddlZddlZddlZddlZe ¡Zdd„Z    dd„Z
dd„Z dd    „Z d
d „Z d d „Zd5dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd6d$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Zd0d1„Z e!d2kr ed3d4ƒZ"e#e"ƒdS)7éNcCsžtj |¡}g}x\|D]T}|ddkr|ddkr|d d¡d}| d¡dkr| d¡dkr| |¡qWt ¡}| d    ¡x|D]}|     d    |¡q†WdS)
NZsec_typeéZ    sec_levelÚsymbolÚ.Ú30rZ68Úgp_list)
ÚjuejinÚ JueJinManagerZget_gp_latest_infoÚsplitÚfindÚappendÚ__redisManagerÚgetRedisÚdeleteÚsadd)ÚgpsetZ
code_datasÚcodesÚ_dataÚcodeÚredis_instanceÚd©rú$D:\workspace\trade\gpcode_manager.pyÚ set_gp_list s 
 
 
rcCsdt ¡}| d¡x|D]}| dt |¡¡qW| dt ¡¡|     dt ¡t
t   ¡dƒ¡dS)NÚgp_limit_up_listÚgp_limit_up_list_update_timeiè) r r rrÚjsonÚdumpsÚexpireÚtoolÚ
get_expireÚsetexÚroundÚtime)rrrrrrÚset_limit_up_list s 
 
r#cCst ¡}| d¡| d¡fS)Nrr)r r ÚgetÚsmembers)rrrrÚget_limit_up_list,sr&cCst ¡}| d|¡dS)Nr)r r Úsrem)rrrrrÚrm_gp1sr(cCst ¡}| d|¡S)Nr)r r Ú    sismember)rrrrrÚ is_in_gp_pool6sr*cCst ¡}| d¡S)Nr)r r r%)rrrrÚ get_gp_list;sr+cCsf|dkrtƒ}g}xN|D]F}|dd…dkr>| d |¡¡q|dd…dkr| d |¡¡qW|S)NréZ00zSZSE.{}Z60zSHSE.{})r+r Úformat)ÚdataÚlistrrrrÚget_gp_list_with_prefix@s
r0cCsVt ¡}| d |¡¡}|dk    r(t|ƒSt |¡| d |¡¡}|dk    rRt|ƒSdS)Nz price-pre-{})r r r$r-ÚfloatrÚ set_price_pre)rrÚresultrrrÚ get_price_preMs
r4cCs(t ¡}| d |¡t ¡t|ƒ¡dS)Nz price-pre-{})r r r r-rrÚstr)rÚpricerrrrr2[sr2cCs2t|ƒ}|dkrdSt t t|ƒ¡t d¡¡S)Nz1.1)r4rÚto_priceÚdecimalÚDecimalr5)rr6rrrÚget_limit_up_priceasr:cCs2t|ƒ}|dkrdSt t t|ƒ¡t d¡¡S)Nz0.9)r4rr7r8r9r5)rr6rrrÚget_limit_down_priceisr;cCs,t ¡}| d |¡¡}|dk    r(t|ƒSdS)Nzprice-{})r r r$r-r1)rrr3rrrÚ    get_priceqs
r<cCs$t ¡}| d |¡t ¡|¡dS)Nzprice-{})r r r r-rr)rr6rrrrÚ    set_pricezsr=cCsRt ¡}| d¡}tƒ}x4|D],}| |¡}|dk    rt|ƒdkr| |¡qW|S)Nzlisten_code-*-*r)r r ÚkeysÚsetr$ÚlenÚadd)rr>rÚkrrrrÚget_listen_codes€s
 
 
rCcCs"t ¡}d ||¡}| |¡}|S)Nzlisten_code-{}-{})r r r-r$)Ú    client_idÚposrÚkeyÚvaluerrrÚget_listen_code_by_posŒs 
rHcCs&t ¡}| d ||¡t ¡|¡dS)Nzlisten_code-{}-{})r r r r-rr)rDrErrrrrÚset_listen_code_by_pos–srIcCs4t ¡}d ||¡}| |d¡| |t ¡¡dS)Nzlisten_code-{}-{}Ú)r r r-Úsetnxrrr)rDrErrFrrrÚinit_listen_code_by_posœs  rLc     Csþg}|dkrt ¡}n
| |¡xØ|D]Ð}t ¡}d |¡}| |¡}g}xR|D]J}| |¡}|dksrt|ƒdkrŒ|t    | 
d |¡d¡ƒfS| ||f¡qPWt ƒ}d}    xL|D]D}
|    d}    |  |
d¡t|ƒ|    kr®|t    |
d 
d |¡d¡ƒfSq®Wq&WdS)Nrzlisten_code-{}-*zlisten_code-{}-rJr)NN) Ú data_processÚgetValidClientsr r r r-r>r$r@ÚintÚreplacer?rA) rDÚ
client_idsrrBr>rrFr3Z    codes_setÚcountrrrrÚget_can_listen_pos¤s,
 
 
 
 
 
 
 
 &rScCsZt ¡}| d¡}xB|D]:}| |¡}|dk    r||kr| d¡d| d¡dfSqWdS)Nzlisten_code-*-*ú-rr,)NN)r r r>r$r    )rrr>rFr3rrrÚget_listen_code_posÅs
 
 
 rUcCstƒ}| |¡S)N)rCÚ __contains__)rrrrrÚ    is_listenÐsrWcCstƒ}t|ƒdkS)Né)rCr@)rrrrÚis_listen_fullÖsrYcCst ¡}| d |¡¡dk    S)Nz gp_operate-{})r r r$r-)rrrrrÚ
is_operateÜsrZcCs t ¡}| d |¡dd¡dS)Nz gp_operate-{}éÚ1)r r r r-)rrrrrÚ set_operateâsr]cCst ¡}| d |¡¡dS)Nz gp_operate-{})r r rr-)rrrrrÚ
rm_operateèsr^Ú__main__r,é)N)r)$rr"Ú redis_managerrrrMr8Ú RedisManagerr rr#r&r(r*r+r0r4r2r:r;r<r=rCrHrIrLrSrUrWrYrZr]r^Ú__name__rÚprintrrrrÚ<module>sD 
     
 
!