Forráskód Böngészése

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

zouxuan 5 éve
szülő
commit
8f2ec9059b

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentEduTeacherDto.java

@@ -1,5 +1,7 @@
 package com.ym.mec.biz.dal.dto;
 
+import com.ym.mec.biz.dal.enums.GroupType;
+
 public class StudentEduTeacherDto {
 
     private Integer studentId;
@@ -8,6 +10,16 @@ public class StudentEduTeacherDto {
 
     private String educationalTeacherName;
 
+    private String groupType;
+
+    public String getGroupType() {
+        return groupType;
+    }
+
+    public void setGroupType(String groupType) {
+        this.groupType = groupType;
+    }
+
     public Integer getStudentId() {
         return studentId;
     }

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

@@ -53,6 +53,9 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public boolean create(MusicGroupPaymentCalender musicGroupPaymentCalender) {
+		String musicGroupId = musicGroupPaymentCalender.getMusicGroupId();
+
+		musicGroupDao.getLocked(musicGroupId);
 
 		Date date = new Date();
 		List<MusicGroupStudentFee> musicGroupStudentFeeList = null;
@@ -61,8 +64,8 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		musicGroupPaymentCalender.setUpdateTime(date);
 		musicGroupPaymentCalender.setDeadlinePaymentDate(DateUtil.addDays(musicGroupPaymentCalender.getStartPaymentDate(), 3));
 		// 判断缴费开始时间、结束时间是否被其他缴费记录占用
-		int count = musicGroupPaymentCalenderDao.queryIntersectionByPaymentDate(musicGroupPaymentCalender.getMusicGroupId(),
-				musicGroupPaymentCalender.getStartPaymentDate(), musicGroupPaymentCalender.getDeadlinePaymentDate());
+		int count = musicGroupPaymentCalenderDao.queryIntersectionByPaymentDate(musicGroupId, musicGroupPaymentCalender.getStartPaymentDate(),
+				musicGroupPaymentCalender.getDeadlinePaymentDate());
 		if (count > 0) {
 			throw new BizException("缴费时间存在冲突,请修改缴费开始日期");
 		}
@@ -71,7 +74,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		} else if (date.after(musicGroupPaymentCalender.getStartPaymentDate())) {
 			musicGroupPaymentCalender.setPaymentStatus(PaymentStatusEnum.OPEN);
 			// 统计缴费人数
-			musicGroupStudentFeeList = musicGroupStudentFeeDao.queryByMusicGroupId(musicGroupPaymentCalender.getMusicGroupId());
+			musicGroupStudentFeeList = musicGroupStudentFeeDao.queryByMusicGroupId(musicGroupId);
 			if (musicGroupStudentFeeList == null) {
 				musicGroupStudentFeeList = new ArrayList<>();
 			}

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

@@ -1541,6 +1541,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if(studentRegistration == null || studentRegistration.getPaymentStatus() != PaymentStatusEnum.YES){
         	throw new BizException("请走报名缴费流程");
         }
+        MusicGroupPaymentCalenderDetail userLastCalenderDetail = musicGroupPaymentCalenderDetailDao.getUserLastCalenderDetail(musicGroupId, userId);
+        if(userLastCalenderDetail == null){
+            throw new BizException("当前续费时间已截止,请联系指导老师");
+        }
         
         //判断是否是续费
 		/*List<StudentPaymentOrder> orderList = studentPaymentOrderDao.queryByCondition(GroupType.MUSIC, musicGroupId, userId, DealStatusEnum.SUCCESS);
@@ -1555,7 +1559,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
         BigDecimal amount = musicGroupStudentFee.getCourseFee();
         if (amount == null || amount.doubleValue() == 0) {
-            amount = musicGroupStudentFee.getCourseFee();
+            amount = userLastCalenderDetail.getExpectAmount();
         }
 
         Date date = new Date();
@@ -1610,11 +1614,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 musicGroupStudentFee.setRemainNetworkClassTimes(getRemainNetworkClassTimes+1);
 //                musicGroupStudentFee.setNextPaymentDate(musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId, musicGroupStudentFee.getNextPaymentDate(), musicGroupStudentFee));
                 musicGroupStudentFeeDao.update(musicGroupStudentFee);
-                //更新学生的缴费记录状态
-                MusicGroupPaymentCalenderDetail userLastCalenderDetail = musicGroupPaymentCalenderDetailDao.getUserLastCalenderDetail(musicGroupId, userId);
-                if(userLastCalenderDetail == null){
-                    throw new BizException("学生没有续费中的记录");
-                }
+
                 //更新学生的缴费记录状态
                 userLastCalenderDetail.setPaymentStatus(PaymentStatus.PAID_COMPLETED);
                 userLastCalenderDetail.setActualAmount(userLastCalenderDetail.getExpectAmount());

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

@@ -14,6 +14,7 @@ import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -76,8 +77,29 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 				exercisesSituationDto.setExpectExercisesNum((int) until+1);
 				List<StudentEduTeacherDto> studentEduTeachers = studentEduTeachersMap.get(exercisesSituationDto.getStudentId());
 				if(!CollectionUtils.isEmpty(studentEduTeachers)){
-					exercisesSituationDto.setEducationalTeacherId(studentEduTeachers.get(0).getEducationalTeacherId());
-					exercisesSituationDto.setEducationalTeacherName(studentEduTeachers.get(0).getEducationalTeacherName());
+					List<StudentEduTeacherDto> t1 = studentEduTeachers.stream().filter(set -> set.getGroupType().equals(GroupType.VIP.getCode())||set.getGroupType().equals(GroupType.PRACTICE.getCode())).collect(Collectors.toList());
+					if(CollectionUtils.isEmpty(t1)){
+						for (StudentEduTeacherDto studentEduTeacherDto : t1) {
+							if(StringUtils.isNoneBlank(studentEduTeacherDto.getEducationalTeacherName())){
+								exercisesSituationDto.setEducationalTeacherId(studentEduTeachers.get(0).getEducationalTeacherId());
+								exercisesSituationDto.setEducationalTeacherName(studentEduTeachers.get(0).getEducationalTeacherName());
+								break;
+							}
+						}
+					}
+					if(StringUtils.isNoneBlank(exercisesSituationDto.getEducationalTeacherName())){
+						continue;
+					}
+					List<StudentEduTeacherDto> t2 = studentEduTeachers.stream().filter(set -> set.getGroupType().equals(GroupType.MUSIC.getCode())).collect(Collectors.toList());
+					if(CollectionUtils.isEmpty(t2)){
+						for (StudentEduTeacherDto studentEduTeacherDto : t2) {
+							if(StringUtils.isNoneBlank(studentEduTeacherDto.getEducationalTeacherName())){
+								exercisesSituationDto.setEducationalTeacherId(studentEduTeachers.get(0).getEducationalTeacherId());
+								exercisesSituationDto.setEducationalTeacherName(studentEduTeachers.get(0).getEducationalTeacherName());
+								break;
+							}
+						}
+					}
 				}
 			}
 		}

+ 8 - 4
mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml

@@ -458,12 +458,14 @@
         SELECT
         t.user_id_ studentId,
         t.educational_teacher_id_ educationalTeacherId,
-        su.real_name_ educationalTeacherName
+        su.real_name_ educationalTeacherName,
+        t.group_type_ groupType
         FROM
         (
         SELECT
         mgsf.user_id_,
-        g.educational_teacher_id_
+        g.educational_teacher_id_,
+        'MUSIC' group_type_
         FROM
         music_group_student_fee_ mgsf
         LEFT JOIN music_group g ON mgsf.music_group_id_ = g.id_
@@ -475,7 +477,8 @@
         UNION ALL
         SELECT
         cgsm.user_id_,
-        g.educational_teacher_id_
+        g.educational_teacher_id_,
+        'VIP' group_type_
         FROM
         class_group_student_mapper cgsm
         LEFT JOIN vip_group g ON cgsm.music_group_id_ = g.id_
@@ -488,7 +491,8 @@
         UNION ALL
         SELECT
         cgsm.user_id_,
-        g.educational_teacher_id_
+        g.educational_teacher_id_,
+        'PRACTICE' group_type_
         FROM
         class_group_student_mapper cgsm
         LEFT JOIN practice_group g ON cgsm.music_group_id_ = g.id_

+ 1 - 1
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

@@ -163,7 +163,7 @@ public class MusicGroupController extends BaseController {
 
         BigDecimal amount = musicGroupStudentFee.getTemporaryCourseFee();
         if (amount == null || amount.doubleValue() == 0) {
-            amount = musicGroupStudentFee.getCourseFee();
+            amount = userLastCalenderDetail.getExpectAmount();
         }
 
         StudentRegistration studentRegistration = studentRegistrationService.queryByUserIdAndMusicGroupId(userId, musicGroupId);