|
@@ -199,14 +199,19 @@ public class AudioServiceImpl implements AudioService {
|
|
|
@Override
|
|
|
public OnePage<Audio> searchList(SearchVO searchVO) {
|
|
|
|
|
|
- if (StringUtils.isNotBlank(searchVO.getAlbum())) {
|
|
|
- List<BigInteger> albumIds = albumRepo.findIdsByNameLike(searchVO.getAlbum());
|
|
|
- if (CollectionUtils.isEmpty(albumIds)) {
|
|
|
- return new OnePage(0L,searchVO.getPageNo(),searchVO.getPageSize());
|
|
|
- }
|
|
|
- searchVO.setIdAlbums(albumIds);
|
|
|
+ Album searchAlbum = fillSearchAlbum(searchVO);
|
|
|
+
|
|
|
+ List<Album> albumList = albumRepo.find(searchAlbum);
|
|
|
+
|
|
|
+ if (CollectionUtils.isEmpty(albumList)) {
|
|
|
+ return new OnePage(0L,searchVO.getPageNo(),searchVO.getPageSize());
|
|
|
}
|
|
|
|
|
|
+ List<BigInteger> albumIds = new ArrayList<>();
|
|
|
+ albumList.forEach(album -> albumIds.add(album.getId()));
|
|
|
+
|
|
|
+ searchVO.setIdAlbums(albumIds);
|
|
|
+
|
|
|
Long count = audioRepoImpl.count(searchVO);
|
|
|
if (Objects.isNull(count)) {
|
|
|
count = 0L;
|
|
@@ -225,6 +230,34 @@ public class AudioServiceImpl implements AudioService {
|
|
|
return onePage;
|
|
|
}
|
|
|
|
|
|
+ private Album fillSearchAlbum(SearchVO searchVO) {
|
|
|
+ Album album = new Album();
|
|
|
+ album.setId(searchVO.getAlbumId());
|
|
|
+ if (StringUtils.isNotBlank(searchVO.getAlbum())) {
|
|
|
+ album.setName("%" + searchVO.getAlbum() + "%");
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(searchVO.getAge())) {
|
|
|
+ album.setAge("%" + searchVO.getAge() + "%");
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(searchVO.getLanguage())) {
|
|
|
+ album.setLanguage("%" + searchVO.getLanguage() + "%");
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(searchVO.getSubject())) {
|
|
|
+ album.setSubject("%" + searchVO.getSubject() + "%");
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(searchVO.getSuitableCrowd())) {
|
|
|
+ album.setSuitableCrowd("%" + searchVO.getSuitableCrowd() + "%");
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(searchVO.getVersion())) {
|
|
|
+ album.setVersion("%" + searchVO.getVersion() + "%");
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(searchVO.getVolume())) {
|
|
|
+ album.setVolume("%" + searchVO.getVolume() + "%");
|
|
|
+ }
|
|
|
+
|
|
|
+ return album;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Audio getAudioInfo(Long id) {
|
|
|
|