소스 검색

Merge branch 'dev_v1.3.7_20221020'

liujunchi 2 년 전
부모
커밋
c97c24ab5d

+ 79 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/VideoLessonController.java

@@ -3,13 +3,16 @@ package com.yonge.cooleshow.admin.controller;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.dto.AdjustModel;
 import com.yonge.cooleshow.biz.dal.dto.search.VideoGroupSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonSearch;
+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.service.VideoLessonGroupDetailService;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupService;
+import com.yonge.cooleshow.biz.dal.valid.UpdateGroup;
 import com.yonge.toolset.base.util.StringUtil;
 import com.yonge.toolset.mybatis.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.valid.AddGroup;
@@ -22,12 +25,15 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.validation.Valid;
 import javax.validation.constraints.NotNull;
 import java.util.Date;
 import java.util.List;
@@ -188,4 +194,77 @@ public class VideoLessonController extends BaseController {
     public HttpResponseResult<CountVideoGroupVo> countVideoGroup() {
         return succeed(lessonGroupService.countVideoGroup());
     }
+
+
+    /**
+     * @Description: 新增视频课组&视频课
+     * @Author: cy
+     * @Date: 2022/4/1
+     */
+    @ApiOperation(value = "新增视频课组&视频课", httpMethod = "POST", consumes = "application/json", produces = "application/json")
+    @PostMapping(value = "/add", consumes = "application/json", produces = "application/json")
+    public HttpResponseResult<Object> add(@Validated(AddGroup.class) @RequestBody VideoLessonVo lessonVo) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+
+        if (sysUser == null || sysUser.getId() == null) {
+            return failed("用户信息获取失败");
+        }
+        if (CollectionUtils.isEmpty(lessonVo.getLessonList())) {
+            return failed("课程不能为空");
+        }
+        lessonGroupService.add(lessonVo, sysUser);
+        return succeed();
+    }
+
+    /**
+     * @Description: 修改视频课组&视频课
+     * @Author: cy
+     * @Date: 2022/4/7
+     */
+    @ApiOperation(value = "修改视频课组&视频课", httpMethod = "POST", consumes = "application/json", produces = "application/json")
+    @PostMapping(value = "/update", consumes = "application/json", produces = "application/json")
+    public HttpResponseResult<Object> update(@Validated(UpdateGroup.class) @RequestBody VideoLessonVo lessonVo) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+
+        if (sysUser == null || sysUser.getId() == null) {
+            return failed("用户信息获取失败");
+        }
+        if (CollectionUtils.isEmpty(lessonVo.getLessonList())) {
+            return failed("课程不能为空");
+        }
+        lessonGroupService.update(lessonVo, sysUser);
+        return succeed();
+    }
+
+
+
+    /**
+     * 置顶
+     */
+    @PostMapping("/top/{id}")
+    @ApiOperation(value = "置顶", notes = "传入id")
+    public HttpResponseResult<Boolean> top(@ApiParam(value = "视频课编号", required = true)  @PathVariable Long id) {
+        if (StringUtil.isEmpty(id)) {
+            return failed("参数不能为空");
+        }
+        return status(lessonGroupService.top(id));
+    }
+
+
+    /**
+     * 设置排序值 和加精
+     */
+    @PostMapping("/adjust")
+    @ApiOperation(value = "视频课调整排序")
+    public HttpResponseResult<Boolean> adjust(@RequestBody @Valid AdjustModel model) {
+
+        VideoLessonGroup videoLessonGroup = new VideoLessonGroup();
+        videoLessonGroup.setId(model.getId());
+        videoLessonGroup.setSortNumber(model.getSort());
+
+        lessonGroupService.updateById(videoLessonGroup);
+
+        return succeed();
+    }
+
 }

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonGroup.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
+import com.baomidou.mybatisplus.annotation.FieldFill;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 

+ 5 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonGroupService.java

@@ -70,4 +70,9 @@ public interface VideoLessonGroupService extends IService<VideoLessonGroup> {
     ShareProfitVo shareVideoCourseProfit(SysUser sysUser, Long videoGroupId);
 
 
+    /**
+     * 置顶视频课
+     *
+     */
+    Boolean top(Long videoLessonGroupId);
 }

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

@@ -39,6 +39,9 @@ public class SubjectServiceImpl extends BaseServiceImpl<Long, Subject> implement
 
     @Override
     public List<Subject> findBySubjectByIdList(List<Long> subjectIdList) {
+        if (CollectionUtils.isEmpty(subjectIdList)) {
+            return new ArrayList<>();
+        }
         return subjectDao.findBySubjectIds(subjectIdList);
     }
 

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

@@ -274,6 +274,14 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         
         Date date = new Date();
 
+        // 设置默认置顶和排序
+        if (lessonGroup.getTopFlag() == null) {
+            lessonGroup.setTopFlag(0);
+        }
+        if (lessonGroup.getSortNumber() == null) {
+            lessonGroup.setSortNumber(0);
+        }
+
         //添加组
         lessonGroup.setTeacherId(sysUser.getId());
         lessonGroup.setAuditVersion(YesOrNoEnum.NO);
@@ -568,5 +576,18 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
 
     }
 
+    @Override
+    public Boolean top(Long videoLessonGroupId) {
+        VideoLessonGroup videoLessonGroup = getById(videoLessonGroupId);
+        if (videoLessonGroup == null) {
+            throw new BizException("未找到视频课信息");
+        }
+        VideoLessonGroup lessonGroup = new VideoLessonGroup();
+        lessonGroup.setTopFlag(videoLessonGroup.getTopFlag() == 1?0:1);
+        lessonGroup.setId(videoLessonGroupId);
+        return this.updateById(lessonGroup);
+
+    }
+
 
 }

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

