zouxuan 9 ヶ月 前
コミット
fcba78f3d4

+ 3 - 44
cooleshow-app/src/main/java/com/yonge/cooleshow/admin/controller/AdminCourseGroupController.java

@@ -1,8 +1,6 @@
 package com.yonge.cooleshow.admin.controller;
 
 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.LiveSaleOutDto;
 import com.yonge.cooleshow.biz.dal.dto.search.LiveCourseGroupSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.LiveCourseGroupStudentCourseSearch;
@@ -20,14 +18,10 @@ import com.yonge.toolset.mybatis.support.PageUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import javax.validation.Valid;
 import java.util.List;
 
@@ -41,23 +35,14 @@ import java.util.List;
 @RestController
 @RequestMapping("${app-config.url.admin:}/courseGroup")
 public class AdminCourseGroupController extends BaseController {
-    /**
-     * 服务对象
-     */
-    @Autowired
+    @Resource
     private CourseGroupService courseGroupService;
 
-    @Autowired
-    private SysUserFeignService sysUserFeignService;
 
     @ApiOperation(value = "老师直播课列表", httpMethod="POST", consumes="application/json", produces="application/json")
     @PostMapping(value="/live/list", consumes="application/json", produces="application/json")
     public HttpResponseResult<PageInfo<LiveCourseGroupVo>> teacherList(@Validated(value = LiveCourseGroupSearch.TeacherGroup.class)
                                                                            @RequestBody LiveCourseGroupSearch query) {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null || sysUser.getId() == null) {
-            return failed("用户信息获取失败");
-        }
         query.setCourseType(CourseScheduleEnum.LIVE);
 
         IPage<LiveCourseGroupVo> liveCourseGroupVoIPage = courseGroupService
@@ -70,10 +55,6 @@ public class AdminCourseGroupController extends BaseController {
     @PostMapping(value="/live/list/student", consumes="application/json", produces="application/json")
     public HttpResponseResult<PageInfo<LiveCourseGroupVo>> studentList(@Validated(value = LiveCourseGroupSearch.StudentGroup.class)
                                                                            @RequestBody LiveCourseGroupSearch query) {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null || sysUser.getId() == null) {
-            return failed("用户信息获取失败");
-        }
         query.setCourseType(CourseScheduleEnum.LIVE);
 
         IPage<LiveCourseGroupVo> liveCourseGroupVoIPage = courseGroupService
@@ -85,10 +66,6 @@ public class AdminCourseGroupController extends BaseController {
     @PostMapping(value="/detail/{courseGroupId}")
     public HttpResponseResult<LiveCourseGroupVo> detail(@ApiParam(value = "课程组编号ID", required = true)
                                                                    @PathVariable("courseGroupId") Long courseGroupId) {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null || sysUser.getId() == null) {
-            return failed("用户信息获取失败");
-        }
         if (courseGroupId == null) {
             return failed("课程组id不能为空");
         }
@@ -104,10 +81,6 @@ public class AdminCourseGroupController extends BaseController {
     @ApiOperation(value = "直播课下架")
     @PostMapping(value="/live/saleOut")
     public HttpResponseResult<Boolean> liveSaleOut(@RequestBody @Valid LiveSaleOutDto dto) {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null || sysUser.getId() == null) {
-            return failed("用户信息获取失败");
-        }
         if (dto.getCourseGroupId() == null) {
             return failed("课程组id不能为空");
         }
@@ -120,11 +93,6 @@ public class AdminCourseGroupController extends BaseController {
     @ApiOperation(value = "老师详情-直播课购买学员信息", httpMethod="POST", consumes="application/json", produces="application/json")
     @PostMapping(value="/live/student", consumes="application/json", produces="application/json")
     public HttpResponseResult<PageInfo<LiveCourseGroupStudentVo>> student(@Valid @RequestBody LiveCourseGroupStudentSearch query) {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null || sysUser.getId() == null) {
-            return failed("用户信息获取失败");
-        }
-
         IPage<LiveCourseGroupStudentVo> liveCourseGroupVoIPage = courseGroupService
                 .selectAdminLiveStudentPage(PageUtil.getPage(query), query);
         return succeed(PageUtil.pageInfo(liveCourseGroupVoIPage));
@@ -135,10 +103,6 @@ public class AdminCourseGroupController extends BaseController {
     @PostMapping(value="/live/{courseGroupId}")
     public HttpResponseResult<List<LiveCourseGroupPlanVo>> student(@ApiParam(value = "课程组编号ID", required = true)
                                                                               @PathVariable("courseGroupId") Long courseGroupId) {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null || sysUser.getId() == null) {
-            return failed("用户信息获取失败");
-        }
         if (courseGroupId == null) {
             return failed("课程组id不能为空");
         }
@@ -150,11 +114,6 @@ public class AdminCourseGroupController extends BaseController {
     @ApiOperation(value = "学生详情-直播课详情-学生上课状态", httpMethod="POST", consumes="application/json", produces="application/json")
     @PostMapping(value="/live/student/course", consumes="application/json", produces="application/json")
     public HttpResponseResult<PageInfo<LiveCourseGroupStudentCourseVo>> studentCourse(@Valid @RequestBody LiveCourseGroupStudentCourseSearch query) {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null || sysUser.getId() == null) {
-            return failed("用户信息获取失败");
-        }
-
         IPage<LiveCourseGroupStudentCourseVo> liveCourseGroupStudentCourseVoIPage = courseGroupService
                 .selectAdminLiveStudentCoursePage(PageUtil.getPage(query), query);
         return succeed(PageUtil.pageInfo(liveCourseGroupStudentCourseVoIPage));

+ 2 - 17
cooleshow-app/src/main/java/com/yonge/cooleshow/admin/controller/CourseGroupController.java

@@ -5,18 +5,7 @@ import com.yonge.cooleshow.biz.dal.dto.search.CourseGroupSearch;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail;
 import com.yonge.cooleshow.biz.dal.service.CourseGroupService;
 import com.yonge.cooleshow.biz.dal.service.CourseScheduleService;
-import com.yonge.cooleshow.biz.dal.vo.CourseGroupInfoVo;
-import com.yonge.cooleshow.biz.dal.vo.CourseGroupLiveVo;
-import com.yonge.cooleshow.biz.dal.vo.CourseGroupPianoDetailVo;
-import com.yonge.cooleshow.biz.dal.vo.CourseGroupPianoVo;
-import com.yonge.cooleshow.biz.dal.vo.CourseGroupPracticeDetailVo;
-import com.yonge.cooleshow.biz.dal.vo.CourseGroupPracticeVo;
-import com.yonge.cooleshow.biz.dal.vo.CourseGroupStudentVo;
-import com.yonge.cooleshow.biz.dal.vo.CourseGroupVideoVo;
-import com.yonge.cooleshow.biz.dal.vo.CourseSchedulePaymentVo;
-import com.yonge.cooleshow.biz.dal.vo.CourseSchedulePlanVo;
-import com.yonge.cooleshow.biz.dal.vo.PianoRoomTimeVo;
-import com.yonge.cooleshow.biz.dal.vo.StudentSignVo;
+import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.toolset.base.page.PageInfo;
@@ -25,11 +14,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.validation.constraints.NotNull;
 import java.util.List;

+ 4 - 129
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/CourseGroupSearch.java

@@ -6,6 +6,7 @@ import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.page.QueryInfo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.util.Date;
@@ -15,6 +16,7 @@ import java.util.Date;
  * @Date: 2022/5/19
  */
 @ApiModel
+@Data
 public class CourseGroupSearch extends QueryInfo {
     @ApiModelProperty(value = "课程组、老师、学员编号/名称")
     private String search;
@@ -68,133 +70,6 @@ public class CourseGroupSearch extends QueryInfo {
     @ApiModelProperty(value = "是否草稿 (0:否  1:是)",hidden = true)
     private Integer draftFlag;
 
-    public CourseRelationTypeEnum getRelationType() {
-        return relationType;
-    }
-
-    public void setRelationType(CourseRelationTypeEnum relationType) {
-        this.relationType = relationType;
-    }
-
-    public YesOrNoEnum getTopFlag() {
-        return topFlag;
-    }
-
-    public void setTopFlag(YesOrNoEnum topFlag) {
-        this.topFlag = topFlag;
-    }
-
-    public Integer getDraftFlag() {
-        return draftFlag;
-    }
-
-    public void setDraftFlag(Integer draftFlag) {
-        this.draftFlag = draftFlag;
-    }
-
-    public Long getStudentId() {
-        return studentId;
-    }
-
-    public void setStudentId(Long studentId) {
-        this.studentId = studentId;
-    }
-
-    public Long getTeacherId() {
-        return teacherId;
-    }
-
-    public void setTeacherId(Long teacherId) {
-        this.teacherId = teacherId;
-    }
-
-    public Long getCourseId() {
-        return courseId;
-    }
-
-    public void setCourseId(Long courseId) {
-        this.courseId = courseId;
-    }
-
-    public String getSalaryStatus() {
-        return salaryStatus;
-    }
-
-    public void setSalaryStatus(String salaryStatus) {
-        this.salaryStatus = salaryStatus;
-    }
-
-    public Long getGroupId() {
-        return groupId;
-    }
-
-    public void setGroupId(Long groupId) {
-        this.groupId = groupId;
-    }
-
-    public String getOrderNo() {
-        return orderNo;
-    }
-
-    public void setOrderNo(String orderNo) {
-        this.orderNo = orderNo;
-    }
-
-    public Date getStartTime() {
-        return startTime;
-    }
-
-    public void setStartTime(Date startTime) {
-        this.startTime = startTime;
-    }
-
-    public Date getEndTime() {
-        return endTime;
-    }
-
-    public void setEndTime(Date endTime) {
-        this.endTime = endTime;
-    }
-
-    @Override
-    public String getSearch() {
-        return search;
-    }
-
-    @Override
-    public void setSearch(String search) {
-        this.search = search;
-    }
-
-    public Long getSubjectId() {
-        return subjectId;
-    }
-
-    public void setSubjectId(Long subjectId) {
-        this.subjectId = subjectId;
-    }
-
-    public String getStatus() {
-        return status;
-    }
-
-    public void setStatus(String status) {
-        this.status = status;
-    }
-
-    public Integer getShelvesFlag() {
-        return shelvesFlag;
-    }
-
-    public void setShelvesFlag(Integer shelvesFlag) {
-        this.shelvesFlag = shelvesFlag;
-    }
-
-    public String getPayType() {
-        return payType;
-    }
-
-    public void setPayType(String payType) {
-        this.payType = payType;
-    }
+    @ApiModelProperty(value = "课程组类型 VIP 、PRACTICE")
+    private String groupType = "PRACTICE";
 }

+ 5 - 7
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseGroupMapper.xml

@@ -379,11 +379,11 @@
         FROM course_group cg
         LEFT JOIN `subject` sub ON cg.subject_id_=sub.id_
         LEFT JOIN sys_user tu ON cg.teacher_id_=tu.id_
-        LEFT JOIN (SELECT user_id_,course_group_id_ FROM course_schedule_student_payment WHERE course_type_='PRACTICE' GROUP BY course_group_id_) sp ON cg.id_=sp.course_group_id_
+        LEFT JOIN (SELECT user_id_,course_group_id_ FROM course_schedule_student_payment WHERE course_type_=#{param.groupType} GROUP BY course_group_id_) sp ON cg.id_=sp.course_group_id_
         LEFT JOIN sys_user su ON sp.user_id_=su.id_
-        LEFT JOIN (SELECT course_group_id_,COUNT(1) AS count_ FROM course_schedule WHERE type_='PRACTICE' AND status_='COMPLETE' GROUP BY course_group_id_) cs ON cg.id_=cs.course_group_id_
-        LEFT JOIN (SELECT course_group_id_,start_time_ FROM course_schedule WHERE type_='PRACTICE' GROUP BY course_group_id_) cst ON cg.id_=cst.course_group_id_
-        WHERE cg.type_='PRACTICE' AND cg.status_ IN('ING','COMPLETE')
+        LEFT JOIN (SELECT course_group_id_,COUNT(1) AS count_ FROM course_schedule WHERE type_= #{param.groupType} AND status_='COMPLETE' GROUP BY course_group_id_) cs ON cg.id_=cs.course_group_id_
+        LEFT JOIN (SELECT course_group_id_,start_time_ FROM course_schedule WHERE type_=#{param.groupType} GROUP BY course_group_id_) cst ON cg.id_=cst.course_group_id_
+        WHERE cg.type_=#{param.groupType} AND cg.status_ IN('ING','COMPLETE')
         <if test="param.search != null and param.search != ''">
             AND (
             cg.id_ LIKE concat('%',#{param.search},'%') OR
@@ -436,9 +436,7 @@
         LEFT JOIN teacher_attendance ta ON cs.id_=ta.course_schedule_id_
         LEFT JOIN student_attendance sa ON cs.id_=sa.course_schedule_id_
         LEFT JOIN course_schedule_teacher_salary ts ON cs.id_=ts.course_schedule_id_
-        WHERE cs.type_='PRACTICE'
-        AND cs.lock_=0
-        AND cs.course_group_id_=#{param.courseGroupId}) a
+        WHERE cs.lock_=0 AND cs.course_group_id_ = #{param.courseGroupId}) a
         <where>
             <if test="param.search != null and param.search != ''">
                 AND (

+ 11 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -260,6 +260,17 @@
                             GROUP BY a.subject_id_
                         )
                     </if>
+                    <if test="type == null or type =='VIP'">
+                        union all
+                        (
+                            select
+                                a.subject_id_ as subject_id_
+                            from course_group a
+                            join course_schedule_student_payment a1 on a.id_ = a1.course_group_id_
+                            where a.type_ = 'VIP' and a1.user_id_ = #{userId}
+                            GROUP BY a.subject_id_
+                        )
+                    </if>
                     <if test="type == null or type =='LIVE'">
                         union all
                         (