Skip to content

Commit fd2d107

Browse files
committed
Support search by Solovyov number.
Fix #777
1 parent d73800d commit fd2d107

File tree

7 files changed

+23
-5
lines changed

7 files changed

+23
-5
lines changed

src/main/java/ru/mystamps/web/config/DaoConfig.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,8 @@ public StampsCatalogDao getSolovyovCatalogDao() {
116116
jdbcTemplate,
117117
env.getRequiredProperty("solovyov.create"),
118118
env.getRequiredProperty("series_solovyov.add"),
119-
env.getRequiredProperty("series_solovyov.find_by_series_id")
119+
env.getRequiredProperty("series_solovyov.find_by_series_id"),
120+
env.getRequiredProperty("series_solovyov.find_series_ids_by_number")
120121
);
121122
}
122123

src/main/java/ru/mystamps/web/controller/SeriesController.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -458,7 +458,7 @@ public String searchSeriesByCatalog(
458458
}
459459

460460
// @todo #776 Add integration tests for search series by Zagorski number
461-
// @todo #770 Support search by Solovyov number
461+
// @todo #777 Add integration tests for search series by Solovyov number
462462
String lang = LocaleUtils.getLanguageOrNull(userLocale);
463463
List<SeriesInfoDto> series;
464464
switch (catalogName) {
@@ -474,6 +474,9 @@ public String searchSeriesByCatalog(
474474
case "gibbons":
475475
series = seriesService.findByGibbonsNumber(catalogNumber, lang);
476476
break;
477+
case "solovyov":
478+
series = seriesService.findBySolovyovNumber(catalogNumber, lang);
479+
break;
477480
case "zagorski":
478481
series = seriesService.findByZagorskiNumber(catalogNumber, lang);
479482
break;

src/main/java/ru/mystamps/web/dao/impl/JdbcStampsCatalogDao.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,18 @@
2828

2929
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
3030

31-
import lombok.AllArgsConstructor;
3231
import lombok.RequiredArgsConstructor;
3332

3433
import ru.mystamps.web.dao.StampsCatalogDao;
3534

3635
@RequiredArgsConstructor
37-
@AllArgsConstructor
3836
public class JdbcStampsCatalogDao implements StampsCatalogDao {
3937

4038
private final NamedParameterJdbcTemplate jdbcTemplate;
4139
private final String addCatalogNumberSql;
4240
private final String addCatalogNumbersToSeriesSql;
4341
private final String findBySeriesIdSql;
44-
private String findSeriesIdsByNumberSql;
42+
private final String findSeriesIdsByNumberSql;
4543

4644
@Override
4745
public List<String> add(Set<String> catalogNumbers) {

src/main/java/ru/mystamps/web/service/SeriesService.java

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public interface SeriesService {
4646
List<SeriesInfoDto> findByScottNumber(String scottNumberCode, String lang);
4747
List<SeriesInfoDto> findByYvertNumber(String yvertNumberCode, String lang);
4848
List<SeriesInfoDto> findByGibbonsNumber(String gibbonsNumberCode, String lang);
49+
List<SeriesInfoDto> findBySolovyovNumber(String solovyovCatalogNumber, String lang);
4950
List<SeriesInfoDto> findByZagorskiNumber(String zagorskiCatalogNumber, String lang);
5051

5152
List<SeriesInfoDto> findByCategorySlug(String slug, String lang);

src/main/java/ru/mystamps/web/service/SeriesServiceImpl.java

+7
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,13 @@ public List<SeriesInfoDto> findByGibbonsNumber(String gibbonsNumberCode, String
271271
return findByCatalogNumber(gibbonsCatalogService, gibbonsNumberCode, lang);
272272
}
273273

274+
// @todo #777 SeriesServiceImpl.findBySolovyovNumber(): add unit tests
275+
@Override
276+
@Transactional(readOnly = true)
277+
public List<SeriesInfoDto> findBySolovyovNumber(String solovyovNumberCode, String lang) {
278+
return findByCatalogNumber(solovyovCatalogService, solovyovNumberCode, lang);
279+
}
280+
274281
// @todo #776 SeriesServiceImpl.findByZagorskiNumber(): add unit tests
275282
@Override
276283
@Transactional(readOnly = true)

src/main/resources/sql/stamps_catalog_dao_queries.properties

+7
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,13 @@ SELECT sgc.series_id AS series_id \
206206
ON mc.id = sgc.gibbons_id \
207207
WHERE mc.code = :number
208208

209+
series_solovyov.find_series_ids_by_number = \
210+
SELECT ssc.series_id AS series_id \
211+
FROM series_solovyov_catalog ssc \
212+
JOIN solovyov_catalog sc \
213+
ON sc.id = ssc.solovyov_id \
214+
WHERE sc.code = :number
215+
209216
series_zagorski.find_series_ids_by_number = \
210217
SELECT szc.series_id AS series_id \
211218
FROM series_zagorski_catalog szc \

src/main/webapp/WEB-INF/views/site/index.html

+1
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,7 @@ <h4 class="panel-title" th:text="#{t_search_by_catalog}">Search by catalog</h4>
253253
<option value="scott" th:text="#{t_scott}">Scott</option>
254254
<option value="yvert" th:text="#{t_yvert}">Yvert</option>
255255
<option value="gibbons" th:text="#{t_sg}">Gibbons</option>
256+
<option value="solovyov" th:text="#{t_solovyov}">Solovyov</option>
256257
<option value="zagorski" th:text="#{t_zagorski}">Zagorski</option>
257258
</select>
258259
</div>

0 commit comments

Comments
 (0)