Browse Source

Merge branch 'dev_v1.3.7_20221020'

Eric 3 years ago
parent
commit
9f14a168f4

+ 17 - 6
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/VideoLessonController.java

@@ -1,6 +1,9 @@
 package com.yonge.cooleshow.admin.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.cooleshow.admin.io.request.coupon.CouponIssueVo;
 import com.yonge.cooleshow.admin.io.request.course.CourseRelationVo;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
@@ -11,10 +14,13 @@ import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.biz.dal.enums.course.CourseTypeEnum;
 import com.yonge.cooleshow.biz.dal.queryInfo.CourseRelationQueryInfo;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupDetailService;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupService;
 import com.yonge.cooleshow.biz.dal.valid.UpdateGroup;
+import com.yonge.cooleshow.biz.dal.wrapper.course.CourseRelationWrapper;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.util.StringUtil;
 import com.yonge.toolset.mybatis.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.valid.AddGroup;
@@ -40,6 +46,8 @@ import javax.validation.constraints.NotNull;
 import java.util.Date;
 import java.util.List;
 
+import static com.yonge.cooleshow.common.entity.HttpResponseResult.succeed;
+
 /**
  * @Author: cy
  * @Date: 2022/4/2
@@ -125,10 +133,13 @@ public class VideoLessonController extends BaseController {
 
     @ApiOperation(value = "老师详情-视频课详情-推荐/赠送内容", httpMethod = "POST", consumes = "application/json", produces = "application/json")
     @PostMapping(value = "/queryRelationMusicAlbum", consumes = "application/json", produces = "application/json")
-    public HttpResponseResult<PageInfo<CourseRelationVo.CourseRelationList>> queryRelationMusicAlbum(@RequestBody CourseRelationVo.CourseRelationQuery query) {
-        lessonGroupService.queryRelationMusicAlbum(PageUtil.getPage(query),
-                                                   CourseRelationQueryInfo.from(query.jsonString()));
-        return succeed();
+    public HttpResponseResult<PageInfo<CourseRelationWrapper.MusicAlbumInfo>> queryRelationMusicAlbum(@RequestBody CourseRelationVo.CourseRelationQuery query) {
+
+        query.setCourseType(CourseTypeEnum.VIDEO);
+        IPage<CourseRelationWrapper.MusicAlbumInfo> iPage = lessonGroupService
+                .queryRelationMusicAlbum(PageUtil.getPage(query), CourseRelationQueryInfo.from(query.jsonString()));
+        return succeed(PageUtil.pageInfo(iPage));
+
     }
 
 
@@ -224,7 +235,7 @@ public class VideoLessonController extends BaseController {
         if (sysUser == null || sysUser.getId() == null) {
             return failed("用户信息获取失败");
         }
-        if (CollectionUtils.isEmpty(lessonVo.getLessonList())) {
+        if (lessonVo.getLessonGroup().getDraftFlag().equals(YesOrNoEnum.NO) && CollectionUtils.isEmpty(lessonVo.getLessonList())) {
             return failed("课程不能为空");
         }
         lessonGroupService.add(lessonVo, sysUser);
@@ -248,7 +259,7 @@ public class VideoLessonController extends BaseController {
         if (sysUser == null || sysUser.getId() == null) {
             return failed("用户信息获取失败");
         }
-        if (CollectionUtils.isEmpty(lessonVo.getLessonList())) {
+        if (lessonVo.getLessonGroup().getDraftFlag().equals(YesOrNoEnum.NO) && CollectionUtils.isEmpty(lessonVo.getLessonList())) {
             return failed("课程不能为空");
         }
         lessonGroupService.update(lessonVo, sysUser);

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonGroupDao.java

@@ -2,6 +2,9 @@ package com.yonge.cooleshow.biz.dal.dao;
 
 import java.util.List;
 
+import com.yonge.cooleshow.biz.dal.queryInfo.CouponInfoQuery;
+import com.yonge.cooleshow.biz.dal.queryInfo.CourseRelationQueryInfo;
+import com.yonge.cooleshow.biz.dal.wrapper.course.CourseRelationWrapper;
 import org.apache.ibatis.annotations.Param;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/queryInfo/CourseRelationQueryInfo.java

@@ -26,9 +26,9 @@ public class CourseRelationQueryInfo {
 
 
 
-    public static CouponInfoQuery from(String recv) {
+    public static CourseRelationQueryInfo from(String recv) {
 
-        return JSON.parseObject(recv, CouponInfoQuery.class);
+        return JSON.parseObject(recv, CourseRelationQueryInfo.class);
     }
 
 

+ 3 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonGroupService.java

@@ -8,6 +8,7 @@ import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonSearch;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.yonge.cooleshow.biz.dal.queryInfo.CouponInfoQuery;
+import com.yonge.cooleshow.biz.dal.queryInfo.CourseRelationQueryInfo;
 import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.biz.dal.wrapper.course.CourseRelationWrapper;
 
@@ -79,7 +80,7 @@ public interface VideoLessonGroupService extends IService<VideoLessonGroup> {
     Boolean top(Long videoLessonGroupId);
 
     /**
-     * 老师详情-视频课详情-推荐/赠送内容
+     * 课程关联的曲目 /专辑信息
      */
