|
@@ -1662,7 +1662,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
@Override
|
|
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
|
|
|
public boolean approveQuitMusicGroup(Long id, ApprovalStatus status, String reason, boolean isRefundCourseFee, boolean isRefundInstrumentFee,
|
|
|
- boolean isRefundTeachingAssistantsFee, BigDecimal maintenanceFee) {
|
|
|
+ boolean isRefundTeachingAssistantsFee, BigDecimal maintenanceFee, BigDecimal cloudTeacherAmount) {
|
|
|
|
|
|
MusicGroupQuit musicGroupQuit = musicGroupQuitDao.get(id);
|
|
|
if (musicGroupQuit == null) {
|
|
@@ -1845,6 +1845,24 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //退云教练费用
|
|
|
+ if (cloudTeacherAmount != null) {
|
|
|
+ Date nowDate = new Date();
|
|
|
+ CloudTeacherOrder studentCloudTeacherOrder = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId, musicGroupId);
|
|
|
+ if (cloudTeacherAmount.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+ if (studentCloudTeacherOrder == null || (studentCloudTeacherOrder.getEndTime() != null && studentCloudTeacherOrder.getEndTime().compareTo(nowDate) <= 0)) {
|
|
|
+ throw new BizException("学生云教练已过有效期,不能退费");
|
|
|
+ }
|
|
|
+ if (cloudTeacherAmount.compareTo(studentCloudTeacherOrder.getAmount()) > 0) {
|
|
|
+ throw new BizException("云教练退费金额不能大于原始订单金额");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ amount = amount.add(cloudTeacherAmount);
|
|
|
+ if (studentCloudTeacherOrder != null) {
|
|
|
+ cloudTeacherOrderService.quitCloudTeacherOrder(studentCloudTeacherOrder, cloudTeacherAmount);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (amount.doubleValue() > 0) {
|
|
|
// 增加交易流水
|
|
|
sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
|