Size: a a a

2021 June 29

RS

Ricky Spanish in pro.jvm
А есть у кого ссылка на чатик по k8s?
источник

DV

Darth Vader in pro.jvm
источник

RS

Ricky Spanish in pro.jvm
Спасибо
источник
2021 June 30

EA

Evil Arthas in pro.jvm
У меня есть сущность Заказ, у нее есть список Элементов заказа:
Элемент магазина
Количество

У Элемента магазина есть свои поля:
Товар
Количество

Заказать товаров больше чем хранится в магазине нельзя, и после заказа число в магазине должно умеьшится.

Т.е. непосредственно перед отправкой данных в БД нужно проверить количество элементов заказа и магазина, в одной транзакции.

Есть идеи как это сделать лучше всего?
источник

ch

central hardware in pro.jvm
после заказа число в магазине должно умеьшится.

если у вас где то физически этот остаток хранится то на него можно повесить констрейн, если будет меньше 0 то транзакция завершиться неудачей
источник

EA

Evil Arthas in pro.jvm
констрейн?
источник

EA

Evil Arthas in pro.jvm
Это при генерации БД?
источник

m

meier in pro.jvm
сделать так, чтобы заказать можно было, а зарезервировать нельзя
источник

E

Etki in pro.jvm
Констрейнт будет выкидывать эксепшн, который для конечного пользователя превратится в "приложение совершило ошибку", а не внятное описание что он пытается заказать больше чем есть.
источник

EA

Evil Arthas in pro.jvm
Так можно повесить трай кетч и в кетче возвращать внятное описание
источник

AE

Alexandr Emelyanov in pro.jvm
Который будет выкинут на этапе фиксации транзакции... А потом ещё обернут в общее исключение spring data и ловить его станет проблематично
источник

SG

Sergei Getmanenko in pro.jvm
Так в кетче можно прокинуть кастомное исключение и хендлером его обработать
источник

ch

central hardware in pro.jvm
ошибка на констрейнте это исключительная ситуация которая в идеале не дожна произойти, само собой проверка дожна быть вообще до начала транзакции
источник

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶... in pro.jvm
"до начала транзакции" - сомнительная идея. Проверка должна быть в той же транзакции
источник

ch

central hardware in pro.jvm
предлагаете забить на UI и делать абсолютно все проверки после отправки запроса и открытие транзакции?
источник

EA

Evil Arthas in pro.jvm
Во время оформления заказа и непосредственно до начала транзакции у пользователя могут находится разные данные о количестве элементов в магазине
источник

EA

Evil Arthas in pro.jvm
потому что запрос ответ это нихера не реактивная обработка
источник

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶... in pro.jvm
Если в ui нужно отображать актуальные остатки в реальном времени, то это совсем другая проблема.
источник

EA

Evil Arthas in pro.jvm
и все же да
источник

EA

Evil Arthas in pro.jvm
нужно
источник