|
@@ -12,6 +12,7 @@ import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.SubjectTypeEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumMusicMapper;
|
|
|
import com.yonge.cooleshow.biz.dal.mapper.TenantGroupAlbumMapper;
|
|
|
+import com.yonge.cooleshow.biz.dal.mapper.UserTenantAlbumRecordMapper;
|
|
|
import com.yonge.cooleshow.biz.dal.service.*;
|
|
|
import com.yonge.cooleshow.biz.dal.wrapper.TenantGroupAlbumWrapper;
|
|
|
import com.yonge.toolset.base.exception.BizException;
|
|
@@ -22,10 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -58,6 +56,9 @@ public class TenantGroupAlbumServiceImpl extends ServiceImpl<TenantGroupAlbumMap
|
|
|
private UserTenantAlbumRecordService userTenantAlbumRecordService;
|
|
|
|
|
|
@Autowired
|
|
|
+ private UserTenantAlbumRecordMapper userTenantAlbumRecordMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private CoursewareFeignService coursewareFeignService;
|
|
|
|
|
|
/**
|
|
@@ -141,6 +142,9 @@ public class TenantGroupAlbumServiceImpl extends ServiceImpl<TenantGroupAlbumMap
|
|
|
if (CollectionUtils.isEmpty(buyAlbumInfo)) {
|
|
|
return buyAlbumInfo;
|
|
|
}
|
|
|
+ if (query.getTenantGroupId() !=null || query.getTenantGroupAlbumId() != null) {
|
|
|
+ buyAlbumInfo.sort(Comparator.comparing(TenantGroupAlbumWrapper.BuyTenantAlbum::getTenantGroupAlbumId));
|
|
|
+ }
|
|
|
// 查询专辑可用的分类的曲目数量
|
|
|
// 机构专辑ID集合
|
|
|
List<Long> tenantAlbumIds = buyAlbumInfo.stream().map(TenantGroupAlbumWrapper.BuyTenantAlbum::getId).collect(Collectors.toList());
|
|
@@ -193,6 +197,16 @@ public class TenantGroupAlbumServiceImpl extends ServiceImpl<TenantGroupAlbumMap
|
|
|
if (CollectionUtils.isNotEmpty(albumRecordList)) {
|
|
|
albumRecordMap = albumRecordList.stream().collect(Collectors.toMap(UserTenantAlbumRecord::getTenantAlbumId, x -> x,(o1,o2)->o1));
|
|
|
}
|
|
|
+ // 转map
|
|
|
+ Map<Long, Long> sortMap = new HashMap<>();
|
|
|
+ if (query.isSortFlag()) {
|
|
|
+
|
|
|
+ // 获取专辑的最新激活时间排序
|
|
|
+ List<TenantGroupAlbumWrapper.TenantAlbumSort> sorts = userTenantAlbumRecordMapper
|
|
|
+ .getTenantAlbumMaxCreateTime(query.getUserId(),query.getClientType(),tenantAlbumIds);
|
|
|
+ sortMap = sorts.stream()
|
|
|
+ .collect(Collectors.toMap(TenantGroupAlbumWrapper.TenantAlbumSort::getId, TenantGroupAlbumWrapper.TenantAlbumSort::getSort));
|
|
|
+ }
|
|
|
|
|
|
for (TenantGroupAlbumWrapper.BuyTenantAlbum item : buyAlbumInfo) {
|
|
|
item.setBuyedTimes((int) studentTenantAlbumNum.stream().filter(x -> x.equals(item.getTenantGroupAlbumId())).count());
|
|
@@ -204,6 +218,7 @@ public class TenantGroupAlbumServiceImpl extends ServiceImpl<TenantGroupAlbumMap
|
|
|
if (userTenantAlbumRecord != null) {
|
|
|
item.setExpireTime(userTenantAlbumRecord.getEndTime());
|
|
|
}
|
|
|
+ item.setSort(sortMap.getOrDefault(item.getId(),0L));
|
|
|
}
|
|
|
}
|
|
|
|