Browse Source

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

liujunchi 3 years ago
parent
commit
f1038f47d6

+ 6 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/CourseGroupController.java

@@ -43,4 +43,10 @@ public class CourseGroupController extends BaseController {
     public HttpResponseResult<PageInfo<CourseGroupLiveVo>> selectLiveGroup(@RequestBody CourseGroupSearch search) {
         return succeed(PageUtil.pageInfo(courseGroupService.selectLiveGroup(PageUtil.getPage(search), search)));
     }
+
+    @ApiOperation(value = "课程组管理-直播课-购买学员")
+    @PostMapping(value = "/live/student")
+    public HttpResponseResult<PageInfo<CourseSchedulePaymentVo>> selectLiveGroupStudent(@RequestBody CourseGroupSearch search) {
+        return succeed(PageUtil.pageInfo(courseGroupService.selectLiveGroupStudent(PageUtil.getPage(search), search)));
+    }
 }

+ 10 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/CourseGroupDao.java

@@ -120,5 +120,15 @@ public interface CourseGroupDao extends BaseMapper<CourseGroup> {
      */
     IPage<CourseGroupLiveVo> selectLiveGroup(@Param("page") IPage<CourseGroupLiveVo> page,
                                              @Param("param") CourseGroupSearch search);
+
+    /**
+     * 查询购买学员
+     *
+     * @param page
+     * @param search
+     * @return
+     */
+    IPage<CourseSchedulePaymentVo> selectLiveGroupStudent(@Param("page") IPage<CourseSchedulePaymentVo> page,
+                                                          @Param("param") CourseGroupSearch search);
 }
 

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

@@ -1,8 +1,12 @@
 package com.yonge.cooleshow.biz.dal.dto.search;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yonge.toolset.base.page.QueryInfo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
 
 /**
  * @Author: cy
@@ -16,18 +20,56 @@ public class CourseGroupSearch extends QueryInfo {
     @ApiModelProperty("声部id")
     private Long subjectId;
 
+    @ApiModelProperty("课程组id")
+    private Long groupId;
+
     @ApiModelProperty(value = "课程状态")
     private String status;
 
-//    @ApiModelProperty(value = "开始时间")
-//    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-//    private Date startTime;
-//
-//    @ApiModelProperty(value = "结束时间")
-//    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-//    private Date endTime;
+    @ApiModelProperty(value = "订单号")
+    private String orderNo;
+
+    @ApiModelProperty(value = "开始时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startTime;
+
+    @ApiModelProperty(value = "结束时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endTime;
+
+    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() {

+ 8 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/CourseGroupService.java

@@ -195,5 +195,13 @@ public interface CourseGroupService extends IService<CourseGroup> {
      * @return
      */
     IPage<CourseGroupLiveVo> selectLiveGroup(IPage<CourseGroupLiveVo> page, CourseGroupSearch search);
+
+    /**
+     * 课程组管理-直播课-购买学员
+     * @param page
+     * @param search
+     * @return
+     */
+    IPage<CourseSchedulePaymentVo> selectLiveGroupStudent(IPage<CourseSchedulePaymentVo> page, CourseGroupSearch search);
 }
 

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

@@ -920,6 +920,11 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
         return baseMapper.selectLiveGroup(page,search);
     }
 
+    @Override
+    public IPage<CourseSchedulePaymentVo> selectLiveGroupStudent(IPage<CourseSchedulePaymentVo> page, CourseGroupSearch search) {
+        return baseMapper.selectLiveGroupStudent(page,search);
+    }
+
     /**
      * 定时将符合开售日期的未开售的直播课课程组修改为报名中状态
      */

+ 81 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/CourseSchedulePaymentVo.java

@@ -0,0 +1,81 @@
+package com.yonge.cooleshow.biz.dal.vo;
+
+import com.yonge.cooleshow.biz.dal.entity.CourseScheduleStudentPayment;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Author: cy
+ * @Date: 2022/5/20
+ */
+@ApiModel
+public class CourseSchedulePaymentVo extends CourseScheduleStudentPayment {
+    @ApiModelProperty(value = "学生id")
+    private Long studentId;
+    @ApiModelProperty(value = "学生姓名")
+    private String studentName;
+    @ApiModelProperty(value = "真实姓名")
+    private String studentRealName;
+    @ApiModelProperty(value = "实际价格")
+    private BigDecimal actualPrice;
+    @ApiModelProperty(value = "订单号")
+    private String orderNo;
+    @ApiModelProperty(value = "下单时间")
+    private Date createdOrderTime;
+
+    public Long getStudentId() {
+        return studentId;
+    }
+
+    public void setStudentId(Long studentId) {
+        this.studentId = studentId;
+    }
+
+    public String getStudentName() {
+        return studentName;
+    }
+
+    public void setStudentName(String studentName) {
+        this.studentName = studentName;
+    }
+
+    public String getStudentRealName() {
+        return studentRealName;
+    }
+
+    public void setStudentRealName(String studentRealName) {
+        this.studentRealName = studentRealName;
+    }
+
+    @Override
+    public BigDecimal getActualPrice() {
+        return actualPrice;
+    }
+
+    @Override
+    public void setActualPrice(BigDecimal actualPrice) {
+        this.actualPrice = actualPrice;
+    }
+
+    @Override
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    @Override
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
+    }
+
+    public Date getCreatedOrderTime() {
+        return createdOrderTime;
+    }
+
+    public void setCreatedOrderTime(Date createdOrderTime) {
+        this.createdOrderTime = createdOrderTime;
+    }
+}
+

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

