package com.sooka.sponest.data.utils; import com.sooka.sponest.data.generalbusiness.domain.bo.LatLngAndFlagType; import com.sooka.sponest.data.system.areamarking.domain.RegionalFlag; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class RegionalFlagUtil { private RegionalFlagUtil() { throw new IllegalStateException("Utility class"); } public static List getRegionalFlag(List regionalFlags, String eventId) { List list = new ArrayList<>(); Map> entityMap = regionalFlags.stream().collect(Collectors.groupingBy(RegionalFlag::getFlagType));//分类 String name = ""; for (Map.Entry> entry : entityMap.entrySet()) { List typeEntities = entry.getValue(); LatLngAndFlagType latLngAndFlagType = new LatLngAndFlagType(); List list1 = new ArrayList<>(); for (RegionalFlag entity : typeEntities) { list1.add(entity.getLongitude()); list1.add(entity.getLatitude()); name = entity.getName(); } latLngAndFlagType.setEventId(eventId); latLngAndFlagType.setLatLng(list1); latLngAndFlagType.setName(name); latLngAndFlagType.setFlagType(entry.getKey()); list.add(latLngAndFlagType); } return list; } }