Joburgess 5 éve
szülő
commit
1f19046106

+ 27 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -71,6 +71,33 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<CourseSchedule> findMusicGroupCourseSchedules(@Param("musicGroupId") String musicGroupId,
                                                        @Param("status") String status);
 
+
+    /**
+     * @describe 获取乐团下学生指定状态的课程
+     * @author Joburgess
+     * @date 2019/11/26
+     * @param musicGroupId: 乐团编号
+     * @param status: 状态
+     * @param userId: 用户编号
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
+     */
+    List<CourseSchedule> findMusicGroupCourseSchedulesWithStudent(@Param("musicGroupId") String musicGroupId,
+                                                       @Param("groupType") String groupType,
+                                                       @Param("status") String status,
+                                                       @Param("userId") Integer userId);
+
+
+    /**
+     * @describe 删除指定乐团下学生的课程
+     * @author Joburgess
+     * @date 2019/11/26
+     * @param courseScheduleIds: 课程编号列表
+     * @param userId: 用户编号
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
+     */
+    List<CourseSchedule> deleteMusicGroupCourseSchedulesWithStudent(@Param("courseScheduleIds") List<Integer> courseScheduleIds,
+                                                                  @Param("userId") Integer userId);
+
     /**
      * @param teacherId: 教师编号
      * @param classDate: 上课日期

+ 5 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java

@@ -6,7 +6,6 @@ import com.ym.mec.biz.dal.dto.TeacherAttendanceDto;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseScheduleComplaints;
 import com.ym.mec.biz.dal.enums.AuditStatusEnum;
-import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
@@ -47,15 +46,15 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	void batchDeleteMusicGroupNotStartCourse(String musicGroupId);
 
 	/**
-	 * @describe
+	 * @describe 删除指定乐团下指定状态的课程
 	 * @author Joburgess
 	 * @date 2019/11/26
-	 * @param musicGroupId:
-	 * @param userId:
-	 * @param courseStatus:
+	 * @param musicGroupId: 乐团编号
+	 * @param userId: 用户编号
+	 * @param groupType: 乐团类型
 	 * @return void
 	 */
