admin
2025-06-04 287c506725b2d970f721f80169f83c2418cb0991
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
B
ÙÕd•9ã@s dZddlZddlZddlmZddlmZddlmZm    Z    ddl
m Z Gdd„dƒZ Gd    d
„d
ƒZ Gd d „d ƒZGd d„dƒZedkrœe  dd¡ZeeƒdS)u
华兴交易记录
éN)Ú
RedisUtils)Útool)Ú
mysql_dataÚ redis_manager)ÚHistoryKDatasUtilsc@s(eZdZedd„ƒZegfdd„ƒZdS)ÚDelegateRecordManagerc
Csnt ¡}z\|rdxN|D]D}| d|d›d¡}|sÖt |dg¡}| |d¡}| d|d|d||d|d|d|d    |d
|d |d |d |d|d|d|d|dt ¡t ¡|df¡qi}|d|dkrö|d|d<|d|d
kr|d
|d
<|d|d kr2|d |d <|dt    |d ƒkrT|d |d <|d|dkrr|d|d<|dt
|dƒkr”|d|d<|dt
|dƒkr¶|d|d<|d|dkrÔ|d|d<|rt ¡|d<g}xT|D]L}    t ||    ƒt    kr |  |    ›d||    ›d¡n|  |    ›d||    ›¡qîW| dd   |¡›d!|d"›d¡qWWdXdS)#Nz;select * from hx_trade_delegate_record where orderLocalID='Ú orderLocalIDú'Ú
securityIDz‹insert into hx_trade_delegate_record values('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')Ú    directionÚ
orderSysIDÚ
insertTimeÚ
insertDateÚ
acceptTimeÚ
cancelTimeÚ
limitPriceÚturnoverÚvolumeÚ volumeTradedÚ orderStatusÚorderSubmitStatusÚ    statusMsgÚ    accountIDéééé
é é ééÚ
updateTimez='ú=z$update hx_trade_delegate_record set ú,z where orderLocalID='r)rÚMysqldbÚ
select_onerZget_gp_codes_namesÚgetÚexecuterÚget_now_datetime_strÚstrÚintÚtypeÚappendÚjoin)
ÚclsÚdatasÚmysqldbÚdÚresultZnameDictÚnameÚ
updateDictÚ
where_listÚk©r7úED:\workspace\GP\gp_middle_server\utils\huaxin_trade_record_manager.pyÚaddsV         
&zDelegateRecordManager.addcCsVt ¡}zDd|›dg}|r0| d|›d¡|rZd dd„|Dƒ¡}| d|›d¡| d    d
 |¡›d ¡}d d dddddddddddddddddg}g}    d}
|r8xŒ|D]„} |
sÀ| d}
| d|
krÔ| d}
i} xPtt| ƒƒD]@} t| | ƒtjkr| |      d ¡| || <qæ| | | || <qæW|     | ¡q°W|    |
rJ|
     d ¡ndfSXdS)!Nzr.insertDate='r    zupdateTime > 'z or cSsg|]}d|›‘qS)zorderStatus = r7)Ú.0r6r7r7r8ú
<listcomp>Psz5DelegateRecordManager.list_by_day.<locals>.<listcomp>ú(ú)z/select * from hx_trade_delegate_record r where z and z order by createTimerr
Ú securityNamer r r rrrrrrrrrrÚ
createTimer!réz%Y-%m-%d %H:%M:%S)
rr$r,r-Ú
select_allÚrangeÚlenr+ÚdatetimeÚstrftime)r.ÚdayZmin_update_timerr0r5ÚssÚresultsÚkey_listÚfresultsZmax_update_timeÚrÚtempÚir7r7r8Ú list_by_dayHs: 
 z!DelegateRecordManager.list_by_dayN)Ú__name__Ú
