Pārlūkot izejas kodu

Merge branch 'dev_1_3_3_20220822' of http://git.dayaedu.com/yonge/cooleshow into dev_1_3_3_20220822

liujunchi 2 gadi atpakaļ
vecāks
revīzija
7794ba28fd
17 mainītis faili ar 381 papildinājumiem un 99 dzēšanām
  1. 1 1
      cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/dal/dao/SysUserDao.java
  2. 3 3
      cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/web/controller/UserController.java
  3. 22 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/VideoLessonController.java
  4. 7 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonGroupDao.java
  5. 0 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/req/TeacherApplyDetailReq.java
  6. 11 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/VideoGroupSearch.java
  7. 26 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonAuthRecord.java
  8. 13 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonGroup.java
  9. 2 4
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonGroupDetailService.java
  10. 4 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonGroupService.java
  11. 13 14
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherAuthEntryRecordServiceImpl.java
  12. 58 20
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonGroupServiceImpl.java
  13. 47 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/VideoLessonAuthGroup.java
  14. 1 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherAuthEntryRecordMapper.xml
  15. 117 13
      cooleshow-user/user-biz/src/main/resources/config/mybatis/VideoLessonGroupMapper.xml
  16. 0 12
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherAuthEntryRecordController.java
  17. 56 29
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/VideoLessonGroupController.java

+ 1 - 1
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/dal/dao/SysUserDao.java

@@ -173,5 +173,5 @@ public interface SysUserDao extends BaseDAO<Long, SysUser> {
 
     Integer getUnCompCourseNum(@Param("userId") Long userId);
 
-    void updateLockStatus(@Param("userId")Long userId, @Param("lockFlag") Integer lockFlag, @Param("SysUserType")  String sysUserType);
+    void updateLockStatus(@Param("userId")Long userId, @Param("lockFlag") Integer lockFlag, @Param("sysUserType")  String sysUserType);
 }

+ 3 - 3
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/web/controller/UserController.java