@@ -360,7 +360,7 @@
         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'
+        WHERE cg.type_='PRACTICE' AND cg.status_ IN('ING','COMPLETE')
         <if test="param.search != null and param.search != ''">
             AND (
             cg.id_ LIKE concat('%',#{param.search},'%') OR
@@ -408,6 +408,7 @@
         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>
             <if test="param.search != null and param.search != ''">
@@ -480,6 +481,9 @@
             AND cg.status_ = #{param.status}
         </if>
     </select>
+    <select id="selectLiveGroupStudent" resultType="com.yonge.cooleshow.biz.dal.vo.CourseSchedulePaymentVo">
+
+    </select>
 
     <update id="opsPreStudentNum">
         update course_group

+ 10 - 7
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -254,7 +254,8 @@
         FROM course_schedule_student_payment p
         LEFT JOIN course_schedule s ON p.course_id_ = s.id_
         WHERE s.teacher_id_=#{teacherId}
-        AND s.status_='ING'
+        AND s.lock_=0
+        AND s.status_ IN ('ING','COMPLETE','NOT_START')
         <![CDATA[ AND s.class_date_  >= #{startDate} ]]>
         <![CDATA[ AND s.class_date_  <= #{endDate} ]]>
     </select>
@@ -279,7 +280,7 @@
         LEFT JOIN course_group g ON s.course_group_id_ = g.id_
         LEFT JOIN `subject` b ON g.subject_id_ = b.id_
         WHERE s.lock_=0
-        AND s.status_ IN ('ING','NOT_START')
+        AND s.status_ IN ('ING','NOT_START','COMPLETE')
         AND s.id_ IN
         (SELECT course_id_ FROM course_schedule_student_payment WHERE user_id_ = #{param.studentId} AND course_type_ = 'PRACTICE')
         <if test="param.status !=null and param.status !=''">
@@ -319,7 +320,8 @@
         LEFT JOIN course_group g ON cs.course_group_id_ = g.id_
         LEFT JOIN (SELECT course_id_ AS pid,count(*) AS payCount FROM course_schedule_student_payment GROUP BY course_id_ ) p ON cs.id_=p.pid
         LEFT JOIN `subject` sb ON g.subject_id_=sb.id_
-        WHERE cs.status_='ING'
+        WHERE cs.lock_=0
+        AND cs.status_ IN ('ING','COMPLETE','NOT_START')
         AND cs.type_='LIVE'
         AND cs.teacher_id_=#{param.teacherId}
         AND cs.class_date_=#{param.classDate}
@@ -352,7 +354,8 @@
         LEFT JOIN course_schedule cs ON p.course_id_=cs.id_
         LEFT JOIN course_group g ON p.course_group_id_ = g.id_
         LEFT JOIN `subject` sb ON g.subject_id_=sb.id_
-        WHERE cs.status_='ING'
+        WHERE cs.lock_=0
+        AND cs.status_ IN ('ING','COMPLETE','NOT_START')
         AND p.course_id_ IN (SELECT s.id_ FROM course_schedule s WHERE s.type_='PRACTICE' AND s.teacher_id_=#{param.teacherId})
         AND cs.class_date_=#{param.classDate}
         ORDER BY startTime
@@ -362,7 +365,7 @@
             parameterType="com.yonge.cooleshow.biz.dal.dto.search.MyCourseSearch">
         SELECT class_date_ FROM course_schedule
         WHERE lock_=0
-        AND status_ IN ('ING','NOT_START')
+        AND status_ IN ('ING','NOT_START','COMPLETE')
         AND id_ IN (SELECT course_id_ FROM course_schedule_student_payment WHERE user_id_ = #{studentId})
         <![CDATA[ AND class_date_  >= #{startDate} ]]>
         <![CDATA[ AND class_date_  <= #{endDate} ]]>
@@ -442,7 +445,7 @@
         LEFT JOIN course_group g ON s.course_group_id_ = g.id_
         LEFT JOIN `subject` b ON g.subject_id_ = b.id_
         WHERE s.lock_=0
-        AND s.status_ IN ('ING','NOT_START')
+        AND s.status_ IN ('ING','NOT_START','COMPLETE')
         AND s.id_ IN
         (SELECT course_id_ FROM course_schedule_student_payment WHERE user_id_ = #{param.studentId} AND course_type_ = 'PRACTICE')
         AND s.class_date_ = #{param.classDate}
@@ -465,7 +468,7 @@
         LEFT JOIN course_group g ON s.course_group_id_ = g.id_
         LEFT JOIN `subject` sb ON g.subject_id_=sb.id_
         WHERE s.lock_=0
-        AND s.status_ IN ('ING','NOT_START')
+        AND s.status_ IN ('ING','NOT_START','COMPLETE')
         AND s.id_ IN
         (SELECT course_id_ FROM course_schedule_student_payment WHERE user_id_ = #{param.studentId} AND course_type_ = 'LIVE')
         AND s.class_date_ = #{param.classDate}