|
@@ -1202,9 +1202,16 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
}
|
|
|
Boolean giveFlag = vipGroup.getGiveFlag();
|
|
|
List<Integer> studentIdList = Arrays.stream(studentIds.split(",")).map(id->Integer.valueOf(id)).collect(Collectors.toList());
|
|
|
- if(studentIdList.size() > vipGroupCategory.getStudentNum()){
|
|
|
- throw new BizException("{}课程最多支持{}人",vipGroupCategory.getName(),vipGroupCategory.getStudentNum());
|
|
|
+ if(!vipGroupCategory.getMusicTheory()){
|
|
|
+ if(studentIdList.size() != vipGroupCategory.getStudentNum()){
|
|
|
+ throw new BizException("学员数量异常");
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ if(studentIdList.size() > vipGroupCategory.getStudentNum()){
|
|
|
+ throw new BizException("{}课程最多支持{}人",vipGroupCategory.getName(),vipGroupCategory.getStudentNum());
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
//获取学员排课资格
|
|
|
List<ActivityUserMapper> activityUserMappers = activityUserMapperService.findByStudentIdList(activity.getId(),studentIds,giveFlag?"GIVE_VIP":"VIP");
|
|
|
if(studentIdList.size() != activityUserMappers.size()){
|
|
@@ -2774,94 +2781,59 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
//生成课表
|
|
|
List<CourseSchedule> courseSchedules = JSON.parseArray(vipGroup.getCourseSchedulesJson(),CourseSchedule.class);
|
|
|
classGroup.setTotalClassTimes(courseSchedules.size());
|
|
|
- int courseNum = courseScheduleDao.countVipGroupCourses(vipGroup.getId().intValue(),"VIP");
|
|
|
-
|
|
|
- if(courseNum == 0){
|
|
|
- courseScheduleService.checkNewCourseSchedules(courseSchedules, false,false);
|
|
|
- courseScheduleService.batchAddCourseSchedule(courseSchedules);
|
|
|
-
|
|
|
- //考勤信息
|
|
|
- List<TeacherAttendance> teacherAttendances = new ArrayList<>();
|
|
|
- //创建课酬信息
|
|
|
- List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = new ArrayList<>();
|
|
|
- ClassGroupTeacherSalary classGroupTeacherSalary = classGroupTeacherSalaryDao.findByVipGoupAndTeacher(vipGroup.getId().intValue(), vipGroup.getUserId());
|
|
|
- for (CourseSchedule courseSchedule : courseSchedules) {
|
|
|
- //创建教师课程薪水记录
|
|
|
- CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
|
|
|
- courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
|
|
|
- courseScheduleTeacherSalary.setGroupType(courseSchedule.getGroupType());
|
|
|
- courseScheduleTeacherSalary.setMusicGroupId(courseSchedule.getMusicGroupId());
|
|
|
- courseScheduleTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
|
|
|
- courseScheduleTeacherSalary.setUserId(courseSchedule.getActualTeacherId().intValue());
|
|
|
- courseScheduleTeacherSalary.setClassGroupId(courseSchedule.getClassGroupId());
|
|
|
- courseScheduleTeacherSalary.setExpectSalary(classGroupTeacherSalary.getSalary());
|
|
|
- courseScheduleTeacherSalary.setActualSalary(null);
|
|
|
- courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
|
|
|
-
|
|
|
- TeacherAttendance teacherAttendance = new TeacherAttendance();
|
|
|
- teacherAttendance.setGroupType(courseSchedule.getGroupType());
|
|
|
- teacherAttendance.setClassGroupId(courseSchedule.getClassGroupId());
|
|
|
- teacherAttendance.setMusicGroupId(courseSchedule.getMusicGroupId());
|
|
|
- teacherAttendance.setTeacherId(courseSchedule.getActualTeacherId());
|
|
|
- teacherAttendance.setCourseScheduleId(courseSchedule.getId());
|
|
|
- teacherAttendances.add(teacherAttendance);
|
|
|
- }
|
|
|
- courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
|
|
|
- teacherAttendanceDao.batchInsert(teacherAttendances);
|
|
|
-
|
|
|
- //群聊数据
|
|
|
- Map<Integer,String> userRoleMap = new HashMap<Integer, String>(5);
|
|
|
- if(Objects.nonNull(vipGroup.getEducationalTeacherId())){
|
|
|
- userRoleMap.put(vipGroup.getEducationalTeacherId(),"乐团主管");
|
|
|
- }
|
|
|
- userRoleMap.put(vipGroup.getUserId(),"指导老师");
|
|
|
- //生成课程学员关联
|
|
|
- List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<>();
|
|
|
- List<ClassGroupStudentMapper> classGroupStudents = classGroupStudentMapperDao.findByClassGroup(classGroup.getId());
|
|
|
-
|
|
|
- List<Integer> studentIdList = classGroupStudents.stream().map(e -> e.getUserId()).collect(Collectors.toList());
|
|
|
- for (ClassGroupStudentMapper classGroupStudent : classGroupStudents) {
|
|
|
- StudentPaymentOrder successOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroup.getId(), classGroupStudent.getUserId(), "SUCCESS");
|
|
|
- //实际支付金额,去除优惠券
|
|
|
- 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++) {
|
|
|
- CourseSchedule courseSchedule = courseSchedules.get(i);
|
|
|
- CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
|
|
|
- courseScheduleStudentPayment.setUserId(classGroupStudent.getUserId());
|
|
|
- courseScheduleStudentPayment.setGroupType(courseSchedule.getGroupType());
|
|
|
- courseScheduleStudentPayment.setMusicGroupId(courseSchedule.getMusicGroupId());
|
|
|
- courseScheduleStudentPayment.setCourseScheduleId(courseSchedule.getId());
|
|
|
- courseScheduleStudentPayment.setClassGroupId(courseSchedule.getClassGroupId());
|
|
|
- if (i == 0) {
|
|
|
- courseScheduleStudentPayment.setExpectPrice(firstAmount);
|
|
|
- }else{
|
|
|
- courseScheduleStudentPayment.setExpectPrice(divide);
|
|
|
- }
|
|
|
- courseScheduleStudentPayment.setOriginalPrice(TeachModeEnum.ONLINE.equals(courseSchedule.getTeachMode())?vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice():vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice());
|
|
|
- courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
|
|
|
- courseScheduleStudentPayments.add(courseScheduleStudentPayment);
|
|
|
- }
|
|
|
- userRoleMap.put(classGroupStudent.getUserId(),null);
|
|
|
- }
|
|
|
- studentDao.updateStudentServiceTag(null, studentIdList, YesOrNoEnum.YES.getCode());
|
|
|
+ courseScheduleService.checkNewCourseSchedules(courseSchedules, false,false);
|
|
|
+ courseScheduleService.batchAddCourseSchedule(courseSchedules);
|
|
|
|
|
|
- courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
|
|
|
+ //考勤信息
|
|
|
+ List<TeacherAttendance> teacherAttendances = new ArrayList<>();
|
|
|
+ //创建课酬信息
|
|
|
+ List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = new ArrayList<>();
|
|
|
+ ClassGroupTeacherSalary classGroupTeacherSalary = classGroupTeacherSalaryDao.findByVipGoupAndTeacher(vipGroup.getId().intValue(), vipGroup.getUserId());
|
|
|
+ for (CourseSchedule courseSchedule : courseSchedules) {
|
|
|
+ //创建教师课程薪水记录
|
|
|
+ CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
|
|
|
+ courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
|
|
|
+ courseScheduleTeacherSalary.setGroupType(courseSchedule.getGroupType());
|
|
|
+ courseScheduleTeacherSalary.setMusicGroupId(courseSchedule.getMusicGroupId());
|
|
|
+ courseScheduleTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
|
|
|
+ courseScheduleTeacherSalary.setUserId(courseSchedule.getActualTeacherId().intValue());
|
|
|
+ courseScheduleTeacherSalary.setClassGroupId(courseSchedule.getClassGroupId());
|
|
|
+ courseScheduleTeacherSalary.setExpectSalary(classGroupTeacherSalary.getSalary());
|
|
|
+ courseScheduleTeacherSalary.setActualSalary(null);
|
|
|
+ courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
|
|
|
+
|
|
|
+ TeacherAttendance teacherAttendance = new TeacherAttendance();
|
|
|
+ teacherAttendance.setGroupType(courseSchedule.getGroupType());
|
|
|
+ teacherAttendance.setClassGroupId(courseSchedule.getClassGroupId());
|
|
|
+ teacherAttendance.setMusicGroupId(courseSchedule.getMusicGroupId());
|
|
|
+ teacherAttendance.setTeacherId(courseSchedule.getActualTeacherId());
|
|
|
+ teacherAttendance.setCourseScheduleId(courseSchedule.getId());
|
|
|
+ teacherAttendances.add(teacherAttendance);
|
|
|
+ }
|
|
|
+ courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
|
|
|
+ teacherAttendanceDao.batchInsert(teacherAttendances);
|
|
|
|
|
|
- imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), classGroup.getName(), vipGroup.getName(), null, null, GroupType.VIP.getCode());
|
|
|
- imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
|
|
|
- imUserFriendService.refreshGroupImUserFriend(classGroup.getMusicGroupId(),classGroup.getGroupType());
|
|
|
- }else {
|
|
|
- List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<>();
|
|
|
+ //群聊数据
|
|
|
+ Map<Integer,String> userRoleMap = new HashMap<Integer, String>(5);
|
|
|
+ if(Objects.nonNull(vipGroup.getEducationalTeacherId())){
|
|
|
+ userRoleMap.put(vipGroup.getEducationalTeacherId(),"乐团主管");
|
|
|
+ }
|
|
|
+ userRoleMap.put(vipGroup.getUserId(),"指导老师");
|
|
|
+ //生成课程学员关联
|
|
|
+ List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<>();
|
|
|
+ List<ClassGroupStudentMapper> classGroupStudents = classGroupStudentMapperDao.findByClassGroup(classGroup.getId());
|
|
|
+
|
|
|
+ List<Integer> studentIdList = classGroupStudents.stream().map(e -> e.getUserId()).collect(Collectors.toList());
|
|
|
+ for (ClassGroupStudentMapper classGroupStudent : classGroupStudents) {
|
|
|
+ StudentPaymentOrder successOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroup.getId(), classGroupStudent.getUserId(), "SUCCESS");
|
|
|
//实际支付金额,去除优惠券
|
|
|
- BigDecimal actualPrice = order.getExpectAmount();
|
|
|
+ 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++) {
|
|
|
CourseSchedule courseSchedule = courseSchedules.get(i);
|
|
|
CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
|
|
|
- courseScheduleStudentPayment.setUserId(order.getUserId());
|
|
|
+ courseScheduleStudentPayment.setUserId(classGroupStudent.getUserId());
|
|
|
courseScheduleStudentPayment.setGroupType(courseSchedule.getGroupType());
|
|
|
courseScheduleStudentPayment.setMusicGroupId(courseSchedule.getMusicGroupId());
|
|
|
courseScheduleStudentPayment.setCourseScheduleId(courseSchedule.getId());
|
|
@@ -2875,8 +2847,15 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
|
|
|
courseScheduleStudentPayments.add(courseScheduleStudentPayment);
|
|
|
}
|
|
|
- courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
|
|
|
+ userRoleMap.put(classGroupStudent.getUserId(),null);
|
|
|
}
|
|
|
+ studentDao.updateStudentServiceTag(null, studentIdList, YesOrNoEnum.YES.getCode());
|
|
|
+
|
|
|
+ courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
|
|
|
+
|
|
|
+ imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), classGroup.getName(), vipGroup.getName(), null, null, GroupType.VIP.getCode());
|
|
|
+ imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
|
|
|
+ imUserFriendService.refreshGroupImUserFriend(classGroup.getMusicGroupId(),classGroup.getGroupType());
|
|
|
}
|
|
|
SysUserCashAccount sysUserCashAccount = sysUserCashAccountService.get(userId);
|
|
|
//插入缴费明细
|
|
@@ -3442,14 +3421,14 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
if(CollectionUtils.isEmpty(userCourseInfos) && vipGroup.getStatus().equals(VipGroupStatusEnum.APPLYING)){
|
|
|
StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroupId, studentId, DealStatusEnum.SUCCESS.getCode());
|
|
|
if(Objects.isNull(studentPaymentOrder)){
|
|
|
- bigDecimal = new BigDecimal(0);
|
|
|
+ bigDecimal = ZERO;
|
|
|
}else{
|
|
|
bigDecimal = studentPaymentOrder.getActualAmount().add(studentPaymentOrder.getBalancePaymentAmount());
|
|
|
}
|
|
|
result.put("suplusCourseOriginalFee", bigDecimal);
|
|
|
}else if(!CollectionUtils.isEmpty(userCourseInfos)){
|
|
|
- BigDecimal historyPrice = new BigDecimal(0);
|
|
|
- BigDecimal allPrice = new BigDecimal(0);
|
|
|
+ BigDecimal historyPrice = ZERO;
|
|
|
+ BigDecimal allPrice = ZERO;
|
|
|
for (StudentCourseInfoDto userCourseInfo : userCourseInfos) {
|
|
|
allPrice = allPrice.add(userCourseInfo.getExpectPrice());
|
|
|
if(now.after(userCourseInfo.getStartClassTime())){
|
|
@@ -3457,8 +3436,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
}
|
|
|
}
|
|
|
bigDecimal = allPrice.subtract(historyPrice);
|
|
|
- if(bigDecimal.longValue() < 0){
|
|
|
- bigDecimal = new BigDecimal(0);
|
|
|
+ if(bigDecimal.compareTo(ZERO) < 0){
|
|
|
+ bigDecimal = ZERO;
|
|
|
}
|
|
|
result.put("suplusCourseOriginalFee", allPrice);
|
|
|
}else{
|
|
@@ -4053,12 +4032,12 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
|
|
|
ClassGroup classGroup = classGroupDao.findByVipGroup(vipGroupId, null);
|
|
|
|
|
|
- if(classGroup.getStudentNum() > 0 && (VipGroupStatusEnum.APPLYING.equals(vipGroup.getStatus()))){
|
|
|
- int i = studentPaymentOrderDao.countGroupOrderWithoutFailed(vipGroupId.toString(), GroupType.VIP);
|
|
|
- if(i > 0){
|
|
|
- throw new BizException("已有学员购买了该课程组,无法添加,请走学员购买流程!");
|
|
|
- }
|
|
|
+// if(classGroup.getStudentNum() > 0 && (VipGroupStatusEnum.APPLYING.equals(vipGroup.getStatus()))){
|
|
|
+ int num = studentPaymentOrderDao.countGroupOrderWithoutFailed(vipGroupId.toString(), GroupType.VIP);
|
|
|
+ if(num > 0){
|
|
|
+ throw new BizException("已有学员购买了该课程组,无法添加,请走学员购买流程!");
|
|
|
}
|
|
|
+// }
|
|
|
|
|
|
VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroup(vipGroup.getId());
|
|
|
if(Objects.isNull(vipGroupDefaultClassesUnitPrice)){
|
|
@@ -4189,19 +4168,11 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- BigDecimal surplusCoursesPrice=new BigDecimal(0);
|
|
|
- boolean hasGiveClass=false;
|
|
|
- int onlineCourseTimes=0,
|
|
|
- offlineCourseTimes=0,
|
|
|
- onlineCourseTotalTimes=0,
|
|
|
- offlineCourseTotalTimes=0,
|
|
|
- giveClassTimes=0;
|
|
|
+ BigDecimal surplusCoursesPrice = new BigDecimal(0);
|
|
|
|
|
|
//生成学生单课缴费信息
|
|
|
for (Integer studentId:studentIds) {
|
|
|
- offlineCourseTimes=0;
|
|
|
- onlineCourseTimes=0;
|
|
|
- surplusCoursesPrice=new BigDecimal(0);
|
|
|
+ surplusCoursesPrice = new BigDecimal(0);
|
|
|
|
|
|
if(studentCoursePriceMap.containsKey(studentId)){
|
|
|
VipGroupStudentCoursePrice vipGroupStudentCoursePrice = studentCoursePriceMap.get(studentId);
|
|
@@ -4213,23 +4184,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
for (int i = 0;i < surplusCourses.size();i++) {
|
|
|
CourseSchedule courseSchedule = surplusCourses.get(i);
|
|
|
if(courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
|
|
|
- offlineCourseTimes += 1;
|
|
|
- }else if(courseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)){
|
|
|
- onlineCourseTimes += 1;
|
|
|
- }
|
|
|
- if(hasGiveClass && vipGroup.getGiveTeachMode() == courseSchedule.getTeachMode()){
|
|
|
- if(courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)
|
|
|
- && offlineCourseTimes > (offlineCourseTotalTimes - giveClassTimes)){
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
- 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());
|
|
|
}else if(courseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)){
|
|
|
surplusCoursesPrice = surplusCoursesPrice.add(vipGroup.getOnlineClassesUnitPrice());
|
|
@@ -4244,42 +4198,36 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
|
|
|
sysUserCashAccountService.subtractFromCourseBalanceAndBalance(studentId,surplusCoursesPrice,PlatformCashAccountDetailTypeEnum.PAY_FEE, "后台添加学员金额扣减");
|
|
|
|
|
|
- List<CourseScheduleStudentPayment> courseScheduleStudentPayments=new ArrayList<>();
|
|
|
+ List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<>();
|
|
|
|
|
|
- offlineCourseTimes = 0;
|
|
|
- onlineCourseTimes = 0;
|
|
|
- for (CourseSchedule vipGroupCourseSchedule : surplusCourses) {
|
|
|
- if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
|
|
|
- offlineCourseTimes += 1;
|
|
|
- }else if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)){
|
|
|
- onlineCourseTimes += 1;
|
|
|
- }
|
|
|
+ //实际支付金额,去除优惠券
|
|
|
+ BigDecimal divide = ZERO;
|
|
|
+ BigDecimal firstAmount = ZERO;
|
|
|
+
|
|
|
+ if(surplusCoursesPrice.compareTo(ZERO) > 0){
|
|
|
+ divide = surplusCoursesPrice.divide(new BigDecimal(surplusCourses.size()), ROUND_DOWN);
|
|
|
+ firstAmount = surplusCoursesPrice.subtract(divide.multiply(new BigDecimal(surplusCourses.size()))).add(divide);
|
|
|
+ }
|
|
|
+ for (int i = 0; i < surplusCourses.size(); i++) {
|
|
|
+ CourseSchedule vipGroupCourseSchedule = surplusCourses.get(i);
|
|
|
CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
|
|
|
courseScheduleStudentPayment.setGroupType(GroupType.VIP);
|
|
|
courseScheduleStudentPayment.setMusicGroupId(vipGroupId.toString());
|
|
|
courseScheduleStudentPayment.setClassGroupId(vipGroupCourseSchedule.getClassGroupId());
|
|
|
courseScheduleStudentPayment.setCourseScheduleId(vipGroupCourseSchedule.getId());
|
|
|
courseScheduleStudentPayment.setUserId(studentId);
|
|
|
+ if(i == 0){
|
|
|
+ courseScheduleStudentPayment.setExpectPrice(firstAmount);
|
|
|
+ courseScheduleStudentPayment.setActualPrice(firstAmount);
|
|
|
+ }else {
|
|
|
+ courseScheduleStudentPayment.setExpectPrice(divide);
|
|
|
+ courseScheduleStudentPayment.setActualPrice(divide);
|
|
|
+ }
|
|
|
if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
|
|
|
- courseScheduleStudentPayment.setExpectPrice(vipGroup.getOfflineClassesUnitPrice());
|
|
|
courseScheduleStudentPayment.setOriginalPrice(vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice());
|
|
|
}else if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)){
|
|
|
- courseScheduleStudentPayment.setExpectPrice(vipGroup.getOnlineClassesUnitPrice());
|
|
|
courseScheduleStudentPayment.setOriginalPrice(vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice());
|
|
|
}
|
|
|
- if(hasGiveClass && vipGroup.getGiveTeachMode() == vipGroupCourseSchedule.getTeachMode()){
|
|
|
- if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)
|
|
|
- &&offlineCourseTimes>(offlineCourseTotalTimes-giveClassTimes)){
|
|
|
- courseScheduleStudentPayment.setExpectPrice(new BigDecimal(0));
|
|
|
- }
|
|
|
- if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)
|
|
|
- &&onlineCourseTimes>(onlineCourseTotalTimes-giveClassTimes)){
|
|
|
- courseScheduleStudentPayment.setExpectPrice(new BigDecimal(0));
|
|
|
- }
|
|
|
- }
|
|
|
- if(Objects.nonNull(discount)){
|
|
|
- courseScheduleStudentPayment.setExpectPrice(courseScheduleStudentPayment.getExpectPrice().multiply(discount).setScale(CommonConstants.DECIMAL_FINAL_PLACE,BigDecimal.ROUND_HALF_UP));
|
|
|
- }
|
|
|
courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
|
|
|
courseScheduleStudentPayment.setCreateTime(now);
|
|
|
courseScheduleStudentPayment.setUpdateTime(now);
|