刘俊驰 1 year ago
parent
commit
6bee4d7aa7

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

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dayaedu.cbs.openfeign.client.CoursewareFeignService;
+import com.dayaedu.cbs.openfeign.wrapper.courseware.CbsLessonCoursewareWrapper;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
@@ -109,6 +111,9 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
 
 
     @Autowired
     @Autowired
     private TenantAlbumMusicMapper tenantAlbumMusicMapper;
     private TenantAlbumMusicMapper tenantAlbumMusicMapper;
+
+    @Autowired
+    private CoursewareFeignService coursewareFeignService;
     /**
     /**
      * 查询详情
      * 查询详情
      *
      *
@@ -497,7 +502,24 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
         String coverImg = tenantAlbum.getCoverImg();
         String coverImg = tenantAlbum.getCoverImg();
         //机构专辑曲目数
         //机构专辑曲目数
         List<TenantAlbumMusic> tenantAlbumMusiclist = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getTenantAlbumId, tenantAlbumId).eq(TenantAlbumMusic::getDelFlag, false).list();
         List<TenantAlbumMusic> tenantAlbumMusiclist = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getTenantAlbumId, tenantAlbumId).eq(TenantAlbumMusic::getDelFlag, false).list();
-        List<Long> MusicSheetIds = tenantAlbumMusiclist.stream().map(TenantAlbumMusic::getMusicSheetId).distinct().collect(Collectors.toList());
+
+        // 过滤出曲目
+        List<SubjectTypeEnum> enumList = com.beust.jcommander.internal.Lists.newArrayList(SubjectTypeEnum.MUSIC, SubjectTypeEnum.SUBJECT, SubjectTypeEnum.ENSEMBLE);
+        List<Long> MusicSheetIds = tenantAlbumMusiclist.stream().filter(o->enumList.contains(o.getSubjectType()))
+            .map(TenantAlbumMusic::getMusicSheetId).distinct().collect(Collectors.toList());
+
+        List<Long> coursewareIds = tenantAlbumMusiclist.stream().filter(o->o.getSubjectType() == SubjectTypeEnum.COURSEWARE)
+            .map(TenantAlbumMusic::getMusicSheetId).distinct().collect(Collectors.toList());
+        CbsLessonCoursewareWrapper.LambdaQuery lambdaQuery = CbsLessonCoursewareWrapper.LambdaQuery.builder().ids(coursewareIds)
+            .delFlag(false).enableFlag(true).build();
+        List<CbsLessonCoursewareWrapper.Entity> entities = coursewareFeignService.lessonCoursewareLambdaQuery(lambdaQuery).feignData();
+        if (CollectionUtils.isNotEmpty(entities)) {
+            // id 集合
+            List<Long> courseIds = entities.stream().map(CbsLessonCoursewareWrapper.Entity::getId).collect(Collectors.toList());
+            // list 去除类型为COURSEWARE,id 不在courseIds
+            album.setCoursewareCounts(courseIds.size());
+        }
+
         //计算符合条件的个数
         //计算符合条件的个数
         if (CollectionUtils.isNotEmpty(MusicSheetIds)) {
         if (CollectionUtils.isNotEmpty(MusicSheetIds)) {
             size = musicSheetService.lambdaQuery().in(MusicSheet::getId, MusicSheetIds).eq(MusicSheet::getState, true)
             size = musicSheetService.lambdaQuery().in(MusicSheet::getId, MusicSheetIds).eq(MusicSheet::getState, true)

+ 4 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/TenantAlbumWrapper.java

@@ -139,6 +139,10 @@ public class TenantAlbumWrapper {
         @ApiModelProperty("声部曲目数")
         @ApiModelProperty("声部曲目数")
         private Integer SubjectCounts;
         private Integer SubjectCounts;
 
 
+        @ApiModelProperty("教材数")
+        private Integer coursewareCounts;
+
+
         @ApiModelProperty("专辑分类类型ID")
         @ApiModelProperty("专辑分类类型ID")
         private Long categoryTypeId;
         private Long categoryTypeId;