|
@@ -34,6 +34,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.io.IOException;
|
|
|
+import java.lang.reflect.Array;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -107,6 +108,8 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
private MusicGroupPaymentCalenderDetailDao musicGroupPaymentCalenderDetailDao;
|
|
|
@Autowired
|
|
|
private MusicGroupPaymentCalenderDao musicGroupPaymentCalenderDao;
|
|
|
+ @Autowired
|
|
|
+ private MusicGroupPaymentStudentCourseDetailDao musicGroupPaymentStudentCourseDetailDao;
|
|
|
|
|
|
@Override
|
|
|
public BaseDAO<Long, StudentRegistration> getDAO() {
|
|
@@ -903,18 +906,6 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
musicGroupStudentFee.setPaymentStatus(MusicGroupStudentFee.PaymentStatus.PAID_COMPLETED);
|
|
|
musicGroupStudentFee.setTemporaryCourseFee(BigDecimal.ZERO);
|
|
|
musicGroupStudentFee.setUpdateTime(nowDate);
|
|
|
- }else {
|
|
|
- musicGroupStudentFee = new MusicGroupStudentFee();
|
|
|
- musicGroupStudentFee.setRemainNetworkClassTimes(0);
|
|
|
- musicGroupStudentFee.setLatestPaidTime(nowDate);
|
|
|
- musicGroupStudentFee.setPaymentStatus(MusicGroupStudentFee.PaymentStatus.PAID_COMPLETED);
|
|
|
- musicGroupStudentFee.setUpdateTime(nowDate);
|
|
|
- musicGroupStudentFee.setContinuousAbsenteeismTimes(0);
|
|
|
- musicGroupStudentFee.setSubjectId(studentRegistration.getActualSubjectId());
|
|
|
- musicGroupStudentFee.setIsLock(0);
|
|
|
- musicGroupStudentFee.setMusicGroupId(musicGroup.getId());
|
|
|
- musicGroupStudentFee.setUserId(studentRegistration.getUserId());
|
|
|
- musicGroupStudentFeeDao.insert(musicGroupStudentFee);
|
|
|
}
|
|
|
//插入交易明细
|
|
|
BigDecimal amount = studentPaymentOrder.getActualAmount();
|
|
@@ -959,34 +950,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
sellOrderService.addOrderDetail2SellOrder(orderDetails, studentPaymentOrder, musicGroup);
|
|
|
}
|
|
|
|
|
|
- //缴费详情 calender detail
|
|
|
- MusicGroupPaymentCalender musicGroupRegCalender = musicGroupPaymentCalenderService.findByMusicGroupRegCalender(musicGroup.getId());
|
|
|
-// if(musicGroupRegCalender.getIsGiveMusicNetwork()){
|
|
|
-// //赠送网管课
|
|
|
-// musicGroupStudentFee.setRemainNetworkClassTimes(musicGroupStudentFee.getRemainNetworkClassTimes() + 1);
|
|
|
-// }
|
|
|
-// musicGroupStudentFeeDao.update(musicGroupStudentFee);
|
|
|
-// //更新实际缴费人数
|
|
|
-// Integer actualNum = musicGroupRegCalender.getActualNum() == null ? 0 : musicGroupRegCalender.getActualNum();
|
|
|
-// musicGroupRegCalender.setActualNum(actualNum + 1);
|
|
|
-// musicGroupRegCalender.setUpdateTime(nowDate);
|
|
|
-// musicGroupPaymentCalenderDao.update(musicGroupRegCalender);
|
|
|
- MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
|
|
|
- musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(musicGroupRegCalender.getId());
|
|
|
- musicGroupPaymentCalenderDetail.setUserId(studentPaymentOrder.getUserId());
|
|
|
- musicGroupPaymentCalenderDetail.setExpectAmount(studentPaymentOrder.getExpectAmount());
|
|
|
- musicGroupPaymentCalenderDetail.setActualAmount(studentPaymentOrder.getActualAmount());
|
|
|
- musicGroupPaymentCalenderDetail.setPaymentStatus(MusicGroupStudentFee.PaymentStatus.PAID_COMPLETED);
|
|
|
- musicGroupPaymentCalenderDetail.setUserStatus(null);
|
|
|
- musicGroupPaymentCalenderDetail.setPayTime(nowDate);
|
|
|
- musicGroupPaymentCalenderDetail.setDeadlinePaymentDate(musicGroupRegCalender.getDeadlinePaymentDate());
|
|
|
- musicGroupPaymentCalenderDetail.setStartPaymentDate(musicGroupRegCalender.getStartPaymentDate());
|
|
|
- musicGroupPaymentCalenderDetail.setOpen(1);
|
|
|
- musicGroupPaymentCalenderDetail.setCreateTime(nowDate);
|
|
|
- musicGroupPaymentCalenderDetail.setUpdateTime(nowDate);
|
|
|
- musicGroupPaymentCalenderDetail.setPaymentOrderId(studentPaymentOrder.getId());
|
|
|
- musicGroupPaymentCalenderDetail.setUseInCourse(0);
|
|
|
- musicGroupPaymentCalenderDetailDao.insert(musicGroupPaymentCalenderDetail);
|
|
|
+ addCalenderDetail(studentPaymentOrder,studentRegistration);
|
|
|
|
|
|
//三方乐团不发送缴费通知
|
|
|
if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN) {
|
|
@@ -1048,6 +1012,81 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
return studentPaymentOrder;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ private boolean addCalenderDetail(StudentPaymentOrder studentPaymentOrder,StudentRegistration studentRegistration){
|
|
|
+ Date nowDate = new Date();
|
|
|
+ MusicGroupStudentFee musicGroupStudentFee = new MusicGroupStudentFee();
|
|
|
+ musicGroupStudentFee.setRemainNetworkClassTimes(0);
|
|
|
+ musicGroupStudentFee.setLatestPaidTime(nowDate);
|
|
|
+ musicGroupStudentFee.setPaymentStatus(MusicGroupStudentFee.PaymentStatus.PAID_COMPLETED);
|
|
|
+ musicGroupStudentFee.setUpdateTime(nowDate);
|
|
|
+ musicGroupStudentFee.setContinuousAbsenteeismTimes(0);
|
|
|
+ musicGroupStudentFee.setSubjectId(studentRegistration.getActualSubjectId());
|
|
|
+ musicGroupStudentFee.setIsLock(0);
|
|
|
+ musicGroupStudentFee.setMusicGroupId(studentRegistration.getMusicGroupId());
|
|
|
+ musicGroupStudentFee.setUserId(studentRegistration.getUserId());
|
|
|
+
|
|
|
+ //缴费详情 calender detail
|
|
|
+ MusicGroupPaymentCalender musicGroupRegCalender = musicGroupPaymentCalenderService.findByMusicGroupRegCalender(studentRegistration.getMusicGroupId());
|
|
|
+ if(musicGroupRegCalender.getIsGiveMusicNetwork()){
|
|
|
+ //赠送网管课
|
|
|
+ musicGroupStudentFee.setRemainNetworkClassTimes(musicGroupStudentFee.getRemainNetworkClassTimes() + 1);
|
|
|
+ }
|
|
|
+ musicGroupStudentFeeDao.insert(musicGroupStudentFee);
|
|
|
+ //更新实际缴费人数
|
|
|
+ int actualNum = musicGroupRegCalender.getActualNum() == null ? 0 : musicGroupRegCalender.getActualNum();
|
|
|
+ musicGroupRegCalender.setExpectNum(actualNum + 1);
|
|
|
+ musicGroupRegCalender.setActualNum(actualNum + 1);
|
|
|
+ musicGroupRegCalender.setUpdateTime(nowDate);
|
|
|
+ musicGroupPaymentCalenderDao.update(musicGroupRegCalender);
|
|
|
+
|
|
|
+ MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
|
|
|
+ musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(musicGroupRegCalender.getId());
|
|
|
+ musicGroupPaymentCalenderDetail.setUserId(studentPaymentOrder.getUserId());
|
|
|
+ musicGroupPaymentCalenderDetail.setExpectAmount(studentPaymentOrder.getExpectAmount());
|
|
|
+ musicGroupPaymentCalenderDetail.setActualAmount(studentPaymentOrder.getActualAmount());
|
|
|
+ musicGroupPaymentCalenderDetail.setPaymentStatus(MusicGroupStudentFee.PaymentStatus.PAID_COMPLETED);
|
|
|
+ musicGroupPaymentCalenderDetail.setUserStatus(null);
|
|
|
+ musicGroupPaymentCalenderDetail.setPayTime(nowDate);
|
|
|
+ musicGroupPaymentCalenderDetail.setDeadlinePaymentDate(musicGroupRegCalender.getDeadlinePaymentDate());
|
|
|
+ musicGroupPaymentCalenderDetail.setStartPaymentDate(musicGroupRegCalender.getStartPaymentDate());
|
|
|
+ musicGroupPaymentCalenderDetail.setOpen(1);
|
|
|
+ musicGroupPaymentCalenderDetail.setCreateTime(nowDate);
|
|
|
+ musicGroupPaymentCalenderDetail.setUpdateTime(nowDate);
|
|
|
+ musicGroupPaymentCalenderDetail.setPaymentOrderId(studentPaymentOrder.getId());
|
|
|
+ musicGroupPaymentCalenderDetail.setUseInCourse(0);
|
|
|
+ musicGroupPaymentCalenderDetailDao.insert(musicGroupPaymentCalenderDetail);
|
|
|
+
|
|
|
+ List<OrderDetailTypeEnum> orderDetailTypes = Arrays.asList(OrderDetailTypeEnum.values());
|
|
|
+ orderDetailTypes.remove(OrderDetailTypeEnum.MUSICAL);
|
|
|
+ orderDetailTypes.remove(OrderDetailTypeEnum.ACCESSORIES);
|
|
|
+ orderDetailTypes.remove(OrderDetailTypeEnum.TEACHING);
|
|
|
+ orderDetailTypes.remove(OrderDetailTypeEnum.OTHER);
|
|
|
+ orderDetailTypes.remove(OrderDetailTypeEnum.COURSE);
|
|
|
+ List<StudentPaymentOrderDetail> orderDetails = studentPaymentOrderDetailDao.getOrderDetailByType(studentPaymentOrder.getId(), orderDetailTypes);
|
|
|
+
|
|
|
+ List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetails = new ArrayList<>();
|
|
|
+
|
|
|
+// for (StudentPaymentOrderDetail orderDetail : orderDetails) {
|
|
|
+// MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();
|
|
|
+// musicGroupPaymentStudentCourseDetail.setCourseType(CourseSchedule.CourseScheduleType.valueOf(orderDetail.getType().getCode()));
|
|
|
+// musicGroupPaymentStudentCourseDetail.setCreateTime(nowDate);
|
|
|
+// musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderDetailId(musicGroupPaymentCalenderDetail.getId());
|
|
|
+// musicGroupPaymentStudentCourseDetail.setTotalCourseMinutes(courseSettings.getCourseTotalMinuties());
|
|
|
+// musicGroupPaymentStudentCourseDetail.setUpdateTime(date);
|
|
|
+// musicGroupPaymentStudentCourseDetail.setUsedCourseMinutes(0);
|
|
|
+// musicGroupPaymentStudentCourseDetail.setUserId(userId);
|
|
|
+//
|
|
|
+// musicGroupPaymentStudentCourseDetails.add(musicGroupPaymentStudentCourseDetail);
|
|
|
+// }
|
|
|
+
|
|
|
+ if (musicGroupPaymentStudentCourseDetails.size() > 0) {
|
|
|
+ musicGroupPaymentStudentCourseDetailDao.batchInsert(musicGroupPaymentStudentCourseDetails);
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<StudentRegistration> findMusicGroupNoClassGroupStudent(String musicGroupId, Integer actualSubjectId) {
|
|
|
//获取所有声部
|