-	void batchDeleteMusicGroupCourseWithStudent(String musicGroupId, Integer userId, CourseStatusEnum courseStatus);
+	void batchDeleteMusicGroupCourseWithStudent(String musicGroupId, Integer userId, GroupType groupType);
 
 
 	/**

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ChargeTypeOrganizationFeeServiceImpl.java

@@ -23,7 +23,7 @@ public class ChargeTypeOrganizationFeeServiceImpl extends BaseServiceImpl<Intege
 
 	@Override
 	public ChargeTypeOrganizationFee findByOrganId(Integer chargeTypeId, Integer organId) {
-		return chargeTypeOrganizationFeeDao.findByOrganId(chargeTypeId,organId);
+		return chargeTypeOrganizationFeeDao.findByOrganId(chargeTypeId,String.valueOf(organId));
 	}
 
 	@Override
@@ -45,4 +45,4 @@ public class ChargeTypeOrganizationFeeServiceImpl extends BaseServiceImpl<Intege
 			throw new BizException("数据已存在");
 		}
 	}
-}
+}

+ 11 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -135,8 +135,17 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	}
 
 	@Override
-	public void batchDeleteMusicGroupCourseWithStudent(String musicGroupId, Integer userId, CourseStatusEnum courseStatus) {
-
+	public void batchDeleteMusicGroupCourseWithStudent(String musicGroupId, Integer userId, GroupType groupType) {
+		if(StringUtils.isBlank(musicGroupId)){
+			throw new BizException("请指定乐团");
+		}
+		List<CourseSchedule> musicGroupCourseSchedules = courseScheduleDao.findMusicGroupCourseSchedulesWithStudent(musicGroupId,groupType.getCode(), CourseStatusEnum.NOT_START.getCode(),userId);
+		if(!CollectionUtils.isEmpty(musicGroupCourseSchedules)){
+            List<Integer> courseScheduleIds = musicGroupCourseSchedules.stream()
+                    .map(courseSchedule -> courseSchedule.getId().intValue())
+                    .collect(Collectors.toList());
+            courseScheduleDao.deleteMusicGroupCourseSchedulesWithStudent(courseScheduleIds,userId);
+		}
 	}
 
 	@Override

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -1140,7 +1140,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		classStudentMapperByUserIdAndClassGroupId.setStatus(ClassGroupStudentStatusEnum.QUIT);
 		classGroupStudentMapperDao.update(classStudentMapperByUserIdAndClassGroupId);
 
-		courseScheduleService.batchDeleteMusicGroupNotStartCourse(vipGroupId.toString());
+		courseScheduleService.batchDeleteMusicGroupCourseWithStudent(vipGroupId.toString(),studentId,GroupType.VIP);
 
 		//学员退出班级群
 		ImGroupMember[] imGroupMembers = new ImGroupMember[]{new ImGroupMember(studentId.toString())};
@@ -1222,7 +1222,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				classStudentMapperByUserIdAndClassGroupId.setStatus(ClassGroupStudentStatusEnum.QUIT);
 				classGroupStudentMapperDao.update(classStudentMapperByUserIdAndClassGroupId);
 
-				courseScheduleService.batchDeleteMusicGroupNotStartCourse(studentPaymentOrder.getMusicGroupId());
+				courseScheduleService.batchDeleteMusicGroupCourseWithStudent(studentPaymentOrder.getMusicGroupId(),studentApplyRefunds.getUserId(),GroupType.VIP);
 
 				//学员退出班级群
 				ImGroupMember[] imGroupMembers = new ImGroupMember[]{new ImGroupMember(studentApplyRefunds.getUserId().toString())};

+ 24 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -819,6 +819,7 @@
         	LEFT JOIN school s ON cs.schoole_id_=s.id_
         WHERE
           cs.music_group_id_ =#{vipGroupId} AND cs.group_type_ = 'VIP'
+        ORDER BY start_class_time_
     </select>
     <select id="findByClassGroupAndDate" resultMap="CourseSchedule">
         SELECT
@@ -1381,6 +1382,29 @@
             AND status_ = #{status}
             AND cs.type_!='HIGH'
     </select>
+    <select id="findMusicGroupCourseSchedulesWithStudent" resultMap="CourseSchedule">
+        SELECT
+            cs.*
+        FROM
+            course_schedule_student_payment cssp
+            LEFT JOIN course_schedule cs ON cssp.course_schedule_id_ = cs.id_
+        WHERE
+            cssp.music_group_id_=#{musicGroupId}
+            AND cssp.group_type_=#{groupType}
+            AND cs.status_ = #{status}
+            AND cssp.user_id_ = #{userId}
+    </select>
+
+    <delete id="deleteMusicGroupCourseSchedulesWithStudent">
+        DELETE
+        FROM
+            course_schedule_student_payment
+        WHERE user_id_ =#{userId}  AND course_scheduel_id_ IN
+        <foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
+            #{courseScheduleId}
+        </foreach>
+    </delete>
+
     <delete id="deleteCourseSchedulesByClassGroupIds">
         DELETE FROM course_schedule WHERE class_group_id_ IN
         <foreach collection="classGroupIds" item="classGroupId" open="(" close=")" separator=",">

+ 1 - 0
mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml

@@ -305,6 +305,7 @@
             vg.status_!=3
             AND vg.audit_status_='PASS'
             AND vg.status_=1
+            AND vg.courses_expire_date_ &lt;= NOW()
             AND (select count(1) as num from student_payment_order where vg.id_ = music_group_id_ AND user_id_=#{userId} AND status_='SUCCESS') = 0
             <if test="subjectId!=null">
                AND FIND_IN_SET(#{subjectId},cg.subject_id_list_)