|
@@ -2,19 +2,15 @@ package com.yonge.cooleshow.admin.controller;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.microsvc.toolkit.common.response.paging.QueryInfo;
|
|
|
import com.yonge.cooleshow.admin.io.request.TenantAlbumVo;
|
|
|
-import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
|
|
|
-import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.TenantAlbum;
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.TenantAlbumMusic;
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.TenantAlbumRef;
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.TenantInfo;
|
|
|
+import com.yonge.cooleshow.api.feign.dto.TenantWrapper;
|
|
|
+import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetSearch;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.*;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.SubjectTypeEnum;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.TenantAlbumMusicService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.TenantAlbumRefService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.TenantAlbumService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.TenantInfoService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.*;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
|
|
|
import com.yonge.cooleshow.biz.dal.wrapper.TenantAlbumWrapper;
|
|
|
import com.yonge.cooleshow.common.entity.HttpResponseResult;
|
|
|
import com.yonge.toolset.base.exception.BizException;
|
|
@@ -22,6 +18,7 @@ import com.yonge.toolset.base.page.PageInfo;
|
|
|
import com.yonge.toolset.mybatis.support.PageUtil;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
@@ -34,6 +31,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|
|
import java.util.Comparator;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -58,6 +56,9 @@ public class TenantAlbumController {
|
|
|
@Autowired
|
|
|
private TenantInfoService tenantInfoService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private MusicSheetService musicSheetService;
|
|
|
+
|
|
|
/**
|
|
|
* 查询分页
|
|
|
*
|
|
@@ -106,14 +107,36 @@ public class TenantAlbumController {
|
|
|
Map<SubjectTypeEnum, List<TenantAlbumMusic>> groupByType =
|
|
|
tenantAlbumMusics.stream().collect(Collectors.groupingBy(TenantAlbumMusic::getSubjectType));
|
|
|
|
|
|
+
|
|
|
+ List<Long> musicSheetIdlist = tenantAlbumMusics.stream().map(next -> next.getMusicSheetId()).distinct().collect(Collectors.toList());
|
|
|
+
|
|
|
+
|
|
|
+ StudentMusicSheetSearch search = new StudentMusicSheetSearch();
|
|
|
+ search.setMusicSheetIdlist(musicSheetIdlist);
|
|
|
+ search.setPage(1);
|
|
|
+ search.setRows(9999);
|
|
|
+ IPage<MusicSheetVo> records = musicSheetService.selectStudentPage(PageUtil.getPage(search), search, null);
|
|
|
+ Map<Long, MusicSheetVo> idMsMap = records.getRecords().stream()
|
|
|
+ .collect(Collectors.toMap(MusicSheet::getId, Function.identity()));
|
|
|
List<TenantAlbumWrapper.MusicSheetData> musicSheetData = vo.getMusicSheetData();
|
|
|
groupByType.forEach((key, value) -> {
|
|
|
value.sort(Comparator.comparing(TenantAlbumMusic::getSortNumber));
|
|
|
TenantAlbumWrapper.MusicSheetData sheetData = new TenantAlbumWrapper.MusicSheetData();
|
|
|
sheetData.setSubjectType(key);
|
|
|
- sheetData.setMusicSheetList(value);
|
|
|
- musicSheetData.add(sheetData);
|
|
|
+ List<TenantAlbumWrapper.TenantAlbumSheet> tenantAlbumSheets = value.stream().map(next -> {
|
|
|
+
|
|
|
+ TenantAlbumWrapper.TenantAlbumSheet tenantAlbumSheet = new TenantAlbumWrapper.TenantAlbumSheet();
|
|
|
+ BeanUtils.copyProperties(value, tenantAlbumSheet);
|
|
|
+ Long musicSheetId = tenantAlbumSheet.getMusicSheetId();
|
|
|
+ MusicSheetVo musicSheet = idMsMap.getOrDefault(musicSheetId, new MusicSheetVo());
|
|
|
+ tenantAlbumSheet.setMusicSheetName(musicSheet.getMusicSheetName());
|
|
|
+ tenantAlbumSheet.setMusicTag(musicSheet.getMusicTag());
|
|
|
+ return tenantAlbumSheet;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
|
|
+
|
|
|
+ sheetData.setTenantAlbumSheetList(tenantAlbumSheets);
|
|
|
+ musicSheetData.add(sheetData);
|
|
|
});
|
|
|
|
|
|
return HttpResponseResult.succeed(vo);
|