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 @@