|  | @@ -1822,7 +1822,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, BigDecimal cloudTeacherAmount) {
 | 
	
		
			
				|  |  | +                                         boolean isRefundTeachingAssistantsFee,boolean isRefundMemberFee, BigDecimal maintenanceFee, BigDecimal cloudTeacherAmount) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          MusicGroupQuit musicGroupQuit = musicGroupQuitDao.get(id);
 | 
	
		
			
				|  |  |          if (musicGroupQuit == null) {
 | 
	
	
		
			
				|  | @@ -2015,27 +2015,29 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //退云教练费用
 | 
	
		
			
				|  |  | -            if (cloudTeacherAmount != null) {
 | 
	
		
			
				|  |  | -                Date nowDate = new Date();
 | 
	
		
			
				|  |  | -                List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId, musicGroupId);
 | 
	
		
			
				|  |  | -                BigDecimal orderAmount = BigDecimal.ZERO;
 | 
	
		
			
				|  |  | -                if(cloudTeacherOrders.size() > 0){
 | 
	
		
			
				|  |  | -                    List<CloudTeacherOrder> quitCloudTeacherOrders = new ArrayList<>();
 | 
	
		
			
				|  |  | -                    for (CloudTeacherOrder cloudTeacherOrder : cloudTeacherOrders) {
 | 
	
		
			
				|  |  | -                        if (cloudTeacherOrder.getEndTime() == null || cloudTeacherOrder.getEndTime().compareTo(nowDate) > 0) {
 | 
	
		
			
				|  |  | -                            quitCloudTeacherOrders.add(cloudTeacherOrder);
 | 
	
		
			
				|  |  | -                            orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
 | 
	
		
			
				|  |  | +            if(isRefundMemberFee){
 | 
	
		
			
				|  |  | +                //退云教练费用
 | 
	
		
			
				|  |  | +                if (cloudTeacherAmount != null) {
 | 
	
		
			
				|  |  | +                    Date nowDate = new Date();
 | 
	
		
			
				|  |  | +                    List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId, musicGroupId);
 | 
	
		
			
				|  |  | +                    BigDecimal orderAmount = BigDecimal.ZERO;
 | 
	
		
			
				|  |  | +                    if(cloudTeacherOrders.size() > 0){
 | 
	
		
			
				|  |  | +                        List<CloudTeacherOrder> quitCloudTeacherOrders = new ArrayList<>();
 | 
	
		
			
				|  |  | +                        for (CloudTeacherOrder cloudTeacherOrder : cloudTeacherOrders) {
 | 
	
		
			
				|  |  | +                            if (cloudTeacherOrder.getEndTime() == null || cloudTeacherOrder.getEndTime().compareTo(nowDate) > 0) {
 | 
	
		
			
				|  |  | +                                quitCloudTeacherOrders.add(cloudTeacherOrder);
 | 
	
		
			
				|  |  | +                                orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  | +                        cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  | -                    cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
 | 
	
		
			
				|  |  | -                    throw new BizException("云教练退费金额不能大于原始订单金额");
 | 
	
		
			
				|  |  | +                    if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
 | 
	
		
			
				|  |  | +                        throw new BizException("云教练退费金额不能大于原始订单金额");
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    amount = amount.add(cloudTeacherAmount);
 | 
	
		
			
				|  |  | +                    //清除学员云教练
 | 
	
		
			
				|  |  | +                    studentService.cleanMember(userId);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                amount = amount.add(cloudTeacherAmount);
 | 
	
		
			
				|  |  | -                //清除学员云教练
 | 
	
		
			
				|  |  | -                studentService.cleanMember(userId);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              if (amount.doubleValue() > 0) {
 | 
	
	
		
			
				|  | @@ -2050,7 +2052,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |      public boolean directQuitMusicGroup(String musicGroupId, Integer userId, String reason, boolean isRefundCourseFee, boolean isRefundInstrumentFee,
 | 
	
		
			
				|  |  | -                                        boolean isRefundTeachingAssistantsFee, BigDecimal maintenanceFee, BigDecimal cloudTeacherAmount) {
 | 
	
		
			
				|  |  | +                                        boolean isRefundTeachingAssistantsFee,boolean isRefundMemberFee, BigDecimal maintenanceFee, BigDecimal cloudTeacherAmount) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          SysUser sysUser = sysUserFeignService.queryUserById(userId);
 | 
	
		
			
				|  |  |          if (sysUser == null) {
 | 
	
	
		
			
				|  | @@ -2265,27 +2267,29 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        //退云教练费用
 | 
	
		
			
				|  |  | -        if (cloudTeacherAmount != null) {
 | 
	
		
			
				|  |  | -            Date nowDate = new Date();
 | 
	
		
			
				|  |  | -            List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId, musicGroupId);
 | 
	
		
			
				|  |  | -            BigDecimal orderAmount = BigDecimal.ZERO;
 | 
	
		
			
				|  |  | -            if(cloudTeacherOrders.size() > 0){
 | 
	
		
			
				|  |  | -                List<CloudTeacherOrder> quitCloudTeacherOrders = new ArrayList<>();
 | 
	
		
			
				|  |  | -                for (CloudTeacherOrder cloudTeacherOrder : cloudTeacherOrders) {
 | 
	
		
			
				|  |  | -                    if (cloudTeacherOrder.getEndTime() == null || cloudTeacherOrder.getEndTime().compareTo(nowDate) > 0) {
 | 
	
		
			
				|  |  | -                        quitCloudTeacherOrders.add(cloudTeacherOrder);
 | 
	
		
			
				|  |  | -                        orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
 | 
	
		
			
				|  |  | +        if (isRefundMemberFee){
 | 
	
		
			
				|  |  | +            //退云教练费用
 | 
	
		
			
				|  |  | +            if (cloudTeacherAmount != null) {
 | 
	
		
			
				|  |  | +                Date nowDate = new Date();
 | 
	
		
			
				|  |  | +                List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId, musicGroupId);
 | 
	
		
			
				|  |  | +                BigDecimal orderAmount = BigDecimal.ZERO;
 | 
	
		
			
				|  |  | +                if(cloudTeacherOrders.size() > 0){
 | 
	
		
			
				|  |  | +                    List<CloudTeacherOrder> quitCloudTeacherOrders = new ArrayList<>();
 | 
	
		
			
				|  |  | +                    for (CloudTeacherOrder cloudTeacherOrder : cloudTeacherOrders) {
 | 
	
		
			
				|  |  | +                        if (cloudTeacherOrder.getEndTime() == null || cloudTeacherOrder.getEndTime().compareTo(nowDate) > 0) {
 | 
	
		
			
				|  |  | +                            quitCloudTeacherOrders.add(cloudTeacherOrder);
 | 
	
		
			
				|  |  | +                            orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  | +                    cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
 | 
	
		
			
				|  |  | -                throw new BizException("云教练退费金额不能大于原始订单金额");
 | 
	
		
			
				|  |  | +                if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
 | 
	
		
			
				|  |  | +                    throw new BizException("云教练退费金额不能大于原始订单金额");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                amount = amount.add(cloudTeacherAmount);
 | 
	
		
			
				|  |  | +                //清除学员云教练
 | 
	
		
			
				|  |  | +                studentService.cleanMember(userId);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            amount = amount.add(cloudTeacherAmount);
 | 
	
		
			
				|  |  | -            //清除学员云教练
 | 
	
		
			
				|  |  | -            studentService.cleanMember(userId);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          if (amount.doubleValue() > 0) {
 |