|
@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.dao.MusicGroupCalenderRefundPeriodDao;
|
|
|
import com.ym.mec.biz.dal.dao.MusicGroupDao;
|
|
|
import com.ym.mec.biz.dal.dao.TeacherDao;
|
|
|
import com.ym.mec.biz.dal.dto.CooperationCalenderRefundDto;
|
|
|
+import com.ym.mec.biz.dal.dto.CooperationCalenderRefundUpdateDto;
|
|
|
import com.ym.mec.biz.dal.dto.CooperationRefundDto;
|
|
|
import com.ym.mec.biz.dal.dto.MusicGroupPaymentBaseCalender;
|
|
|
import com.ym.mec.biz.dal.entity.MusicGroup;
|
|
@@ -190,14 +191,22 @@ public class MusicGroupCalenderRefundPeriodServiceImpl extends BaseServiceImpl<I
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void batchUpdate(List<MusicGroupCalenderRefundPeriod> refundPeriods) {
|
|
|
- refundPeriods.forEach(e->{
|
|
|
- e.setIncome(null);
|
|
|
- e.setRefundDate(null);
|
|
|
- if (e.getSubRefundAmount() == null || e.getSubRefundAmount().compareTo(BigDecimal.ZERO) == 0) {
|
|
|
+ public void batchUpdate(List<CooperationCalenderRefundUpdateDto> refundPeriods) {
|
|
|
+ List<Long> periodsIds = refundPeriods.stream().map(e -> e.getId()).collect(Collectors.toList());
|
|
|
+ List<MusicGroupCalenderRefundPeriod> periods = musicGroupCalenderRefundPeriodDao.queryByIds(periodsIds);
|
|
|
+ Map<Long, CooperationCalenderRefundUpdateDto> periodMap = refundPeriods.stream().collect(Collectors.toMap(e -> e.getId(), e -> e));
|
|
|
+ periods.forEach(e->{
|
|
|
+ CooperationCalenderRefundUpdateDto dto = periodMap.get(e.getId());
|
|
|
+ e.setRefundAmount(dto.getRefundAmount());
|
|
|
+ e.setMemo(dto.getMemo());
|
|
|
+ if (e.getRefundAmount().compareTo(e.getIncome()) <= 0) {
|
|
|
+ e.setSubRefundAmount(BigDecimal.ZERO);
|
|
|
e.setRefundFlag(true);
|
|
|
+ } else {
|
|
|
+ e.setSubRefundAmount(e.getRefundAmount().subtract(e.getIncome()));
|
|
|
+ e.setRefundFlag(false);
|
|
|
}
|
|
|
});
|
|
|
- musicGroupCalenderRefundPeriodDao.batchUpdate(refundPeriods);
|
|
|
+ musicGroupCalenderRefundPeriodDao.batchUpdate(periods);
|
|
|
}
|
|
|
}
|