-    IPage<CourseRelationWrapper.CourseMusicAlbumInfo> queryRelationMusicAlbum(IPage<CourseRelationWrapper.CourseMusicAlbumInfo> page, CouponInfoQuery query);
+    IPage<CourseRelationWrapper.MusicAlbumInfo> queryRelationMusicAlbum(IPage<CourseRelationWrapper.MusicAlbumInfo> page, CourseRelationQueryInfo queryInfo);
 }

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

@@ -60,7 +60,7 @@ import com.yonge.cooleshow.biz.dal.vo.VideoLessonStudentVo;
 import com.yonge.toolset.utils.json.JsonUtil;
 
 /**
- * VideoLessonGroupDetailService服务实现类
+ * VideoLessonGroupDetailService服务实现类ø
  * @author yzp
  * @date 2022-03-26 00:01:38
  * @version v1.0
@@ -326,6 +326,7 @@ public class VideoLessonGroupDetailServiceImpl extends ServiceImpl<VideoLessonGr
 
                 item.name(music.getMusicSheetName())
                         .cover(music.getTitleImg());
+                item.setRemark(music.getComposer());
             }
 
             if (RelationMusicAlbumEnum.ALBUM == item.getRelationType()
@@ -335,6 +336,7 @@ public class VideoLessonGroupDetailServiceImpl extends ServiceImpl<VideoLessonGr
 
                 item.name(album.getAlbumName())
                         .cover(album.getAlbumCoverUrl());
+                item.setRemark(album.getAlbumDesc());
             }
         }
         return musicAlbumInfos;

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

@@ -7,12 +7,16 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.google.common.collect.Lists;
 import com.yonge.cooleshow.biz.dal.dto.CourseMusicAlbumRelationDto;
 import com.yonge.cooleshow.biz.dal.entity.CourseRelationMusicAlbum;
 import com.yonge.cooleshow.biz.dal.enums.course.CourseTypeEnum;
 import com.yonge.cooleshow.biz.dal.queryInfo.CouponInfoQuery;
+import com.yonge.cooleshow.biz.dal.queryInfo.CourseRelationQueryInfo;
 import com.yonge.cooleshow.biz.dal.service.CourseRelationMusicAlbumService;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetPurchaseRecordService;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupDetailService;
@@ -292,11 +296,13 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         List<Long> updateCourseRelationIdList = new ArrayList<>();
         for (VideoLessonGroupDetailDto videoLessonGroupDetailDto : lessonList) {
             // 需要修改的关联数据
-            List<CourseMusicAlbumRelationDto> relationList = videoLessonGroupDetailDto.getRelationList();
+            List<CourseMusicAlbumRelationDto> relationList = Optional.ofNullable(videoLessonGroupDetailDto.getRelationList())
+                    .orElse(Lists.newArrayList());
 
+            videoLessonGroupDetailDto.setCourseRelationMusicAlbumList(new ArrayList<>());
             // 原本的关联数据
-            List<CourseRelationMusicAlbum> oldRelationList = courseRelationMusicAlbumList.get(
-                    videoLessonGroupDetailDto.getId());
+            List<CourseRelationMusicAlbum> oldRelationList = courseRelationMusicAlbumList.getOrDefault(
+                    videoLessonGroupDetailDto.getId(), Lists.newArrayList());
 
             for (CourseMusicAlbumRelationDto courseMusicAlbumRelationDto : relationList) {
                 CourseRelationMusicAlbum courseRelationMusicAlbum = new CourseRelationMusicAlbum();
@@ -415,6 +421,11 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
             lessonGroup.setSortNumber(0);
         }
 
+        // 草稿状态不审核
+        if (lessonGroup.getDraftFlag() == null) {
+            lessonGroup.setDraftFlag(YesOrNoEnum.NO);
+        }
+
         //添加组
         lessonGroup.setTeacherId(sysUser.getId());
         lessonGroup.setAuditVersion(YesOrNoEnum.NO);
@@ -441,10 +452,6 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         record.setAuthType(AuthTypeEnum.ADD);
         recordDao.insert(record);*/
 
-        // 草稿状态不审核
-        if (lessonGroup.getDraftFlag() == null) {
-            lessonGroup.setDraftFlag(YesOrNoEnum.NO);
-        }
 
         // 设置关联曲目
         courseMusicAlbumRelation(lessonList,lessonGroup.getId());
@@ -760,8 +767,38 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
     }
 
     @Override