@@ -612,6 +612,7 @@
                 AND g.shelves_flag_ = #{param.shelvesFlag}
             </if>
         </where>
+        order by g.top_flag_ desc ,g.sort_number_ desc,g.id_ desc
     </select>
     <select id="selectVideoGroupStudent" resultType="com.yonge.cooleshow.biz.dal.vo.CourseGroupStudentVo">
         SELECT

+ 2 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/VideoLessonGroupMapper.xml

@@ -153,7 +153,7 @@
 				)
 			</if>
 		</where>
-		ORDER BY countStudent DESC
+		ORDER BY g.top_flag_ desc,g.sort_number_ desc, countStudent DESC,g.id_ desc
 	</select>
 	<select id="selectStudentPage" resultType="com.yonge.cooleshow.biz.dal.vo.VideoLessonStudentDetailVo">
 		SELECT
@@ -317,7 +317,7 @@
 				AND s.id_ = #{param.lessonSubject}
 			</if>
 		</where>
-		ORDER BY countStudent DESC
+		ORDER BY g.top_flag_ desc,g.sort_number_ desc, countStudent DESC,g.id_ desc
 	</select>
 	
 	<select id="queryMyLessonGroup" resultType="com.yonge.cooleshow.biz.dal.vo.LessonGroupVo">

+ 17 - 8
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/MusicSheetController.java

@@ -47,6 +47,8 @@ import com.yonge.toolset.base.util.StringUtil;
 import com.yonge.toolset.mybatis.support.PageUtil;
 import com.yonge.toolset.utils.idcard.IdcardInfoExtractor;
 
+import java.util.ArrayList;
+
 /**
  * 曲谱表 web 控制层
  * @author yzp
@@ -341,14 +343,21 @@ public class MusicSheetController extends BaseController {
         query.setMusicSortType(MusicSortType.TOP);
         appMusicSheetVo.setTopMusicSheet(musicSheetService.selectStudentPage(PageUtil.getPage(query), query, ClientEnum.STUDENT).getRecords());
 
-        // 最热曲目
-        query.setMusicSortType(MusicSortType.HOT);
-        appMusicSheetVo.setHotMusicSheet(musicSheetService.selectStudentPage(PageUtil.getPage(query), query, ClientEnum.STUDENT).getRecords());
-
-
-        // 最新曲目
-        query.setMusicSortType(MusicSortType.NEW);
-        appMusicSheetVo.setNewMusicSheet(musicSheetService.selectStudentPage(PageUtil.getPage(query), query, ClientEnum.STUDENT).getRecords());
+        // 审核版本只返回一列
+        if (query.getAuditVersion().equals(YesOrNoEnum.YES)) {
+            appMusicSheetVo.setHotMusicSheet(new ArrayList<>());
+            appMusicSheetVo.setNewMusicSheet(new ArrayList<>());
+        } else {
+            // 最热曲目
+            query.setMusicSortType(MusicSortType.HOT);
+            appMusicSheetVo.setHotMusicSheet(
+                    musicSheetService.selectStudentPage(PageUtil.getPage(query), query, ClientEnum.STUDENT).getRecords());
+
+            // 最新曲目
+            query.setMusicSortType(MusicSortType.NEW);
+            appMusicSheetVo.setNewMusicSheet(
+                    musicSheetService.selectStudentPage(PageUtil.getPage(query), query, ClientEnum.STUDENT).getRecords());
+        }
         return succeed(appMusicSheetVo);
     }
 }

+ 16 - 8
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/MusicSheetController.java

@@ -8,6 +8,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 
+import java.util.ArrayList;
 import java.util.Date;
 
 import javax.validation.Valid;
@@ -328,14 +329,21 @@ public class MusicSheetController extends BaseController {
         query.setMusicSortType(MusicSortType.TOP);
         appMusicSheetVo.setTopMusicSheet(musicSheetService.selectStudentPage(PageUtil.getPage(query), query, ClientEnum.TEACHER).getRecords());
 
-        // 最热曲目
-        query.setMusicSortType(MusicSortType.HOT);
-        appMusicSheetVo.setHotMusicSheet(musicSheetService.selectStudentPage(PageUtil.getPage(query), query, ClientEnum.TEACHER).getRecords());
-
-
-        // 最新曲目
-        query.setMusicSortType(MusicSortType.NEW);
-        appMusicSheetVo.setNewMusicSheet(musicSheetService.selectStudentPage(PageUtil.getPage(query), query, ClientEnum.TEACHER).getRecords());
+        // 审核版本只返回一列
+        if (query.getAuditVersion().equals(YesOrNoEnum.YES)) {
+            appMusicSheetVo.setHotMusicSheet(new ArrayList<>());
+            appMusicSheetVo.setNewMusicSheet(new ArrayList<>());
+        } else {
+            // 最热曲目
+            query.setMusicSortType(MusicSortType.HOT);
+            appMusicSheetVo.setHotMusicSheet(
+                    musicSheetService.selectStudentPage(PageUtil.getPage(query), query, ClientEnum.STUDENT).getRecords());
+
+            // 最新曲目
+            query.setMusicSortType(MusicSortType.NEW);
+            appMusicSheetVo.setNewMusicSheet(
+                    musicSheetService.selectStudentPage(PageUtil.getPage(query), query, ClientEnum.STUDENT).getRecords());
+        }
         return succeed(appMusicSheetVo);
     }