|
@@ -233,14 +233,31 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
|
|
|
dataList = new ArrayList<>();
|
|
|
}
|
|
|
Set<Integer> hasOrganIds = dataList.stream().map(IndexBaseMonthData::getOrganId).collect(Collectors.toSet());
|
|
|
+
|
|
|
+ boolean specialType = IndexDataType.NEWLY_STUDENT_NUM.equals(indexDataType)||IndexDataType.QUIT_MUSIC_GROUP_STUDENT_NUM.equals(indexDataType);
|
|
|
+ Set<Integer> ignoreOrganIds = new HashSet<>();
|
|
|
+ if(specialType){
|
|
|
+ List<IndexBaseMonthData> indexBaseDatas = indexBaseMonthDataDao.getWithDayAndDataType(dayStr, indexDataType);
|
|
|
+ if(!CollectionUtils.isEmpty(indexBaseDatas)) {
|
|
|
+ ignoreOrganIds = indexBaseDatas.stream().map(IndexBaseMonthData::getOrganId).collect(Collectors.toSet());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
for (Integer organId : this.organIds.get()) {
|
|
|
if(hasOrganIds.contains(organId)){
|
|
|
continue;
|
|
|
}
|
|
|
+ if(specialType&&ignoreOrganIds.contains(organId)){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
dataList.add(new IndexBaseMonthData(date, organId));
|
|
|
}
|
|
|
- indexBaseMonthDataDao.deleteWithMonthAndType(Arrays.asList(dayStr), indexDataType);
|
|
|
- indexBaseMonthDataDao.batchInsertWithDataType(dataList, indexDataType);
|
|
|
+ if(!IndexDataType.NEWLY_STUDENT_NUM.equals(indexDataType)&&!IndexDataType.QUIT_MUSIC_GROUP_STUDENT_NUM.equals(indexDataType)){
|
|
|
+ indexBaseMonthDataDao.deleteWithMonthAndType(Arrays.asList(dayStr), indexDataType);
|
|
|
+ }
|
|
|
+ if(!CollectionUtils.isEmpty(dataList)){
|
|
|
+ indexBaseMonthDataDao.batchInsertWithDataType(dataList, indexDataType);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|