|
@@ -4295,11 +4295,12 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
vipGroupActivity = vipGroupActivityDao.get(vipGroup.getVipGroupActivityId().intValue());
|
|
|
}
|
|
|
|
|
|
- if(Objects.nonNull(vipGroupActivity)&&Objects.nonNull(vipGroupActivity.getStudentMaxUsedTimes())&&vipGroupActivity.getStudentMaxUsedTimes()!=-1&&!CollectionUtils.isEmpty(studentIds)){
|
|
|
+ if(Objects.nonNull(vipGroupActivity) && Objects.nonNull(vipGroupActivity.getStudentMaxUsedTimes()) &&
|
|
|
+ vipGroupActivity.getStudentMaxUsedTimes() != -1 && !CollectionUtils.isEmpty(studentIds)){
|
|
|
List<Integer> errStudentIds = new ArrayList<>();
|
|
|
for (Integer studentId : studentIds) {
|
|
|
int useNum = vipGroupDao.countStudentUseingActivityNum(vipGroup.getVipGroupActivityId(), Integer.valueOf(studentId));
|
|
|
- if(useNum>=vipGroupActivity.getStudentMaxUsedTimes()){
|
|
|
+ if(useNum >= vipGroupActivity.getStudentMaxUsedTimes()){
|
|
|
errStudentIds.add(studentId);
|
|
|
}
|
|
|
}
|
|
@@ -4309,13 +4310,13 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- Date now=new Date();
|
|
|
+ Date now = new Date();
|
|
|
Map<Integer,String> userRoleMap = new HashMap<Integer, String>();
|
|
|
|
|
|
if(vipGroup.getStatus().equals(VipGroupStatusEnum.APPLYING)||vipGroup.getStatus().equals(VipGroupStatusEnum.NOT_START)){
|
|
|
List<CourseSchedule> courseSchedules = JSON.parseArray(vipGroup.getCourseSchedulesJson(),CourseSchedule.class);
|
|
|
int courseNum = courseScheduleDao.countVipGroupCourses(vipGroupId.intValue(),"VIP");
|
|
|
- if(courseNum==0){
|
|
|
+ if(courseNum == 0){
|
|
|
courseScheduleService.batchAddCourseSchedule(courseSchedules);
|
|
|
|
|
|
Map<String, BigDecimal> salaryMap = countVipGroupPredictFee1(vipGroup, vipGroup.getUserId(), null);
|
|
@@ -4335,7 +4336,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
|
|
|
List<CourseSchedule> surplusCourses = courseScheduleDao.findByClassGroupAndStatus(classGroup.getId(), CourseStatusEnum.NOT_START.getCode());
|
|
|
|
|
|
- List<ClassGroupStudentMapper> classGroupStudentMappers=new ArrayList<>();
|
|
|
+ List<ClassGroupStudentMapper> classGroupStudentMappers = new ArrayList<>();
|
|
|
|
|
|
List<ClassGroupStudentMapper> classGroupStudentsList = classGroupStudentMapperDao.findByClassGroupAndStudent(classGroup.getId(), studentIds);
|
|
|
Map<Integer, List<ClassGroupStudentMapper>> classGroupStudentsMap = classGroupStudentsList.stream()
|
|
@@ -4426,36 +4427,33 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
}
|
|
|
|
|
|
|
|
|
- for (int i=0;i<surplusCourses.size();i++) {
|
|
|
- CourseSchedule courseSchedule=surplusCourses.get(i);
|
|
|
+ for (int i = 0;i < surplusCourses.size();i++) {
|
|
|
+ CourseSchedule courseSchedule = surplusCourses.get(i);
|
|
|
if(courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
|
|
|
- offlineCourseTimes+=1;
|
|
|
+ offlineCourseTimes += 1;
|
|
|
}else if(courseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)){
|
|
|
- onlineCourseTimes+=1;
|
|
|
+ onlineCourseTimes += 1;
|
|
|
}
|
|
|
- if(hasGiveClass
|
|
|
- &&vipGroup.getGiveTeachMode() == courseSchedule.getTeachMode()){
|
|
|
+ if(hasGiveClass && vipGroup.getGiveTeachMode() == courseSchedule.getTeachMode()){
|
|
|
if(courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)
|
|
|
- &&offlineCourseTimes>(offlineCourseTotalTimes-giveClassTimes)){
|
|
|
+ && offlineCourseTimes > (offlineCourseTotalTimes - giveClassTimes)){
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
- if(hasGiveClass
|
|
|
- &&vipGroup.getGiveTeachMode() == courseSchedule.getTeachMode()){
|
|
|
- if(courseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)
|
|
|
- &&onlineCourseTimes>(onlineCourseTotalTimes-giveClassTimes)){
|
|
|
+ if(hasGiveClass && vipGroup.getGiveTeachMode() == courseSchedule.getTeachMode()){
|
|
|
+ if(courseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE) && onlineCourseTimes > (onlineCourseTotalTimes-giveClassTimes)){
|
|
|
continue;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if(courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
|
|
|
- surplusCoursesPrice=surplusCoursesPrice.add(vipGroup.getOfflineClassesUnitPrice());
|
|
|
+ surplusCoursesPrice = surplusCoursesPrice.add(vipGroup.getOfflineClassesUnitPrice());
|
|
|
}else if(courseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)){
|
|
|
- surplusCoursesPrice=surplusCoursesPrice.add(vipGroup.getOnlineClassesUnitPrice());
|
|
|
+ surplusCoursesPrice = surplusCoursesPrice.add(vipGroup.getOnlineClassesUnitPrice());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- BigDecimal discount=null;
|
|
|
+ BigDecimal discount = null;
|
|
|
if(Objects.nonNull(vipGroupActivity)){
|
|
|
discount = vipGroupActivity.getDiscount().divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
|
|
|
surplusCoursesPrice = surplusCoursesPrice.multiply(discount).setScale(CommonConstants.DECIMAL_FINAL_PLACE,BigDecimal.ROUND_HALF_UP);
|
|
@@ -4465,13 +4463,13 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
|
|
|
List<CourseScheduleStudentPayment> courseScheduleStudentPayments=new ArrayList<>();
|
|
|
|
|
|
- offlineCourseTimes=0;
|
|
|
- onlineCourseTimes=0;
|
|
|
+ offlineCourseTimes = 0;
|
|
|
+ onlineCourseTimes = 0;
|
|
|
for (CourseSchedule vipGroupCourseSchedule : surplusCourses) {
|
|
|
if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
|
|
|
- offlineCourseTimes+=1;
|
|
|
+ offlineCourseTimes += 1;
|
|
|
}else if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)){
|
|
|
- onlineCourseTimes+=1;
|
|
|
+ onlineCourseTimes += 1;
|
|
|
}
|
|
|
CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
|
|
|
courseScheduleStudentPayment.setGroupType(GroupType.VIP);
|
|
@@ -4486,8 +4484,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
courseScheduleStudentPayment.setExpectPrice(vipGroup.getOnlineClassesUnitPrice());
|
|
|
courseScheduleStudentPayment.setOriginalPrice(vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice());
|
|
|
}
|
|
|
- if(hasGiveClass
|
|
|
- &&vipGroup.getGiveTeachMode() == vipGroupCourseSchedule.getTeachMode()){
|
|
|
+ if(hasGiveClass && vipGroup.getGiveTeachMode() == vipGroupCourseSchedule.getTeachMode()){
|
|
|
if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)
|
|
|
&&offlineCourseTimes>(offlineCourseTotalTimes-giveClassTimes)){
|
|
|
courseScheduleStudentPayment.setExpectPrice(new BigDecimal(0));
|
|
@@ -4542,8 +4539,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
|
|
|
courseScheduleService.checkNewCourseSchedules(surplusCourses, false,false);
|
|
|
|
|
|
- VipGroupStatusEnum vipGroupStatus = vipGroup.getStatus();
|
|
|
-
|
|
|
Integer currentStudentNum = classGroupStudentMapperDao.countClassGroupStudentNum(classGroup.getId());
|
|
|
if((!vipGroup.getStatus().equals(VipGroupStatusEnum.FINISHED)
|
|
|
||!vipGroup.getStatus().equals(VipGroupStatusEnum.CANCEL))
|