__module__Ú __qualname__Ú classmethodr9rNr7r7r7r8rs 5rc@s^eZdZe d¡Zedd„ƒZedd„ƒZedd„ƒZ    edd    „ƒZ
ed
d „ƒZ ed d „ƒZ dS)ÚPositionManagerécCs
|j ¡S)N)Ú_PositionManager__redisManagerÚgetRedis)r.r7r7r8Z __get_redisqszPositionManager.__get_rediscCs$t | ¡d|›t ¡|›¡dS)NÚavailable_position_)rÚsetexÚ_PositionManager__get_redisrÚ
get_expire)r.Úcoderr7r7r8Z__save_code_volumevsz"PositionManager.__save_code_volumecCs&t | ¡d|›¡}|sdSt|ƒS)NrWr)rr&rYr*)r.r[Úvalr7r7r8Úget_code_volumezszPositionManager.get_code_volumec
Cspt ¡}z^|rfi}x@|D]8}|d|kr8d||d<||d|d||d<qWx|D]}| |||¡q^Wxì|D]â}|d›d|d›d|d›}| d|›d¡}|s@| d    ||d|d|d
|d|d |d |d |d|d|d|d|d|d|d|d|d|dt ¡t ¡f¡q~i}|d|d krb|d |d <|d|d kr€|d |d <|d|d krž|d |d <|d|dkr¼|d|d<|d|d›krÜ|d|d<|d|d›krü|d|d<|d|dkr|d|d<|d|dkr8|d|d<|d|dkrV|d|d<|d |d›krv|d|d<|d!|d›kr–|d|d<|d"|d›kr¶|d|d<|d#|d›krÖ|d|d<|r~t ¡|d$<g}    xT|D]L}t||ƒtkr"|         |›d%||›d¡n|         |›d&||›¡qðW| d'd( 
|    ¡›d)|d›d¡q~WWdXdS)*Nr
rÚavailablePositionÚ
investorIDú-Ú
tradingDayz*select * from hx_trade_position where id='r    z‰insert into hx_trade_position values('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')r>Ú
historyPosÚhistoryPosFrozenÚ
todayBSPosÚtodayBSPosFrozenÚhistoryPosPriceÚ totalPosCostÚ prePositionÚcurrentPositionÚ openPosCostÚtodayCommissionÚtodayTotalBuyAmountÚtodayTotalSellAmountéérré    ré rrrr ér@r!z='r"zupdate hx_trade_position set r#z  where id=') rr$Ú"_PositionManager__save_code_volumer%r'rr(r+r)r,r-)
r.r/r0Z volume_dictr1r6Ú_idr2r4r5r7r7r8r9s|
   
               
&zPositionManager.addc    CsÄt ¡}z´| d|›d¡}ddddddd    d
d d d ddddddddg}g}|rºxj|D]b}i}xNtt|ƒƒD]>}t||ƒtjkr˜|| d¡|||<qj|||||<qjW| |¡qTW|SXdS)Nz6select * from hx_trade_position r where r.tradingDay='z'  order by createTimeÚidr_r>r
rbrcrdrerfrgrhr^rirjrkrlrmr?r!z%Y-%m-%d %H:%M:%S)    rr$rArBrCr+rDrEr,)    r.rFr0rHrIrJrKrLrMr7r7r8rNËs( 
 
 
zPositionManager.list_by_daycCst ¡}| d|›d¡dS)Nz@select currentPosition from hx_trade_position where securityID='r    )rr$r%)r.r[r0r7r7r8Úget_volume_by_codeæsz"PositionManager.get_volume_by_codeN) rOrPrQrÚ RedisManagerrUrRrYrsr]r9rNrvr7r7r7r8rSns
    J rSc@s$eZdZedd„ƒZedd„ƒZdS)ÚDealRecordManagercCs¨t ¡}z˜|ržxŽ|D]†}| d|d›d¡}|s| d|d|d|d|d|dt|d    d
ƒ|d |d |d |d|d|dt ¡t ¡f¡qWWdXdS)Nz2select * from hx_trade_deal_record where tradeID='ÚtradeIDr    zninsert into hx_trade_deal_record values('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')r
rr r ÚpricerTÚ    tradeTimerÚ    tradeDateraÚpbuIDr)rr$r%r'Úroundrr()r.r/r0r1r2r7r7r8r9îs 
zDealRecordManager.addc    Csºt ¡}zª| d|›d¡}ddddddd    d
d d d dddg}g}|r°xj|D]b}i}xNtt|ƒƒD]>}t||ƒtjkrŽ|| d¡|||<q`|||||<q`W| |¡qJW|SXgS)Nz8select * from hx_trade_deal_record r where r.tradeDate='z' order by createTimeryr
rr r rzr{rr|rar}rr?r!z%Y-%m-%d %H:%M:%S)    rr$rArBrCr+rDrEr,)    r.rFr0rHrIrJrKrLrMr7r7r8rNs( 
 
zDealRecordManager.list_by_dayN)rOrPrQrRr9rNr7r7r7r8rxís rxc@s:eZdZe d¡Zedd„ƒZedd„ƒZedd„ƒZ    dS)    Ú MoneyManagerrTcCs
|j ¡S)N)Ú_MoneyManager__redisManangerrV)r.r7r7r8Ú    get_redis#szMoneyManager.get_rediscCs"t | ¡dt ¡t |¡¡dS)NÚ huaxin_money)rrXrrrZÚjsonÚdumps)r.Údatar7r7r8Ú    save_data'szMoneyManager.save_datacCs"t | ¡d¡}|sdSt |¡S)Nr‚)rr&rrƒÚloads)r.r\r7r7r8Úget_data+szMoneyManager.get_dataN)
rOrPrQrrwr€rRrr†rˆr7r7r7r8r s
  rÚ__main__Z20230704z
1970-01-01)Ú__doc__rDrƒÚdb.redis_managerrÚutilsrÚdbrrÚutils.history_k_data_utilrrrSrxrrOrNrHÚprintr7r7r7r8Ú<module>s   \3