|
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.extension.service.additional.update.impl.LambdaUpdateChainWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+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;
|
|
@@ -397,8 +398,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("未找到曲目信息");
|
|
@@ -433,18 +441,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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
@@ -534,31 +567,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
|