From ddf3f19408fb311734218aaaa5edb49c5134b1eb Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 08 一月 2025 21:14:36 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopServiceImpl.java | 36 ++++++++++++++++++++---------------- 1 files changed, 20 insertions(+), 16 deletions(-) diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopServiceImpl.java index a7e233b..c483fe4 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopServiceImpl.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopServiceImpl.java @@ -28,10 +28,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.math.RoundingMode; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -76,20 +73,25 @@ List<NearbyShopVO> nearbyShopVOS = shopMapper.selectNearbyShopList(longitude, longitude); if(null != appUser && null != appUser.getShopId()){ AppUser finalAppUser = appUser; - NearbyShopVO nearbyShopVO = nearbyShopVOS.stream().filter(s -> s.getId().equals(finalAppUser.getShopId().longValue())).findFirst().get(); - if(null != nearbyShopVO){ - nearbyShopVOS.remove(nearbyShopVO); + Optional<NearbyShopVO> first = nearbyShopVOS.stream().filter(s -> s.getId().equals(finalAppUser.getShopId().longValue())).findFirst(); + if(first.isPresent()){ + NearbyShopVO nearbyShopVO = first.get(); + if(null != nearbyShopVO){ + nearbyShopVOS.remove(nearbyShopVO); + } } Shop shop = shopMapper.selectById(appUser.getShopId()); - NearbyShopVO vo = new NearbyShopVO(); - vo.setId(appUser.getShopId().longValue()); - vo.setName(shop.getName()); - 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.toString()); - nearbyShopVOS.add(0, vo); + if(null != shop){ + NearbyShopVO vo = new NearbyShopVO(); + vo.setId(appUser.getShopId().longValue()); + vo.setName(shop.getName()); + 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.toString()); + nearbyShopVOS.add(0, vo); + } } if (nearbyShopVOS == null || nearbyShopVOS.isEmpty()) { return Collections.emptyList(); @@ -117,12 +119,14 @@ @Override public ShopDetailVO getShopDetail(Integer shopId, BigDecimal longitude, BigDecimal latitude) { + Long userid = tokenService.getLoginUserApplet().getUserid(); // 查询店铺详情 ShopDetailVO shopDetailVO = shopMapper.selectShopDetail(shopId); if (shopDetailVO == null) { throw new ServiceException("查询店铺不存在"); } - + ShopScore one = shopScoreService.getOne(new LambdaQueryWrapper<ShopScore>().eq(ShopScore::getAppUserId, userid).eq(ShopScore::getShopId, shopId).last(" order by create_time desc limit 0, 1")); + shopDetailVO.setScore(null == one ? BigDecimal.ZERO : one.getScore()); // 计算距离 if (shopDetailVO.getLongitude() != null && shopDetailVO.getLatitude() != null){ String shopLocation = String.format("%s,%s", shopDetailVO.getLongitude(), shopDetailVO.getLatitude()); -- Gitblit v1.7.1