2222 SUBSCRIPTION_TRADE_ORDER
2323from tigeropen .common .consts .push_types import RequestType , ResponseType
2424from tigeropen .common .consts .quote_keys import QuoteChangeKey , QuoteKeyType
25+ from tigeropen .common .util .string_utils import camel_to_underline
2526from tigeropen .common .util .common_utils import get_enum_value
2627from tigeropen .common .util .order_utils import get_order_status
2728from tigeropen .common .util .signature_utils import sign_with_rsa
@@ -155,7 +156,7 @@ def on_message(self, headers, body):
155156 symbol_focus_keys = data .get ('symbolFocusKeys' )
156157 focus_keys = dict ()
157158 for sym , keys in symbol_focus_keys .items ():
158- keys = set (QUOTE_KEYS_MAPPINGS .get (key , key ) for key in keys )
159+ keys = set (QUOTE_KEYS_MAPPINGS .get (key , camel_to_underline ( key ) ) for key in keys )
159160 focus_keys [sym ] = list (keys )
160161 self .subscribed_symbols (symbols , focus_keys , limit , used )
161162 elif response_type == str (ResponseType .GET_QUOTE_CHANGE_END .value ):
@@ -165,7 +166,7 @@ def on_message(self, headers, body):
165166 if 'hourTradingLatestPrice' in data :
166167 hour_trading = True
167168 if 'symbol' in data :
168- symbol = data .get ('symbol' )
169+ symbol = data .pop ('symbol' , None )
169170 offset = data .get ('offset' , 0 )
170171 items = []
171172 # 期货行情推送的价格都乘了 10 的 offset 次方变成了整数, 需要除回去变为正常单位的价格
@@ -185,42 +186,50 @@ def on_message(self, headers, body):
185186 minute_item [m_key ] = m_value
186187 value = minute_item
187188 items .append ((key , value ))
189+ else :
190+ items .append ((camel_to_underline (key ), value ))
188191 else :
189192 for key , value in data .items ():
190193 if key == 'latestTime' or key == 'hourTradingLatestTime' :
191194 continue
192195 if key in QUOTE_KEYS_MAPPINGS :
193196 key = QUOTE_KEYS_MAPPINGS .get (key )
194197 items .append ((key , value ))
198+ else :
199+ items .append ((camel_to_underline (key ), value ))
195200 if items :
196201 self .quote_changed (symbol , items , hour_trading )
197202 elif response_type == str (ResponseType .SUBSCRIBE_ASSET .value ):
198203 if self .asset_changed :
199204 data = json .loads (body )
200205 if 'account' in data :
201- account = data .get ('account' )
206+ account = data .pop ('account' , None )
202207 items = []
203208 for key , value in data .items ():
204209 if key in ASSET_KEYS_MAPPINGS :
205210 items .append ((ASSET_KEYS_MAPPINGS .get (key ), value ))
211+ else :
212+ items .append ((camel_to_underline (key ), value ))
206213 if items :
207214 self .asset_changed (account , items )
208215 elif response_type == str (ResponseType .SUBSCRIBE_POSITION .value ):
209216 if self .position_changed :
210217 data = json .loads (body )
211218 if 'account' in data :
212- account = data .get ('account' )
219+ account = data .pop ('account' , None )
213220 items = []
214221 for key , value in data .items ():
215222 if key in POSITION_KEYS_MAPPINGS :
216223 items .append ((POSITION_KEYS_MAPPINGS .get (key ), value ))
224+ else :
225+ items .append ((camel_to_underline (key ), value ))
217226 if items :
218227 self .position_changed (account , items )
219228 elif response_type == str (ResponseType .SUBSCRIBE_ORDER_STATUS .value ):
220229 if self .order_changed :
221230 data = json .loads (body )
222231 if 'account' in data :
223- account = data .get ('account' )
232+ account = data .pop ('account' , None )
224233 items = []
225234 for key , value in data .items ():
226235 if key in ORDER_KEYS_MAPPINGS :
@@ -230,6 +239,8 @@ def on_message(self, headers, body):
230239 if value == OrderStatus .HELD and data .get ('filledQuantity' ):
231240 value = OrderStatus .PARTIALLY_FILLED
232241 items .append ((ORDER_KEYS_MAPPINGS .get (key ), value ))
242+ else :
243+ items .append ((camel_to_underline (key ), value ))
233244 if items :
234245 self .order_changed (account , items )
235246 elif response_type == str (ResponseType .GET_SUBSCRIBE_END .value ):
0 commit comments