From d4c615789901fc5e1b828011d19983d2800184b7 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期四, 29 二月 2024 16:20:49 +0800 Subject: [PATCH] 添加世界杯列表距离排序 --- cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java | 37 ++++++++++++++++++++++++------------- 1 files changed, 24 insertions(+), 13 deletions(-) diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java index b042b56..f6fec68 100644 --- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java +++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java @@ -159,9 +159,6 @@ */ @Override public List<WorldCupListVo> getWorldCupList(WorldCupList worldCupList) { - if(null == worldCupList.getSort()){ - worldCupList.setSort(1); - } //没有筛选门店,默认使用当前门店 if(null == worldCupList.getStoreId()){ worldCupList.setStoreId(worldCupList.getStoreId()); @@ -177,20 +174,34 @@ heat += count; } worldCupListVo.setHeat(heat); + String lat = worldCupListVo.getLat(); + String lon = worldCupListVo.getLon(); + Map<String, Double> distance = GeodesyUtil.getDistance(lon + "," + lat, worldCupList.getLon() + "," + worldCupList.getLat()); + worldCupListVo.setDistance(distance.get("WGS84")); } - Collections.sort(worldCupList1, new Comparator<WorldCupListVo>() { - @Override - public int compare(WorldCupListVo o1, WorldCupListVo o2) { - if(worldCupList.getSort() == 1){ - return o1.getHeat().compareTo(o2.getHeat()); + + if(null != worldCupList.getSort()){ + Collections.sort(worldCupList1, new Comparator<WorldCupListVo>() { + @Override + public int compare(WorldCupListVo o1, WorldCupListVo o2) { + if(worldCupList.getSort() == 1){ + return o1.getHeat().compareTo(o2.getHeat()); + } + if(worldCupList.getSort() == 2){ + return o1.getHeat().compareTo(o2.getHeat()) * -1; + } + return 0; } - if(worldCupList.getSort() == 2){ - return o1.getHeat().compareTo(o2.getHeat()) * -1; + }); + }else{ + Collections.sort(worldCupList1, new Comparator<WorldCupListVo>() { + @Override + public int compare(WorldCupListVo o1, WorldCupListVo o2) { + return o1.getDistance().compareTo(o2.getDistance()) * -1; } - return 0; - } - }); + }); + } return worldCupList1; } -- Gitblit v1.7.1