Browse Source

活动排课

zouxuan 3 years ago
parent
commit
9c8b7b66e2

+ 19 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -5036,10 +5036,27 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         practiceGroupDao.update(applyBaseInfo);
 
         //创建课程
+        courseScheduleService.checkNewCourseSchedules(courseSchedules, false,false);
         courseScheduleService.batchAddCourseSchedule(courseSchedules);
+
         //创建老师单节课课酬信息
-        courseScheduleTeacherSalaryService.createCourseScheduleTeacherPracticeSalary(courseSchedules,
-                classGroupTeacherSalary.getOnlineClassesSalary());
+        List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = new ArrayList<>();
+        for (CourseSchedule courseSchedule : courseSchedules) {
+            //创建教师课程薪水记录
+            CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
+            courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
+            courseScheduleTeacherSalary.setGroupType(courseSchedule.getGroupType());
+            courseScheduleTeacherSalary.setMusicGroupId(courseSchedule.getMusicGroupId());
+            courseScheduleTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
+            courseScheduleTeacherSalary.setUserId(courseSchedule.getActualTeacherId().intValue());
+            courseScheduleTeacherSalary.setClassGroupId(courseSchedule.getClassGroupId());
+            courseScheduleTeacherSalary.setExpectSalary(classGroupTeacherSalary.getOnlineClassesSalary());
+            courseScheduleTeacherSalary.setActualSalary(null);
+            courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
+        }
+        if (courseScheduleTeacherSalaries.size() > 0) {
+            courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaries);
+        }
 
         List<ClassGroupStudentMapper> classGroupStudents = classGroupStudentMapperDao.findByClassGroup(classGroup.getId());
 
@@ -5087,7 +5104,6 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             userRoleMap.put(classGroupStudent.getUserId(),null);
             studentDao.updateStudentServiceTag(classGroupStudent.getUserId(), null, YesOrNoEnum.YES.getCode());
         }
-        courseScheduleService.checkNewCourseSchedules(courseSchedules, false,false);
         return BaseController.succeed(applyBaseInfo.getAuditStatus().getCode());
     }
 

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

@@ -1404,6 +1404,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 		//创建课程
 		List<CourseSchedule> courseSchedules = vipGroup.getCourseSchedules();
+		courseScheduleService.checkNewCourseSchedules(courseSchedules, false,false);
+		courseScheduleService.batchAddCourseSchedule(courseSchedules);
 
 		//创建老师单节课课酬信息
 		List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = new ArrayList<>();
@@ -1437,8 +1439,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		if (courseScheduleTeacherSalaries.size() > 0) {
 			courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaries);
 		}
-		courseScheduleService.checkNewCourseSchedules(courseSchedules, false,false);
-		courseScheduleService.batchAddCourseSchedule(courseSchedules);
 
 		applyBaseInfo.setCourseSchedulesJson(JSON.toJSONString(vipGroup.getCourseSchedules()));
 		vipGroupDao.update(applyBaseInfo);

+ 12 - 14
mec-biz/src/main/resources/config/mybatis/VipGroupActivityMapper.xml

@@ -299,23 +299,21 @@
 		<result property="phone" column="phone_"/>
 	</resultMap>
 	<select id="getActivityWaitCourseStudentNum" resultMap="ActivityWaitCourseStudentNumDto">
-		SELECT COUNT(CASE WHEN aum.vip_flag_ = 1 THEN 1 ELSE NULL END) vip_num_,
-			   COUNT(CASE WHEN aum.practice_flag_ = 1 THEN 1 ELSE NULL END) practice_num_,
-			   COUNT(CASE WHEN aum.give_vip_flag_ = 1 THEN 1 ELSE NULL END) give_vip_num_,
-			   COUNT(CASE WHEN aum.give_practice_flag_ = 1 THEN 1 ELSE NULL END) give_practice_num_
-		FROM (SELECT activity_id_,MAX(vip_flag_) vip_flag_,MAX(practice_flag_) practice_flag_,
-					 MAX(give_vip_flag_) give_vip_flag_,MAX(give_practice_flag_) give_practice_flag_,user_id_,teacher_id_
-			  FROM activity_user_mapper
-			  WHERE return_fee_ = 0 AND activity_id_ = #{activityId}
-			<if test="userId != null">
-				AND teacher_id_ = #{userId}
-			</if>
-			  GROUP BY user_id_) aum
-		WHERE aum.activity_id_ = #{activityId}
+		SELECT COUNT(CASE WHEN c.vip_num_ > 0 THEN 1 ELSE NULL END) vip_num_,
+		COUNT(CASE WHEN c.practice_num_ > 0 THEN 1 ELSE NULL END) practice_num_,
+		COUNT(CASE WHEN c.give_vip_num_ > 0 THEN 1 ELSE NULL END)give_vip_num_,
+		COUNT(CASE WHEN c.give_practice_num_ > 0 THEN 1 ELSE NULL END)give_practice_num_
+		FROM (SELECT
+		COUNT(CASE WHEN vip_flag_ = 1 THEN 1 ELSE NULL END) vip_num_,
+		COUNT(CASE WHEN practice_flag_ = 1 THEN 1 ELSE NULL END) practice_num_,
+		COUNT(CASE WHEN give_vip_flag_ = 1 THEN 1 ELSE NULL END) give_vip_num_,
+		COUNT(CASE WHEN give_practice_flag_ = 1 THEN 1 ELSE NULL END) give_practice_num_
+		FROM activity_user_mapper aum
+		WHERE activity_id_ = #{activityId}
 		<if test="userId != null">
 			AND aum.teacher_id_ = #{userId}
 		</if>
-		GROUP BY aum.activity_id_
+		GROUP BY aum.user_id_)c
 	</select>
 	<select id="getActivityStudentCanCourseNum" resultMap="ActivityWaitCourseStudentNumDto">
 		SELECT COUNT(CASE WHEN aum.vip_flag_ = 1 THEN 1 ELSE NULL END) vip_num_,