|  | @@ -3073,21 +3073,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 | 
	
		
			
				|  |  |          sysUserIncomeCashAccountDetail.setChannel(studentPaymentOrder.getPaymentChannel());
 | 
	
		
			
				|  |  |          sysUserIncomeCashAccountDetail.setComAmount(studentPaymentOrder.getComAmount());
 | 
	
		
			
				|  |  |          sysUserIncomeCashAccountDetail.setPerAmount(studentPaymentOrder.getPerAmount());
 | 
	
		
			
				|  |  | -        if(studentPaymentOrder.getPerAmount() != null){
 | 
	
		
			
				|  |  | -            sysUserIncomeCashAccountDetail.setPerAmount(studentPaymentOrder.getPerAmount().negate());
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        sysUserCashAccountDetailService.insert(sysUserIncomeCashAccountDetail);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(order.getMusicGroupId()));
 | 
	
		
			
				|  |  | -        if(practiceGroup.getGroupStatus().equals(GroupStatusEnum.CANCEL)){
 | 
	
		
			
				|  |  | -            order.setVersion(order.getVersion()+1);
 | 
	
		
			
				|  |  | -            order.setMemo("支付成功,在重新支付时,用户选择取消");
 | 
	
		
			
				|  |  | -            studentPaymentOrderDao.update(order);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            sysUserCashAccountService.updateBalance(order.getUserId(), order.getActualAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "支付成功,用户取消购买,退还余额");
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            return;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  |          //支出
 | 
	
		
			
				|  |  |          SysUserCashAccountDetail sysUserExpendCashAccountDetail = new SysUserCashAccountDetail();
 | 
	
		
			
				|  |  |          sysUserExpendCashAccountDetail.setUserId(order.getUserId());
 | 
	
	
		
			
				|  | @@ -3097,12 +3083,27 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 | 
	
		
			
				|  |  |          sysUserExpendCashAccountDetail.setBalance(sysUserCashAccount.getBalance());
 | 
	
		
			
				|  |  |          sysUserExpendCashAccountDetail.setAttribute(order.getTransNo());
 | 
	
		
			
				|  |  |          sysUserExpendCashAccountDetail.setChannel(studentPaymentOrder.getPaymentChannel());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          if(studentPaymentOrder.getComAmount() != null){
 | 
	
		
			
				|  |  | -            sysUserExpendCashAccountDetail.setComAmount(studentPaymentOrder.getComAmount().negate());
 | 
	
		
			
				|  |  | +            sysUserIncomeCashAccountDetail.setComAmount(studentPaymentOrder.getComAmount().negate());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        if(studentPaymentOrder.getPerAmount() != null){
 | 
	
		
			
				|  |  | +            sysUserExpendCashAccountDetail.setPerAmount(studentPaymentOrder.getPerAmount().negate());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        sysUserCashAccountDetailService.insert(sysUserIncomeCashAccountDetail);
 | 
	
		
			
				|  |  |          sysUserCashAccountDetailService.insert(sysUserExpendCashAccountDetail);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(order.getMusicGroupId()));
 | 
	
		
			
				|  |  | +        if(practiceGroup.getGroupStatus().equals(GroupStatusEnum.CANCEL)){
 | 
	
		
			
				|  |  | +            order.setVersion(order.getVersion()+1);
 | 
	
		
			
				|  |  | +            order.setMemo("支付成功,在重新支付时,用户选择取消");
 | 
	
		
			
				|  |  | +            studentPaymentOrderDao.update(order);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            sysUserCashAccountService.updateBalance(order.getUserId(), order.getActualAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "支付成功,用户取消,退还余额");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +            return;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(order.getMusicGroupId(), GroupType.PRACTICE.getCode());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          practiceGroup.setGroupStatus(GroupStatusEnum.NORMAL);
 |