Browse Source

Merge remote-tracking branch 'origin/master'

weifanli 3 years ago
parent
commit
0aa7fc2e8e

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/SubjectDao.java

@@ -33,7 +33,7 @@ public interface SubjectDao extends BaseDAO<Long, Subject> {
      * @updateTime 2022/4/6 11:40
      * @return: java.util.List<com.yonge.cooleshow.biz.dal.entity.Subject>
      */
-    List<Subject> findByParentId(@Param("parentId") Long parentId, @Param("delFlag")  Boolean delFlag);
+    List<Subject> findByParentId(@Param("parentId") Long parentId, @Param("delFlag") Boolean delFlag);
 
     /***
      * 通过id删除

+ 8 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonGroup.java

@@ -1,11 +1,14 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
+import com.yonge.cooleshow.biz.dal.valid.AddGroup;
+import com.yonge.cooleshow.biz.dal.valid.UpdateGroup;
 import com.yonge.cooleshow.common.entity.BaseEntity;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import jdk.internal.org.objectweb.asm.tree.analysis.Value;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import javax.validation.constraints.NotBlank;
@@ -22,11 +25,12 @@ public class VideoLessonGroup extends BaseEntity {
 
     @TableId(value = "id_", type = IdType.AUTO)
     @ApiModelProperty(value = "主键id")
+	@NotNull(message = "组id不能为空;",groups = {UpdateGroup.class})
     private Long id;  //主键ID
 
     @TableField("lesson_name_")
     @ApiModelProperty(value = "课程名称",required = true)
-	@NotBlank(message = "课程名称不能为空;")
+	@NotBlank(message = "课程名称不能为空;",groups = {AddGroup.class,UpdateGroup.class})
     private String lessonName;  //课程名称
 
     @TableField("lesson_subject_")
@@ -35,17 +39,17 @@ public class VideoLessonGroup extends BaseEntity {
 
     @TableField("lesson_desc_")
     @ApiModelProperty(value = "课程介绍",required = true)
-	@NotBlank(message = "课程介绍不能为空;")
+	@NotBlank(message = "课程介绍不能为空;",groups = {AddGroup.class,UpdateGroup.class})
     private String lessonDesc;  //课程介绍
 
     @TableField("lesson_price_")
     @ApiModelProperty(value = "课程价格",required = true)
-	@NotNull(message = "课程价格不能为空;")
+	@NotNull(message = "课程价格不能为空;",groups = {AddGroup.class,UpdateGroup.class})
     private Integer lessonPrice;  //课程价格
 
     @TableField("lesson_cover_url_")
     @ApiModelProperty(value = "课程封面图片URL",required = true)
-	@NotBlank(message = "课程封面图片URL不能为空;")
+	@NotBlank(message = "课程封面图片URL不能为空;",groups = {AddGroup.class,UpdateGroup.class})
     private String lessonCoverUrl;  //课程封面图片URL
 
     @TableField("teacher_id_")

+ 5 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonGroupDetail.java

@@ -1,5 +1,7 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
+import com.yonge.cooleshow.biz.dal.valid.AddGroup;
+import com.yonge.cooleshow.biz.dal.valid.UpdateGroup;
 import com.yonge.cooleshow.common.entity.BaseEntity;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
@@ -30,17 +32,17 @@ public class VideoLessonGroupDetail extends BaseEntity {
 
     @TableField("video_title_")
     @ApiModelProperty(value = "视频标题", required = true)
-    @NotBlank(message = "课程标题不能为空;")
+    @NotBlank(message = "课程标题不能为空;",groups = {AddGroup.class,UpdateGroup.class})
     private String videoTitle;  //视频标题
 
     @TableField("video_content_")
     @ApiModelProperty(value = "视频内容", required = true)
-    @NotBlank(message = "课程内容不能为空;")
+    @NotBlank(message = "课程内容不能为空;",groups = {AddGroup.class,UpdateGroup.class})
     private String videoContent;  //视频内容
 
     @TableField("video_url_")
     @ApiModelProperty(value = "视频文件URL", required = true)
-    @NotBlank(message = "课程视频URL不能为空;")
+    @NotBlank(message = "课程视频URL不能为空;",groups = {AddGroup.class,UpdateGroup.class})
     private String videoUrl;  //视频文件URL
 
     @TableField("cover_url_")

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

@@ -30,4 +30,6 @@ public interface VideoLessonGroupService extends IService<VideoLessonGroup> {
     IPage<VideoLessonPurchaseVo> selectPurchaseStudent(IPage<VideoLessonPurchaseVo> page, VideoLessonSearch search);
 
     VideoLessonStudentVo selectVideoLesson(Long groupId);
+
+    void update(VideoLessonVo lessonVo, SysUser sysUser);
 }

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

@@ -154,4 +154,36 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         lessonStudentVo.setDetailList(videoLessonGroupDetailDao.selectPage(null, search));
         return lessonStudentVo;
     }
+
+    /**
+     * @Description: 修改视频课组&视频课
+     * @Author: cy
+     * @Date: 2022/4/7
+     */
+    @Override
+    public void update(VideoLessonVo lessonVo, SysUser sysUser) {
+        VideoLessonGroup lessonGroup = lessonVo.getLessonGroup();
+        List<VideoLessonGroupDetail> lessonList = lessonVo.getLessonList();
+
+        //清除原有组&课
+        videoLessonGroupDao.deleteById(lessonGroup.getId());
+        videoLessonGroupDetailDao.deleteByGroupId(lessonGroup.getId());
+
+        //添加组
+        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);
+    }
 }

+ 24 - 2
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/VideoLessonGroupController.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonGroupSearch;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupDetailService;
 import com.yonge.cooleshow.biz.dal.support.PageUtil;
+import com.yonge.cooleshow.biz.dal.valid.AddGroup;
+import com.yonge.cooleshow.biz.dal.valid.UpdateGroup;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupUpVo;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupVo;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonStudentVo;
@@ -76,7 +78,7 @@ public class VideoLessonGroupController extends BaseController {
     * @Date: 2022/3/31
     */
     @ApiOperation(value = "修改视频课组", httpMethod = "POST", consumes = "application/json", produces = "application/json")
-    @PostMapping(value = "/update", consumes = "application/json", produces = "application/json")
+    @PostMapping(value = "/updateGroup", consumes = "application/json", produces = "application/json")
     public HttpResponseResult<Object> update(@Validated @RequestBody VideoLessonGroupUpVo lessonGroupUpVo) {
         videoLessonGroupService.updateGroup(lessonGroupUpVo);
         return succeed();
@@ -101,7 +103,7 @@ public class VideoLessonGroupController extends BaseController {
     */
     @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) {
+    public HttpResponseResult<Object> add(@Validated(AddGroup.class) @RequestBody VideoLessonVo lessonVo) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
 
         if (sysUser == null||sysUser.getId()==null) {
@@ -124,4 +126,24 @@ public class VideoLessonGroupController extends BaseController {
     public HttpResponseResult<VideoLessonStudentVo> selectVideoLesson(@NotNull(message = "视频组id不能为空") Long groupId) {
         return succeed(videoLessonGroupService.selectVideoLesson(groupId));
     }
+
+    /**
+     * @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 (lessonVo.getLessonList().isEmpty()) {
+            return failed("课程不能为空");
+        }
+        videoLessonGroupService.update(lessonVo,sysUser);
+        return succeed();
+    }
 }