Parcourir la source

学生端新增查询课程组接口

cy il y a 3 ans
Parent
commit
aabc8e70c7

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

@@ -31,4 +31,7 @@ public interface VideoLessonGroupDao extends BaseMapper<VideoLessonGroup> {
 
     //老师详情-视频课详情-查询购买学员列表
     List<VideoLessonPurchaseVo> selectPurchaseStudent(IPage page, @Param("param") VideoLessonSearch search);
+
+    //查询视频课组
+    List<LessonGroupVo> selectLessonGroup(IPage page,@Param("param") VideoLessonGroupSearch search);
 }

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

@@ -17,6 +17,9 @@ public class VideoLessonGroupSearch extends QueryInfo {
     @ApiModelProperty(value = "视频课组id")
     private Long groupId;
 
+    @ApiModelProperty(value = "筛选条件")
+    private String search;
+
     public AuthStatusEnum getAuditStatus() {
         return auditStatus;
     }
@@ -32,4 +35,14 @@ public class VideoLessonGroupSearch extends QueryInfo {
     public void setGroupId(Long groupId) {
         this.groupId = groupId;
     }
+
+    @Override
+    public String getSearch() {
+        return search;
+    }
+
+    @Override
+    public void setSearch(String search) {
+        this.search = search;
+    }
 }

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

@@ -35,4 +35,6 @@ public interface VideoLessonGroupService extends IService<VideoLessonGroup> {
     VideoLessonStudentVo selectVideoLesson(Long groupId);
 
     void update(VideoLessonVo lessonVo, SysUser sysUser);
+
+    IPage<LessonGroupVo> selectLessonGroup(IPage<LessonGroupVo> page, VideoLessonGroupSearch query);
 }

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

@@ -10,6 +10,7 @@ import com.yonge.cooleshow.biz.dal.entity.Subject;
 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.enums.AuthStatusEnum;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupService;
 import com.yonge.cooleshow.biz.dal.vo.*;
 import org.slf4j.Logger;
@@ -202,4 +203,15 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         groupUpVo.setId(lessonGroup.getId());
         videoLessonGroupDao.updateGroup(groupUpVo);
     }
+
+    /**
+     * @Description: 查询视频课组
+     * @Author: cy
+     * @Date: 2022/4/11
+     */
+    @Override
+    public IPage<LessonGroupVo> selectLessonGroup(IPage<LessonGroupVo> page, VideoLessonGroupSearch query) {
+        query.setAuditStatus(AuthStatusEnum.PASS);
+        return page.setRecords(baseMapper.selectLessonGroup(page, query));
+    }
 }

+ 144 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/LessonGroupVo.java

@@ -0,0 +1,144 @@
+package com.yonge.cooleshow.biz.dal.vo;
+
+import com.yonge.cooleshow.common.entity.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Author: cy
+ * @Date: 2022/4/11
+ */
+@ApiModel(value = "LessonGroupVo对象")
+public class LessonGroupVo extends BaseEntity {
+    @ApiModelProperty(value = "视频课组id")
+    private Long id;
+
+    @ApiModelProperty(value = "视频课组名称")
+    private String lessonName;
+
+    @ApiModelProperty(value = "声部id")
+    private String lessonSubject;
+
+    @ApiModelProperty(value = "声部名称")
+    private String lessonSubjectName;
+
+    @ApiModelProperty(value = "课程介绍")
+    private String lessonDesc;
+
+    @ApiModelProperty(value = "课程价格")
+    private Integer lessonPrice;
+
+    @ApiModelProperty(value = "课程封面")
+    private String lessonCoverUrl;
+
+    @ApiModelProperty(value = "课程节数")
+    private Integer lessonCount;
+
+    @ApiModelProperty(value = "老师id")
+    private Long teacherId;
+
+    @ApiModelProperty(value = "用户昵称")
+    private String userName;
+
+    @ApiModelProperty(value = "头像")
+    private String avatar;
+
+    @ApiModelProperty("购买人数")
+    private Integer countStudent;
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getAvatar() {
+        return avatar;
+    }
+
+    public void setAvatar(String avatar) {
+        this.avatar = avatar;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getLessonName() {
+        return lessonName;
+    }
+
+    public void setLessonName(String lessonName) {
+        this.lessonName = lessonName;
+    }
+
+    public String getLessonSubject() {
+        return lessonSubject;
+    }
+
+    public void setLessonSubject(String lessonSubject) {
+        this.lessonSubject = lessonSubject;
+    }
+
+    public String getLessonSubjectName() {
+        return lessonSubjectName;
+    }
+
+    public void setLessonSubjectName(String lessonSubjectName) {
+        this.lessonSubjectName = lessonSubjectName;
+    }
+
+    public String getLessonDesc() {
+        return lessonDesc;
+    }
+
+    public void setLessonDesc(String lessonDesc) {
+        this.lessonDesc = lessonDesc;
+    }
+
+    public Integer getLessonPrice() {
+        return lessonPrice;
+    }
+
+    public void setLessonPrice(Integer lessonPrice) {
+        this.lessonPrice = lessonPrice;
+    }
+
+    public String getLessonCoverUrl() {
+        return lessonCoverUrl;
+    }
+
+    public void setLessonCoverUrl(String lessonCoverUrl) {
+        this.lessonCoverUrl = lessonCoverUrl;
+    }
+
+    public Integer getLessonCount() {
+        return lessonCount;
+    }
+
+    public void setLessonCount(Integer lessonCount) {
+        this.lessonCount = lessonCount;
+    }
+
+    public Long getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Long teacherId) {
+        this.teacherId = teacherId;
+    }
+
+    public Integer getCountStudent() {
+        return countStudent;
+    }
+
+    public void setCountStudent(Integer countStudent) {
+        this.countStudent = countStudent;
+    }
+}

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