@@ -341,7 +341,7 @@ public class UserController extends BaseController {
     })
     @ApiOperation(value = "启用/冻结", notes = "传入lockFlag")
     public HttpResponseResult<Boolean> changeLock(@PathVariable("userId") Long userId
-            , @PathVariable("lockFlag") UserLockFlag lockFlag, @PathVariable("userType") SysUserType sysUserType) {
+            , @PathVariable("lockFlag") Integer lockFlag, @PathVariable("userType") SysUserType sysUserType) {
         if (userId == null || lockFlag == null || sysUserType == null) {
             return failed("参数校验异常");
         }
@@ -353,13 +353,13 @@ public class UserController extends BaseController {
             return failed("非法操作");
         }
         //退出对应用户
-        if (UserLockFlag.LOCKED.equals(lockFlag)) {
+        if (UserLockFlag.LOCKED.getCode().equals(lockFlag)) {
             loginOut(sysUser, sysUserType);
         }
         //sysUser.setLockFlag(lockFlag.getCode());
         //sysUser.setUpdateTime(new Date());
         //sysUserService.update(sysUser);
-        sysUserService.updateLockStatus(userId, lockFlag.getCode(), sysUserType.getCode());
+        sysUserService.updateLockStatus(userId, lockFlag, sysUserType.getCode());
         return succeed();
     }
 

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

@@ -18,7 +18,9 @@ import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.toolset.base.page.PageInfo;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.validation.annotation.Validated;
@@ -106,6 +108,24 @@ public class VideoLessonController extends BaseController {
         return succeed(PageUtil.pageInfo(lessonGroupService.queryGroupList(PageUtil.getPage(search), search)));
     }
 
+    @ApiOperation(value = "审核-视频课组历史记录列表", httpMethod = "POST", consumes = "application/json", produces = "application/json")
+    @PostMapping(value = "/queryGroupHistoryList", consumes = "application/json", produces = "application/json")
+    public HttpResponseResult<PageInfo<VideoLessonAuthGroup>> queryGroupHistoryList(@RequestBody VideoGroupSearch search) {
+        return succeed(PageUtil.pageInfo(lessonGroupService.queryGroupHistoryList(PageUtil.getPage(search), search)));
+    }
+
+    /**
+     * @Description: 审核-根据视频课组id查视频课详情
+     * @Author: cy
+     * @Date: 2022/4/20
+     */
+    @ApiOperation(value = "审核-根据视频课组id查视频课详情")
+    @GetMapping("/authGroupDetil")
+    public HttpResponseResult<VideoLessonAuthGroup> authGroupDetil(
+            @ApiParam(value = "当前视频组id", required = true) @RequestParam(value = "videoGroupId") Long videoGroupId) {
+        return succeed(lessonGroupService.authGroupDetil(videoGroupId));
+    }
+
     /**
      * @Description: 审核-根据视频课组id查视频课详情
      * @Author: cy
@@ -119,6 +139,8 @@ public class VideoLessonController extends BaseController {
         return succeed(videoLessonGroupDetailService.list(queryWrapper));
     }
 
+
+
     /**
      * @Description: 审核-修改视频课组审核状态
      * @Author: cy

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

@@ -44,6 +44,12 @@ public interface VideoLessonGroupDao extends BaseMapper<VideoLessonGroup> {
     //查询所有视频课组
     List<VideoLessonAuthGroup> queryGroupList(IPage<VideoLessonAuthGroup> page, @Param("param") VideoGroupSearch query);
 
+    List<VideoLessonAuthGroup> queryGroupHistoryList(IPage<VideoLessonAuthGroup> page, @Param("param") VideoGroupSearch query);
+
+    VideoLessonAuthGroup authGroupDetil(@Param("videoGroupId") Long videoGroupId);
+
+    VideoLessonAuthGroup lastAuthGroupDetil(@Param("videoGroupId")Long videoGroupId,@Param("groupId") Long groupId);
+
     //根据组id查详情
     VideoLessonGroup selectGroupById(Long groupId);
 
@@ -52,4 +58,5 @@ public interface VideoLessonGroupDao extends BaseMapper<VideoLessonGroup> {
 
     //查询付费人数前5的课程
     List<CountVideoGroupVo.VideoLesson> selectVideoLesson();
+
 }

+ 0 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/req/TeacherApplyDetailReq.java

@@ -58,7 +58,6 @@ public class TeacherApplyDetailReq implements Serializable {
     private String teacherCertificate;
 
     @ApiModelProperty("老师风采视频json 格式:[{'videoUrl':'视频地址','cover':'视频封面地址'},{'videoUrl':'视频地址','cover':'视频封面地址'}] ,将单引号替换为双引号")
-    @NotBlank(message = "至少要有一个老师风采视频")
     private String styleVideoJson;
 
     public Long getUserId() {

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/VideoGroupSearch.java

@@ -39,6 +39,9 @@ public class VideoGroupSearch extends QueryInfo {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date endTime;
 
+    @ApiModelProperty(value = "历史记录所属视频组id")
+    private Long groupId;
+
     public String getSearch() {
         return search;
     }
@@ -94,4 +97,12 @@ public class VideoGroupSearch extends QueryInfo {
     public void setEndTime(Date endTime) {
         this.endTime = endTime;
     }
+
+    public Long getGroupId() {
+        return groupId;
+    }
+
+    public void setGroupId(Long groupId) {
+        this.groupId = groupId;
+    }
 }

+ 26 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonAuthRecord.java

@@ -3,6 +3,7 @@ package com.yonge.cooleshow.biz.dal.entity;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.yonge.cooleshow.biz.dal.enums.AuthTypeEnum;
 import com.yonge.cooleshow.common.entity.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -20,9 +21,13 @@ public class VideoLessonAuthRecord extends BaseEntity {
     private Long id;
 
     @TableField("video_group_id_")
-    @ApiModelProperty(value = "视频课组id")
+    @ApiModelProperty(value = "当前视频课组id")
     private Long videoGroupId;
 
+    @TableField("group_id_")
+    @ApiModelProperty(value = "视频课组id")
+    private Long groupId;
+
     @TableField("audit_status_")
     @ApiModelProperty(value = "审核状态(DOING:待审核,PASS:通过,UNPASS:拒绝)")
     private String auditStatus;
@@ -35,6 +40,10 @@ public class VideoLessonAuthRecord extends BaseEntity {
     @ApiModelProperty(value = "审批人id")
     private Long auditId;
 
+    @TableField("auth_type_")
+    @ApiModelProperty(value = "认证审核类型 ADD 新增 MODIFY 修改")
+    private AuthTypeEnum authType;
+
     @TableField("remarks")
     @ApiModelProperty(value = "备注")
     private String remarks;
@@ -110,4 +119,20 @@ public class VideoLessonAuthRecord extends BaseEntity {
     public void setUpdateTime(Date updateTime) {
         this.updateTime = updateTime;
     }
+
+    public Long getGroupId() {
+        return groupId;
+    }
+
+    public void setGroupId(Long groupId) {
+        this.groupId = groupId;
+    }
+
+    public AuthTypeEnum getAuthType() {
+        return authType;
+    }
+
+    public void setAuthType(AuthTypeEnum authType) {
+        this.authType = authType;
+    }
 }

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

@@ -126,6 +126,11 @@ public class VideoLessonGroup extends BaseEntity {
     @ApiModelProperty(value = "是否审核时可见 (0:否  1:是)")
     private YesOrNoEnum auditVersion = YesOrNoEnum.NO;
 
+    @TableField("history_flag_")
+    @ApiModelProperty(value = "是否历史数据 (0:否  1:是)")
+    private YesOrNoEnum historyFlag;
+
+
     public Long getId() {
         return id;
     }
@@ -309,4 +314,12 @@ public class VideoLessonGroup extends BaseEntity {
     public void setShelvesId(Long shelvesId) {
         this.shelvesId = shelvesId;
     }
+
+    public YesOrNoEnum getHistoryFlag() {
+        return historyFlag;
+    }
+
+    public void setHistoryFlag(YesOrNoEnum historyFlag) {
+        this.historyFlag = historyFlag;
+    }
 }

+ 2 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonGroupDetailService.java

@@ -5,10 +5,7 @@ import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonSearch;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupDetailUpVo;
-import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupDetailVo;
-import com.yonge.cooleshow.biz.dal.vo.VideoLessonPurchaseStudent;
-import com.yonge.cooleshow.biz.dal.vo.VideoLessonStudentVo;
+import com.yonge.cooleshow.biz.dal.vo.*;
 
 import java.util.List;
 
@@ -30,4 +27,5 @@ public interface VideoLessonGroupDetailService extends IService<VideoLessonGroup
     void deleteDetail(Long id);
 
     VideoLessonStudentVo selectVideoLesson(Long groupId,Long userId);
+
 }

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

@@ -52,6 +52,10 @@ public interface VideoLessonGroupService extends IService<VideoLessonGroup> {
 
     IPage<VideoLessonAuthGroup> queryGroupList(IPage<VideoLessonAuthGroup> page, VideoGroupSearch query);
 
+    IPage<VideoLessonAuthGroup> queryGroupHistoryList(IPage<VideoLessonAuthGroup> page, VideoGroupSearch search);
+
+    VideoLessonAuthGroup authGroupDetil(Long videoGroupId);
+
     IPage<LessonGroupVo> selectLessonGroupById(IPage<LessonGroupVo> page, VideoLessonGroupSearch query);
 
     CountVideoGroupVo countVideoGroup();

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

@@ -59,7 +59,7 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
     public TeacherAuthEntryRecordVo detail(Long id) {
         TeacherAuthEntryRecordVo detail = baseMapper.detail(id);
         //查询上一次的提交
-        TeacherAuthEntryRecordVo lastDetil = baseMapper.lastDetil(id,detail.getUserId());
+        TeacherAuthEntryRecordVo lastDetil = baseMapper.lastDetil(id, detail.getUserId());
         detail.setLastDetil(lastDetil);
         return detail;
     }
@@ -111,11 +111,13 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
                 saveStyleVideo(styleVideoJson, build.getUserId(), sysUser.getId());
 
                 //记录达人认证时间
-                userFirstTimeService.recordTime(build.getUserId(),ClientEnum.TEACHER, UserFirstTimeTypeEnum.ENTRY);
+                userFirstTimeService.recordTime(build.getUserId(), ClientEnum.TEACHER, UserFirstTimeTypeEnum.ENTRY);
 
                 setTag(authOperaReq, build, teacher);
             }
-            teacher.setEntryFlag(authOperaReq.getPass() ? YesOrNoEnum.YES : YesOrNoEnum.NO);
+            if (null == teacher.getEntryFlag() || YesOrNoEnum.NO.equals(teacher.getEntryFlag())) {
+                teacher.setEntryFlag(authOperaReq.getPass() ? YesOrNoEnum.YES : YesOrNoEnum.NO);
+            }
             teacher.setEntryAuthDate(new Date());
             teacher.setUpdateTime(new Date());
 
@@ -136,8 +138,8 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
                 teacherService.setTeacherTag(build.getUserId(), TeacherTagEnum.TEACHER);
             } else if (!StringUtil.isEmpty(teacher.getTag())) {
                 teacher.setTag(Arrays.stream(teacher.getTag().split(","))
-                                     .filter(s -> !s.equals("TEACHER"))
-                                     .collect(Collectors.joining(",")));
+                        .filter(s -> !s.equals("TEACHER"))
+                        .collect(Collectors.joining(",")));
             }
         }
         if (authOperaReq.getPass()) {
@@ -145,8 +147,8 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
                 teacherService.setTeacherTag(build.getUserId(), TeacherTagEnum.DEGREE);
             } else if (!StringUtil.isEmpty(teacher.getTag())) {
                 teacher.setTag(Arrays.stream(teacher.getTag().split(","))
-                                     .filter(s -> !s.equals("DEGREE"))
-                                     .collect(Collectors.joining(",")));
+                        .filter(s -> !s.equals("DEGREE"))
+                        .collect(Collectors.joining(",")));
             }
         }
     }
@@ -174,7 +176,9 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
                 video.setEntryFlag(YesOrNoEnum.YES);
                 batchVideoList.add(video);
             }
-            teacherStyleVideoService.batchAddStyleVideo(batchVideoList);
+            if (!CollectionUtils.isEmpty(batchVideoList)) {
+                teacherStyleVideoService.batchAddStyleVideo(batchVideoList);
+            }
         }
     }
 
@@ -222,11 +226,6 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
         if (hasApply(sysUser.getId())) {
             return HttpResponseResult.failed("已经提交过申请");
         }
-        //判断用户是否已经通过申请
-        Teacher teacher = teacherDao.selectById(sysUser.getId());
-        if (YesOrNoEnum.YES.equals(teacher.getEntryFlag())) {
-            return HttpResponseResult.failed("已经通过审批");
-        }
 
         //新增申请记录
         TeacherAuthEntryRecord teacherAuthEntryRecord = new TeacherAuthEntryRecord();
@@ -236,7 +235,7 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
 
         List<TeacherAuthEntryRecord> olds = baseMapper.selectList(Wrappers.<TeacherAuthEntryRecord>query().lambda()
                 .eq(TeacherAuthEntryRecord::getUserId, sysUser.getId()));
-        if(CollectionUtils.isEmpty(olds)){
+        if (CollectionUtils.isEmpty(olds)) {
             teacherAuthEntryRecord.setTeacherAuthType(AuthTypeEnum.ADD);
         }
         return HttpResponseResult.status(baseMapper.insert(teacherAuthEntryRecord) > 0);

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

@@ -15,11 +15,8 @@ import com.yonge.cooleshow.biz.dal.dto.search.VideoGroupSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonGroupSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonSearch;
 import com.yonge.cooleshow.biz.dal.entity.*;
-import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
-import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
-import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
+import com.yonge.cooleshow.biz.dal.enums.*;
 import com.yonge.cooleshow.biz.dal.service.SysConfigService;
-import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
 import com.yonge.cooleshow.biz.dal.service.SysMessageService;
 import com.yonge.cooleshow.biz.dal.service.TeacherService;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupService;
@@ -254,7 +251,9 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         //记录video_lesson_auth_record
         VideoLessonAuthRecord record = new VideoLessonAuthRecord();
         record.setVideoGroupId(lessonGroup.getId());
+        record.setGroupId(lessonGroup.getId());
         record.setAuditStatus(AuthStatusEnum.DOING.getCode());
+        record.setAuthType(AuthTypeEnum.ADD);
         recordDao.insert(record);
     }
 
@@ -326,25 +325,40 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
     public void update(VideoLessonVo lessonVo, SysUser sysUser) {
         VideoLessonGroup lessonGroup = lessonVo.getLessonGroup();
         List<VideoLessonGroupDetail> lessonList = lessonVo.getLessonList();
+        //判断是否有正在审核中
+        List<VideoLessonAuthRecord> videoLessonAuthRecords = recordDao.selectList(Wrappers.<VideoLessonAuthRecord>lambdaQuery()
+                .eq(VideoLessonAuthRecord::getGroupId, lessonGroup.getId())
+                .eq(VideoLessonAuthRecord::getAuditStatus, AuthStatusEnum.DOING.getCode()));
+        if(CollectionUtils.isNotEmpty(videoLessonAuthRecords)){
+            return;
+        }
 
-        //查询原评审信息
-        List<VideoLessonAuthRecord> recordList = recordDao.selectList(Wrappers.<VideoLessonAuthRecord>lambdaQuery().eq(VideoLessonAuthRecord::getVideoGroupId, lessonGroup.getId()));
-        List<Long> recoreIds = recordList.stream().map(VideoLessonAuthRecord::getId).collect(Collectors.toList());
+        //校验声部
+        Long subjectId = Long.valueOf(lessonGroup.getLessonSubject());
+        List<Subject> subjectList = teacherDao.querySubject(sysUser.getId());
+        List<Long> longList = subjectList.stream().map(Subject::getId).collect(Collectors.toList());
+        if (!longList.contains(subjectId)) {
+            throw new BizException("该声部无法选择");
+        }
 
-        //清除原有组&课
-        videoLessonGroupDao.deleteById(lessonGroup.getId());
-        videoLessonGroupDetailDao.deleteByGroupId(lessonGroup.getId());
+        //创建新的评审记录
+        VideoLessonAuthRecord authRecord = new VideoLessonAuthRecord();
+        authRecord.setGroupId(lessonGroup.getId());
 
-        //添加组
+        //创建新的课程组记录
         lessonGroup.setTeacherId(sysUser.getId());
+        lessonGroup.setAuditVersion(YesOrNoEnum.NO);
+        lessonGroup.setHistoryFlag(YesOrNoEnum.YES);
+        lessonGroup.setAuditStatus(AuthStatusEnum.DOING);
+        lessonGroup.setId(null);
         videoLessonGroupDao.insert(lessonGroup);
+        authRecord.setVideoGroupId(lessonGroup.getId());
 
         for (VideoLessonGroupDetail detail : lessonList) {
+            detail.setId(null);
             detail.setVideoLessonGroupId(lessonGroup.getId());
             detail.setTeacherId(sysUser.getId());
         }
-
-        //添加课程
         videoLessonGroupDetailDao.insertVideoLesson(lessonList);
 
         //刷新统计
@@ -352,14 +366,11 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         groupUpVo.setId(lessonGroup.getId());
         videoLessonGroupDao.updateGroup(groupUpVo);
 
-        //更新历史记录的组id
-        recordDao.updateIds(recoreIds, lessonGroup.getId());
+        //提交审核
+        authRecord.setAuditStatus(AuthStatusEnum.DOING.getCode());
+        authRecord.setAuthType(AuthTypeEnum.MODIFY);
 
-        //重新提审
-        VideoLessonAuthRecord record = new VideoLessonAuthRecord();
-        record.setVideoGroupId(lessonGroup.getId());
-        record.setAuditStatus(AuthStatusEnum.DOING.getCode());
-        recordDao.insert(record);
+        recordDao.insert(authRecord);
     }
 
     /**
@@ -392,6 +403,33 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         return page.setRecords(baseMapper.queryGroupList(page, query));
     }
 
+    @Override
+    public IPage<VideoLessonAuthGroup> queryGroupHistoryList(IPage<VideoLessonAuthGroup> page, VideoGroupSearch query) {
+        return page.setRecords(baseMapper.queryGroupHistoryList(page, query));
+    }
+
+    @Override
+    public VideoLessonAuthGroup authGroupDetil(Long videoGroupId) {
+        VideoLessonAuthGroup videoLessonAuthGroup = baseMapper.authGroupDetil(videoGroupId);
+
+        List<VideoLessonGroupDetail> details = videoLessonGroupDetailDao.selectList(Wrappers.<VideoLessonGroupDetail>lambdaQuery()
+                .eq(VideoLessonGroupDetail::getVideoLessonGroupId, videoGroupId));
+        videoLessonAuthGroup.setVideoList(details);
+
+        //查询上一次的提交
+        VideoLessonAuthGroup lastDetil = baseMapper.lastAuthGroupDetil(
+                videoGroupId, videoLessonAuthGroup.getGroupId());
+
+        if(null != lastDetil){
+            List<VideoLessonGroupDetail> lastDetails = videoLessonGroupDetailDao.selectList(Wrappers.<VideoLessonGroupDetail>lambdaQuery()
+                    .eq(VideoLessonGroupDetail::getVideoLessonGroupId, lastDetil.getVideoGroupId()));
+            lastDetil.setVideoList(lastDetails);
+
+            videoLessonAuthGroup.setLastDetil(lastDetil);
+        }
+        return videoLessonAuthGroup;
+    }
+
     /**
      * @Description: 学生端-我的-我的课程-购买的视频课组
      * @Author: cy

+ 47 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/VideoLessonAuthGroup.java

@@ -1,9 +1,12 @@
 package com.yonge.cooleshow.biz.dal.vo;
 
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup;
+import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.util.List;
+
 /**
  * @Author: cy
  * @Date: 2022/4/20
@@ -13,6 +16,12 @@ public class VideoLessonAuthGroup extends VideoLessonGroup {
     @ApiModelProperty(value = "老师姓名")
     private String teacherName;
 
+    @ApiModelProperty(value = "当前视频组id")
+    private Long videoGroupId;
+
+    @ApiModelProperty(value = "历史记录所属视频组id")
+    private Long groupId;
+
     private String realName;
 
     @ApiModelProperty(value = "老师手机号")
@@ -24,6 +33,12 @@ public class VideoLessonAuthGroup extends VideoLessonGroup {
     @ApiModelProperty("审核理由")
     private String remarks;
 
+    @ApiModelProperty("视频集合")
+    private List<VideoLessonGroupDetail> videoList;
+
+    @ApiModelProperty("上一次的审核对象")
+    private VideoLessonAuthGroup lastDetil;
+
     public String getRemarks() {
         return remarks;
     }
@@ -63,4 +78,36 @@ public class VideoLessonAuthGroup extends VideoLessonGroup {
     public void setSubjectName(String subjectName) {
         this.subjectName = subjectName;
     }
+
+    public Long getVideoGroupId() {
+        return videoGroupId;
+    }
+
+    public void setVideoGroupId(Long videoGroupId) {
+        this.videoGroupId = videoGroupId;
+    }
+
+    public Long getGroupId() {
+        return groupId;
+    }
+
+    public void setGroupId(Long groupId) {
+        this.groupId = groupId;
+    }
+
+    public List<VideoLessonGroupDetail> getVideoList() {
+        return videoList;
+    }
+
+    public void setVideoList(List<VideoLessonGroupDetail> videoList) {
+        this.videoList = videoList;
+    }
+
+    public VideoLessonAuthGroup getLastDetil() {
+        return lastDetil;
+    }
+
+    public void setLastDetil(VideoLessonAuthGroup lastDetil) {
+        this.lastDetil = lastDetil;
+    }
 }

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

@@ -146,7 +146,7 @@
         left join sys_user u on t.user_id_ = u.id_
         left join sys_user v on t.verify_user_id_ = v.id_
         <where>
-            u.del_flag_ = 0
+            u.del_flag_ = 0 and t.teacher_auth_status_ != 'DOING'
             <if test="null != param.search and '' != param.search">
                 AND (
                 t.user_id_ LIKE CONCAT('%', #{param.search}, '%') or

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

@@ -24,6 +24,7 @@
 		<result column="audit_name_" jdbcType="VARCHAR" property="auditName" />
 		<result column="create_time_" jdbcType="TIMESTAMP" property="createTime" />
 		<result column="update_time_" jdbcType="TIMESTAMP" property="updateTime" />
+		<result column="history_flag_" property="historyFlag" />
 	</resultMap>
 
 	<sql id="baseColumns">
@@ -49,6 +50,7 @@
 		g.update_time_ AS updateTime,
 		g.audit_id_ AS auditId,
 		g.audit_name_ AS auditName,
+		g.history_flag_ AS historyFlag,
 	</sql>
 	<sql id="recordColumns">
 		g.id_ AS id,
@@ -70,6 +72,7 @@
 		g.update_time_ AS updateTime,
 		g.audit_id_ AS auditId,
 		g.audit_name_ AS auditName,
+		g.history_flag_ AS historyFlag,
 	</sql>
 
 	<update id="updateGroup" parameterType="com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupUpVo">
@@ -125,6 +128,7 @@
 		LEFT JOIN sys_user s ON g.teacher_id_ = s.id_
 		LEFT JOIN `subject` b ON g.lesson_subject_=b.id_
 		<where>
+		    and g.history_flag_ = 0
 			<if test="param.shelvesFlag !=null">
 				AND g.shelves_flag_ = #{param.shelvesFlag}
 			</if>
@@ -168,6 +172,7 @@
 		LEFT JOIN sys_user s ON g.teacher_id_ = s.id_
 		LEFT JOIN subject j ON g.lesson_subject_ = j.id_
 		<where>
+			AND g.history_flag_ = 0
 			<if test="param.userId !=null">
 				AND p.student_id_ = #{param.userId}
 			</if>
@@ -214,6 +219,7 @@
 		FROM video_lesson_group g
 		LEFT JOIN subject j ON g.lesson_subject_ = j.id_
 		<where>
+			AND g.history_flag_ = 0
 			<if test="param.userId !=null">
 				AND g.teacher_id_ = #{param.userId}
 			</if>
@@ -287,7 +293,7 @@
 		LEFT JOIN sys_user u ON g.teacher_id_=u.id_
 		LEFT JOIN `subject` s ON g.lesson_subject_ = s.id_
 		<where>
-		    u.del_flag_ = 0
+			AND g.history_flag_ = 0 and u.del_flag_ = 0
 			<if test="null != param.search and '' != param.search">
 				AND (
 				u.username_ LIKE CONCAT('%', #{param.search}, '%') OR
@@ -318,18 +324,77 @@
 	</select>
 	<select id="queryGroupList" resultType="com.yonge.cooleshow.biz.dal.vo.VideoLessonAuthGroup">
 		SELECT
-		<include refid="recordColumns"/>
-		r.audit_status_ AS auditStatus,
-		r.remarks as remarks,
-		s.name_ AS subjectName,
-		t.username_ AS teacherName,
-		t.real_name_ AS realName,
-		t.phone_ AS teacherPhone
-		FROM video_lesson_group g
+			<include refid="recordColumns"/>
+			r.video_group_id_ as videoGroupId,
+			r.group_id_ as groupId,
+			r.audit_status_ AS auditStatus,
+			r.remarks as remarks,
+			s.name_ AS subjectName,
+			t.username_ AS teacherName,
+			t.real_name_ AS realName,
+			t.phone_ AS teacherPhone
+		FROM (
+			select group_id_,max(id_) as id_ from video_lesson_auth_record group by group_id_
+		) a
+		LEFT JOIN video_lesson_auth_record r ON a.id_ = r.id_
+		LEFT JOIN video_lesson_group g ON g.id_=r.video_group_id_
 		LEFT JOIN `subject` s ON g.lesson_subject_=s.id_
 		LEFT JOIN sys_user t ON g.teacher_id_=t.id_
-		LEFT JOIN video_lesson_auth_record r ON g.id_=r.video_group_id_
 		<where>
+			<if test="null != param.groupId">
+				AND r.group_id_ = #{param.groupId}
+			</if>
+			<if test="null != param.search and '' != param.search">
+				AND (
+					g.id_ LIKE CONCAT('%', #{param.search}, '%') OR
+					g.lesson_name_ LIKE CONCAT('%', #{param.search}, '%') OR
+					t.id_ LIKE CONCAT('%', #{param.search}, '%') OR
+					t.username_ LIKE CONCAT('%', #{param.search}, '%') OR
+					t.phone_ LIKE CONCAT('%', #{param.search}, '%')
+				)
+			</if>
+			<if test="param.auditStatus !=null and param.auditStatus !=''">
+				AND r.audit_status_ = #{param.auditStatus}
+			</if>
+			<if test="param.shelvesFlag !=null">
+				AND g.shelves_flag_ = #{param.shelvesFlag}
+			</if>
+			<if test="param.subjectId !=null">
+				AND g.lesson_subject_ = #{param.subjectId}
+			</if>
+			<if test="param.auditName !=null and param.auditName !=''">
+				AND r.audit_name_ LIKE CONCAT('%', #{param.auditName}, '%')
+			</if>
+			<if test="param.startTime !=null">
+				<![CDATA[AND g.create_time_ >= #{param.startTime} ]]>
+			</if>
+			<if test="param.endTime !=null">
+				<![CDATA[AND g.create_time_ <= #{param.endTime} ]]>
+			</if>
+		</where>
+		ORDER BY g.create_time_
+	</select>
+
+	<select id="queryGroupHistoryList" resultType="com.yonge.cooleshow.biz.dal.vo.VideoLessonAuthGroup">
+		SELECT
+			<include refid="recordColumns"/>
+			r.video_group_id_ as videoGroupId,
+			r.group_id_ as groupId,
+			r.audit_status_ AS auditStatus,
+			r.remarks as remarks,
+			s.name_ AS subjectName,
+			t.username_ AS teacherName,
+			t.real_name_ AS realName,
+			t.phone_ AS teacherPhone
+		FROM video_lesson_auth_record r
+		LEFT JOIN video_lesson_group g ON g.id_=r.video_group_id_
+		LEFT JOIN `subject` s ON g.lesson_subject_=s.id_
+		LEFT JOIN sys_user t ON g.teacher_id_=t.id_
+		<where>
+			and r.audit_status_ != 'DOING'
+			<if test="null != param.groupId">
+				AND r.group_id_ = #{param.groupId}
+			</if>
 			<if test="null != param.search and '' != param.search">
 				AND (
 				g.id_ LIKE CONCAT('%', #{param.search}, '%') OR
@@ -360,11 +425,50 @@
 		</where>
 		ORDER BY g.create_time_ DESC
 	</select>
-    <select id="selectGroupById" resultType="com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup"
+
+	<select id="authGroupDetil" resultType="com.yonge.cooleshow.biz.dal.vo.VideoLessonAuthGroup">
+		SELECT
+			<include refid="recordColumns"/>
+			r.video_group_id_ as videoGroupId,
+			r.group_id_ as groupId,
+			r.audit_status_ AS auditStatus,
+			r.remarks as remarks,
+			s.name_ AS subjectName,
+			t.username_ AS teacherName,
+			t.real_name_ AS realName,
+			t.phone_ AS teacherPhone
+		FROM video_lesson_auth_record r
+		LEFT JOIN video_lesson_group g ON g.id_=r.video_group_id_
+		LEFT JOIN `subject` s ON g.lesson_subject_=s.id_
+		LEFT JOIN sys_user t ON g.teacher_id_=t.id_
+		where r.video_group_id_ = #{videoGroupId}
+	</select>
+
+	<select id="lastAuthGroupDetil" resultType="com.yonge.cooleshow.biz.dal.vo.VideoLessonAuthGroup">
+		SELECT
+			<include refid="recordColumns"/>
+			r.video_group_id_ as videoGroupId,
+			r.group_id_ as groupId,
+			r.audit_status_ AS auditStatus,
+			r.remarks as remarks,
+			s.name_ AS subjectName,
+			t.username_ AS teacherName,
+			t.real_name_ AS realName,
+			t.phone_ AS teacherPhone
+		FROM video_lesson_auth_record r
+		LEFT JOIN video_lesson_group g ON g.id_=r.video_group_id_
+		LEFT JOIN `subject` s ON g.lesson_subject_=s.id_
+		LEFT JOIN sys_user t ON g.teacher_id_=t.id_
+		where r.video_group_id_ != #{videoGroupId} and r.group_id_ = #{groupId}
+		order by r.id_ desc limit 1
+	</select>
+
+
+	<select id="selectGroupById" resultType="com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup"
             parameterType="java.lang.Long">
 		SELECT
-		<include refid="baseColumns"/>
-		s.name_ AS lessonSubjectName
+			<include refid="baseColumns"/>
+			s.name_ AS lessonSubjectName
 		FROM video_lesson_group g
 		LEFT JOIN `subject` s ON g.lesson_subject_=s.id_
 		WHERE g.id_=#{groupId}

+ 0 - 12
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherAuthEntryRecordController.java

@@ -1,7 +1,5 @@
 package com.yonge.cooleshow.teacher.controller;
 
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.req.TeacherApplyDetailReq;
@@ -9,20 +7,15 @@ import com.yonge.cooleshow.biz.dal.vo.TeacherAuthEntryRecordVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
 import com.yonge.cooleshow.biz.dal.service.TeacherAuthEntryRecordService;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
-import javax.validation.constraints.NotBlank;
 
 @RestController
 @RequestMapping("/teacherAuthEntryRecord")
@@ -51,11 +44,6 @@ public class TeacherAuthEntryRecordController extends BaseController {
         if (user == null || null == user.getId()) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        String styleVideoJson = teacherApplyDetailDto.getStyleVideoJson();
-        JSONArray jsonArray = JSONObject.parseArray(styleVideoJson);
-        if(CollectionUtils.isEmpty(jsonArray)){
-            return failed("至少要有一个老师风采视频");
-        }
         //处理老师申请逻辑
         return teacherAuthEntryRecordService.doApply(teacherApplyDetailDto, user);
     }

+ 56 - 29
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/VideoLessonGroupController.java

@@ -12,11 +12,11 @@ import com.yonge.cooleshow.biz.dal.service.AppVersionInfoService;
 
 import com.yonge.cooleshow.biz.dal.vo.*;
 
+import com.yonge.toolset.base.util.StringUtil;
 import com.yonge.toolset.mybatis.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.valid.AddGroup;
 import com.yonge.cooleshow.biz.dal.valid.UpdateGroup;
 import com.yonge.toolset.base.page.PageInfo;
-import io.netty.util.internal.StringUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.collections.CollectionUtils;
@@ -33,12 +33,14 @@ import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 
 import javax.validation.constraints.NotNull;
+import java.util.Date;
 
 /**
  * 视频课基本信息表 web 控制层
+ *
  * @author yzp
- * @date 2022-03-26 00:21:46
  * @version v1.0
+ * @date 2022-03-26 00:21:46
  **/
 @RestController
 @RequestMapping("/videoLessonGroup")
@@ -52,11 +54,12 @@ public class VideoLessonGroupController extends BaseController {
 
     @Autowired
     private AppVersionInfoService appVersionInfoService;
+
     /**
-    * @Description: 查询视频课组
-    * @Author: cy
-    * @Date: 2022/3/31
-    */
+     * @Description: 查询视频课组
+     * @Author: cy
+     * @Date: 2022/3/31
+     */
     @ApiOperation(value = "查询视频课组")
     @PostMapping(value = "/page")
     public HttpResponseResult<PageInfo<VideoLessonGroupVo>> page(@RequestBody VideoLessonGroupSearch query) {
@@ -68,7 +71,7 @@ public class VideoLessonGroupController extends BaseController {
             query.setTeacherId(sysUser.getId());
         } else {
             // 检查app版本
-            query.setAuditVersion(appVersionInfoService.getAppAuditVersion(query.getPlatform(),query.getVersion()));
+            query.setAuditVersion(appVersionInfoService.getAppAuditVersion(query.getPlatform(), query.getVersion()));
         }
         if (query.getMyself() != null && !query.getMyself()) {
             query.setAuditStatus(AuthStatusEnum.PASS.getCode());
@@ -78,10 +81,10 @@ public class VideoLessonGroupController extends BaseController {
     }
 
     /**
-    * @Description: 新增视频课组
-    * @Author: cy
-    * @Date: 2022/3/31
-    */
+     * @Description: 新增视频课组
+     * @Author: cy
+     * @Date: 2022/3/31
+     */
     @ApiOperation(value = "新增视频课组", httpMethod = "POST", consumes = "application/json", produces = "application/json")
     @PostMapping(value = "/create", consumes = "application/json", produces = "application/json")
     public HttpResponseResult<Object> create(@Validated @RequestBody VideoLessonGroup videoLessonGroup) {
@@ -96,10 +99,10 @@ public class VideoLessonGroupController extends BaseController {
     }
 
     /**
-    * @Description: 修改视频课组
-    * @Author: cy
-    * @Date: 2022/3/31
-    */
+     * @Description: 修改视频课组
+     * @Author: cy
+     * @Date: 2022/3/31
+     */
     @ApiOperation(value = "修改视频课组", httpMethod = "POST", consumes = "application/json", produces = "application/json")
     @PostMapping(value = "/updateGroup", consumes = "application/json", produces = "application/json")
     public HttpResponseResult<Object> update(@Validated @RequestBody VideoLessonGroupUpVo lessonGroupUpVo) {
@@ -108,10 +111,10 @@ public class VideoLessonGroupController extends BaseController {
     }
 
     /**
-    * @Description: 删除视频课组
-    * @Author: cy
-    * @Date: 2022/3/31
-    */
+     * @Description: 删除视频课组
+     * @Author: cy
+     * @Date: 2022/3/31
+     */
     @ApiOperation(value = "删除视频课组", httpMethod = "POST", consumes = "application/json", produces = "application/json")
     @PostMapping("/delete/{id}")
     public Object delete(@PathVariable Long id) {
@@ -120,22 +123,22 @@ public class VideoLessonGroupController extends BaseController {
     }
 
     /**
-    * @Description: 新增视频课组&视频课
-    * @Author: cy
-    * @Date: 2022/4/1
-    */
+     * @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) {
+        if (sysUser == null || sysUser.getId() == null) {
             return failed("用户信息获取失败");
         }
         if (CollectionUtils.isEmpty(lessonVo.getLessonList())) {
             return failed("课程不能为空");
         }
-        videoLessonGroupService.add(lessonVo,sysUser);
+        videoLessonGroupService.add(lessonVo, sysUser);
         return succeed();
     }
 
@@ -145,7 +148,7 @@ public class VideoLessonGroupController extends BaseController {
      * @Date: 2022/4/2
      */
     @ApiOperation(value = "根据组id查询视频课&视频课组")
-    @GetMapping(value="/selectVideoLesson")
+    @GetMapping(value = "/selectVideoLesson")
     public HttpResponseResult<VideoLessonStudentVo> selectVideoLesson(@NotNull(message = "视频组id不能为空") Long groupId) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null || sysUser.getId() == null) {
@@ -153,7 +156,7 @@ public class VideoLessonGroupController extends BaseController {
         }
 
         VideoLessonStudentVo videoLessonStudentVo = videoLessonGroupService.selectVideoLesson(groupId);
-        if (videoLessonStudentVo.getLessonGroup().getTeacherId().equals(sysUser.getId()))  {
+        if (videoLessonStudentVo.getLessonGroup().getTeacherId().equals(sysUser.getId())) {
             videoLessonStudentVo.setMyself(true);
         } else {
             videoLessonStudentVo.setMyself(false);
@@ -164,7 +167,31 @@ public class VideoLessonGroupController extends BaseController {
             videoLessonStudentVo.setAlreadyBuy(false);
         }
         return succeed(videoLessonStudentVo);
+    }
+
+    /**
+     * @Description: 更新上架状态
+     * @Author: cy
+     * @Date: 2022/4/25
+     */
+    @ApiOperation(value = "更新上架状态", httpMethod = "POST", consumes = "application/json", produces = "application/json")
+    @PostMapping(value = "/updateShelves", consumes = "application/json", produces = "application/json")
+    public HttpResponseResult<Object> updateShelves(@Validated @RequestBody VideoLessonShelvesVo shelvesVo) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || null == user.getId()) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        if (shelvesVo.getShelvesFlag() != 0) {
+            return failed("只能做下架操作");
+        }
+        if (shelvesVo.getShelvesFlag() == 0 && StringUtil.isEmpty(shelvesVo.getShelvesReason())) {
+            return failed("下架必须要有下架原因");
+        }
 
+        shelvesVo.setShelvesId(user.getId());
+        shelvesVo.setShelvesTime(new Date());
+        videoLessonGroupService.updateShelves(shelvesVo);
+        return succeed();
     }
 
     /**
@@ -177,13 +204,13 @@ public class VideoLessonGroupController extends BaseController {
     public HttpResponseResult<Object> update(@Validated(UpdateGroup.class) @RequestBody VideoLessonVo lessonVo) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
 
-        if (sysUser == null||sysUser.getId()==null) {
+        if (sysUser == null || sysUser.getId() == null) {
             return failed("用户信息获取失败");
         }
         if (CollectionUtils.isEmpty(lessonVo.getLessonList())) {
             return failed("课程不能为空");
         }
-        videoLessonGroupService.update(lessonVo,sysUser);
+        videoLessonGroupService.update(lessonVo, sysUser);
         return succeed();
     }