liujc 9 mesi fa
parent
commit
32dc2539d5

+ 1 - 0
cooleshow-common/src/main/java/com/yonge/cooleshow/common/constant/SysConfigConstant.java

@@ -455,4 +455,5 @@ public interface SysConfigConstant {
      * 默认曲目所属人
      */
     String DEFAULT_MUSIC_USER_ID = "default_music_user_id";
+    String COURSE_SUBJECT_MAP = "course_subject_map";
 }

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

@@ -23,6 +23,7 @@ import com.yonge.cooleshow.biz.dal.service.cbs.CbsMusicScoreService;
 import com.yonge.cooleshow.biz.dal.wrapper.LessonCoursewareDetailWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.LessonCoursewareWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.TenantAlbumMusicWrapper;
+import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.toolset.base.exception.BizException;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.CollectionUtils;
@@ -74,6 +75,9 @@ public class TenantAlbumMusicServiceImpl extends ServiceImpl<TenantAlbumMusicMap
     @Autowired
     private CoursewareFeignService coursewareFeignService;
 
+    @Autowired
+    private SysConfigService sysConfigService;
+
     @Value("${openfeign-client.app-id:1745637981387108354}")
     public Long applicationId;
 
@@ -338,10 +342,16 @@ public class TenantAlbumMusicServiceImpl extends ServiceImpl<TenantAlbumMusicMap
         // 有声部, 根据声部查询对应的课件类型
         List<CbsCourseTypeWrapper.CourseType> courseTypes = coursewareFeignService.courseTypeList().feignData();
         if (subjectId != null) {
+            String configValue = sysConfigService.findConfigValue(SysConfigConstant.COURSE_SUBJECT_MAP);
+            Map<String, String> map= new HashMap<>();
+            if (StringUtils.isNotBlank(configValue)) {
+                map = JSON.parseObject(configValue, Map.class);
+            }
             Subject subject = subjectService.get(subjectId);
             for (CbsCourseTypeWrapper.CourseType courseType : courseTypes) {
                 if (StringUtils.isNotBlank(courseType.getSubjectIds()) ) {
                     if (subject !=null && subject.getCbsSubjectId() !=null) {
+                        subject.setCbsSubjectId(Long.parseLong(map.getOrDefault(subject.getCbsSubjectId().toString(),subject.getCbsSubjectId().toString())));
                         boolean contains = Arrays.asList(courseType.getSubjectIds().split(",")).contains(subject.getCbsSubjectId().toString());
                         if (contains) {
                             courseTypeList.add(ECourseType.valueOf(courseType.getTypeCode()));