Kaynağa Gözat

系统收费

zouxuan 4 yıl önce
ebeveyn
işleme
15ef301eef

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

@@ -2546,6 +2546,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             rechargeDetail.setPerAmount(studentPaymentOrder.getPerAmount());
             sysUserCashAccountDetailService.insert(rechargeDetail);
 
+            //不包含云教练费用
+            BigDecimal courseFee = BigDecimal.ZERO;
             //跨团合班没有settings
             if(paymentCalender.getPaymentType() == PaymentType.SPAN_GROUP_CLASS_ADJUST){
                 List<MusicGroupPaymentCalenderStudentDetail> studentDetails = musicGroupPaymentCalenderStudentDetailDao.findByBatchNoAndUserId(paymentCalender.getBatchNo(), userId);
@@ -2557,10 +2559,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                     studentPaymentOrderDetail.setUpdateTime(date);
                     studentPaymentOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
                     paymentOrderDetails.add(studentPaymentOrderDetail);
+                    courseFee = courseFee.add(studentDetail.getCourseCurrentPrice());
                 }
             } else {
                 List<MusicGroupPaymentStudentCourseDetail> studentCourseDetails = musicGroupPaymentStudentCourseDetailDao.findByCalenderAndUserId(calenderDetail.getMusicGroupPaymentCalenderId(), userId);
-                studentCourseDetails.forEach(e -> {
+                for (MusicGroupPaymentStudentCourseDetail e : studentCourseDetails) {
                     StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
                     studentPaymentOrderDetail.setType(OrderDetailTypeEnum.valueOf(e.getCourseType().getCode()));
                     studentPaymentOrderDetail.setPrice(e.getCourseCurrentPrice());
@@ -2568,7 +2571,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                     studentPaymentOrderDetail.setUpdateTime(date);
                     studentPaymentOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
                     paymentOrderDetails.add(studentPaymentOrderDetail);
-                });
+                    courseFee = courseFee.add(e.getCourseCurrentPrice());
+                }
             }
             if (paymentOrderDetails.size() > 0) {
                 studentPaymentOrderDetailService.batchAdd(paymentOrderDetails);
@@ -2589,7 +2593,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             sysUserCashAccountDetailService.insert(paymentDetail);
             MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
 
-            studentRegistrationService.updateUserSurplusCourseFee(userId, musicGroupId, studentPaymentOrder.getExpectAmount(), "乐团续费", userId);
+            studentRegistrationService.updateUserSurplusCourseFee(userId, musicGroupId, courseFee, "乐团续费", userId);
 
             try {
                 contractService.transferProduceContract(userId, musicGroupId);

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

@@ -1089,12 +1089,17 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 
             List<StudentPaymentOrderDetail> orderDetails = studentPaymentOrderDetailService.getOrderDetail(studentPaymentOrder.getId());
 
+            //云教练费用
             List<StudentPaymentOrderDetail> allDetails = studentPaymentOrderDetailDao.getOrderDetailByOrderId(studentPaymentOrder.getId());
+//            BigDecimal cloudTeacher = allDetails.stream()
+//                    .filter(o -> !o.getType().getCode().equals("CLOUD_TEACHER"))
+//                    .filter(o -> !o.getType().getCode().equals("CLOUD_TEACHER_PLUS"))
+//                    .map(o -> o.getPrice().subtract(o.getRemitFee() == null ? BigDecimal.ZERO : o.getRemitFee()))
+//                    .reduce(BigDecimal.ZERO, BigDecimal::add);
+            //云教练费用
             BigDecimal courseFee = allDetails.stream().filter(o -> !o.getType().getCode().equals("MUSICAL"))
                     .filter(o -> !o.getType().getCode().equals("ACCESSORIES"))
                     .filter(o -> !o.getType().getCode().equals("MAINTENANCE"))
-                    .filter(o -> !o.getType().getCode().equals("CLOUD_TEACHER"))
-                    .filter(o -> !o.getType().getCode().equals("CLOUD_TEACHER_PLUS"))
                     .map(o -> o.getPrice().subtract(o.getRemitFee() == null ? BigDecimal.ZERO : o.getRemitFee()))
                     .reduce(BigDecimal.ZERO, BigDecimal::add);
 

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

@@ -733,12 +733,12 @@
         INSERT INTO student_registration
         (parents_phone_, user_id_, name_, music_group_id_, current_grade_, current_class_, subject_id_,
         create_time_, update_time_, parents_name_, payment_status_, actual_subject_id_, music_group_status_,
-        temporary_course_fee_, class_group_id_)
+        temporary_course_fee_, class_group_id_,current_grade_num_,current_grade_date_)
         VALUES (#{parentsPhone}, #{userId}, #{name}, #{musicGroupId}, #{currentGrade}, #{currentClass}, #{subjectId},
         now(), now(), #{parentsName}, #{paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
         #{subjectId},
         #{musicGroupStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{temporaryCourseFee},
-        #{classGroupId})
+        #{classGroupId},#{currentGradeNum},#{currentGradeDate})
     </insert>
 
     <!-- 查询乐团userIdList的学生 -->