Jelajahi Sumber

根据组id查询购买用户

cy 3 tahun lalu
induk
melakukan
1955fdd46a

+ 3 - 6
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonGroupDetailDao.java

@@ -17,15 +17,12 @@ import java.util.List;
  * @version v1.0
  **/
 public interface VideoLessonGroupDetailDao extends BaseMapper<VideoLessonGroupDetail> {
-    //TODO 根据组id查视频课详情
-    List<VideoLessonGroupDetail> selectDetail(Long id);
-
-    //TODO 根据组id查询购买学员信息
-    List<VideoLessonPurchaseStudent> selectStudent(Long id);
-
     //查询视频课
     List<VideoLessonGroupDetail> selectPage(IPage page,@Param("param") VideoLessonSearch query);
 
+    //根据组id查询购买用户
+    List<VideoLessonPurchaseStudent> selectPageStudent(IPage page,@Param("param")  VideoLessonSearch query);
+
     //新增视频课
     void insertVideoLesson(List<VideoLessonGroupDetail> list);
 

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

@@ -6,6 +6,7 @@ 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.VideoLessonPurchaseStudent;
 
 import java.util.List;
 
@@ -16,11 +17,13 @@ import java.util.List;
  * @version v1.0
  **/
 public interface VideoLessonGroupDetailService extends IService<VideoLessonGroupDetail> {
+    IPage<VideoLessonGroupDetail> selectPage(IPage<VideoLessonGroupDetail> page, VideoLessonSearch query);
+
+    IPage<VideoLessonPurchaseStudent> selectPageStudent(IPage<VideoLessonPurchaseStudent> page, VideoLessonSearch query);
+
     void insertVideoLesson(List<VideoLessonGroupDetail> videoLessonList, SysUser sysUser);
 
     void updateDetail(VideoLessonGroupDetailUpVo detailUpVo, SysUser sysUser);
 
     void deleteDetail(Long id);
-
-    IPage<VideoLessonGroupDetail> selectPage(IPage<VideoLessonGroupDetail> page, VideoLessonSearch query);
 }

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

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dao.VideoLessonGroupDao;
 import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonSearch;
+import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail;
 import com.yonge.cooleshow.biz.dal.dao.VideoLessonGroupDetailDao;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupDetailService;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupDetailUpVo;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupUpVo;
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonPurchaseStudent;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
@@ -52,6 +54,16 @@ public class VideoLessonGroupDetailServiceImpl extends ServiceImpl<VideoLessonGr
     }
 
     /**
+    * @Description: 根据组id查询购买用户
+    * @Author: cy
+    * @Date: 2022/4/1
+    */
+    @Override
+    public IPage<VideoLessonPurchaseStudent> selectPageStudent(IPage<VideoLessonPurchaseStudent> page, VideoLessonSearch query) {
+        return page.setRecords(baseMapper.selectPageStudent(page,query));
+    }
+
+    /**
     * @Description: 新增视频课
     * @Author: cy
     * @Date: 2022/3/31
@@ -68,6 +80,11 @@ public class VideoLessonGroupDetailServiceImpl extends ServiceImpl<VideoLessonGr
             throw new RuntimeException("创建课程必须属于同组");
         }
 
+        VideoLessonGroup lessonGroup = videoLessonGroupDao.selectById(synSet.iterator().next());
+        if (lessonGroup==null){
+            throw new RuntimeException("视频课组不存在");
+        }
+
         //添加课程
         videoLessonGroupDetailDao.insertVideoLesson(videoLessonList);
         //刷新统计

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/VideoLessonPurchaseStudent.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.biz.dal.vo;
 
+import com.yonge.cooleshow.common.entity.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -10,7 +11,7 @@ import java.util.Date;
  * @date: 2022/3/30 11:39
  */
 @ApiModel(value = "VideoLessonPurchaseStudent对象")
-public class VideoLessonPurchaseStudent {
+public class VideoLessonPurchaseStudent extends BaseEntity {
     @ApiModelProperty("头像地址")
     private String avatar;
 

+ 9 - 19
cooleshow-user/user-biz/src/main/resources/config/mybatis/VideoLessonGroupDetailMapper.xml

@@ -62,6 +62,15 @@
 			</if>
 		</where>
 	</select>
+	<select id="selectPageStudent" resultType="com.yonge.cooleshow.biz.dal.vo.VideoLessonPurchaseStudent">
+		SELECT
+		<include refid="userDetail"/>
+		FROM sys_user
+		WHERE id_ IN
+		(SELECT student_id_
+		FROM video_lesson_purchase_record
+		WHERE video_lesson_group_id_ = #{param.videoLessonGroupId})
+	</select>
 	<insert id="insertVideoLesson" parameterType="java.util.List">
 		INSERT INTO video_lesson_group_detail (video_lesson_group_id_,video_title_,video_content_,video_url_,cover_url_,teacher_id_)
 		VALUES
@@ -89,23 +98,4 @@
 		WHERE video_lesson_group_id_ = #{groupId}
 	</delete>
 
-
-	<select id="selectDetail" resultType="com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail"
-			parameterType="java.lang.Long">
-		SELECT
-		<include refid="groupDetail"/>
-		FROM video_lesson_group_detail
-		WHERE video_lesson_group_id_ = #{id}
-	</select>
-
-	<select id="selectStudent" resultType="com.yonge.cooleshow.biz.dal.vo.VideoLessonPurchaseStudent"
-			parameterType="java.lang.Long">
-		SELECT
-		<include refid="userDetail"/>
-		FROM sys_user
-		WHERE id_ IN
-		(SELECT student_id_
-		FROM video_lesson_purchase_record
-		WHERE video_lesson_group_id_ = #{id})
-	</select>
 </mapper>

+ 13 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/VideoLessonGroupDetailController.java

@@ -15,6 +15,7 @@ import com.yonge.cooleshow.biz.dal.valid.UpdateGroup;
 import com.yonge.cooleshow.biz.dal.valid.impl.ValidList;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupDetailUpVo;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupVo;
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonPurchaseStudent;
 import com.yonge.cooleshow.common.page.PageInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -59,6 +60,18 @@ public class VideoLessonGroupDetailController extends BaseController {
     }
 
     /**
+    * @Description: 根据组id查询购买用户
+    * @Author: cy
+    * @Date: 2022/4/1
+    */
+    @ApiOperation(value = "根据组id查询购买用户", httpMethod="POST", consumes="application/json", produces="application/json")
+    @PostMapping(value="/pageStudent", consumes="application/json", produces="application/json")
+    public HttpResponseResult<PageInfo<VideoLessonPurchaseStudent>> pageStudent(@RequestBody VideoLessonSearch query) {
+        IPage<VideoLessonPurchaseStudent> pages = videoLessonGroupDetailService.selectPageStudent(Condition.getPage(query), query);
+        return succeed(Condition.pageInfo(pages));
+    }
+
+    /**
     * @Description: 新增视频课
     * @Author: cy
     * @Date: 2022/3/31