1.
phpcjl
2024-12-09 b6e9ff8ab421da0708853ab52b75eda450b1a325
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopServiceImpl.java
@@ -16,6 +16,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -36,10 +37,18 @@
    private ShopScoreService shopScoreService;
    @Override
    public List<NearbyShopVO> nearbyShopList(String longitude, String latitude) {
        List<NearbyShopVO> nearbyShopVOS = shopMapper.selectNearbyShopList(longitude, latitude);
    public List<NearbyShopVO> nearbyShopList(BigDecimal longitude, BigDecimal latitude) {
        List<NearbyShopVO> nearbyShopVOS = shopMapper.selectNearbyShopList(longitude, longitude);
        if (nearbyShopVOS == null || nearbyShopVOS.isEmpty()) {
            return Collections.emptyList();
        }
        List<Long> shopIds = nearbyShopVOS.stream().map(NearbyShopVO::getId).collect(Collectors.toList());
        List<ShopScore> shopScores = shopScoreService.list(new LambdaQueryWrapper<ShopScore>().in(ShopScore::getShopId, shopIds));
        if (shopScores == null || shopScores.isEmpty()) {
            return nearbyShopVOS;
        }
        Map<Long, List<ShopScore>> shopScoreMap = shopScores.stream().collect(Collectors.groupingBy(ShopScore::getShopId));
        nearbyShopVOS.forEach(nearbyShopVO -> {
@@ -74,9 +83,6 @@
        return shopDetailVO;
    }
    public static void main(String[] args) {
        String userLocation = String.format("%s,%s", "106.6664549", "29.4158471");
        System.out.println(userLocation);
    }
}