|
@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.dao.*;
|
|
import com.ym.mec.biz.dal.entity.*;
|
|
import com.ym.mec.biz.dal.entity.*;
|
|
import com.ym.mec.biz.dal.enums.TeachModeEnum;
|
|
import com.ym.mec.biz.dal.enums.TeachModeEnum;
|
|
import com.ym.mec.biz.dal.enums.VipGroupActivityTypeEnum;
|
|
import com.ym.mec.biz.dal.enums.VipGroupActivityTypeEnum;
|
|
|
|
+import com.ym.mec.biz.dal.enums.VipGroupStatusEnum;
|
|
import com.ym.mec.biz.service.CourseScheduleStudentPaymentService;
|
|
import com.ym.mec.biz.service.CourseScheduleStudentPaymentService;
|
|
import com.ym.mec.common.constant.CommonConstants;
|
|
import com.ym.mec.common.constant.CommonConstants;
|
|
import com.ym.mec.common.dal.BaseDAO;
|
|
import com.ym.mec.common.dal.BaseDAO;
|
|
@@ -52,6 +53,15 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
|
|
if(CollectionUtils.isEmpty(vipGroupCourseSchedules)){
|
|
if(CollectionUtils.isEmpty(vipGroupCourseSchedules)){
|
|
throw new BizException("未获取到排课信息");
|
|
throw new BizException("未获取到排课信息");
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ int giveClassTimes=0;
|
|
|
|
+ if(vipGroupApplyBaseInfoDto.getStatus().equals(VipGroupStatusEnum.APPLYING)
|
|
|
|
+ &&Objects.nonNull(vipGroupActivity)
|
|
|
|
+ &&vipGroupActivity.getType().equals(VipGroupActivityTypeEnum.GIVE_CLASS)
|
|
|
|
+ &&vipGroupCourseSchedules.size()>=Integer.parseInt(vipGroupActivity.getAttribute1())){
|
|
|
|
+ giveClassTimes=Integer.parseInt(vipGroupActivity.getAttribute2());
|
|
|
|
+ }
|
|
|
|
+
|
|
List<CourseScheduleStudentPayment> courseScheduleStudentPayments=new ArrayList<>();
|
|
List<CourseScheduleStudentPayment> courseScheduleStudentPayments=new ArrayList<>();
|
|
Map<TeachModeEnum, List<CourseSchedule>> courseScheduleGroupByTeachMode = vipGroupCourseSchedules.stream().collect(Collectors.groupingBy(CourseSchedule::getTeachMode));
|
|
Map<TeachModeEnum, List<CourseSchedule>> courseScheduleGroupByTeachMode = vipGroupCourseSchedules.stream().collect(Collectors.groupingBy(CourseSchedule::getTeachMode));
|
|
for(TeachModeEnum teachModeEnum:courseScheduleGroupByTeachMode.keySet()){
|
|
for(TeachModeEnum teachModeEnum:courseScheduleGroupByTeachMode.keySet()){
|
|
@@ -82,9 +92,8 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
|
|
);
|
|
);
|
|
break;
|
|
break;
|
|
case GIVE_CLASS:
|
|
case GIVE_CLASS:
|
|
- if (vipGroupActivity.getType() == VipGroupActivityTypeEnum.GIVE_CLASS
|
|
|
|
- && vipGroupApplyBaseInfoDto.getGiveTeachMode() == teachModeEnum
|
|
|
|
- && i >= Integer.parseInt(vipGroupActivity.getAttribute1())) {
|
|
|
|
|
|
+ if (vipGroupApplyBaseInfoDto.getGiveTeachMode() == teachModeEnum
|
|
|
|
+ && i >= (courseSchedules.size()-giveClassTimes)) {
|
|
courseScheduleStudentPayment.setExpectPrice(new BigDecimal(0));
|
|
courseScheduleStudentPayment.setExpectPrice(new BigDecimal(0));
|
|
} else {
|
|
} else {
|
|
courseScheduleStudentPayment.setExpectPrice(vipGroupApplyBaseInfoDto.getOnlineClassesUnitPrice());
|
|
courseScheduleStudentPayment.setExpectPrice(vipGroupApplyBaseInfoDto.getOnlineClassesUnitPrice());
|
|
@@ -108,9 +117,8 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
|
|
);
|
|
);
|
|
break;
|
|
break;
|
|
case GIVE_CLASS:
|
|
case GIVE_CLASS:
|
|
- if (vipGroupActivity.getType() == VipGroupActivityTypeEnum.GIVE_CLASS
|
|
|
|
- && vipGroupApplyBaseInfoDto.getGiveTeachMode() == teachModeEnum
|
|
|
|
- && i >= Integer.parseInt(vipGroupActivity.getAttribute1())) {
|
|
|
|
|
|
+ if (vipGroupApplyBaseInfoDto.getGiveTeachMode() == teachModeEnum
|
|
|
|
+ && i >= (courseSchedules.size()-giveClassTimes)) {
|
|
courseScheduleStudentPayment.setExpectPrice(new BigDecimal(0));
|
|
courseScheduleStudentPayment.setExpectPrice(new BigDecimal(0));
|
|
} else {
|
|
} else {
|
|
courseScheduleStudentPayment.setExpectPrice(vipGroupApplyBaseInfoDto.getOfflineClassesUnitPrice());
|
|
courseScheduleStudentPayment.setExpectPrice(vipGroupApplyBaseInfoDto.getOfflineClassesUnitPrice());
|