-    public IPage<CourseRelationWrapper.CourseMusicAlbumInfo> queryRelationMusicAlbum(IPage<CourseRelationWrapper.CourseMusicAlbumInfo> page, CouponInfoQuery query) {
-        return null;
+    public IPage<CourseRelationWrapper.MusicAlbumInfo> queryRelationMusicAlbum(IPage<CourseRelationWrapper.MusicAlbumInfo> page, CourseRelationQueryInfo queryInfo) {
+        IPage courseRelationMusicAlbumIPage = new Page<>(page.getCurrent(),page.getSize());
+        courseRelationMusicAlbumIPage = courseRelationMusicAlbumService.lambdaQuery()
+                           .eq(CourseRelationMusicAlbum::getCourseGroupId,queryInfo.getCourseGroupId())
+                            .eq(CourseRelationMusicAlbum::getCourseType, queryInfo.getCourseType())
+                            .ne(CourseRelationMusicAlbum::getDelFlog,0)
+                           .orderByAsc(CourseRelationMusicAlbum::getCourseId)
+                           .orderByDesc( CourseRelationMusicAlbum::getId)
+                           .page(courseRelationMusicAlbumIPage);
+        List<CourseRelationMusicAlbum> records = courseRelationMusicAlbumIPage.getRecords();
+        List<CourseRelationWrapper.MusicAlbumInfo> courseRelationMusicAlbumInfos = videoLessonGroupDetailService.getCourseRelationMusicAlbumInfos(
+                records);
+
+        // 课程id集合
+        List<Long> courseIdList = courseRelationMusicAlbumInfos.stream()
+                                                          .map(CourseRelationWrapper.MusicAlbumInfo::getCourseId)
+                                                          .collect(Collectors.toList());
+        // 查询课程名
+        List<VideoLessonGroupDetail> list = videoLessonGroupDetailService.lambdaQuery()
+                                                                         .in(VideoLessonGroupDetail::getId,
+                                                                             courseIdList)
+                                                                         .list();
+        Map<Long, String> collect = list.stream()
+                                        .collect(Collectors.toMap(VideoLessonGroupDetail::getId,
+                                                                  VideoLessonGroupDetail::getVideoTitle));
+        for (CourseRelationWrapper.MusicAlbumInfo courseRelationMusicAlbumInfo : courseRelationMusicAlbumInfos) {
+            courseRelationMusicAlbumInfo.setVideoTitle(collect.get(courseRelationMusicAlbumInfo.getCourseId()));
+        }
+
+        courseRelationMusicAlbumIPage.setRecords(courseRelationMusicAlbumInfos);
+        return courseRelationMusicAlbumIPage;
+
     }
 
 

+ 8 - 36
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/course/CourseRelationWrapper.java

@@ -56,12 +56,20 @@ public class CourseRelationWrapper {
         @ApiModelProperty("图标/封面")
         private String cover;
 
+        @ApiModelProperty("曲目音乐人 专辑简介")
+        private String remark;
+
+        @ApiModelProperty("视频标题")
+        private String videoTitle;
 
         public MusicAlbumInfo name(String name) {
             this.name = name;
             return this;
         }
 
+
+
+
         public MusicAlbumInfo cover(String cover) {
             this.cover = cover;
             return this;
@@ -136,40 +144,4 @@ public class CourseRelationWrapper {
         private Long groupId;
     }
 
-    /**
-     * 课程关联的内容信息
-     */
-    @Getter
-    @Setter
-    public static class CourseMusicAlbumInfo {
-
-        // 编号
-        private Long id;
-
-        //封面
-        private String img;
-
-        //名称")
-        private String name;
-
-        //标签")
-        private String tagName;
-
-        //声部")
-        private String subjectName;
-
-        //收费类型  VIP:会员,FREE:免费 CHARGE:购买")
-        private String paymentType;
-
-        //价格")
-        private BigDecimal price;
-
-        //关联类型, MUSIC, ALBUM ")
-        private RelationMusicAlbumEnum relationType;
-
-        //课程名")
-        private String courseName;
-
-
-    }
 }

+ 3 - 2
cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/VideoGroupController.java

@@ -6,6 +6,7 @@ import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonGroupSearch;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupService;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.mybatis.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.valid.AddGroup;
 import com.yonge.cooleshow.biz.dal.valid.UpdateGroup;
@@ -115,7 +116,7 @@ public class VideoGroupController extends BaseController {
         if (sysUser == null||sysUser.getId()==null) {
             return failed("用户信息获取失败");
         }
-        if (CollectionUtils.isEmpty(lessonVo.getLessonList())) {
+        if ( CollectionUtils.isEmpty(lessonVo.getLessonList())) {
             return failed("课程不能为空");
         }
         videoLessonGroupService.add(lessonVo,sysUser);
@@ -146,7 +147,7 @@ public class VideoGroupController extends BaseController {
         if (sysUser == null||sysUser.getId()==null) {
             return failed("用户信息获取失败");
         }
-        if (CollectionUtils.isEmpty(lessonVo.getLessonList())) {
+        if ( CollectionUtils.isEmpty(lessonVo.getLessonList())) {
             return failed("课程不能为空");
         }
         videoLessonGroupService.update(lessonVo,sysUser);

+ 1 - 1
service.md

@@ -1,7 +1,7 @@
 - [ ] gateway-server
 - [ ] auth-server
 - [x] admin-server
-- [ ] teacher-server
+- [x] teacher-server
 - [ ] student-server
 - [ ] website-server
 - [ ] task-server