瀏覽代碼

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

yonge 3 年之前
父節點
當前提交
2a5843b74b

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

@@ -24,11 +24,16 @@ public interface CourseGroupDao extends BaseMapper<CourseGroup> {
     int insertBatch(@Param("entities") List<CourseGroup> entities);
 
     /**
-     * 分页查询课程组信息
+     * 老师端-分页查询课程组信息
      */
     IPage<CourseGroupVo> queryTeacherCourseGroup(Page<CourseGroupVo> page, @Param("param") Map<String, Object> param);
 
     /**
+     * 学生端-分页查询课程组信息
+     */
+    IPage<CourseGroupVo> queryStudentCourseGroup(Page<CourseGroupVo> page, @Param("param") Map<String, Object> param);
+
+    /**
      * 平台方 老师详情直播课列表
      *
      * @param page  分页信息

+ 11 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseGroupServiceImpl.java

@@ -166,6 +166,16 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
         param.put("type", CourseScheduleEnum.LIVE.getCode());
         Page<CourseGroupVo> pageInfo = PageUtil.getPageInfo(param);
         pageInfo.setAsc("b.created_time_");
+        String os = WrapperUtil.toStr(param, "os");
+        if (StringUtils.isNotBlank(os) && os.equals("student")) {
+            Long studentId = getSysUser().getId();
+            if (Objects.isNull(studentId)) {
+                throw new BizException("未查询到用户信息请重新登录");
+            }
+            param.put("studentId", studentId);
+            IPage<CourseGroupVo> page = baseMapper.queryStudentCourseGroup(pageInfo, param);
+            return PageUtil.pageInfo(page);
+        }
         IPage<CourseGroupVo> page = baseMapper.queryTeacherCourseGroup(pageInfo, param);
         return PageUtil.pageInfo(page);
     }
@@ -591,7 +601,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
                 .eq(CourseGroup::getType, CourseScheduleEnum.LIVE.getCode())
         );
         //只要不是销售中的课程组都提示无法购买
-        if(!courseGroup.getStatus().equals(CourseGroupEnum.APPLY.getCode())){
+        if (!courseGroup.getStatus().equals(CourseGroupEnum.APPLY.getCode())) {
             throw new BizException("课程已结束销售!");
         }
         if (Objects.isNull(courseGroup)) {

+ 48 - 3
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseGroupMapper.xml

@@ -65,12 +65,57 @@
         b.sales_end_date_             as salesEndDate,
         b.mix_student_num_            as mixStudentNum,
         b.im_group_id_              as imGroupId,
-        if(o.status_ = 'PAID', 1, 0)  as existBuy
+        0  as existBuy
         from course_group as b
         left join subject as s on b.subject_id_ = s.id_
         left join sys_user as u on b.teacher_id_ = u.id_
-        left join user_order_detail as d on b.id_ = d.biz_id_
-        left join user_order as o on d.order_no_ = o.order_no_
+        <where>
+            <if test="param.teacherId != null">
+                and b.teacher_id_ = #{param.teacherId}
+            </if>
+            <if test="param.groupStatus != null">
+                and b.status_ = #{param.groupStatus}
+            </if>
+            <if test="param.subjectId != null">
+                AND b.subject_id_ = #{param.subjectId}
+            </if>
+            <if test="param.search != null and param.search !=''">
+                and  (
+                u.real_name_ like concat('%',#{param.search},'%')
+                or b.name_ like concat('%',#{param.search},'%')
+                )
+            </if>
+        </where>
+    </select>
+
+    <select id="queryStudentCourseGroup" resultType="com.yonge.cooleshow.biz.dal.vo.CourseGroupVo">
+        select distinct b.id_                         as courseGroupId,
+                        b.name_                       as courseGroupName,
+                        s.name_                       as subjectName,
+                        b.teacher_id_                 as teacherId,
+                        u.username_                   as teacherName,
+                        b.course_start_time_          as courseStartTime,
+                        b.single_course_minutes_      as singleCourseMinutes,
+                        b.status_                     as `status`,
+                        ifnull(b.pre_student_num_, 0) as studentCount,
+                        b.background_pic_             as backgroundPic,
+                        b.course_price_               as coursePrice,
+                        b.course_num_                 as courseNum,
+                        u.avatar_                     as avatar,
+                        b.sales_start_date_           as salesStartDate,
+                        b.sales_end_date_             as salesEndDate,
+                        b.mix_student_num_            as mixStudentNum,
+                        b.im_group_id_                as imGroupId,
+                        if(y.status_ = 'PAID', 1, 0)  as existBuy
+        from course_group as b
+                 left join subject as s on b.subject_id_ = s.id_
+                 left join sys_user as u on b.teacher_id_ = u.id_
+                 left join
+             (select x.user_id_, x.course_group_id_, o.status_
+              from course_schedule_student_payment as x
+                       left join user_order as o on x.order_no_ = o.order_no_ and x.user_id_ = o.user_id_
+                       left join user_order_detail as d on d.order_no_ = x.order_no_
+              where x.user_id_ = #{param.studentId}) as y on b.id_ = y.course_group_id_
         <where>
             <if test="param.teacherId != null">
                 and b.teacher_id_ = #{param.teacherId}

+ 1 - 0
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/StudentCourseGroupController.java

@@ -47,6 +47,7 @@ public class StudentCourseGroupController extends BaseController {
     @ApiOperation("分页查询直播课课程组列表")
     @PostMapping("/queryPageCourseGroup")
     public HttpResponseResult<PageInfo<CourseGroupVo>> queryPageLiveCourseGroup(@RequestBody Map<String, Object> param) {
+        param.put("os","student");
         return succeed(courseGroupService.queryPageLiveCourseGroup(param));
     }