Parcourir la source

1、计算小课新增人员的课程费用
2、修复更新vip课时由于默认值导致的课程购买总价变成0的bug

Joburgess il y a 5 ans
Parent
commit
1e91a493bc

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

@@ -1596,6 +1596,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			throw new BizException("此vip课程没有剩余课程计划");
 		}
 
+		BigDecimal surplusCourseNum = new BigDecimal(surplusCourses.size());
 		BigDecimal surplusCoursesPrice=new BigDecimal(0);
 		for (CourseSchedule courseSchedule : surplusCourses) {
 			if(courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
@@ -1605,6 +1606,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			}
 		}
 
+		BigDecimal avgCourseFee = surplusCoursesPrice.divide(surplusCourseNum,CommonConstants.DECIMAL_FINAL_PLACE,BigDecimal.ROUND_HALF_UP);
+
 		List<ImGroupMember> imGroupMemberList = new ArrayList<>();
 		List<ClassGroupStudentMapper> classGroupStudentMappers=new ArrayList<>();
 		//生成学生单课缴费信息
@@ -1623,8 +1626,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				courseScheduleStudentPayment.setClassGroupId(vipGroupCourseSchedule.getClassGroupId());
 				courseScheduleStudentPayment.setCourseScheduleId(vipGroupCourseSchedule.getId());
 				courseScheduleStudentPayment.setUserId(studentId);
-				//通过课程余额兑换的课程不会产生实际费用
-				courseScheduleStudentPayment.setExpectPrice(new BigDecimal(0));
+				courseScheduleStudentPayment.setExpectPrice(avgCourseFee);
 				courseScheduleStudentPayment.setCreateTime(now);
 				courseScheduleStudentPayment.setUpdateTime(now);
 				courseScheduleStudentPayments.add(courseScheduleStudentPayment);
@@ -1740,6 +1742,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                     vipGroup1.setId(vipGroup.getId());
                     vipGroup1.setStatus(vipGroup.getStatus());
                     vipGroup1.setUpdateTime(now);
+                    vipGroup1.setTotalPrice(vipGroup.getTotalPrice());
                     needUpdateVipGroups.add(vipGroup1);
                 } catch (Exception e) {
                     e.printStackTrace();