Parcourir la source

1、试听课
2、收费网管课活动

Joburgess il y a 5 ans
Parent
commit
d68abe7473

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/PracticeGroupDao.java

@@ -294,6 +294,15 @@ public interface PracticeGroupDao extends com.ym.mec.common.dal.BaseDAO<Long, Pr
     int countStudentTrialPractices(@Param("studentId") Integer studentId);
 
     /**
+     * @describe 统计学生进行中的试听课数量
+     * @author Joburgess
+     * @date 2020.04.28
+     * @param studentId:
+     * @return int
+     */
+    int countStudentIngTrialPractices(@Param("studentId") Integer studentId);
+
+    /**
      * @describe 获取老师
      * @author Joburgess
      * @date 2020/4/24

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EduPracticeGroupServiceImpl.java

@@ -915,6 +915,11 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
             return BaseController.failed(HttpStatus.EXPECTATION_FAILED, "指定的学生已存在三组试听课");
         }
 
+        int studentIngTrialPracticeNum = practiceGroupDao.countStudentIngTrialPractices(practiceGroupBuyParams.getStudentId());
+        if(studentIngTrialPracticeNum>0){
+            return BaseController.failed(HttpStatus.EXPECTATION_FAILED, "指定的学生存在进行中的试听课");
+        }
+
         int stn = practiceGroupDao.countStudentAndTeacherTrialPractices(practiceGroupBuyParams.getStudentId(), practiceGroupBuyParams.getUserId());
         if(stn>0){
             return BaseController.failed(HttpStatus.EXPECTATION_FAILED, "请给该学生分配不同的指导老师");

+ 6 - 2
mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml

@@ -545,7 +545,7 @@
                 SELECT user_id_ FROM course_schedule_student_payment cssp
                 LEFT JOIN course_schedule cs ON cs.id_=cssp.course_schedule_id_
                 WHERE cssp.user_id_=su.id_ AND cs.teach_mode_='ONLINE'
-                AND NOT EXISTS(SELECT student_id_ FROM practice_group WHERE cssp.music_group_id_=id_ AND cssp.group_type_='PRACTICE' AND type_!='TRIAL')
+                AND EXISTS(SELECT student_id_ FROM practice_group WHERE cssp.music_group_id_=id_ AND cssp.group_type_='PRACTICE' AND type_!='TRIAL')
                 AND CONCAT(cs.class_date_, ' ', cs.start_class_time_) > NOW()
             )
         ORDER BY su.id_
@@ -575,7 +575,7 @@
                 SELECT user_id_ FROM course_schedule_student_payment cssp
                 LEFT JOIN course_schedule cs ON cs.id_=cssp.course_schedule_id_
                 WHERE cssp.user_id_=su.id_ AND cs.teach_mode_='ONLINE'
-                AND NOT EXISTS(SELECT student_id_ FROM practice_group WHERE cssp.music_group_id_=id_ AND cssp.group_type_='PRACTICE' AND type_!='TRIAL')
+                AND EXISTS(SELECT student_id_ FROM practice_group WHERE cssp.music_group_id_=id_ AND cssp.group_type_='PRACTICE' AND type_!='TRIAL')
                 AND CONCAT(cs.class_date_, ' ', cs.start_class_time_) > NOW()
             )
     </select>
@@ -680,4 +680,8 @@
     <select id="checkStudentExitChargePractice" resultType="int">
         SELECT COUNT(id_) FROM practice_group WHERE type_='CHARGE' AND student_id_=#{studentId} AND group_status_ IN ('NORMAL', 'FINISH')
     </select>
+    <select id="countStudentIngTrialPractices" resultType="int">
+      SELECT COUNT(pg.id_) FROM practice_group pg LEFT JOIN course_schedule cs ON cs.music_group_id_=pg.id_
+      WHERE pg.student_id_=#{studentId} AND pg.type_='TRIAL' AND cs.group_type_='PRACTICE' AND CONCAT(cs.class_date_, ' ', cs.end_class_time_)>NOW()
+    </select>
 </mapper>