создает заказ по содержимому корзины
Берет айтемы из корзины, удаляет связи айтемов с корзиной, создает заказ и связывает его с айтемами.
Может ли быть ситуация, когда на этапе "берет айтемы из корзины, удаляет связи с корзиной" айтемы взяли 2 разных потока и в итоге получится 2 заказа вместо одного? Если такое возможно, то как решить это?
@Transactional self in current thread Промокай тестами в чем проблема? Вообще решение убогое, корзина должна быть отдельной сущностью в базе уже с ордером, и уже на этапе заказа, когда статус pending от банка просто менять статус ордера
Обсуждают сегодня