Ver código fonte

获取最近过期的专辑

zouxuan 1 semana atrás
pai
commit
b41b374e86

+ 18 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserTenantAlbumRecordServiceImpl.java

@@ -920,6 +920,24 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
         UserTenantAlbumRecordWrapper.LastUserTenantAlbumRecord lastUserTenantAlbumRecord = new UserTenantAlbumRecordWrapper.LastUserTenantAlbumRecord();
         Long tenantAlbumId = null;
         Date endTime = null;
+        if(CollectionUtils.isNotEmpty(albumRecords)){
+            //获取所有专辑列表
+            List<Long> tenantAlbumIds = albumRecords.stream().map(UserTenantAlbumRecord::getTenantAlbumId).distinct().collect(Collectors.toList());
+            List<Long> ignoreTenantAlbumIds = new ArrayList<>();
+            List<TenantAlbum> list = tenantAlbumService.lambdaQuery().in(TenantAlbum::getId, tenantAlbumIds)
+                    .eq(TenantAlbum::getDelFlag, true).list();
+            if (CollectionUtils.isNotEmpty(list)){
+                ignoreTenantAlbumIds = list.stream().map(TenantAlbum::getId).collect(Collectors.toList());
+            }
+            List<TenantGroupAlbum> groupAlbums = tenantGroupAlbumService.lambdaQuery().in(TenantGroupAlbum::getTenantAlbumId, tenantAlbumIds)
+                    .eq(TenantGroupAlbum::getDelFlag, true).or().eq(TenantGroupAlbum::getStatus, false).list();
+            if (CollectionUtils.isNotEmpty(groupAlbums)){
+                ignoreTenantAlbumIds.addAll(groupAlbums.stream().map(TenantGroupAlbum::getTenantAlbumId).collect(Collectors.toList()));
+            }
+            List<Long> finalIgnoreTenantAlbumIds = ignoreTenantAlbumIds;
+            albumRecords = albumRecords.stream().filter(x -> !finalIgnoreTenantAlbumIds.contains(x.getTenantAlbumId())).collect(Collectors.toList());
+
+        }
         if (CollectionUtils.isNotEmpty(albumRecords)) {
             //按专辑编号分组,然后找出截止时间最大的记录
             Map<Long, UserTenantAlbumRecord> recordMap = albumRecords.stream()