From c5ace5e15136e0ac57b2438c8a9aa1975453b33f Mon Sep 17 00:00:00 2001 From: Mikhail Trofimov Date: Mon, 29 Jun 2026 15:21:47 +0300 Subject: [PATCH] Fix Source selecting --- .../config/datasource/NbchDataSourceConfig.java | 1 + .../java/ru/nbch/credit_tracker/entities/nbch/Source.java | 3 +++ .../nbch/credit_tracker/service/nbch/SourceService.java | 8 +++++++- src/main/resources/mybatis/mapper/nbch/SourceMapper.xml | 4 +++- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/ru/nbch/credit_tracker/config/datasource/NbchDataSourceConfig.java b/src/main/java/ru/nbch/credit_tracker/config/datasource/NbchDataSourceConfig.java index 73681a2..eea73f8 100644 --- a/src/main/java/ru/nbch/credit_tracker/config/datasource/NbchDataSourceConfig.java +++ b/src/main/java/ru/nbch/credit_tracker/config/datasource/NbchDataSourceConfig.java @@ -56,6 +56,7 @@ public class NbchDataSourceConfig extends DatabaseConfig { SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryBean.setDataSource(dataSource); sqlSessionFactoryBean.setMapperLocations(resources); + sqlSessionFactoryBean.setTypeHandlersPackage("ru.nbch.credit_tracker.config.datasource.handlers"); return sqlSessionFactoryBean.getObject(); } } diff --git a/src/main/java/ru/nbch/credit_tracker/entities/nbch/Source.java b/src/main/java/ru/nbch/credit_tracker/entities/nbch/Source.java index 54568e1..ce210da 100644 --- a/src/main/java/ru/nbch/credit_tracker/entities/nbch/Source.java +++ b/src/main/java/ru/nbch/credit_tracker/entities/nbch/Source.java @@ -2,6 +2,8 @@ package ru.nbch.credit_tracker.entities.nbch; import lombok.*; +import java.time.LocalDate; + @Getter @Setter @Builder @@ -10,4 +12,5 @@ import lombok.*; public class Source { private String memberCode; private String category; + private LocalDate agrDate; } diff --git a/src/main/java/ru/nbch/credit_tracker/service/nbch/SourceService.java b/src/main/java/ru/nbch/credit_tracker/service/nbch/SourceService.java index 180af43..875a7ba 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/nbch/SourceService.java +++ b/src/main/java/ru/nbch/credit_tracker/service/nbch/SourceService.java @@ -5,6 +5,7 @@ import ru.nbch.credit_tracker.entities.nbch.Source; import ru.nbch.credit_tracker.mapper.nbch.SourceMapper; import java.util.Collections; +import java.util.Comparator; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -23,9 +24,14 @@ public class SourceService { return Collections.emptyMap(); } return sourceMapper.findBusCategories(memberCodes).stream() + .sorted(Comparator.comparing( + Source::getAgrDate, + Comparator.nullsLast(Comparator.reverseOrder()) + )) .collect(Collectors.toMap( Source::getMemberCode, - Source::getCategory + Source::getCategory, + (existing, replacement) -> existing )); } diff --git a/src/main/resources/mybatis/mapper/nbch/SourceMapper.xml b/src/main/resources/mybatis/mapper/nbch/SourceMapper.xml index 40789ef..efbb265 100644 --- a/src/main/resources/mybatis/mapper/nbch/SourceMapper.xml +++ b/src/main/resources/mybatis/mapper/nbch/SourceMapper.xml @@ -8,12 +8,14 @@