Browse Source

曲目使用判断

liujc 7 months ago
parent
commit
a48f18de94

+ 33 - 11
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java

@@ -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)) {

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantAlbumMusicServiceImpl.java

@@ -465,6 +465,7 @@ public class TenantAlbumMusicServiceImpl extends ServiceImpl<TenantAlbumMusicMap
         List<TenantAlbumMusic> list = this.lambdaQuery()
             .in(TenantAlbumMusic::getTenantAlbumId, tenantAlbumIds)
             .in(CollectionUtils.isNotEmpty(subjectTypes),TenantAlbumMusic::getSubjectType,subjectTypes)
+            .eq(TenantAlbumMusic::getDelFlag, false)
             .list();
         if (CollectionUtils.isEmpty(list)) {
             return Collections.emptyList();