|
@@ -34,6 +34,10 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
|
|
|
private ClassGroupStudentMapperDao classGroupStudentMapperDao;
|
|
private ClassGroupStudentMapperDao classGroupStudentMapperDao;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private SysUserCashAccountService sysUserCashAccountService;
|
|
private SysUserCashAccountService sysUserCashAccountService;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private MusicGroupPaymentCalenderDao musicGroupPaymentCalenderDao;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private MusicGroupPaymentCalenderDetailDao musicGroupPaymentCalenderDetailDao;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public BaseDAO<Long, CourseScheduleStudentPayment> getDAO() {
|
|
public BaseDAO<Long, CourseScheduleStudentPayment> getDAO() {
|
|
@@ -267,6 +271,26 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void createForMusicGroup(String musicGroupId, List<CourseSchedule> courseSchedules, List<Integer> studentIds) {
|
|
public void createForMusicGroup(String musicGroupId, List<CourseSchedule> courseSchedules, List<Integer> studentIds) {
|
|
|
|
|
+ MusicGroupPaymentCalender musicGroupUnusedFirstPaymentCalender = musicGroupPaymentCalenderDao.getMusicGroupUnusedFirstPaymentCalender(musicGroupId);
|
|
|
|
|
+ if(Objects.isNull(musicGroupUnusedFirstPaymentCalender)){
|
|
|
|
|
+ throw new BizException("当前乐团无未使用缴费记录");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ List<MusicGroupPaymentCalenderDetail> unusedPaymentCalender = musicGroupPaymentCalenderDetailDao.getCalenderDetailWithCalender(musicGroupUnusedFirstPaymentCalender.getId());
|
|
|
|
|
+ if(CollectionUtils.isEmpty(unusedPaymentCalender)){
|
|
|
|
|
+ throw new BizException("当前乐团无学员缴费信息");
|
|
|
|
|
+ }
|
|
|
|
|
+ Map<Integer, List<MusicGroupPaymentCalenderDetail>> studentPaymentCalenderMap = unusedPaymentCalender.stream().collect(Collectors.groupingBy(MusicGroupPaymentCalenderDetail::getUserId));
|
|
|
|
|
+ for (Integer studentId : studentIds) {
|
|
|
|
|
+ List<MusicGroupPaymentCalenderDetail> musicGroupPaymentCalenderDetails = studentPaymentCalenderMap.get(studentId);
|
|
|
|
|
+ if(CollectionUtils.isEmpty(musicGroupPaymentCalenderDetails)){
|
|
|
|
|
+ throw new BizException("部分学员无缴费信息");
|
|
|
|
|
+ }
|
|
|
|
|
+ MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = musicGroupPaymentCalenderDetails.stream().min(Comparator.comparing(MusicGroupPaymentCalenderDetail::getCreateTime)).get();
|
|
|
|
|
+ if(!musicGroupPaymentCalenderDetail.getMusicGroupPaymentCalenderId().equals(musicGroupUnusedFirstPaymentCalender.getId())){
|
|
|
|
|
+ throw new BizException("缴费信息异常");
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|