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