| 
					
				 | 
			
			
				@@ -43,8 +43,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private ClassGroupDao classGroupDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	private VipGroupClassGroupMapperDao vipGroupClassGroupMapperDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private ClassGroupTeacherMapperDao classGroupTeacherMapperDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private CourseScheduleService courseScheduleService; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -259,17 +257,12 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		classGroup.setTotalClassTimes(totalClassTimes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		classGroup.setType(ClassGroupTypeEnum.VIP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		classGroup.setDelFlag(YesOrNoEnum.YES); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		classGroup.setMusicGroupId(vipGroupApplyBaseInfoDto.getId().toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		classGroup.setCreateTime(now); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		classGroup.setUpdateTime(now); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		classGroupDao.insert(classGroup); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//创建vip课班级关联记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		VipGroupClassGroupMapper vipGroupClassGroupMapper=new VipGroupClassGroupMapper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		vipGroupClassGroupMapper.setVipGroupId(vipGroupApplyBaseInfoDto.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		vipGroupClassGroupMapper.setClassGroupId(classGroup.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		vipGroupClassGroupMapperDao.insert(vipGroupClassGroupMapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		//创建班级老师关联记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		ClassGroupTeacherMapper classGroupTeacherMapper=new ClassGroupTeacherMapper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		classGroupTeacherMapper.setMusicGroupId(vipGroupApplyBaseInfoDto.getId().toString()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -448,7 +441,11 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			List<Long> vipGroupIds = dataList.stream().map(vipGroup -> vipGroup.getId()).distinct().collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			List<Map<Long, Integer>> vipGroupOverCourses = vipGroupDao.countVipGroupOverCourse(vipGroupIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			Map<Long,Integer> vipGroupOverCourseMaps = MapUtil.convertIntegerMap(vipGroupOverCourses); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			List<ClassGroup> classGroupsByVipGroups = vipGroupClassGroupMapperDao.findClassGroupsByVipGroups(vipGroupIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<ClassGroup> classGroupsByVipGroups = classGroupDao 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					.findByMusicGroupsAndType(vipGroupIds.stream().map(vipGroupId->String.valueOf(vipGroupId)).collect(Collectors.toList()), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							ClassGroupTypeEnum.VIP.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			Map<String, ClassGroup> vipGroupClassGroupMap = classGroupsByVipGroups.stream().collect(Collectors.toMap(ClassGroup::getMusicGroupId, classGroup -> classGroup)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			dataList.forEach(vipGroup -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				Integer overCourses = vipGroupOverCourseMaps.get(vipGroup.getId()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -823,7 +820,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(Objects.isNull(vipGroup)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			throw new BizException("指定的vip课程不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		ClassGroup classGroup=vipGroupClassGroupMapperDao.findClassGroupByVipGroup(vipGroupId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ClassGroup classGroup=classGroupDao.findByMusicGroupAndType(vipGroupId.toString(),ClassGroupTypeEnum.VIP.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(Objects.isNull(classGroup)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			throw new BizException("未找到关联班级"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -910,13 +907,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			throw new BizException("您已购买过此课程"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		VipGroupClassGroupMapper vipGroupClassGroupMapper = vipGroupClassGroupMapperDao.findByVipGroupId(vipGroup.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if(Objects.isNull(vipGroupClassGroupMapper)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			throw new BizException("课程信息错误"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		ClassGroup classGroup = vipGroupClassGroupMapperDao.findClassGroupByVipGroup(vipGroupBuyParams.getVipGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ClassGroup classGroup= classGroupDao.findByMusicGroupAndType(vipGroup.getId().toString(),ClassGroupTypeEnum.VIP.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(Objects.isNull(classGroup)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			throw new BizException("课程信息错误"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -935,7 +926,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			//更新班级人数,如果订单支付失败则减少 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			this.updateVipGroupStudentNumAndStatus(vipGroup.getId(),1,false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			ClassGroupStudentMapper classGroupStudentMapper=new ClassGroupStudentMapper(vipGroupClassGroupMapper.getClassGroupId(),user.getId().intValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			ClassGroupStudentMapper classGroupStudentMapper=new ClassGroupStudentMapper(classGroup.getId(),user.getId().intValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			classGroupStudentMapper.setMusicGroupId(vipGroup.getId().toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			classGroupStudentMapperDao.insert(classGroupStudentMapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -954,7 +945,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		studentPaymentOrder.setMusicGroupId(vipGroup.getId().toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		studentPaymentOrder.setActualAmount(studentPaymentOrder.getExpectAmount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		studentPaymentOrder.setMusicGroupId(vipGroup.getId().toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		studentPaymentOrder.setClassGroupId(vipGroupClassGroupMapper.getClassGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		studentPaymentOrder.setClassGroupId(classGroup.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			contractService.register(user.getId(),user.getRealName(),user.getIdCardNo(),user.getPhone()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1031,10 +1022,10 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_VIP_BUY, map, null, 0, "2", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				vipGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		VipGroupClassGroupMapper vipGroupClassGroupMapper = vipGroupClassGroupMapperDao.findByVipGroupId(vipGroupId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ClassGroup classGroup=classGroupDao.findByMusicGroupAndType(vipGroupId.toString(),ClassGroupTypeEnum.VIP.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		//更新所属分部列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		List<Integer> organIds = classGroupDao.findStudentOrganIdsByClassGroup(vipGroupClassGroupMapper.getClassGroupId().longValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<Integer> organIds = classGroupDao.findStudentOrganIdsByClassGroup(classGroup.getId().longValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		organIds.add(vipGroup.getOrganId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		HashSet<Integer> hashSet = new HashSet<>(organIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		String organIdsString = StringUtils.join(hashSet, ","); 
			 |