|  | @@ -100,7 +100,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  		if(StringUtils.isNotBlank(queryInfo.getOrganId())){
 | 
	
		
			
				|  |  |  			organIds = Arrays.stream(queryInfo.getOrganId().split(",")).map(Integer::new).collect(Collectors.toSet());
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -		Set<String> dataTypes = null;
 | 
	
		
			
				|  |  | +		Set<String> dataTypes = new HashSet<>();
 | 
	
		
			
				|  |  |  		if(StringUtils.isNotBlank(queryInfo.getDataTypes())){
 | 
	
		
			
				|  |  |  			dataTypes = Arrays.stream(queryInfo.getDataTypes().split(",")).collect(Collectors.toSet());
 | 
	
		
			
				|  |  |  		}
 | 
	
	
		
			
				|  | @@ -110,8 +110,34 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			indexBaseDatas = new ArrayList<>();
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		List<IndexBaseMonthData> indexBaseDataList = indexBaseMonthDataDao.getIndexBaseDataList(organIds, dataTypes, startDate.toString(), endDate.toString());
 | 
	
		
			
				|  |  | -//		Map<Date, Map<String, Integer>> vipCategory
 | 
	
		
			
				|  |  | +		Map<Date, Map<IndexDataType, Map<String, Integer>>> vipCategoryCourseListMap = new HashMap<>();
 | 
	
		
			
				|  |  | +		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains("VIP_GROUP_COURSE")||dataTypes.contains("VIP_GROUP_ONLINE_COURSE")||dataTypes.contains("VIP_GROUP_OFFLINE_COURSE")){
 | 
	
		
			
				|  |  | +			dataTypes.clear();
 | 
	
		
			
				|  |  | +			dataTypes.add("VIP_GROUP_COURSE");
 | 
	
		
			
				|  |  | +			dataTypes.add("VIP_GROUP_ONLINE_COURSE");
 | 
	
		
			
				|  |  | +			dataTypes.add("VIP_GROUP_OFFLINE_COURSE");
 | 
	
		
			
				|  |  | +			List<IndexBaseMonthData> indexBaseDataList = indexBaseMonthDataDao.getIndexBaseDataList(organIds, dataTypes, startDate.toString(), endDate.toString());
 | 
	
		
			
				|  |  | +			if(!CollectionUtils.isEmpty(indexBaseDataList)){
 | 
	
		
			
				|  |  | +				for (IndexBaseMonthData indexBaseMonthData : indexBaseDataList) {
 | 
	
		
			
				|  |  | +					if(StringUtils.isBlank(indexBaseMonthData.getExtendInfo())){
 | 
	
		
			
				|  |  | +						continue;
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +					if(!vipCategoryCourseListMap.containsKey(indexBaseMonthData.getMonth())){
 | 
	
		
			
				|  |  | +						vipCategoryCourseListMap.put(indexBaseMonthData.getMonth(), new HashMap<>());
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +					if(!vipCategoryCourseListMap.get(indexBaseMonthData.getMonth()).containsKey(indexBaseMonthData.getDataType())){
 | 
	
		
			
				|  |  | +						vipCategoryCourseListMap.get(indexBaseMonthData.getMonth()).put(indexBaseMonthData.getDataType(), new HashMap<>());
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +					Map<String, Integer> map = JSON.parseObject(indexBaseMonthData.getExtendInfo(), Map.class);
 | 
	
		
			
				|  |  | +					for (Map.Entry<String, Integer> o : map.entrySet()) {
 | 
	
		
			
				|  |  | +						if(!vipCategoryCourseListMap.get(indexBaseMonthData.getMonth()).get(indexBaseMonthData.getDataType()).containsKey(o.getKey())){
 | 
	
		
			
				|  |  | +							vipCategoryCourseListMap.get(indexBaseMonthData.getMonth()).get(indexBaseMonthData.getDataType()).put(o.getKey(), 0);
 | 
	
		
			
				|  |  | +						}
 | 
	
		
			
				|  |  | +						vipCategoryCourseListMap.get(indexBaseMonthData.getMonth()).get(indexBaseMonthData.getDataType()).put(o.getKey(), vipCategoryCourseListMap.get(indexBaseMonthData.getMonth()).get(indexBaseMonthData.getDataType()).get(o.getKey())+o.getValue());
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		Map<IndexDataType, List<IndexBaseMonthData>> typeDateMap = indexBaseDatas.stream().filter(d->Objects.nonNull(d.getDataType())).collect(Collectors.groupingBy(IndexBaseMonthData::getDataType));
 | 
	
		
			
				|  |  |  		List<IndexBaseMonthData> financePayDataWithTimely = indexBaseMonthDataDao.getFinancePayDataWithTimely(startDate.toString(), endDate.toString(), new ArrayList<>(organIds));
 | 
	
	
		
			
				|  | @@ -214,13 +240,14 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  					IndexDataType.TOTAL_AMOUNT.equals(typeDateMapEntry.getKey())){
 | 
	
		
			
				|  |  |  				indexBaseData.setPercent(typeDateMapEntry.getValue().stream().map(IndexBaseMonthData::getPercent).reduce(BigDecimal.ZERO, BigDecimal::add));
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | -//			if(IndexDataType.VIP_GROUP_COURSE.equals(typeDateMapEntry.getKey()) || VIP_GROUP_ONLINE_COURSE.equals(typeDateMapEntry.getKey()) ||
 | 
	
		
			
				|  |  | -//					IndexDataType.VIP_GROUP_OFFLINE_COURSE.equals(typeDateMapEntry.getKey())){
 | 
	
		
			
				|  |  | -//				List<OrganVipGroupCategoryCourseNumDto> extendInfos = indexBaseData.getIndexMonthData().stream().filter(d -> StringUtils.isNotBlank(d.getExtendInfo())).map(d -> JSON.parseObject(d.getExtendInfo(), OrganVipGroupCategoryCourseNumDto.class)).collect(Collectors.toList());
 | 
	
		
			
				|  |  | -//				if(!CollectionUtils.isEmpty(extendInfos)){
 | 
	
		
			
				|  |  | -//					extendInfos.stream().
 | 
	
		
			
				|  |  | -//				}
 | 
	
		
			
				|  |  | -//			}
 | 
	
		
			
				|  |  | +			if(IndexDataType.VIP_GROUP_COURSE.equals(typeDateMapEntry.getKey()) || VIP_GROUP_ONLINE_COURSE.equals(typeDateMapEntry.getKey()) ||
 | 
	
		
			
				|  |  | +					IndexDataType.VIP_GROUP_OFFLINE_COURSE.equals(typeDateMapEntry.getKey())){
 | 
	
		
			
				|  |  | +				for (IndexBaseMonthData indexBaseMonthData : indexBaseData.getIndexMonthData()) {
 | 
	
		
			
				|  |  | +					if(vipCategoryCourseListMap.containsKey(indexBaseMonthData.getMonth())&&vipCategoryCourseListMap.get(indexBaseMonthData.getMonth()).containsKey(indexBaseData.getDataType())){
 | 
	
		
			
				|  |  | +						indexBaseMonthData.setExtendInfo(JSON.toJSONString(vipCategoryCourseListMap.get(indexBaseMonthData.getMonth()).get(indexBaseData.getDataType())));
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  |  			result.add(indexBaseData);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		return result;
 |