|
@@ -572,15 +572,18 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
|
|
courseStartDay=courseStartDay.plusDays(1);
|
|
courseStartDay=courseStartDay.plusDays(1);
|
|
int dayOfWeek = courseStartDay.get(DateUtil.weekFields.dayOfWeek());
|
|
int dayOfWeek = courseStartDay.get(DateUtil.weekFields.dayOfWeek());
|
|
for (PracticeDrillTimeDto drillTime : practiceGroupBuyParams.getDrillTimes()) {
|
|
for (PracticeDrillTimeDto drillTime : practiceGroupBuyParams.getDrillTimes()) {
|
|
|
|
+ if(practiceCourses.size()==courseTimes){
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
if(dayOfWeek==drillTime.getWeekNum()){
|
|
if(dayOfWeek==drillTime.getWeekNum()){
|
|
CourseSchedule courseSchedule=new CourseSchedule();
|
|
CourseSchedule courseSchedule=new CourseSchedule();
|
|
String courseStartDayStr = DateUtil.dateFormatter.format(courseStartDay);
|
|
String courseStartDayStr = DateUtil.dateFormatter.format(courseStartDay);
|
|
String courseStartDateTimeStr = courseStartDayStr+" "+drillTime.getTimeStr();
|
|
String courseStartDateTimeStr = courseStartDayStr+" "+drillTime.getTimeStr();
|
|
LocalDateTime courseStartDateTime = LocalDateTime.parse(courseStartDateTimeStr,DateUtil.dateTimeFormatter);
|
|
LocalDateTime courseStartDateTime = LocalDateTime.parse(courseStartDateTimeStr,DateUtil.dateTimeFormatter);
|
|
LocalDateTime courseEndDateTime = courseStartDateTime.plusMinutes(practiceCourseMinutes);
|
|
LocalDateTime courseEndDateTime = courseStartDateTime.plusMinutes(practiceCourseMinutes);
|
|
- courseSchedule.setClassDate(Date.from(courseStartDay.atStartOfDay(DateUtil.zoneId).toInstant()));
|
|
|
|
courseSchedule.setStartClassTime(Date.from(courseStartDateTime.atZone(DateUtil.zoneId).toInstant()));
|
|
courseSchedule.setStartClassTime(Date.from(courseStartDateTime.atZone(DateUtil.zoneId).toInstant()));
|
|
courseSchedule.setEndClassTime(Date.from(courseEndDateTime.atZone(DateUtil.zoneId).toInstant()));
|
|
courseSchedule.setEndClassTime(Date.from(courseEndDateTime.atZone(DateUtil.zoneId).toInstant()));
|
|
|
|
+ courseSchedule.setClassDate(courseSchedule.getStartClassTime());
|
|
courseSchedule.setName(practiceGroupBuyParams.getName());
|
|
courseSchedule.setName(practiceGroupBuyParams.getName());
|
|
courseSchedule.setTeacherId(practiceGroupBuyParams.getUserId());
|
|
courseSchedule.setTeacherId(practiceGroupBuyParams.getUserId());
|
|
courseSchedule.setActualTeacherId(practiceGroupBuyParams.getUserId());
|
|
courseSchedule.setActualTeacherId(practiceGroupBuyParams.getUserId());
|
|
@@ -595,8 +598,9 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
|
|
|
|
|
|
CourseSchedule courseSchedule1=new CourseSchedule();
|
|
CourseSchedule courseSchedule1=new CourseSchedule();
|
|
BeanUtils.copyProperties(courseSchedule, courseSchedule1);
|
|
BeanUtils.copyProperties(courseSchedule, courseSchedule1);
|
|
- courseSchedule1.setStartClassTime(courseSchedule1.getEndClassTime());
|
|
|
|
- courseSchedule1.setStartClassTime(Date.from(courseEndDateTime.plusMinutes(practiceCourseMinutes).atZone(DateUtil.zoneId).toInstant()));
|
|
|
|
|
|
+ courseSchedule1.setStartClassTime(courseSchedule.getEndClassTime());
|
|
|
|
+ courseSchedule1.setEndClassTime(Date.from(courseEndDateTime.plusMinutes(practiceCourseMinutes).atZone(DateUtil.zoneId).toInstant()));
|
|
|
|
+ courseSchedule1.setClassDate(courseSchedule1.getStartClassTime());
|
|
practiceCourses.add(courseSchedule1);
|
|
practiceCourses.add(courseSchedule1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -620,13 +624,13 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
|
|
|
|
|
|
PracticeGroupSellPrice practiceGroupSellPrice = practiceGroupSellPriceDao.get(sysUser.getOrganId());
|
|
PracticeGroupSellPrice practiceGroupSellPrice = practiceGroupSellPriceDao.get(sysUser.getOrganId());
|
|
if(Objects.isNull(practiceGroupSellPrice)){
|
|
if(Objects.isNull(practiceGroupSellPrice)){
|
|
- throw new BizException("所在城市暂不参与此活动");
|
|
|
|
|
|
+ return BaseController.failed(HttpStatus.EXPECTATION_FAILED, "所在城市暂不参与此活动");
|
|
}
|
|
}
|
|
|
|
|
|
- BigDecimal unitPrice = PracticeGroupType.CARE_PACKAGE.equals(practiceGroupBuyParams.getType())?practiceGroupSellPrice.getCarePackagePrice():practiceGroupSellPrice.getComeOnPackagePrice();
|
|
|
|
-
|
|
|
|
- BigDecimal originalAmount = unitPrice.multiply(new BigDecimal(courseTimes));
|
|
|
|
- BigDecimal amount= unitPrice.multiply(new BigDecimal(courseTimes));
|
|
|
|
|
|
+ BigDecimal price = PracticeGroupType.CARE_PACKAGE.equals(practiceGroupBuyParams.getType())?practiceGroupSellPrice.getCarePackagePrice():practiceGroupSellPrice.getComeOnPackagePrice();
|
|
|
|
+ if(Objects.isNull(price)&&PracticeGroupType.COME_ON_PACKAGE.equals(practiceGroupBuyParams.getType())){
|
|
|
|
+ return BaseController.failed(HttpStatus.EXPECTATION_FAILED, "请设置加油包价格");
|
|
|
|
+ }
|
|
|
|
|
|
practiceGroupBuyParams.setCoursesStartDate(practiceCourses.stream().min(Comparator.comparing(CourseSchedule::getStartClassTime)).get().getStartClassTime());
|
|
practiceGroupBuyParams.setCoursesStartDate(practiceCourses.stream().min(Comparator.comparing(CourseSchedule::getStartClassTime)).get().getStartClassTime());
|
|
practiceGroupBuyParams.setCoursesExpireDate(practiceCourses.stream().max(Comparator.comparing(CourseSchedule::getEndClassTime)).get().getEndClassTime());
|
|
practiceGroupBuyParams.setCoursesExpireDate(practiceCourses.stream().max(Comparator.comparing(CourseSchedule::getEndClassTime)).get().getEndClassTime());
|
|
@@ -712,8 +716,8 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
|
|
if(teacherDefaultSalary == null){
|
|
if(teacherDefaultSalary == null){
|
|
throw new BizException("请设置老师课酬");
|
|
throw new BizException("请设置老师课酬");
|
|
}
|
|
}
|
|
- BigDecimal studentSingleCourseCost=amount.divide(new BigDecimal(practiceCourses.size()), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
|
|
|
|
- BigDecimal studentSingleCourseOriginalCost=originalAmount.divide(new BigDecimal(practiceCourses.size()), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
|
|
|
|
|
|
+ BigDecimal studentSingleCourseCost=price.divide(new BigDecimal(practiceCourses.size()), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
|
|
|
|
+ BigDecimal studentSingleCourseOriginalCost=price.divide(new BigDecimal(practiceCourses.size()), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
|
|
for (CourseSchedule courseSchedule : practiceCourses) {
|
|
for (CourseSchedule courseSchedule : practiceCourses) {
|
|
//课程与老师薪水表
|
|
//课程与老师薪水表
|
|
CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
|
|
CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
|
|
@@ -781,7 +785,7 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
|
|
studentPaymentOrder.setStatus(DealStatusEnum.ING);
|
|
studentPaymentOrder.setStatus(DealStatusEnum.ING);
|
|
studentPaymentOrder.setType(OrderTypeEnum.PRACTICE_GROUP_BUY);
|
|
studentPaymentOrder.setType(OrderTypeEnum.PRACTICE_GROUP_BUY);
|
|
|
|
|
|
- studentPaymentOrder.setExpectAmount(amount);
|
|
|
|
|
|
+ studentPaymentOrder.setExpectAmount(price);
|
|
studentPaymentOrder.setMusicGroupId(practiceGroupBuyParams.getId().toString());
|
|
studentPaymentOrder.setMusicGroupId(practiceGroupBuyParams.getId().toString());
|
|
studentPaymentOrder.setActualAmount(studentPaymentOrder.getExpectAmount());
|
|
studentPaymentOrder.setActualAmount(studentPaymentOrder.getExpectAmount());
|
|
studentPaymentOrder.setClassGroupId(classGroup.getId());
|
|
studentPaymentOrder.setClassGroupId(classGroup.getId());
|
|
@@ -815,7 +819,7 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
|
|
|
|
|
|
return BaseController.succeed(result);
|
|
return BaseController.succeed(result);
|
|
}else{
|
|
}else{
|
|
- throw new BizException("账户余额不足,请完成账户充值");
|
|
|
|
|
|
+ throw new BizException("该学员尚未缴纳加油包费用");
|
|
}
|
|
}
|
|
}else{
|
|
}else{
|
|
throw new BizException("当前购买方式暂时只支持用户余额购买");
|
|
throw new BizException("当前购买方式暂时只支持用户余额购买");
|