@@ -179,4 +179,33 @@
 			</if>
 		</where>
 	</select>
+	<select id="selectLessonGroup" resultType="com.yonge.cooleshow.biz.dal.vo.LessonGroupVo">
+		SELECT
+			g.id_ AS id,
+			g.lesson_name_ AS lessonName,
+			g.lesson_subject_ AS lessonSubject,
+			s.name_ AS lessonSubjectName,
+			g.lesson_desc_ AS lessonDesc,
+			g.lesson_price_ AS lessonPrice,
+			g.lesson_cover_url_ AS lessonCoverUrl,
+			g.lesson_count_ AS lessonCount,
+			g.teacher_id_ AS teacherId,
+			u.username_ AS userName,
+			u.avatar_ AS avatar,
+			(SELECT COUNT(1) FROM video_lesson_purchase_record r WHERE r.video_lesson_group_id_=g.id_) AS countStudent
+		FROM video_lesson_group g
+		LEFT JOIN sys_user u ON g.teacher_id_=u.id_
+		LEFT JOIN `subject` s ON g.lesson_subject_ = s.id_
+		<where>
+			<if test="null != param.search and '' != param.search">
+				AND (
+				u.username_ LIKE CONCAT('%', #{param.search}, '%') OR
+				g.lesson_name_ LIKE CONCAT('%', #{param.search}, '%')
+				)
+			</if>
+			<if test="param.auditStatus !=null">
+				AND g.audit_status_ = #{param.auditStatus}
+			</if>
+		</where>
+	</select>
 </mapper>

+ 18 - 0
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/VideoLessonController.java

@@ -4,11 +4,15 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonEvaluateSearch;
+import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonGroupSearch;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonEvaluate;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonEvaluateService;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupDetailService;
+import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupService;
 import com.yonge.cooleshow.biz.dal.support.PageUtil;
+import com.yonge.cooleshow.biz.dal.vo.LessonGroupVo;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonEvaluateVo;
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupVo;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonStudentVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
@@ -36,6 +40,8 @@ public class VideoLessonController extends BaseController {
     private SysUserFeignService sysUserFeignService;
     @Autowired
     private VideoLessonEvaluateService evaluateService;
+    @Autowired
+    private VideoLessonGroupService videoLessonGroupService;
 
     /**
      * @Description: 根据组id查询视频课
@@ -76,4 +82,16 @@ public class VideoLessonController extends BaseController {
         IPage<VideoLessonEvaluateVo> pages = evaluateService.selectEvaluate(PageUtil.getPage(query), query);
         return succeed(PageUtil.pageInfo(pages));
     }
+
+    /**
+     * @Description: 查询视频课组
+     * @Author: cy
+     * @Date: 2022/4/11
+     */
+    @ApiOperation(value = "查询视频课组")
+    @PostMapping(value = "/selectGroup")
+    public HttpResponseResult<PageInfo<LessonGroupVo>> page(@RequestBody VideoLessonGroupSearch query) {
+        IPage<LessonGroupVo> pages = videoLessonGroupService.selectLessonGroup(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+    }
 }