Size: a a a

Software Design/Architecture/Zen

2021 April 19

DK

Daniil Kostin in Software Design/Architecture/Zen
спасибо за участие, но я не про SQL вообще
мне это надо на датах вычислить.
есть только произвольный день месяца day. Если это 30е, то для февраля конвертируется в последний день(28 или 29).
пока получается как-то так:
count = to.diff(from).months;
if(from.isAfter(fromWithSameDay) || fromWithSameDay.isBefore(to) || fromWithSameDay.day == day) {
 count++;
}
источник

A

Artjom Kalita in Software Design/Architecture/Zen
Казалось бы при чем здесь архитектура/дизайн
источник

DK

Daniil Kostin in Software Design/Architecture/Zen
не знал где спросить...
источник

A

Artjom Kalita in Software Design/Architecture/Zen
Как вариант в таком решении отлично ТДД подход сработает - можешь написать разные кондишены и результаты в тесте а потом начать код писать
источник

A

Artjom Kalita in Software Design/Architecture/Zen
быстрый feedback цикл будет
источник

DK

Daniil Kostin in Software Design/Architecture/Zen
я так и делаю, просто туго с временем, с его восприятием
источник

jd

juriy dyachkov in Software Design/Architecture/Zen
создаём репозиторий MonthsRepository с методом getByYear
сущность Payment
и сервис ProcessPayments, по крону раз в день запускаем
источник

jd

juriy dyachkov in Software Design/Architecture/Zen
источник

SP

Sergey Protko in Software Design/Architecture/Zen
AbstractPaymentDateIntevalFactory
источник

A

Artjom Kalita in Software Design/Architecture/Zen
а где BeanPostProcessor ?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
ну то есть грубо говоря агрегация с группировкой по дате? Аля входит ли дата в конкретный интервал.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
ты можешь интервал из даты (месяц берешь) высчитывать и по нему группировать
источник

SP

Sergey Protko in Software Design/Architecture/Zen
возможно есть что-то умнее, какой RRULE но я не шарю
источник

DK

Daniil Kostin in Software Design/Architecture/Zen
спасибо, посмотрю
источник

SP

Sergey Protko in Software Design/Architecture/Zen
в ISO8601 есть описания для всяких периодов и рекурентных вещей
источник

SP

Sergey Protko in Software Design/Architecture/Zen
опять же, я тупенький и решал бы это в лоб через SQL вычисляя для даты выплаты интевал в который оно попадает. месяц извествен, до или после 15-ого определить можем. Соответственно месяц и интервал (первый или второй).
источник

DK

Daniil Kostin in Software Design/Architecture/Zen
у меня нет привязки к SQL
RRULE и ISO8601 посмотрю, про первое первый раз слышу
источник

AN

Allan Nettzan in Software Design/Architecture/Zen
Добрый день.
Ситуацию следующая.
Я разбил на два агрегата отзыв и товар.

Подтверждение работает на отзыве отлично, но мне нужно пробросить эвент в шину, чтобы убрать его из неподтвержденных отзывов в агрегате товара.
Значит мне нужно делать в Отзыв Подтверждён поле которое будет содержать еще и Idшник товара?

Должны ли события содержать в себе данные не совсем относящиеся к агрегату...
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
все что касается отзывов должно быть в отзывах, тогда вопрос о каких-то лишних данных в ивенте пропадет. Потому что все будет на своих местах)
источник

AN

Allan Nettzan in Software Design/Architecture/Zen
Ну связь 1 к 1, поэтому в отзыве должен быть id товара.
Пока что я не понимаю как организовать правило:
Если не все отзывы неподтверждены нельзя сделать  *действие* с товаром.
источник