|
@@ -22,6 +22,7 @@ import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
|
|
import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
|
|
import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
|
|
import com.yonge.cooleshow.biz.dal.service.*;
|
|
import com.yonge.cooleshow.biz.dal.service.*;
|
|
import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
|
|
import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
|
|
import com.yonge.cooleshow.biz.dal.vo.TeacherMusicSheetVo;
|
|
import com.yonge.cooleshow.biz.dal.vo.TeacherMusicSheetVo;
|
|
import com.yonge.cooleshow.biz.dal.wrapper.AddMusicSheetWrapper;
|
|
import com.yonge.cooleshow.biz.dal.wrapper.AddMusicSheetWrapper;
|
|
import com.yonge.cooleshow.biz.dal.wrapper.MusicSheetWrapper;
|
|
import com.yonge.cooleshow.biz.dal.wrapper.MusicSheetWrapper;
|
|
@@ -39,6 +40,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
+import java.util.function.Function;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
@@ -299,7 +301,9 @@ public class MusicSheetAuthRecordServiceImpl extends ServiceImpl<MusicSheetAuthR
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public IPage<TeacherMusicSheetVo> selectAuditPage(IPage<TeacherMusicSheetVo> page, TeacherMusicSheetAuditSearch query) {
|
|
public IPage<TeacherMusicSheetVo> selectAuditPage(IPage<TeacherMusicSheetVo> page, TeacherMusicSheetAuditSearch query) {
|
|
- return page.setRecords(baseMapper.selectAuditPage(page, query));
|
|
|
|
|
|
+ List<TeacherMusicSheetVo> teacherMusicSheetVos = baseMapper.selectAuditPage(page, query);
|
|
|
|
+ this.convertMusicDetail(teacherMusicSheetVos);
|
|
|
|
+ return page.setRecords(teacherMusicSheetVos);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -378,4 +382,77 @@ public class MusicSheetAuthRecordServiceImpl extends ServiceImpl<MusicSheetAuthR
|
|
}
|
|
}
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public void convertMusicDetail(List<TeacherMusicSheetVo> lists) {
|
|
|
|
+ if (CollectionUtils.isNotEmpty(lists)){
|
|
|
|
+ //剔除pass状态的曲子
|
|
|
|
+ List<TeacherMusicSheetVo> collect = lists.stream().filter(e -> e.getAuditStatus() != AuthStatusEnum.PASS).collect(Collectors.toList());
|
|
|
|
+ if(CollectionUtils.isNotEmpty(collect)){
|
|
|
|
+ Map<AuthStatusEnum,List<TeacherMusicSheetVo>> statusEnumListMap =
|
|
|
|
+ collect.stream().collect(Collectors.groupingBy(TeacherMusicSheetVo::getAuditStatus));
|
|
|
|
+ for (AuthStatusEnum authStatusEnum : statusEnumListMap.keySet()) {
|
|
|
|
+ List<TeacherMusicSheetVo> records = statusEnumListMap.get(authStatusEnum);
|
|
|
|
+ List<Long> musicSheetIds = records.stream().map(e -> e.getId()).collect(Collectors.toList());
|
|
|
|
+ List<MusicSheetAuthRecord> recordList = this.baseMapper.findByMusicSheetIds(musicSheetIds, authStatusEnum.getCode());
|
|
|
|
+ if (CollectionUtils.isNotEmpty(recordList)){
|
|
|
|
+ Map<Long,MusicSheetAuthRecord> authRecordMap = recordList.stream()
|
|
|
|
+ .collect(Collectors.toMap(MusicSheetAuthRecord::getMusicSheetId, Function.identity(), (o, n) -> n));
|
|
|
|
+ for (TeacherMusicSheetVo musicSheetVo : records) {
|
|
|
|
+ MusicSheetAuthRecord sheetDetailVo = authRecordMap.get(musicSheetVo.getId());
|
|
|
|
+ if(sheetDetailVo == null){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ String musicSheetJson = sheetDetailVo.getMusicSheetJson();
|
|
|
|
+ if(StringUtils.isNotEmpty(musicSheetJson)){
|
|
|
|
+ CbsMusicSheetWrapper.AddMusicSheet addMusicSheet = JSON.parseObject(musicSheetJson, CbsMusicSheetWrapper.AddMusicSheet.class);
|
|
|
|
+ musicSheetService.initMusicSheetDetailVo(addMusicSheet,musicSheetVo);
|
|
|
|
+ //获取标签
|
|
|
|
+ String musicTagIds = musicSheetVo.getMusicTag();
|
|
|
|
+ if(StringUtils.isNotEmpty(musicTagIds)){
|
|
|
|
+ List<MusicTag> list = musicTagService.lambdaQuery().in(MusicTag::getId, musicTagIds.split(",")).list();
|
|
|
|
+ musicSheetVo.setMusicTagNames(list.stream().map(e->e.getName()).collect(Collectors.joining(",")));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void convertMusicDetail(IPage<MusicSheetVo> musicSheetVoIPage, AuthStatusEnum auditStatus) {
|
|
|
|
+ List<MusicSheetVo> records = musicSheetVoIPage.getRecords();
|
|
|
|
+ if (CollectionUtils.isNotEmpty(records)){
|
|
|
|
+ List<Long> musicSheetIds = records.stream().map(e -> e.getId()).collect(Collectors.toList());
|
|
|
|
+ List<MusicSheetAuthRecord> recordList = this.baseMapper.findByMusicSheetIds(musicSheetIds, auditStatus.getCode());
|
|
|
|
+ if (CollectionUtils.isNotEmpty(recordList)){
|
|
|
|
+ Map<Long,MusicSheetAuthRecord> authRecordMap = recordList.stream()
|
|
|
|
+ .collect(Collectors.toMap(MusicSheetAuthRecord::getMusicSheetId, Function.identity(), (o, n) -> n));
|
|
|
|
+ for (MusicSheetVo musicSheetVo : records) {
|
|
|
|
+ MusicSheetAuthRecord sheetDetailVo = authRecordMap.get(musicSheetVo.getId());
|
|
|
|
+ if(sheetDetailVo == null){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ String musicSheetJson = sheetDetailVo.getMusicSheetJson();
|
|
|
|
+ if(StringUtils.isNotEmpty(musicSheetJson)){
|
|
|
|
+ CbsMusicSheetWrapper.AddMusicSheet addMusicSheet = JSON.parseObject(musicSheetJson, CbsMusicSheetWrapper.AddMusicSheet.class);
|
|
|
|
+ musicSheetService.initMusicSheetDetailVo(addMusicSheet,musicSheetVo);
|
|
|
|
+ //获取声部
|
|
|
|
+ String musicSubject = musicSheetVo.getMusicSubject();
|
|
|
|
+ if(StringUtils.isNotEmpty(musicSheetJson)){
|
|
|
|
+ List<Subject> list = subjectService.findBySubjectByIdList(musicSubject);
|
|
|
|
+ musicSheetVo.setSubjectNames(list.stream().map(e->e.getName()).collect(Collectors.joining(",")));
|
|
|
|
+ }
|
|
|
|
+ //获取标签
|
|
|
|
+ String musicTagIds = musicSheetVo.getMusicTag();
|
|
|
|
+ if(StringUtils.isNotEmpty(musicTagIds)){
|
|
|
|
+ List<MusicTag> list = musicTagService.lambdaQuery().in(MusicTag::getId, musicTagIds.split(",")).list();
|
|
|
|
+ musicSheetVo.setMusicTagNames(list.stream().map(e->e.getName()).collect(Collectors.joining(",")));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|