| 
					
				 | 
			
			
				@@ -727,6 +727,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public void updateVipGroupStudentNumAndStatus(Long vipGroupId, Integer num, boolean updateVipStatus) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		VipGroup vipGroup = vipGroupDao.getLockVipGroup(vipGroupId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(Objects.isNull(vipGroup)){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -777,7 +778,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			throw new BizException("课程信息错误"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		ClassGroup classGroup = classGroupDao.get(vipGroupClassGroupMapper.getClassGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ClassGroup classGroup = vipGroupClassGroupMapperDao.findClassGroupByVipGroup(vipGroupBuyParams.getVipGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(Objects.isNull(classGroup)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			throw new BizException("课程信息错误"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -786,19 +787,17 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				user.getId(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				DealStatusEnum.ING.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(classGroup.getStudentNum()>=classGroup.getExpectStudentNum()&&Objects.nonNull(byStudentVipGroup)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            throw new BizException("该课程人数已达上限"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(Objects.nonNull(byStudentVipGroup)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			byStudentVipGroup.setStatus(DealStatusEnum.CLOSE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			studentPaymentOrderDao.update(byStudentVipGroup); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(classGroup.getStudentNum()>=classGroup.getExpectStudentNum()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				throw new BizException("该课程人数已达上限"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			//更新班级人数,如果订单支付失败则减少 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			updateVipGroupStudentNumAndStatus(vipGroup.getId(),1,false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			this.updateVipGroupStudentNumAndStatus(vipGroup.getId(),1,false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//		VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(vipGroup.getVipGroupActivityId().intValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		StudentPaymentOrder studentPaymentOrder=new StudentPaymentOrder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		studentPaymentOrder.setUserId(user.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		String orderNo=StringUtils.join(new String[]{user.getId().toString(),String.valueOf(System.currentTimeMillis())}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -807,11 +806,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		studentPaymentOrder.setType(OrderTypeEnum.SMALL_CLASS_TO_BUY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		studentPaymentOrder.setExpectAmount(vipGroup.getTotalPrice()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		studentPaymentOrder.setMusicGroupId(vipGroup.getId().toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//		if(vipGroupActivity.getType()==VipGroupActivityTypeEnum.DISCOUNT){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//			studentPaymentOrder.setActualAmount(studentPaymentOrder.getExpectAmount().multiply(new BigDecimal(vipGroupActivity.getAttribute1()))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//		}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		studentPaymentOrder.setActualAmount(studentPaymentOrder.getExpectAmount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		studentPaymentOrder.setMusicGroupId(vipGroup.getId().toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		studentPaymentOrder.setClassGroupId(vipGroupClassGroupMapper.getClassGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -826,12 +821,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		studentPaymentOrder.setPaymentChannel((String) payMap.get("type")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		studentPaymentOrderDao.insert(studentPaymentOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//		StudentVipGroupPayment studentVipGroupPayment=new StudentVipGroupPayment(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//		studentVipGroupPayment.setUserId(user.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//		studentVipGroupPayment.setVipGroupId(vipGroup.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//		studentVipGroupPayment.setClassGroupId(vipGroupClassGroupMapper.getClassGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//		studentVipGroupPayment.setStudentPaymentOrderId(studentPaymentOrder.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//		studentVipGroupPaymentDao.insert(studentVipGroupPayment); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return payMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 |