Administrator
2024-05-08 c3454cb0dedd0c5da09aef3a3e3d1b64d387583e
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
B
H3ýe×ã@s¾dZddlZddlmZddlmZddlmZddl    m
Z
ddl Z e  d¡Z dZGdd„dƒZd    d
„ZGd d „d ƒZiZd d„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„ZdS)u
股票代码管理器
éN)ÚHistoryKDatasUtils)Úredis_manager_delegate)Ú
RedisUtils)Útoolc@sÆeZdZdZe d¡ZgZedd„ƒZ    edd„ƒZ
edd„ƒZ edd    „ƒZ ed
d „ƒZ ed d „ƒZedd„ƒZedd„ƒZedd„ƒZedd„ƒZedd„ƒZedd„ƒZedd„ƒZedd„ƒZdS)ÚCodesNameManagerrcCs
|j ¡S)N)Ú redisManagerÚgetRedis)Úcls©r
ú8D:\workspace\trade_sell\code_atrribute\gpcode_manager.pyZ __get_redisszCodesNameManager.__get_rediscCs\i}| ¡}|dk    r.x|D]}||||<qW| ¡}|dk    rXx|D]}||||<qDW|S)N)Úlist_first_code_name_dictÚlist_second_code_name_dict)r    Zdict_ÚvalÚkr
r
r Úlist_code_name_dicts
 
z$CodesNameManager.list_code_name_dictcCs*t | ¡d¡}|dk    r&t |¡}|SdS)NÚgp_list_names_first)rÚgetÚ_CodesNameManager__get_redisÚjsonÚloads)r    rr
r
r r &s
 
z*CodesNameManager.list_first_code_name_dictcCs*t | ¡d¡}|dk    r&t |¡}|SdS)Nr)rrrrr)r    rr
r
r Úlist_first_code_name_dict_cache.s
 
z0CodesNameManager.list_first_code_name_dict_cachecCsDt | ¡d¡}|sdSt |¡}x|D]}|||kr(|Sq(WdS)Nr)rrrrr)r    Úcoderrr
r
r Úget_first_code_name6s
 
 z$CodesNameManager.get_first_code_namecCs,t | ¡d¡}|sdSt |¡}| |¡S)Nr)rrrrr)r    Únamerr
r
r Úget_first_name_codeAs
 
z$CodesNameManager.get_first_name_codecCs8t | ¡d¡}|sdSt |¡}|||<| |¡dS)Nr)rrrrrÚset_first_code_names)r    rrrr
r
r Úadd_first_code_nameIs 
z$CodesNameManager.add_first_code_namecCst |jdt |¡¡dS)Nr)rZ    set_asyncÚ_CodesNameManager__dbrÚdumps)r    Údatasr
r
r rSsz%CodesNameManager.set_first_code_namescCst | ¡d¡dS)Nr)rÚdeleter)r    r
r
r Úclear_first_code_namesXsz'CodesNameManager.clear_first_code_namescCs*t | ¡d¡}|dk    r&t |¡}|SdS)NÚ gp_list_names)rrrrr)r    rr
r
r r \s
 
z+CodesNameManager.list_second_code_name_dictcCsDt | ¡d¡}|sdSt |¡}x|D]}|||kr(|Sq(WdS)Nr")rrrrr)r    rrrr
r
r Úget_second_code_nameds
 
 z%CodesNameManager.get_second_code_namecCs,t | ¡d¡}|sdSt |¡}| |¡S)Nr")rrrrr)r    rrr
r
r Úget_second_name_codens
 
z%CodesNameManager.get_second_name_codecCst | ¡dt |¡¡dS)Nr")rÚsetrrr)r    rr
r
r Úset_second_code_nameswsz&CodesNameManager.set_second_code_namescCst | ¡d¡dS)Nr")rr r)r    r
r
r Úclear_second_code_names|sz(CodesNameManager.clear_second_code_namesN)Ú__name__Ú
__module__Ú __qualname__rÚ redis_managerÚ RedisManagerrZ,_CodesNameManager__gp_list_names_first_cacheÚ classmethodrrr rrrrrr!r r#r$r&r'r
r
r
r rs"
 
 
     rcCst t ¡d¡}|S)NZgp_list)rZsmembersÚ__redisManagerr)Úcodesr
r
r Úget_second_gp_list‚sr0c@s@eZdZiZe d¡Zedd„ƒZedd„ƒZ    ed
dd„ƒZ
d    S) ÚCodePrePriceManagerrcCs,t |j ¡d |¡¡}|dk    r(t|ƒSdS)Nz price-pre-{})rrÚ"_CodePrePriceManager__redisManagerrÚformatÚfloat)r    rÚresultr
r
r Ú get_price_preŒsz!CodePrePriceManager.get_price_precCs4||jkrt|j|ƒS| |¡}|r0||j|<|S)N)Ú%_CodePrePriceManager__price_pre_cacher4r6)r    rrr
r
r Úget_price_pre_cache”s 
 
 
z'CodePrePriceManager.get_price_pre_cacheFcCs6t |j ¡d |¡t ¡t|ƒ¡t|ƒ|j    |<dS)Nz price-pre-{})
rZsetexr2rr3rÚ
get_expireÚstrr4r7)r    rÚpriceÚforcer
r
r Ú set_price_prežs$z!CodePrePriceManager.set_price_preN)F) r(r)r*r7r+r,r2r-r6r8r=r
r
r
r r1‡s 
 
r1cCsP|tkrt|St |¡}|dkr&dSt t t|ƒ¡t d¡¡}|t|<|S)Nz1.1)Ú__limit_up_price_dictr1r8rÚto_priceÚdecimalÚDecimalr:)rr;Úlimit_up_pricer
r
r Úget_limit_up_price¨s
rCcCst |¡}|S)N)r1r8)rr;r
r
r r8´s
r8cCstj||dddS)NT)r<)r1r=)rr;r
r
r r=¹sr=cCs6t |d¡}x$|D]}t|dt|ddƒƒqWdS)Nzpre_close,sec_idZsec_idZ    pre_closeé)rZget_gp_latest_infor=Úround)r/Z    k_resultsZkrr
r
r Úrequest_price_pre½s 
rFcCs|tkrt|SdS)N)r>)rr
r
r Úget_limit_up_price_cacheÃsrGcCs*|dkr dSt t t|ƒ¡t d¡¡S)Nz1.1)rr?r@rAr:)r;r
r
r Úget_limit_up_price_by_prepriceÉsrHcCs*|dkr dSt t t|ƒ¡t d¡¡S)Nz0.9)rr?r@rAr:)r;r
r
r Ú get_limit_down_price_by_prepriceÏsrIcCs4t |¡}|dkrdSt t t|ƒ¡t d¡¡S)Nz0.9)r1r8rr?r@rAr:)rr;r
r
r Úget_limit_down_priceÖs
rJ)Ú__doc__rÚ"code_atrribute.history_k_data_utilrÚdbrr+Zdb.redis_manager_delegaterÚutilsrr@r,r.Z__dbrr0r1r>rCr8r=rFrGrHrIrJr
r
r
r Ú<module>s(    
r