invest-openapi icon indicating copy to clipboard operation
invest-openapi copied to clipboard

Нет явного признака завершения операции (Operation)

Open Freeongoo opened this issue 3 years ago • 6 comments

Обрабатывая успешно выполненную историческую операцию я использую статус: OperationStatus.DONE, предполагая, что операция успешно завершилась.

Но я использую историческую операцию для того, чтобы получить информацию о том, по какой цене куплено/продано (поле price), так вот тут ожидала подстава.

Оказывается, что статус операции OperationStatus.DONE не говорит о том, что будет указано поле Operation.price и часто получаю операцию, где Operation.price == 0.

Насколько я понял, что сначала создается операция со статусом OperationStatus.DONE, потом начинается обновление результирующей цены Operation.price.

Я это все к тому, что нету в Operation никакого признака говорящего о том, что именно эта запись в операции полностью заполнена и что теперь можно считывать значение поля price.

Freeongoo avatar Aug 16 '21 07:08 Freeongoo

как насчет OperationStatus.DONE && Operation.price != 0 ?

eav avatar Aug 16 '21 12:08 eav

@eav так и делаю) но это явно костыль и неочевидное поведение.

Думаю нужна доработка:

  • либо добавить еще один флаг Operation.isCompleted = true/false
  • либо выставлять OperationStatus.DONE только тогда, когда заполнено и поле price

Freeongoo avatar Aug 16 '21 13:08 Freeongoo

Ты еще не понял, что здесь везде костыль на костыле, вся надежда не вторую версию.

eav avatar Aug 16 '21 13:08 eav

+1

Wolfer avatar Aug 17 '21 09:08 Wolfer

Список операций в терминале точно так же себя ведёт, если внимание не обращали.

lolpoi avatar Aug 26 '21 06:08 lolpoi

Я вам больше скажу, бывает поле price заполнено ценой последней операции. Т.е. если недельку назад покупали по 15.45, например, а сегодня цена 16.70, то может быть сюрприз в операциях.

tomsan1987 avatar Oct 15 '21 10:10 tomsan1987