|  | @@ -180,17 +180,17 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
 | 
	
		
			
				|  |  |                  .subtract(subjectChange.getOriginalMusicalPrice()).subtract(subjectChange.getOriginalAccessoriesPrice());
 | 
	
		
			
				|  |  |          subjectChange.setGoodsMargin(goodsMargin);
 | 
	
		
			
				|  |  |          subjectChange.setCostMargin(subjectChange.getChangeCost().subtract(subjectChange.getOriginalCost()));
 | 
	
		
			
				|  |  | +        subjectChange.setCostMargin(subjectChange.getChangeCost().subtract(subjectChange.getOriginalCost()));
 | 
	
		
			
				|  |  |          //差价 <= 0
 | 
	
		
			
				|  |  | -        if (subjectChange.getGoodsMargin().add(subjectChange.getCourseMargin()).compareTo(BigDecimal.ZERO) <= 0) {
 | 
	
		
			
				|  |  | +        BigDecimal amountMargin = subjectChange.getGoodsMargin().add(subjectChange.getCourseMargin());
 | 
	
		
			
				|  |  | +        if (amountMargin.compareTo(BigDecimal.ZERO) <= 0) {
 | 
	
		
			
				|  |  |              subjectChange.setStatus(SubjectChangeStatusEnum.SUCCESSED);
 | 
	
		
			
				|  |  |              subjectChange.setSellAmount(BigDecimal.ZERO);
 | 
	
		
			
				|  |  |              subjectChange.setSellTime(nowDate);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //差价小于0退到余额
 | 
	
		
			
				|  |  | -        if (subjectChange.getGoodsMargin().add(subjectChange.getCourseMargin()).compareTo(BigDecimal.ZERO) < 0) {
 | 
	
		
			
				|  |  | -            subjectChange.setStatus(SubjectChangeStatusEnum.SUCCESSED);
 | 
	
		
			
				|  |  | -            subjectChange.setSellAmount(BigDecimal.ZERO);
 | 
	
		
			
				|  |  | -            subjectChange.setSellTime(nowDate);
 | 
	
		
			
				|  |  | +        if (amountMargin.compareTo(BigDecimal.ZERO) <= 0) {
 | 
	
		
			
				|  |  | +            sysUserCashAccountService.updateBalance(subjectChange.getStudentId(), amountMargin.negate(), PlatformCashAccountDetailTypeEnum.REFUNDS, "声部更换退还");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          subjectChange.setCreateTime(nowDate);
 | 
	
		
			
				|  |  |          subjectChange.setUpdateTime(nowDate);
 |