Browse Source

Merge branch 'system_fee' of http://git.dayaedu.com/yonge/mec into system_fee

yonge 4 năm trước cách đây
mục cha
commit
d88062a658

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -293,6 +293,14 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
     List<Integer> queryNormalUser(String musicGroupId);
 
     /**
+     * 获取乐团在读人数
+     *
+     * @param musicGroupId
+     * @return
+     */
+    List<Integer> queryNormalUserList(String musicGroupId);
+
+    /**
      * 获取学员基本信息
      *
      * @param mobile

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

@@ -1326,7 +1326,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                                             totalOriginPriceMap.get(courseType).subtract(totalOrignPriceMap.get(courseType))));
                                 }
                             }
-                            totalCourseScheduleStudentPayments.addAll(courseScheduleStudentPayments);
                         }
                     }else {
                         for (CourseSchedule courseSchedule : courseSchedules) {
@@ -1351,7 +1350,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     }
                 }
             }
-            if(totalCourseScheduleStudentPayments.size() > 0){
+            if(totalCourseScheduleStudentPayments.size() > 0 || courseScheduleStudentPayments.size() > 0){
+                totalCourseScheduleStudentPayments.addAll(courseScheduleStudentPayments);
                 courseScheduleStudentPaymentService.batchInsert(totalCourseScheduleStudentPayments);
                 studentService.updateStudentServiceTag(studentId, null, YesOrNoEnum.YES.getCode());
             }

+ 18 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -76,6 +76,9 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 
 	@Autowired
 	private MusicGroupSchoolTermCourseDetailDao musicGroupSchoolTermCourseDetailDao;
+
+	@Autowired
+	private MusicGroupSchoolTermStudentCourseDetailDao musicGroupSchoolTermStudentCourseDetailDao;
 	
 	@Autowired
 	private IdGeneratorService idGeneratorService;
@@ -960,11 +963,26 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 					totalPrice = totalPrice.add(musicGroupPaymentCalenderCourseSettings.getCourseCurrentPrice());
 				}
 			}
+			//当前乐团是否有预排课计划
+			MusicGroupSchoolTermCourseDetail termCourseDetail = musicGroupSchoolTermCourseDetailDao.findByCourseDateAndMusicGroupId(musicGroup.getId(), null, 0);
 
 			List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetailList = new ArrayList<MusicGroupPaymentStudentCourseDetail>();
 			MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = null;
 
 			for (String studentId : studentIdStr.split(",")) {
+				if(termCourseDetail != null){
+					//是否已经预排部分课程
+					List<CourseSchedule> courseSchedules = courseScheduleDao.queryPreCourseListByMusicGroupId(musicGroup.getId());
+					if(courseSchedules.size() > 0){
+						throw new BizException("操作失败:该乐团存在预排课课程,请优先完成预排课");
+					}else {
+						MusicGroupSchoolTermStudentCourseDetail studentCourseDetail = new MusicGroupSchoolTermStudentCourseDetail();
+						studentCourseDetail.setMusicGroupSchoolTermCourseDetailId(termCourseDetail.getId());
+						studentCourseDetail.setUserId(Integer.parseInt(studentId));
+						studentCourseDetail.setMemberCourseMinutes(termCourseDetail.getTotalCourseTime());
+						musicGroupSchoolTermStudentCourseDetailDao.insert(studentCourseDetail);
+					}
+				}
 				// 学生加到calenderDetail
 				MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
 				musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalender.getId());

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

@@ -59,7 +59,7 @@ public class MusicGroupSchoolTermCourseDetailServiceImpl extends BaseServiceImpl
 			throw new BizException("操作失败:该功能只适用于系统收费团");
 		}
 		//校验当前乐团是否所有学员都在班
-		if(studentRegistrationDao.checkHasNotClass(musicGroupId)){
+		if(!studentRegistrationDao.checkHasNotClass(musicGroupId)){
 			throw new BizException("操作失败:请确保所有在读学员都在班级");
 		}
 		MusicGroupSchoolTermCourseDetail courseDetail = musicGroupSchoolTermCourseDetailDao.
@@ -95,7 +95,7 @@ public class MusicGroupSchoolTermCourseDetailServiceImpl extends BaseServiceImpl
 						studentCourseDetail.setMusicGroupSchoolTermCourseDetailId(courseDetail.getId());
 						studentCourseDetail.setMemberCourseMinutes(courseDetail.getTotalCourseTime());
 						//获取乐团所有在读学员
-						List<Integer> studentIds = studentRegistrationDao.queryNormalUser(musicGroupId);
+						List<Integer> studentIds = studentRegistrationDao.queryNormalUserList(musicGroupId);
 						if(studentIds == null || studentIds.size() == 0){
 							throw new BizException("操作失败:该乐团没有在读学员");
 						}

+ 6 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1991,9 +1991,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         //如果是会员团,并且有预排课计划
         MusicGroupSchoolTermCourseDetail termCourseDetail = musicGroupSchoolTermCourseDetailDao.findByCourseDateAndMusicGroupId(musicGroupId, null, 0);
         if(termCourseDetail != null){
-            MusicGroupSchoolTermStudentCourseDetailDao studentCourseDetailDao = musicGroupSchoolTermStudentCourseDetailDao.findByDetailIdAndStudentId(termCourseDetail.getId(),userId);
-            if(studentCourseDetailDao != null){
-                throw new BizException("退团失败:该学员存在预排课安排,请先取消预排课");
+            //是否已经预排部分课程
+            List<CourseSchedule> courseSchedules = courseScheduleDao.queryPreCourseListByMusicGroupId(musicGroup.getId());
+            if(courseSchedules.size() > 0){
+                throw new BizException("退团失败:该乐团存在预排课课程,请优先完成预排课");
+            }else {
+                musicGroupSchoolTermStudentCourseDetailDao.deleteByDetailId(termCourseDetail.getId(),userId);
             }
         }
 

+ 2 - 1
mec-biz/src/main/resources/config/mybatis/MusicGroupSchoolTermStudentCourseDetailMapper.xml

@@ -142,7 +142,8 @@
 		GROUP BY music_group_school_term_course_detail_id_
 	</select>
 	<select id="checkNoCourse" resultType="java.lang.Boolean">
-		SELECT COUNT(id_) > 0 FROM music_group_school_term_student_course_detail WHERE music_group_school_term_course_detail_id_ = #{musicGroupSchoolTermCourseDetailId} AND pre_member_course_minutes_ = 0
+		SELECT COUNT(id_) > 0 FROM music_group_school_term_student_course_detail
+		WHERE music_group_school_term_course_detail_id_ = #{musicGroupSchoolTermCourseDetailId} AND pre_member_course_minutes_ = 0
 	</select>
 	<select id="findByDetailId" resultMap="MusicGroupSchoolTermStudentCourseDetail">
 		SELECT * FROM music_group_school_term_student_course_detail WHERE music_group_school_term_course_detail_id_ = #{courseDetailId}

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -857,6 +857,12 @@
         WHERE sr.music_group_status_ != 'QUIT'
         AND sr.music_group_id_ = #{musicGroupIds}
     </select>
+    <select id="queryNormalUserList" resultType="integer">
+        SELECT sr.user_id_
+        FROM student_registration sr
+        WHERE sr.music_group_status_ = 'NORMAL'
+        AND sr.music_group_id_ = #{musicGroupIds}
+    </select>
     <select id="queryUserByPhone" resultMap="StudentRegistration">
         SELECT su.id_,
         CASE WHEN sut.name_ IS NULL THEN su.real_name_ ELSE sut.name_ END parents_name_,