فهرست منبع

Merge branch 'active_course_2021-09-26~29' of http://git.dayaedu.com/yonge/mec into 2021-double-eleven

zouxuan 3 سال پیش
والد
کامیت
080080a723

+ 16 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -3874,7 +3874,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         PracticeGroupSellPrice practiceGroupSellPrice = practiceGroupSellPriceDao.get(practiceGroup.getOrganId());
         BigDecimal singleClassMinutesPrice = practiceGroupSellPrice.getSingleClassMinutesPrice();
         //实际支付金额,去除优惠券
-        BigDecimal actualPrice = order.getExpectAmount().subtract(order.getCouponRemitFee());
+        BigDecimal actualPrice = order.getExpectAmount();
         BigDecimal divide = actualPrice.divide(new BigDecimal(courseSchedules.size()), ROUND_DOWN);
         BigDecimal firstAmount = actualPrice.subtract(divide.multiply(new BigDecimal(courseSchedules.size()))).add(divide);
 
@@ -4034,7 +4034,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                     activityUserMapper.setPracticeFlag(1);
                 }
                 if(activity.isPayToBalance()){
-                    boolean appendCourseBalance = sysUserCashAccountService.appendCourseBalance(userId, studentPaymentOrder.getExpectAmount().subtract(studentPaymentOrder.getCouponRemitFee()), PlatformCashAccountDetailTypeEnum.RECHARGE, "通用营销活动购买");
+                    boolean appendCourseBalance = sysUserCashAccountService.appendCourseBalance(userId, studentPaymentOrder.getExpectAmount(), PlatformCashAccountDetailTypeEnum.RECHARGE, "通用营销活动购买");
                     if (!appendCourseBalance) {
                         throw new BizException("增加用户课程余额失败");
                     }
@@ -5087,7 +5087,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         if(activity.isPayToBalance() && !giveFlag){
             ActivityUserMapper activityUserMapper = activityUserMappers.get(0);
             StudentPaymentOrder order = studentPaymentOrderDao.get(activityUserMapper.getPaymentOrderId());
-            sysUserCashAccountService.appendCourseBalance(studentId,order.getExpectAmount().subtract(order.getCouponRemitFee()).negate(),PlatformCashAccountDetailTypeEnum.PAY_FEE,"活动排课消耗课程余额");
+            sysUserCashAccountService.appendCourseBalance(studentId,order.getExpectAmount().negate(),PlatformCashAccountDetailTypeEnum.PAY_FEE,"活动排课消耗课程余额");
         }
 
         //创建班级信息
@@ -5183,9 +5183,16 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         TeacherDefaultPracticeGroupSalary teacherDefaultPracticeGroupSalary = teacherDefaultPracticeGroupSalaryDao.findByTeacherAndCourseMinutes(applyBaseInfo.getUserId(),practiceCourseMinutes);
 
         //生成学生单课缴费信息
+        Map<Integer, List<ActivityUserMapper>> collect = activityUserMappers.stream().collect(Collectors.groupingBy(ActivityUserMapper::getUserId));
         for (ClassGroupStudentMapper classGroupStudent : classGroupStudents) {
             List<CourseScheduleStudentPayment> courseScheduleStudentPayments=new ArrayList<>();
-            for (CourseSchedule courseSchedule : courseSchedules) {
+            //实际支付金额,去除优惠券
+            ActivityUserMapper activityUserMapper = collect.get(classGroupStudent.getUserId()).get(0);
+            BigDecimal totalAmount = activityUserMapper.getActualPrice();
+            BigDecimal singleAmount = totalAmount.divide(new BigDecimal(courseSchedules.size()), ROUND_DOWN);
+            BigDecimal firstSingleAmount = totalAmount.subtract(singleAmount.multiply(new BigDecimal(courseSchedules.size()))).add(singleAmount);
+            for (int i = 0; i < courseSchedules.size(); i++) {
+                CourseSchedule courseSchedule = courseSchedules.get(i);
                 CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
                 courseScheduleStudentPayment.setUserId(classGroupStudent.getUserId());
                 courseScheduleStudentPayment.setGroupType(courseSchedule.getGroupType());
@@ -5196,7 +5203,11 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                     courseScheduleStudentPayment.setExpectPrice(BigDecimal.ZERO);
                     courseScheduleStudentPayment.setOriginalPrice(BigDecimal.ZERO);
                 }else {
-                    courseScheduleStudentPayment.setExpectPrice(teacherDefaultPracticeGroupSalary.getMainTeacherSalary());
+                    if(i == 1){
+                        courseScheduleStudentPayment.setExpectPrice(firstSingleAmount);
+                    }else {
+                        courseScheduleStudentPayment.setExpectPrice(singleAmount);
+                    }
                     courseScheduleStudentPayment.setOriginalPrice(teacherDefaultPracticeGroupSalary.getMainTeacherSalary());
                 }
                 courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -727,7 +727,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
             activityUserMapper.setUserId(studentPaymentOrder.getUserId());
             activityUserMapper.setActivityId(vipGroupActivityId);
             activityUserMapper.setTeacherId(teacherId);
-            activityUserMapper.setActualPrice(studentPaymentOrder.getExpectAmount().subtract(studentPaymentOrder.getCouponRemitFee()));
+            activityUserMapper.setActualPrice(studentPaymentOrder.getExpectAmount());
             if(vipGroupId != null){
                 activityUserMapper.setVipFlag(2);
             }else {

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

@@ -1325,7 +1325,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			ActivityUserMapper activityUserMapper = activityUserMappers.get(0);
 			StudentPaymentOrder order = studentPaymentOrderDao.get(activityUserMapper.getPaymentOrderId());
 			for (Integer studentId : studentIdList) {
-				sysUserCashAccountService.appendCourseBalance(studentId,order.getExpectAmount().subtract(order.getCouponRemitFee()).negate(),
+				sysUserCashAccountService.appendCourseBalance(studentId,order.getExpectAmount().negate(),
 						PlatformCashAccountDetailTypeEnum.PAY_FEE,"活动排课消耗课程余额");
 			}
 		}
@@ -2811,7 +2811,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				for (ClassGroupStudentMapper classGroupStudent : classGroupStudents) {
 					StudentPaymentOrder successOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroup.getId(), classGroupStudent.getUserId(), "SUCCESS");
 					//实际支付金额,去除优惠券
-					BigDecimal actualPrice = successOrder.getExpectAmount().subtract(successOrder.getCouponRemitFee());
+					BigDecimal actualPrice = successOrder.getExpectAmount();
 					BigDecimal divide = actualPrice.divide(new BigDecimal(courseSchedules.size()), ROUND_DOWN);
 					BigDecimal firstAmount = actualPrice.subtract(divide.multiply(new BigDecimal(courseSchedules.size()))).add(divide);
 					for (int i = 0; i < courseSchedules.size(); i++) {