|
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.additional.update.impl.LambdaU
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.dayaedu.cbs.openfeign.service.CbsMusicSheetService;
|
|
|
import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetApplicationExtendWrapper;
|
|
|
+import com.beust.jcommander.internal.Lists;
|
|
|
import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
|
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.MusicAlbumDao;
|
|
@@ -393,8 +394,15 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
return musicSheetShareVo;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
public MusicSheetDetailVo detail(Long id, SysUser sysUser, ClientEnum userType) {
|
|
|
+ return detail(id, sysUser, userType,null);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public MusicSheetDetailVo detail(Long id, SysUser sysUser, ClientEnum userType,Long tenantAlbumId) {
|
|
|
+
|
|
|
MusicSheetDetailVo detail = baseMapper.detail(id);
|
|
|
if (detail == null) {
|
|
|
throw new BizException("未找到曲目信息");
|
|
@@ -429,18 +437,43 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
String reason = musicSheetAuthRecordService.selectAuditReason(id);
|
|
|
detail.setReason(reason);
|
|
|
}
|
|
|
- if (detail.getPaymentType().contains(ChargeTypeEnum.FREE.getCode())) {
|
|
|
- detail.setPlay(YesOrNoEnum.YES);
|
|
|
- } else if (ClientEnum.STUDENT.getCode().equals(userType.getCode())
|
|
|
- || ClientEnum.TEACHER.getCode().equals(userType.getCode())) {
|
|
|
- // 2022 7 20 老师也能购买曲目
|
|
|
- if (ClientEnum.TEACHER.getCode().equals(userType.getCode()) && detail.getUserId().equals(sysUser.getId())) {
|
|
|
+ if (tenantAlbumId == null) {
|
|
|
+ if (detail.getPaymentType().contains(ChargeTypeEnum.FREE.getCode())) {
|
|
|
detail.setPlay(YesOrNoEnum.YES);
|
|
|
+ } else if (ClientEnum.STUDENT.getCode().equals(userType.getCode())
|
|
|
+ || ClientEnum.TEACHER.getCode().equals(userType.getCode())) {
|
|
|
+ // 2022 7 20 老师也能购买曲目
|
|
|
+ if (ClientEnum.TEACHER.getCode().equals(userType.getCode()) && detail.getUserId().equals(sysUser.getId())) {
|
|
|
+ detail.setPlay(YesOrNoEnum.YES);
|
|
|
+ } else {
|
|
|
+ setMusicSheetPlay(sysUser.getId(), detail, userType);
|
|
|
+ }
|
|
|
} else {
|
|
|
- setMusicSheetPlay(sysUser.getId(), detail, userType);
|
|
|
+ detail.setPlay(YesOrNoEnum.YES);
|
|
|
}
|
|
|
} else {
|
|
|
- detail.setPlay(YesOrNoEnum.YES);
|
|
|
+ // 机构专辑购买
|
|
|
+ detail.setPlay(YesOrNoEnum.NO);
|
|
|
+
|
|
|
+ // 学生生效中的机构专辑
|
|
|
+ if (ClientEnum.STUDENT == userType) {
|
|
|
+ List<Long> tenantAlbumIds = userTenantAlbumRecordMapper.selectTenantIds(sysUser.getId());
|
|
|
+ if (CollectionUtils.isNotEmpty(tenantAlbumIds) && tenantAlbumIds.contains(tenantAlbumId)) {
|
|
|
+ List<Long> musicSheetIds = tenantAlbumMusicService.getMusicIdsByIds(Lists.newArrayList(tenantAlbumId));
|
|
|
+ if (CollectionUtils.isNotEmpty(musicSheetIds) && musicSheetIds.contains(detail.getId())) {
|
|
|
+ detail.setPlay(YesOrNoEnum.YES);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (ClientEnum.TEACHER == userType) {
|
|
|
+ // 老师所在机构启用的专辑
|
|
|
+ Teacher teacher = teacherService.getById(sysUser.getId());
|
|
|
+ if (teacher.getTenantId() !=null) {
|
|
|
+ List<Long> musicSheetIds = tenantAlbumMusicService.getMusicIdsByTenantIds(teacher.getTenantId());
|
|
|
+ if (musicSheetIds.contains(detail.getId())) {
|
|
|
+ detail.setPlay(YesOrNoEnum.YES);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
@@ -530,31 +563,6 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 机构专辑购买
|
|
|
-
|
|
|
- // 学生生效中的机构专辑
|
|
|
- if (ClientEnum.STUDENT == userType) {
|
|
|
- List<Long> tenantAlbumIds = userTenantAlbumRecordMapper.selectTenantIds(studentId);
|
|
|
- if (CollectionUtils.isNotEmpty(tenantAlbumIds)) {
|
|
|
- List<Long> musicSheetIds = tenantAlbumMusicService.getMusicIdsByIds(tenantAlbumIds);
|
|
|
- if (musicSheetIds.contains(detail.getId())) {
|
|
|
- detail.setPlay(YesOrNoEnum.YES);
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
- } else if (ClientEnum.TEACHER == userType) {
|
|
|
- // 老师所在机构启用的专辑
|
|
|
- Teacher teacher = teacherService.getById(studentId);
|
|
|
- if (teacher.getTenantId() !=null) {
|
|
|
- List<Long> musicSheetIds = tenantAlbumMusicService.getMusicIdsByTenantIds(teacher.getTenantId());
|
|
|
- if (musicSheetIds.contains(detail.getId())) {
|
|
|
- detail.setPlay(YesOrNoEnum.YES);
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
@Override
|