Skip to content

Full init code snapshot for review - #7

Open
karle0wne wants to merge 1 commit into
mockfrom
init-full-review
Open

Full init code snapshot for review#7
karle0wne wants to merge 1 commit into
mockfrom
init-full-review

Conversation

@karle0wne

@karle0wne karle0wne commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

демо пр чтоб восстановить первое необходимое ревью фул проекта , но сами ветки указывают на этот основной пр #8
то есть тут все актуально но отображается "как новое" но мержить в мастер будем #8 а этот закроем

основной объем это файлы в тестах с возможными ивентами платежей
сопроводительная инфа есть в /docs - у нас условно 3 направления - запись из кафки данных, трифт апи для операций с отчетами (открыть закрыть получить) , и лайфцикл построения отчета . в лайфцикле отчетов есть некоторый согласованный обвес обсулиживания таймаутов\аварийныйх ситуаций , например если отчет строится больше чем 20мин мы убиваем воркер и резетаем дб коннект итп

@karle0wne
karle0wne force-pushed the init-full-review branch 3 times, most recently from 1d1f705 to 784c7db Compare July 24, 2026 09:41
Comment thread pom.xml Outdated
<parent>
<groupId>dev.vality</groupId>
<artifactId>service-parent-pom</artifactId>
<version>4.0.0-BETA-1</version>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Давай тут актуализируем, раз из "беты" конфиг вышел)

Comment thread README.md Outdated
| Дата | `yyyy-MM-dd` |
| Время | `HH:mm:ss` |
| Timezone | `CreateReportRequest.timezone`, по умолчанию UTC |
| Денежные значения | Decimal по exponent соответствующей валюты |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

сразу вспоминаю "смотря какой fabric, смотря сколько details"
предлагаю "Decimal по экспоненте соответствующей валюты"

Comment thread README.md
| Денежные значения | Decimal по exponent соответствующей валюты |
| `exchange_rate_internal` | Decimal без экспоненциальной записи |

### Payments

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Может для наглядности мелкий тестовый пример отчета с корректным форматом? Для платежей и для выплат. Я вот так и не понял, как выглядит значение в поле exchange_rate_internal, пример бы помог.

Comment thread src/main/resources/application.yml Outdated
discovery:
enabled: false

ccr:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Может уберем этот верхний уровень вложенности? Тут все свойства для control-center-reporter'а, а он еще и в названиях классов зашит. Кажется избыточным и не очень удобным для восприятия.

@@ -0,0 +1,69 @@
package dev.vality.ccreporter.handler.support;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

У нас обычно пакеты с утильными и вспомогательными классами как util называются, может в этом сервисе тоже так сделаем? Чтобы не гадать, что там. Я сначала подумал, что это какой-то специфичный для саппорта функционал.

Comment on lines +31 to +33
public static LocalDateTime toOptionalLocalDateTime(Instant value) {
return value == null ? null : LocalDateTime.ofInstant(value, ZoneOffset.UTC);
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Предлагаю переименовать на toNullableLocalDateTime - иначе по названию кажется, что тут должен возвращаться Optional<LocalDateTime>

PAYMENT_TXN_CURRENT.ID,
PAYMENT_TXN_CURRENT.INVOICE_ID,
PAYMENT_TXN_CURRENT.PAYMENT_ID,
PAYMENT_TXN_CURRENT.UPDATED_AT

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UPDATED_AT вроде бы можно убрать из immutable. Он с одной стороны ничего не ломает, но немного сбивает с толку. Пришлось разбираться, почему UPDATED_AT записан в immutable, хотя кажется, что должен обновлятся после каждой записи (и он корректно обновляется)

return Optional.empty();
}
var withdrawal = change.getCreated().getWithdrawal();
var body = withdrawal.getBody();

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

У withdrawal еще появилось поле newBody с измененной суммой, надо бы его исползовать, если задано.


@Component
@RequiredArgsConstructor
public class ReportingHandler implements ReportingSrv.Iface, ThriftLoggingHandler {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

может его в пакет resource перенести? Еле нашел входную точку)

Comment on lines +30 to +48
public Report getReport(GetReportRequest request) {
return handleRequest(
"GetReport",
() -> ReportingHandlerLogSupport.summarizeGetReport(request),
() -> reportManagementService.getReport(request),
ReportingHandlerLogSupport::summarizeReport
);
}

@Override
@SneakyThrows
public GetReportsResponse getReports(GetReportsRequest request) {
return handleRequest(
"GetReports",
() -> ReportingHandlerLogSupport.summarizeGetReports(request),
() -> reportManagementService.getReports(request),
ReportingHandlerLogSupport::summarizeGetReportsResponse
);
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Может в рамках этих методов тоже проверять внутри перед выдачей, что отчет не expired? А то можно в теории выдать просроченный отчет. Не знаю, чем грозит, но будто бы так по логике корректнее и меньше шансов, что на нас повлияет кривой cron.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

добавил

@WagerMeister
WagerMeister force-pushed the init-full-review branch 2 times, most recently from 76702ed to e872515 Compare August 27, 2026 13:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants