RegionalFlagUtil.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package com.sooka.sponest.data.utils;
  2. import com.sooka.sponest.data.generalbusiness.domain.bo.LatLngAndFlagType;
  3. import com.sooka.sponest.data.system.areamarking.domain.RegionalFlag;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6. import java.util.Map;
  7. import java.util.stream.Collectors;
  8. public class RegionalFlagUtil {
  9. private RegionalFlagUtil() {
  10. throw new IllegalStateException("Utility class");
  11. }
  12. public static List<LatLngAndFlagType> getRegionalFlag(List<RegionalFlag> regionalFlags, String eventId) {
  13. List<LatLngAndFlagType> list = new ArrayList<>();
  14. Map<Long, List<RegionalFlag>> entityMap = regionalFlags.stream().collect(Collectors.groupingBy(RegionalFlag::getFlagType));//分类
  15. String name = "";
  16. for (Map.Entry<Long, List<RegionalFlag>> entry : entityMap.entrySet()) {
  17. List<RegionalFlag> typeEntities = entry.getValue();
  18. LatLngAndFlagType latLngAndFlagType = new LatLngAndFlagType();
  19. List<String> list1 = new ArrayList<>();
  20. for (RegionalFlag entity : typeEntities) {
  21. list1.add(entity.getLongitude());
  22. list1.add(entity.getLatitude());
  23. name = entity.getName();
  24. }
  25. latLngAndFlagType.setEventId(eventId);
  26. latLngAndFlagType.setLatLng(list1);
  27. latLngAndFlagType.setName(name);
  28. latLngAndFlagType.setFlagType(entry.getKey());
  29. list.add(latLngAndFlagType);
  30. }
  31. return list;
  32. }
  33. }