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
47
48
49
50
51
52
53
54
55
B
pïbcã@s
ddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
e  ¡Z dd„Z dd„Zdd„Zdd    „Zd
d „Zd d „Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Ze d(kre!ed)ƒƒdS)*éNcCsÄy”| ¡‚}d|›d|›d|d›d|d›d|d›d|d›d|d    ›d|d
›d|d ›d |d ›d}t|ƒ| |¡| ¡WdQRXWn*tk
r¾}z | ¡Wdd}~XYnXdS)Nzinsert into level2_data(day,code,time,price,num,limit_price,operate_type,cancel_time,cancel_time_unit, md5,create_time) values ('z','ÚtimeÚpricez',Únumú,Z
limitPriceZ operateTypeZ
cancelTimeZcancelTimeUnitz,'Úmd5z',now()))ÚcursorÚprintÚexecuteÚcommitÚ    ExceptionÚrollback)ÚdayÚcodeÚitemÚconnrÚsqlÚe©rú"D:\workspace\trade\data_process.pyÚ_mysql_insert_datas
b
rc
CsvyF| ¡4}d |d|d¡}t|ƒ| |¡| ¡WdQRXWn*tk
rp}z | ¡Wdd}~XYnXdS)Nz@update level2_data set re = {}, update_time=now() where md5='{}'Úrer)rÚformatrr    r
r r )rrrrrrrrÚ_mysql_update_datas
 
rcCst |¡}|S)N)ÚjsonÚloads)ÚstrÚdictrrrÚparse*s
rcCs
t |¡S)N)rÚdumps)Ú_dictrrrÚtoJson/sr cCst |¡}|dS)NÚtype)rr)rrrrrÚ    parseType3s
r"cCst |¡}|d}|S)NÚdata)rr)rrr#rrrÚ parseGPCode8s
r$cCs&t |¡}|d}|dk    r|SgSdS)Nr#)rr)rrr#rrrÚ    parseList>s
 
r%cCst |¡}|d}|S)Nr#)rr)rrr#rrrÚ    parseDataGs
r&cCs*t |¡}|d}|d}|d}||fS)Nr#r)rr)rrr#rZ
trade_datarrrÚparseL2TradeQueueDataMs
 
r'cCspt |¡}t t t|ƒ¡t d¡¡}t t t|ƒ¡t d¡¡}|t t|ƒ¡krd|krlnndSdS)Nz1.1z0.9TF)Úgpcode_managerZ get_price_preÚtoolZto_priceÚdecimalZDecimalr)rrZ price_closeZ    max_priceZ    min_pricerrrÚis_same_code_with_priceUs 
"r+cCs.t ¡}t |¡}d |¡}| |d|¡dS)Nztrade-queue-{}é)Ú redisManagerÚgetRedisrrrÚsetex)rr#ÚredisÚdata_strÚkeyrrrÚsaveL2TradeQueueData`s
 
r3cCs>t ¡}d |¡}| |¡}|dks0t|ƒdkr4dSt |¡S)Nztrade-queue-{}r)r-r.rÚgetÚlenrr)rr0r2r1rrrÚgetL2TradeQueueDatais 
 
r6cCs|g}tƒ}x|D]}| |d¡qWx|D]}| d|i¡q,Wt dd|i¡}d}x|D]}|d}Pq\Wtd|ƒ|S)NrZ
first_codez ths-industryz$orÚ_idu!最终的二级行业名称为:)ÚsetÚaddÚappendÚ
mongo_dataÚfindr)ÚdatasZorsZcodesr#rÚresultZ_fnameÚarrrÚ _getIndustryrs
 
 
 
r@cCs†x€|D]x}t|ƒ}g}xZ|D]R}d|di}||d<|d|d<|d|d<ttt ¡dƒƒ|d<| |¡qWt d|¡qWdS)    Nr7rZsecond_industryÚzyltgbÚ zyltgb_unitièÚ update_timezths-industry-codes)r@ÚintÚroundÚtrr:r;Úsave)Ú    datasListr=Z industry_nameÚ_listr#rrrrÚsaveIndustryCode„s
 
   rJcCsfg}xP|D]H}|d|d|dttt ¡dƒƒdœ}t|dƒdkr
| |¡q
Wt d|¡dS)NrrArBiè)r7rArBrCrzths-zylt)rDrErFrÚfloatr:r;rG)rHrIr#rrrrÚ
saveZYLTSZ•s
rLcCs,|dkr dSt ¡}| d |¡d|¡dS)Nrzclient-active-{}é
)r-r.r/r)Ú    client_idÚhostr0rrrÚsaveClientActive srPcCs@t ¡}| d¡}g}x$|D]}| d¡d}| |¡qW|S)Nzclient-active-*zclient-active-é)r-r.ÚkeysÚsplitr:)r0rRZ
client_idsÚkr7rrrÚgetValidClients§s
 
rUcCst ¡}| d |¡¡S)Nzclient-active-{})r-r.r4r)rNr0rrrÚgetActiveClientIP±srVcCsbt ¡}xT|D]L}d |¡}| |t ¡||d¡d |¡}| |t ¡||d¡qWdS)Nz volumn-max-{}Z
max_volumnzvolumn-latest-{}Z latest_volumn)r-r.rr/r)Z
get_expire)r=r0r2rTrrrÚsaveCodeVolumn·s 
 
 
rWÚ__main__é)"r*rrrFÚrandomÚdatetimeZmysqlÚ redis_managerr(r;r)Ú RedisManagerr-rrrr r"r$r%r&r'r+r3r6r@rJrLrPrUrVrWÚ__name__rrrrrÚ<module>s>