|
@@ -646,18 +646,28 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
detail.setReason(reason);
|
|
|
}
|
|
|
if (StringUtil.isEmpty(tenantAlbumId)) {
|
|
|
- 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()) && sysUser.getId().equals(detail.getUserId())) {
|
|
|
+
|
|
|
+ // 如果是机构用户,判断机构专辑
|
|
|
+
|
|
|
+ // 机构专辑购买
|
|
|
+
|
|
|
+ // 学生生效中的机构专辑
|
|
|
+ if (tenantUserCheck(sysUser.getId(),userType)) {
|
|
|
+ tenantMusicCheck(sysUser.getId(), detail, userType);
|
|
|
+ } else {
|
|
|
+ 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()) && sysUser.getId().equals(detail.getUserId())) {
|
|
|
+ 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);
|
|
|
}
|
|
|
} else {
|
|
|
// 机构专辑购买
|
|
@@ -693,6 +703,18 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
return detail;
|
|
|
}
|
|
|
|
|
|
+ private boolean tenantUserCheck(Long userId, ClientEnum userType) {
|
|
|
+ if (ClientEnum.STUDENT == userType) {
|
|
|
+ Student student = studentService.getById(userId);
|
|
|
+ return student != null&& student.getTenantId() !=null && student.getTenantId() >0;
|
|
|
+ } else if (ClientEnum.TEACHER == userType) {
|
|
|
+ Teacher teacher = teacherService.getById(userId);
|
|
|
+ return teacher != null && teacher.getTenantId() !=null && teacher.getTenantId() >0;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 设置学生曲目信息
|
|
|
* <p>
|
|
@@ -773,9 +795,9 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 机构专辑购买
|
|
|
+ }
|
|
|
|
|
|
- // 学生生效中的机构专辑
|
|
|
+ private void tenantMusicCheck(Long studentId, MusicSheetDetailVo detail, ClientEnum userType) {
|
|
|
if (ClientEnum.STUDENT == userType) {
|
|
|
List<Long> tenantAlbumIds = userTenantAlbumRecordMapper.selectTenantIds(studentId);
|
|
|
if (CollectionUtils.isNotEmpty(tenantAlbumIds)) {
|