|
@@ -1984,9 +1984,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
|
|
|
musicGroupQuitDao.insert(musicGroupQuit);
|
|
|
|
|
|
- if (reqMusicGroupQuit.getStatus() == PROCESSING) {
|
|
|
+ if (reqMusicGroupQuit.getStatus() == PROCESSING && (currentOperatorRoleIds == null || currentOperatorRoleIds.size() == 0)) {
|
|
|
Set<Integer> roleIds = new HashSet<>(1);
|
|
|
- roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
|
|
|
roleIds.add(SysUserRole.SECTION_MANAGER);
|
|
|
Set<Integer> integers = musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId());
|
|
|
integers.add(musicGroup.getEducationalTeacherId());
|
|
@@ -2351,23 +2350,46 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- //退乐保费用
|
|
|
- if (returnFeeDto.getIsReturnMaintenanceFee()) {
|
|
|
- StudentInstrument studentMaintenance = studentInstrumentDao.getStudentMaintenance(userId, musicGroupId);
|
|
|
- if (returnFeeDto.getMaintenanceFee().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
- if (studentMaintenance == null) {
|
|
|
- throw new BizException("学生没有有效期内的乐保,不能退乐保费用");
|
|
|
- }
|
|
|
- }
|
|
|
- amount = amount.add(returnFeeDto.getMaintenanceFee());
|
|
|
- if (returnFeeDto.getMaintenanceFee().compareTo(BigDecimal.ZERO) > 0 && studentMaintenance != null) {
|
|
|
- studentMaintenance.setStatus(0);
|
|
|
- studentMaintenance.setStartTime(null);
|
|
|
- studentMaintenance.setEndTime(null);
|
|
|
- studentInstrumentDao.update(studentMaintenance);
|
|
|
- }
|
|
|
+ //退乐保费用
|
|
|
+ if (returnFeeDto.getIsReturnMaintenanceFee()) {
|
|
|
+
|
|
|
+ Map<Long, StudentPaymentOrderDetail> maintenanceMap = orderDetailList.stream()
|
|
|
+ .filter(t -> (t.getType() == OrderDetailTypeEnum.MAINTENANCE))
|
|
|
+ .collect(Collectors.toMap(t -> t.getStudentInstrumentId(), StudentPaymentOrderDetail -> StudentPaymentOrderDetail));
|
|
|
+
|
|
|
+ List<Long> instrumentIdList = new ArrayList<Long>(maintenanceMap.keySet());
|
|
|
+ List<StudentInstrument> updateStudentInstrumentList = new ArrayList<StudentInstrument>();
|
|
|
+
|
|
|
+ if (instrumentIdList != null && instrumentIdList.size() > 0) {
|
|
|
+ List<StudentInstrument> studentInstrumentList = studentInstrumentDao.queryById(instrumentIdList);
|
|
|
+
|
|
|
+ for (StudentInstrument si : studentInstrumentList) {
|
|
|
+ if (si.getDelFlag() == 1) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ if ((si.getStatus() == 0 && si.getStartTime() == null) || si.getEndTime().after(date)) {
|
|
|
+ updateStudentInstrumentList.add(si);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /*if (updateStudentInstrumentList.size() == 0) {
|
|
|
+ throw new BizException("学生没有有效期内的乐保,不能退乐保费用");
|
|
|
+ }*/
|
|
|
+
|
|
|
+ amount = amount.add(returnFeeDto.getMaintenanceFee());
|
|
|
+
|
|
|
+ if (updateStudentInstrumentList.size() > 0) {
|
|
|
+ for (StudentInstrument studentMaintenance : updateStudentInstrumentList) {
|
|
|
+ studentMaintenance.setStatus(0);
|
|
|
+ studentMaintenance.setStartTime(null);
|
|
|
+ studentMaintenance.setEndTime(null);
|
|
|
+ studentInstrumentDao.update(studentMaintenance);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (amount.doubleValue() > 0) {
|