Size: a a a

2021 June 30

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶... in pro.jvm
Lazy
источник

ДК

Дмитрий Карманов... in pro.jvm
Есть ConditionalOnBean ещё ж
источник

AK

Andrey Karepin in pro.jvm
о, спасибо
источник

AE

Alexandr Emelyanov in pro.jvm
А, точно, увидел. Тогда хз как костылить)

SPRING_PROFILES_ACTIVE вроде же тоже только бут
источник

AE

Alexandr Emelyanov in pro.jvm
Плохо. Сервис не должен оперировать какими либо веб субъектами, поэтому использовать ResponseEntity в сервисе не айс. А вдруг этот же период будет выдаваться из jms/Kafka?
источник

AE

Alexandr Emelyanov in pro.jvm
А это имхо дорого
источник

AE

Alexandr Emelyanov in pro.jvm
Вот мы на нем кстати
источник

AE

Alexandr Emelyanov in pro.jvm
Да, при том дороже будет повернуть все ещё раз по каждому ролбэку
источник

EA

Evil Arthas in pro.jvm
Пиздец помогите
источник

EA

Evil Arthas in pro.jvm
Ща
источник

D

DOCDOCTOR in pro.jvm
интересное начало
источник

EA

Evil Arthas in pro.jvm
Да ебать его рот я ахуеваю
источник

EA

Evil Arthas in pro.jvm
Вызываю это:

        _log.accept("Before start transaction");

       try (var transaction = persistence.createTransaction()) {
           var em = persistence.getEntityManager();

           order.getItems().forEach(this::updateOrderItem);

           _log.accept("After update order items -> store items -> count");

           var invalid = order.getItems().stream()
               .anyMatch((orderItem) -> orderItem.getCount() > orderItem.getStoreItem().getCount());

           if (invalid) {
               result = new Response<>(order, Response.Status.CONFLICT);
           } else {
               order.getItems().forEach(this::subtractStoreItemsCount);

               _log.accept("After subtract store items count's / Before commit");

               transaction.commit();
               result = new Response<>(order, Response.Status.OK);
           }
       }


Вот функции:
private void updateOrderItem(OrderItem orderItem) {
   var em = persistence.getEntityManager();
   var storeItem = orderItem.getStoreItem();
   var query = em.createQuery("select e.count from practice_StoreItem e where e.id = :id");
   query.setParameter("id", storeItem.getId());
   storeItem.setCount((Integer) query.getSingleResult());
}

private void subtractStoreItemsCount(OrderItem orderItem) {
   var storeItem = orderItem.getStoreItem();
   storeItem.setCount(storeItem.getCount() - orderItem.getCount());
}


вот что выдает в логи:

Before start transaction:
com.company.practice.entity.Order-7cf2d5e4-0a0b-73b6-93e1-5963a0a785bd [new]
com.company.practice.entity.OrderItem-482c6a01-3f6e-00f8-56ea-5f528ca5189d [new]
com.company.practice.entity.StoreItem-31966be6-34cc-0700-aa92-5425a621c5ea [detached]

After update order items -> store items -> count:
com.company.practice.entity.Order-7cf2d5e4-0a0b-73b6-93e1-5963a0a785bd [new]
com.company.practice.entity.OrderItem-482c6a01-3f6e-00f8-56ea-5f528ca5189d [new]
com.company.practice.entity.StoreItem-31966be6-34cc-0700-aa92-5425a621c5ea [detached]

After subtract store items count's / Before commit:
com.company.practice.entity.Order-7cf2d5e4-0a0b-73b6-93e1-5963a0a785bd [new]
com.company.practice.entity.OrderItem-482c6a01-3f6e-00f8-56ea-5f528ca5189d [new]
com.company.practice.entity.StoreItem-31966be6-34cc-0700-aa92-5425a621c5ea [detached]
источник

EA

Evil Arthas in pro.jvm
Проблема в том, что эта хуйня какого то хуя обновляет сохраняет данные, хотя я этого не указываю и состояния сущностей такие что сохранять ничего не должно
источник

EA

Evil Arthas in pro.jvm
При явном указании того. что хочу сохранить заказ, получаю ошибку о дубликате ебучего айди
источник

EA

Evil Arthas in pro.jvm
В чем может быть проблема?
источник

С

С in pro.jvm
Нужно больше обсценной лексики, а то непонятно в чем проблема
источник

EA

Evil Arthas in pro.jvm
Извините я просто в шоке уже
источник

E

Egor Pavlov in pro.jvm
хоспаде, его же уже банили)
источник

VT

Vadim Tartakovsky in pro.jvm
Бедный заказчик)
источник