Przeglądaj źródła

新增视频课组&视频课

cy 3 lat temu
rodzic
commit
d1eaab5e10

+ 1 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonGroupDetail.java

@@ -25,8 +25,7 @@ public class VideoLessonGroupDetail extends BaseEntity {
     private Long id;  //主键ID
 
     @TableField("video_lesson_group_id_")
-    @ApiModelProperty(value = "课程组ID", required = true)
-    @NotNull(message = "课程组id不能为空;")
+    @ApiModelProperty(value = "课程组ID")
     private Long videoLessonGroupId;  //课程组ID
 
     @TableField("video_title_")

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

@@ -1,11 +1,13 @@
 package com.yonge.cooleshow.biz.dal.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+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.baomidou.mybatisplus.extension.service.IService;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupUpVo;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupVo;
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonVo;
 
 /**
  * VideoLessonGroupService服务类
@@ -19,4 +21,6 @@ public interface VideoLessonGroupService extends IService<VideoLessonGroup> {
     void updateGroup(VideoLessonGroupUpVo lessonGroupUpVo);
 
     void deleteGroup(Long id);
+
+    void add(VideoLessonVo lessonVo, SysUser sysUser);
 }

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

@@ -1,13 +1,16 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dao.VideoLessonGroupDetailDao;
 import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonGroupSearch;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup;
 import com.yonge.cooleshow.biz.dal.dao.VideoLessonGroupDao;
+import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupService;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupUpVo;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupVo;
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonVo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
@@ -15,6 +18,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
+
 /**
  * VideoLessonGroupService服务实现类
  * @author yzp
@@ -67,4 +72,33 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         videoLessonGroupDao.deleteById(id);
         videoLessonGroupDetailDao.deleteByGroupId(id);
     }
+
+    /**
+    * @Description: 新增视频课组&视频课
+    * @Author: cy
+    * @Date: 2022/4/1
+    */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void add(VideoLessonVo lessonVo, SysUser sysUser) {
+        VideoLessonGroup lessonGroup = lessonVo.getLessonGroup();
+        List<VideoLessonGroupDetail> lessonList = lessonVo.getLessonList();
+
+        //添加组
+        lessonGroup.setTeacherId(sysUser.getId());
+        videoLessonGroupDao.insert(lessonGroup);
+
+        for (VideoLessonGroupDetail detail : lessonList) {
+            detail.setVideoLessonGroupId(lessonGroup.getId());
+            detail.setTeacherId(sysUser.getId());
+        }
+
+        //添加课程
+        videoLessonGroupDetailDao.insertVideoLesson(lessonList);
+
+        //刷新统计
+        VideoLessonGroupUpVo groupUpVo = new VideoLessonGroupUpVo();
+        groupUpVo.setId(lessonGroup.getId());
+        videoLessonGroupDao.updateGroup(groupUpVo);
+    }
 }

+ 37 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/VideoLessonVo.java

@@ -0,0 +1,37 @@
+package com.yonge.cooleshow.biz.dal.vo;
+
+import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup;
+import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail;
+import com.yonge.cooleshow.biz.dal.valid.impl.ValidList;
+import com.yonge.cooleshow.common.entity.BaseEntity;
+import io.swagger.annotations.ApiModel;
+
+import javax.validation.Valid;
+
+/**
+ * @author: cy
+ * @date: 2022/4/1 10:41
+ */
+@ApiModel(value = "VideoLessonVo")
+public class VideoLessonVo extends BaseEntity {
+    @Valid
+    private VideoLessonGroup lessonGroup;
+
+    private ValidList<@Valid VideoLessonGroupDetail> lessonList;
+
+    public VideoLessonGroup getLessonGroup() {
+        return lessonGroup;
+    }
+
+    public void setLessonGroup(VideoLessonGroup lessonGroup) {
+        this.lessonGroup = lessonGroup;
+    }
+
+    public ValidList<VideoLessonGroupDetail> getLessonList() {
+        return lessonList;
+    }
+
+    public void setLessonList(ValidList<VideoLessonGroupDetail> lessonList) {
+        this.lessonList = lessonList;
+    }
+}

+ 20 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/VideoLessonGroupController.java

@@ -5,6 +5,7 @@ import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonGroupSearch;
 import com.yonge.cooleshow.biz.dal.support.Condition;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupUpVo;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupVo;
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonVo;
 import com.yonge.cooleshow.common.page.PageInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -88,4 +89,23 @@ public class VideoLessonGroupController extends BaseController {
         videoLessonGroupService.deleteGroup(id);
         return succeed();
     }
+
+    /**
+    * @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 @RequestBody VideoLessonVo lessonVo) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        if (lessonVo.getLessonList().isEmpty()) {
+            return failed("课程不能为空");
+        }
+        videoLessonGroupService.add(lessonVo,sysUser);
+        return succeed();
+    }
 }