puzhibing
2025-01-13 acccff9860b271d55c55dc87486f7c20b9896e6c
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopServiceImpl.java
@@ -73,7 +73,7 @@
        List<NearbyShopVO> nearbyShopVOS = shopMapper.selectNearbyShopList();
        for (NearbyShopVO nearbyShopVO : nearbyShopVOS) {
            Double wgs84 = GeodesyUtil.getDistance(nearbyShopVO.getLongitude() + "," + nearbyShopVO.getLatitude(), longitude + "," + latitude).get("WGS84");
            nearbyShopVO.setDistance(wgs84);
            nearbyShopVO.setDistance(new BigDecimal(wgs84).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
        }
        nearbyShopVOS.sort(new Comparator<NearbyShopVO>() {
            @Override
@@ -100,7 +100,7 @@
                vo.setAddress(shop.getAddress());
                vo.setHomePicture(shop.getHomePicture());
                Double wgs84 = GeodesyUtil.getDistance(longitude.toString() + "," + latitude.toString(), shop.getLongitude() + "," + shop.getLatitude()).get("WGS84");
                vo.setDistance(wgs84);
                vo.setDistance(new BigDecimal(wgs84).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
                nearbyShopVOS.add(0, vo);
            }
        }
@@ -117,6 +117,7 @@
        Map<Long, List<ShopScore>> shopScoreMap = shopScores.stream().collect(Collectors.groupingBy(ShopScore::getShopId));
        AppUser finalAppUser1 = appUser;
        nearbyShopVOS.forEach(nearbyShopVO -> {
            nearbyShopVO.setScore("5");
            List<ShopScore> scores = shopScoreMap.get(nearbyShopVO.getId());
            if (scores != null && !scores.isEmpty()){
                BigDecimal score = scores.stream()