Как-то я и ранее не замечал очистки поля trans_id в вечерний клиринг.
| Цитата |
|---|
VPM написал: либо при принудительном разрыве и реконнекте сессии брокером |
Но этого достаточно, чтобы сказать, что данный подход не надёжен.
Я уже говорил ранее, что trans_id - это внутренний ключ и поэтому и использование его как сквозной опасна.
Вы отправляете транзакцию и генерируете trans_id. Это первый ключ для дальнейшей фильтрации.
Далее читаете ответ транзакции по trans_id и ждёте появления записи в таблице ордеров с этим trans_id.
Как только получили оную, то уже переходите на реальный, постоянный ключ - order_num, trans_id уже не используете.
Т.к. есть ключ order_num, то все последующие действия будете проводить уже с ним - проверка состояния ордера, прошедшие сделки. Т.о. вы запоминаете свои ордера, а не свои транзакции. Это существенное отличие.
Тем более что если ордер устанавливается с переносом через сутки. Или стоп-ордера на длительный период. Важен номер ордера, а не с каким внутренним ключём вчера отправили транзакцию.