|
@@ -80,7 +80,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
@Autowired
|
|
|
private CloudTeacherOrderDao cloudTeacherOrderDao;
|
|
|
@Autowired
|
|
|
- private MusicGroupPaymentCalenderActivityService musicGroupPaymentCalenderActivityService;
|
|
|
+ private StudentPaymentOrderDao studentPaymentOrderDao;
|
|
|
|
|
|
@Override
|
|
|
public BaseDAO<Long, MusicGroupPaymentCalenderDetail> getDAO() {
|
|
@@ -721,76 +721,37 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void addCalenderDetail(StudentPaymentOrder studentPaymentOrder, StudentRegistration studentRegistration) {
|
|
|
Date nowDate = new Date();
|
|
|
-
|
|
|
- String currentMusicGroupId = studentRegistration.getMusicGroupId();
|
|
|
-
|
|
|
- //缴费详情 calender detail
|
|
|
- MusicGroupPaymentCalender musicGroupRegCalender = musicGroupPaymentCalenderService.findByMusicGroupRegCalender(currentMusicGroupId);
|
|
|
- if (musicGroupRegCalender == null) {
|
|
|
- throw new BizException("报名缴费信息查询失败");
|
|
|
- }
|
|
|
Integer tenantId = studentPaymentOrder.getTenantId();
|
|
|
-
|
|
|
- String batchNo = musicGroupRegCalender.getBatchNo();
|
|
|
- Long currentPaymentCalenderId = musicGroupRegCalender.getId();
|
|
|
-
|
|
|
- List<MusicGroupPaymentCalender> musicGroupPaymentCalenderList = musicGroupPaymentCalenderDao.findByBatchNo(batchNo);
|
|
|
-
|
|
|
- for (MusicGroupPaymentCalender musicGroupPaymentCalender : musicGroupPaymentCalenderList) {
|
|
|
- if (currentPaymentCalenderId.longValue() == musicGroupPaymentCalender.getId()) {
|
|
|
- // 更新实际缴费人数
|
|
|
- if (musicGroupPaymentCalender.getActualNum() == null) {
|
|
|
- musicGroupPaymentCalender.setActualNum(1);
|
|
|
+ //缴费详情 calender detail
|
|
|
+ MusicGroupPaymentCalender musicGroupPaymentCalender = musicGroupPaymentCalenderService.get(studentPaymentOrder.getCalenderId());
|
|
|
+ Long currentPaymentCalenderId = studentPaymentOrder.getCalenderId();
|
|
|
+ //查询缴费项目关联的订单
|
|
|
+ List<StudentPaymentOrder> orderList = studentPaymentOrderDao.findByCalenderId(currentPaymentCalenderId,studentPaymentOrder.getUserId());
|
|
|
+ if(orderList.size() == 1){
|
|
|
+ // 更新实际缴费人数
|
|
|
+ if (musicGroupPaymentCalender.getActualNum() == null) {
|
|
|
+ musicGroupPaymentCalender.setActualNum(1);
|
|
|
+ } else {
|
|
|
+ musicGroupPaymentCalender.setActualNum(musicGroupPaymentCalender.getActualNum() + 1);
|
|
|
+ }
|
|
|
+ if(musicGroupPaymentCalender.getPaymentType() == MusicGroupPaymentCalender.PaymentType.MUSIC_APPLY){
|
|
|
+ if (musicGroupPaymentCalender.getExpectNum() == null) {
|
|
|
+ musicGroupPaymentCalender.setExpectNum(1);
|
|
|
} else {
|
|
|
- musicGroupPaymentCalender.setActualNum(musicGroupPaymentCalender.getActualNum() + 1);
|
|
|
+ musicGroupPaymentCalender.setExpectNum(musicGroupPaymentCalender.getExpectNum() + 1);
|
|
|
}
|
|
|
}
|
|
|
- if (musicGroupPaymentCalender.getExpectNum() == null) {
|
|
|
- musicGroupPaymentCalender.setExpectNum(1);
|
|
|
- } else {
|
|
|
- musicGroupPaymentCalender.setExpectNum(musicGroupPaymentCalender.getExpectNum() + 1);
|
|
|
- }
|
|
|
musicGroupPaymentCalender.setUpdateTime(nowDate);
|
|
|
+ musicGroupPaymentCalenderDao.update(musicGroupPaymentCalender);
|
|
|
}
|
|
|
- if (musicGroupPaymentCalenderList.size() > 0) {
|
|
|
- musicGroupPaymentCalenderDao.batchUpdate(musicGroupPaymentCalenderList);
|
|
|
- }
|
|
|
-
|
|
|
- List<String> orderDetailTypes = studentPaymentOrderDetailDao.getOrderDetailType(studentPaymentOrder.getId());
|
|
|
- List<MusicGroupPaymentCalenderCourseSettings> courseSettings = musicGroupPaymentCalenderCourseSettingsDao.getWithPaymentCalender(musicGroupRegCalender.getId());
|
|
|
- BigDecimal courseTotalPrice = courseSettings.stream().filter(e -> orderDetailTypes.contains(e.getCourseType().getCode())).map(MusicGroupPaymentCalenderCourseSettings::getCourseCurrentPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- BigDecimal optionalCourseFee = courseSettings.stream().filter(e -> orderDetailTypes.contains(e.getCourseType().getCode())).map(MusicGroupPaymentCalenderCourseSettings::getCourseCurrentPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
-
|
|
|
- List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetails = new ArrayList<>();
|
|
|
|
|
|
- for (MusicGroupPaymentCalender musicGroupPaymentCalender : musicGroupPaymentCalenderList) {
|
|
|
- MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
|
|
|
+ MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = musicGroupPaymentCalenderDetailDao.findByCalenderIdAndUserId(currentPaymentCalenderId,studentPaymentOrder.getUserId());
|
|
|
+ if(musicGroupPaymentCalenderDetail == null){
|
|
|
+ musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
|
|
|
musicGroupPaymentCalenderDetail.setTenantId(tenantId);
|
|
|
musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalender.getId());
|
|
|
musicGroupPaymentCalenderDetail.setUserId(studentPaymentOrder.getUserId());
|
|
|
musicGroupPaymentCalenderDetail.setResponsibleUserId(musicGroupPaymentCalender.getOperator());
|
|
|
-
|
|
|
-/* if (currentPaymentCalenderId.longValue() == musicGroupPaymentCalender.getId()) {
|
|
|
- musicGroupPaymentCalenderDetail.setExpectAmount(courseTotalPrice);
|
|
|
- if (studentPaymentOrder.getCourseRemitFee() != null && (studentPaymentOrder.getCourseRemitFee().compareTo(BigDecimal.ZERO) > 0)) {
|
|
|
- musicGroupPaymentCalenderDetail.setActualAmount(optionalCourseFee);
|
|
|
- } else {
|
|
|
- musicGroupPaymentCalenderDetail.setActualAmount(courseTotalPrice);
|
|
|
- }
|
|
|
- musicGroupPaymentCalenderDetail.setPaymentStatus(PAID_COMPLETED);
|
|
|
- musicGroupPaymentCalenderDetail.setPayTime(nowDate);
|
|
|
- musicGroupPaymentCalenderDetail.setPaymentOrderId(studentPaymentOrder.getId());
|
|
|
- musicGroupPaymentCalenderDetail.setUseInCourse(0);
|
|
|
- musicGroupPaymentCalenderDetail.setOpen(1);
|
|
|
- } else {
|
|
|
- musicGroupPaymentCalenderDetail.setExpectAmount(musicGroupPaymentCalender.getPaymentAmount());
|
|
|
- musicGroupPaymentCalenderDetail.setPaymentStatus(MusicGroupStudentFee.PaymentStatus.NON_PAYMENT);
|
|
|
- }
|
|
|
- if(orderDetailTypes.contains(OrderDetailTypeEnum.CLOUD_TEACHER.name()) || orderDetailTypes.contains(OrderDetailTypeEnum.CLOUD_TEACHER_PLUS.name())){
|
|
|
- musicGroupPaymentCalenderDetail.setExpectAmount(musicGroupPaymentCalenderDetail.getExpectAmount().add(musicGroupPaymentCalender.getMemberPaymentAmount()));
|
|
|
- musicGroupPaymentCalenderDetail.setActualAmount(musicGroupPaymentCalenderDetail.getActualAmount().add(musicGroupPaymentCalender.getMemberPaymentAmount()));
|
|
|
- }*/
|
|
|
-
|
|
|
musicGroupPaymentCalenderDetail.setPaymentStatus(PAID_COMPLETED);
|
|
|
musicGroupPaymentCalenderDetail.setPayTime(nowDate);
|
|
|
musicGroupPaymentCalenderDetail.setPaymentOrderId(studentPaymentOrder.getId());
|
|
@@ -801,34 +762,39 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
musicGroupPaymentCalenderDetail.setStartPaymentDate(musicGroupPaymentCalender.getStartPaymentDate());
|
|
|
musicGroupPaymentCalenderDetail.setCreateTime(nowDate);
|
|
|
musicGroupPaymentCalenderDetail.setUpdateTime(nowDate);
|
|
|
-
|
|
|
musicGroupPaymentCalenderDetailDao.insert(musicGroupPaymentCalenderDetail);
|
|
|
+ }else {
|
|
|
+ musicGroupPaymentCalenderDetail.setPaymentStatus(PAID_COMPLETED);
|
|
|
+ musicGroupPaymentCalenderDetail.setPayTime(nowDate);
|
|
|
+ musicGroupPaymentCalenderDetail.setPaymentOrderId(studentPaymentOrder.getId());
|
|
|
+ musicGroupPaymentCalenderDetailDao.update(musicGroupPaymentCalenderDetail);
|
|
|
+ }
|
|
|
|
|
|
- List<MusicGroupPaymentCalenderCourseSettings> courseSettingsList = musicGroupPaymentCalenderCourseSettingsDao
|
|
|
- .getWithPaymentCalender(musicGroupPaymentCalender.getId());
|
|
|
- for (MusicGroupPaymentCalenderCourseSettings courseSetting : courseSettingsList) {
|
|
|
- if (musicGroupRegCalender.getPayUserType().equals(MusicGroupPaymentCalender.PayUserType.STUDENT)
|
|
|
- && !orderDetailTypes.contains(courseSetting.getCourseType().getCode())) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- if (courseSetting.getCourseTotalMinuties() == null || courseSetting.getCourseTotalMinuties() == 0) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();
|
|
|
- musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalender.getId());
|
|
|
- musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderDetailId(musicGroupPaymentCalenderDetail.getId());
|
|
|
- musicGroupPaymentStudentCourseDetail.setUserId(studentPaymentOrder.getUserId());
|
|
|
- musicGroupPaymentStudentCourseDetail.setCourseType(courseSetting.getCourseType());
|
|
|
- musicGroupPaymentStudentCourseDetail.setTotalCourseMinutes(courseSetting.getCourseTotalMinuties());
|
|
|
- musicGroupPaymentStudentCourseDetail.setCourseOriginalPrice(courseSetting.getCourseOriginalPrice());
|
|
|
- musicGroupPaymentStudentCourseDetail.setCourseCurrentPrice(courseSetting.getCourseCurrentPrice());
|
|
|
- musicGroupPaymentStudentCourseDetail.setUsedCourseMinutes(0);
|
|
|
- musicGroupPaymentStudentCourseDetail.setCreateTime(nowDate);
|
|
|
- musicGroupPaymentStudentCourseDetail.setUpdateTime(nowDate);
|
|
|
- musicGroupPaymentStudentCourseDetail.setTenantId(tenantId);
|
|
|
-
|
|
|
- musicGroupPaymentStudentCourseDetails.add(musicGroupPaymentStudentCourseDetail);
|
|
|
+ List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetails = new ArrayList<>();
|
|
|
+ List<String> orderDetailTypes = studentPaymentOrderDetailDao.getOrderDetailType(studentPaymentOrder.getId());
|
|
|
+ List<MusicGroupPaymentCalenderCourseSettings> courseSettingsList = musicGroupPaymentCalenderCourseSettingsDao
|
|
|
+ .getWithPaymentCalender(musicGroupPaymentCalender.getId());
|
|
|
+ for (MusicGroupPaymentCalenderCourseSettings courseSetting : courseSettingsList) {
|
|
|
+ if (musicGroupPaymentCalender.getPayUserType().equals(MusicGroupPaymentCalender.PayUserType.STUDENT)
|
|
|
+ && !orderDetailTypes.contains(courseSetting.getCourseType().getCode())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (courseSetting.getCourseTotalMinuties() == null || courseSetting.getCourseTotalMinuties() == 0) {
|
|
|
+ continue;
|
|
|
}
|
|
|
+ MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();
|
|
|
+ musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalender.getId());
|
|
|
+ musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderDetailId(musicGroupPaymentCalenderDetail.getId());
|
|
|
+ musicGroupPaymentStudentCourseDetail.setUserId(studentPaymentOrder.getUserId());
|
|
|
+ musicGroupPaymentStudentCourseDetail.setCourseType(courseSetting.getCourseType());
|
|
|
+ musicGroupPaymentStudentCourseDetail.setTotalCourseMinutes(courseSetting.getCourseTotalMinuties());
|
|
|
+ musicGroupPaymentStudentCourseDetail.setCourseOriginalPrice(courseSetting.getCourseOriginalPrice());
|
|
|
+ musicGroupPaymentStudentCourseDetail.setCourseCurrentPrice(courseSetting.getCourseCurrentPrice());
|
|
|
+ musicGroupPaymentStudentCourseDetail.setUsedCourseMinutes(0);
|
|
|
+ musicGroupPaymentStudentCourseDetail.setCreateTime(nowDate);
|
|
|
+ musicGroupPaymentStudentCourseDetail.setUpdateTime(nowDate);
|
|
|
+ musicGroupPaymentStudentCourseDetail.setTenantId(tenantId);
|
|
|
+ musicGroupPaymentStudentCourseDetails.add(musicGroupPaymentStudentCourseDetail);
|
|
|
}
|
|
|
|
|
|
if (musicGroupPaymentStudentCourseDetails.size() > 0) {
|