|
@@ -5281,15 +5281,21 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
Map<Integer, CourseScheduleStudentPayment> mainStudentCourseMap = courseScheduleStudentPayments.stream().filter(c -> courseMergeInfo.getId().equals(c.getCourseScheduleId())).collect(Collectors.toMap(CourseScheduleStudentPayment::getUserId, c -> c, (c1, c2) -> c1));
|
|
|
List<CourseScheduleStudentPayment> newPayments = new ArrayList<>();
|
|
|
List<CourseScheduleStudentPayment> updatePayments = new ArrayList<>();
|
|
|
+ for (Map.Entry<Integer, CourseScheduleStudentPayment> mainStudentCourseMapEntry : mainStudentCourseMap.entrySet()) {
|
|
|
+ BigDecimal salary = courseScheduleStudentPayments.stream().filter(c -> mainStudentCourseMapEntry.getKey().equals(c.getUserId())).map(CourseScheduleStudentPayment::getExpectPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ CourseScheduleStudentPayment updatePayment = mainStudentCourseMapEntry.getValue();
|
|
|
+ updatePayment.setExpectPrice(salary);
|
|
|
+ updatePayments.add(updatePayment);
|
|
|
+ }
|
|
|
+
|
|
|
for (CourseScheduleStudentPayment courseScheduleStudentPayment : courseScheduleStudentPayments) {
|
|
|
CourseScheduleStudentPayment updatePayment = mainStudentCourseMap.get(courseScheduleStudentPayment.getUserId());
|
|
|
if(Objects.nonNull(updatePayment)&&updatePayment.getCourseScheduleId().equals(courseScheduleStudentPayment.getCourseScheduleId())){
|
|
|
continue;
|
|
|
}
|
|
|
if(Objects.nonNull(updatePayment)&&updatePayment.getUserId().equals(courseScheduleStudentPayment.getUserId())){
|
|
|
- updatePayment.setExpectPrice(updatePayment.getExpectPrice().add(courseScheduleStudentPayment.getExpectPrice()));
|
|
|
+
|
|
|
courseScheduleStudentPayment.setExpectPrice(BigDecimal.ZERO);
|
|
|
- updatePayments.add(updatePayment);
|
|
|
updatePayments.add(courseScheduleStudentPayment);
|
|
|
continue;
|
|
|
}
|
|
@@ -5298,6 +5304,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
newPayment.setCourseScheduleId(courseMergeInfo.getId());
|
|
|
newPayment.setClassGroupId(courseMergeInfo.getClassGroupId());
|
|
|
courseScheduleStudentPayment.setExpectPrice(BigDecimal.ZERO);
|
|
|
+ newPayment.setId(null);
|
|
|
+ newPayments.add(newPayment);
|
|
|
updatePayments.add(courseScheduleStudentPayment);
|
|
|
}
|
|
|
|