فهرست منبع

酷乐秀曲目来源改为内容平台

zouxuan 1 سال پیش
والد
کامیت
bfd9b52150

+ 10 - 28
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/CourseCoursewareController.java

@@ -1,29 +1,22 @@
 package com.yonge.cooleshow.teacher.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
-import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.search.CourseCoursewareSearch;
 import com.yonge.cooleshow.biz.dal.entity.CourseCourseware;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.service.CourseCoursewareService;
+import com.yonge.cooleshow.biz.dal.service.SysUserService;
 import com.yonge.cooleshow.biz.dal.vo.CourseCoursewareVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.base.util.StringUtil;
 import com.yonge.toolset.mybatis.support.PageUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import javax.validation.Valid;
 import java.util.Date;
 
@@ -32,12 +25,11 @@ import java.util.Date;
 @Api(value = "课件表", tags = "课件表")
 public class CourseCoursewareController extends BaseController {
 
-	@Autowired
+	@Resource
 	private CourseCoursewareService courseCoursewareService;
 
-
-	@Autowired
-	private SysUserFeignService sysUserFeignService;
+	@Resource
+	private SysUserService sysUserService;
 
 	/**
 	 * 查询分页
@@ -45,12 +37,8 @@ public class CourseCoursewareController extends BaseController {
 	@PostMapping("/page")
 	@ApiOperation(value = "查询分页", notes = "传入courseCoursewareSearch")
 	public HttpResponseResult<PageInfo<CourseCoursewareVo>> page(@RequestBody CourseCoursewareSearch query) {
-		SysUser user = sysUserFeignService.queryUserInfo();
-		if (user == null) {
-			throw new BizException("请重新登录");
-		}
 		query.setClientType(ClientEnum.TEACHER);
-		query.setUserId(user.getId());
+		query.setUserId(sysUserService.getUserId());
 		IPage<CourseCoursewareVo> pages = courseCoursewareService.selectPage(PageUtil.getPage(query), query);
 		return succeed(PageUtil.pageInfo(pages));
 	}
@@ -61,14 +49,8 @@ public class CourseCoursewareController extends BaseController {
 	@PostMapping("/submit")
 	@ApiOperation(value = "新增或修改", notes = "传入courseCourseware")
 	public HttpResponseResult<CourseCourseware> submit(@Valid @RequestBody CourseCourseware courseCourseware) {
-
-		SysUser user = sysUserFeignService.queryUserInfo();
-		if (user == null) {
-			throw new BizException("请重新登录");
-		}
-
 		courseCourseware.setClientType(ClientEnum.TEACHER);
-		courseCourseware.setUserId(user.getId());
+		courseCourseware.setUserId(sysUserService.getUserId());
 		if (courseCourseware.getId() != null) {
 			courseCourseware.setUpdateTime(new Date());
 		} else {
@@ -84,7 +66,7 @@ public class CourseCoursewareController extends BaseController {
 	 */
 	@PostMapping("/remove/{id}")
 	@ApiOperation(value = "删除", notes = "传入id")
-	public HttpResponseResult remove(@PathVariable Long id ) {
+	public HttpResponseResult<Object> remove(@PathVariable Long id ) {
 		return status(courseCoursewareService.removeById(id));
 	}
 
@@ -94,7 +76,7 @@ public class CourseCoursewareController extends BaseController {
 	 */
 	@PostMapping("/remove")
 	@ApiOperation(value = "批量删除", notes = "传入id")
-	public HttpResponseResult remove(@RequestParam String ids ) {
+	public HttpResponseResult<Object> remove(@RequestParam String ids ) {
 		return status(courseCoursewareService.removeByIds(StringUtil.toLongList(ids)));
 	}
 }

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java

@@ -413,4 +413,6 @@ public interface MusicSheetService extends IService<MusicSheet> {
     CbsMusicSheetWrapper.MusicSheetApplicationQuery getMusicSheetApplicationQuery();
 
     PageInfo<CbsMusicSheetWrapper.MusicSheetAccApplication> queryCbsMusicSheetSoundApplication(CbsMusicSheetWrapper.MusicSheetApplicationQuery query);
+
+    List<CbsMusicSheetWrapper.MusicSheetApplication> queryCbsMusicSheetApplication(CbsMusicSheetWrapper.MusicSheetApplicationQuery query);
 }

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

@@ -3,6 +3,7 @@ package com.yonge.cooleshow.biz.dal.service.impl;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetWrapper;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.biz.dal.dao.CourseCoursewareDao;
 import com.yonge.cooleshow.biz.dal.dao.MusicSheetAccompanimentDao;
@@ -33,12 +34,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.io.Serializable;
-import java.util.Collection;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 
 
@@ -84,7 +80,7 @@ public class CourseCoursewareServiceImpl extends ServiceImpl<CourseCoursewareDao
             return courseCoursewareVoIPage;
         }
         Map<Long, String> userIdUsernameMap = sysUsers.stream().collect(Collectors.toMap(SysUser::getId, SysUser::getUsername));
-        //获取曲目关联的伴奏
+        /*//获取曲目关联的伴奏
         List<Long> musicSheetIds = records.stream().map(e -> e.getMusicSheetId()).distinct().collect(Collectors.toList());
         Map<Long, MusicSheetAccompaniment> accoompanimentMap = musicSheetAccompanimentDao.selectList(
                         Wrappers.<MusicSheetAccompaniment>lambdaQuery()
@@ -116,10 +112,38 @@ public class CourseCoursewareServiceImpl extends ServiceImpl<CourseCoursewareDao
                                                          .collect(Collectors.joining(","));
                 record.setMp3url(url);
             }
+        }*/
+        //获取内容平台曲目信息
+        List<Long> cbsMusicSheetIds = records.stream().map(e -> e.getCbsMusicSheetId()).collect(Collectors.toList());
+        CbsMusicSheetWrapper.MusicSheetApplicationQuery applicationQuery = musicSheetService.getMusicSheetApplicationQuery();
+        applicationQuery.setMusicSheetIds(cbsMusicSheetIds);
+        List<CbsMusicSheetWrapper.MusicSheetApplication> applications = musicSheetService.queryCbsMusicSheetApplication(applicationQuery);
+        if(CollectionUtils.isNotEmpty(applications)){
+            Map<Long, CbsMusicSheetWrapper.MusicSheetApplication> applicationMap = applications.stream().collect(Collectors.toMap(CbsMusicSheetWrapper.MusicSheetApplication::getId, e -> e));
+            for (CourseCoursewareVo record : records) {
+                record.setUsername(userIdUsernameMap.get(record.getUserId()));
+                CbsMusicSheetWrapper.MusicSheetApplication sheetApplication = applicationMap.get(record.getCbsMusicSheetId());
+                if(sheetApplication != null){
+                    record.setMusicSheetName(sheetApplication.getName());
+                    record.setTitleImg(sheetApplication.getMusicCover());
+                    record.setMusicImg(sheetApplication.getMusicImg());
+                    record.setPaymentType(sheetApplication.getPaymentType());
+                    record.setStatus(sheetApplication.getStatus()?YesOrNoEnum.YES:YesOrNoEnum.NO);
+                    List<CbsMusicSheetWrapper.MusicSheetAccompaniment> accompanimentList = sheetApplication.getMusicSheetAccompanimentList();
+                    if(CollectionUtils.isNotEmpty(accompanimentList)){
+                        CbsMusicSheetWrapper.MusicSheetAccompaniment accompaniment = accompanimentList.get(0);
+                        record.setUrl(accompaniment.getAudioFileUrl());
+                        record.setMusicSheetAccompanimentId(accompaniment.getMusicSheetId().toString());
+                    }
+                    List<CbsMusicSheetWrapper.MusicSheetSound> soundList = sheetApplication.getMusicSheetSoundList();
+                    if(CollectionUtils.isNotEmpty(soundList)){
+                        String url = soundList.stream().map(CbsMusicSheetWrapper.MusicSheetSound::getAudioFileUrl).collect(Collectors.joining(","));
+                        record.setMp3url(url);
+                    }
+                }
+            }
         }
 
-
-
         // 查询有效直接返回
         if (query.getStatus() != null && query.getStatus().equals(YesOrNoEnum.YES)) {
             records = records.stream()

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

@@ -17,7 +17,6 @@ import com.dayaedu.cbs.openfeign.client.MusicFeignClientService;
 import com.dayaedu.cbs.openfeign.properties.OpenFeignClientConfigProperties;
 import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetApplicationExtendClientWrapper;
 import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetWrapper;
-import com.dayaedu.cbs.openfeign.wrapper.music.CbsSubjectApiWrapper;
 import com.google.common.collect.Maps;
 import com.microsvc.toolkit.common.response.paging.PageInfo;
 import com.microsvc.toolkit.common.response.template.R;
@@ -2357,6 +2356,20 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         return PageUtil.pageInfo(pageInfo);
     }
 
+    @Override
+    public List<CbsMusicSheetWrapper.MusicSheetApplication> queryCbsMusicSheetApplication(CbsMusicSheetWrapper.MusicSheetApplicationQuery query) {
+        R<com.microsvc.toolkit.common.response.paging.PageInfo<CbsMusicSheetWrapper.MusicSheetApplication>> pageInfoR =
+                musicFeignClientService.musicSheetPageByApplication(query);
+        if(pageInfoR.getCode() != 200){
+            throw new BizException("获取曲目信息失败");
+        }
+        com.microsvc.toolkit.common.response.paging.PageInfo<CbsMusicSheetWrapper.MusicSheetApplication> pageInfo = pageInfoR.getData();
+        if(pageInfo != null && CollectionUtils.isNotEmpty(pageInfo.getRows())){
+            return pageInfo.getRows();
+        }
+        return new ArrayList<>();
+    }
+
 
     private void syncMusicSheet(MusicSheet record, Date date) {
         List<MusicSheetAccompaniment> list = musicSheetAccompanimentService.lambdaQuery().eq(MusicSheetAccompaniment::getMusicSheetId, record.getId()).list();

+ 3 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/CourseCoursewareVo.java

@@ -30,14 +30,15 @@ public class CourseCoursewareVo extends CourseCourseware{
 	@ApiModelProperty(hidden = true)
 	private String paymentType;
 
-
 	@ApiModelProperty("曲目图片 多个逗号隔开")
 	private String musicImg;
 
 	@ApiModelProperty("原音地址,多个逗号隔开")
 	private String mp3url;
 
-
 	@ApiModelProperty(value = "曲目是否启用 0:未启用, 1:启用",hidden = true)
 	private YesOrNoEnum musicStatus;
+
+	@ApiModelProperty("曲目编号")
+	private Long cbsMusicSheetId;
 }

+ 1 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseCoursewareMapper.xml

@@ -35,6 +35,7 @@
         ,ms.payment_type_ as paymentType
         ,ms.music_img_ as musicImg
         ,ms.title_img_ as titleImg
+		,ms.cbs_music_sheet_id_ as cbsMusicSheetId
 		,CASE WHEN ms.audio_file_url_ IS NOT NULL AND ms.audio_file_url_ != '' THEN ms.audio_file_url_
         WHEN ms.metronome_url_ IS NOT NULL AND ms.metronome_url_ != '' THEN ms.metronome_url_ ELSE ms.url_ END AS url
 		FROM course_courseware t