From 11e61cc9f438225d778c3b688e55caa8a4989cfa Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期五, 10 一月 2025 20:11:38 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java | 29 ++++++++++++++++++++++++++--- 1 files changed, 26 insertions(+), 3 deletions(-) diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java index 05f7de5..1889c68 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java @@ -28,6 +28,7 @@ import com.ruoyi.other.mapper.GoodsShopMapper; import com.ruoyi.other.mapper.ShopMapper; import com.ruoyi.other.service.*; +import com.ruoyi.other.util.GeodesyUtil; import com.ruoyi.other.vo.GoodsVO; import com.ruoyi.system.api.model.LoginUser; import org.jetbrains.annotations.NotNull; @@ -113,12 +114,14 @@ goods.setSellingPrice(price.getCash()); goods.setIntegral(price.getPoint()); } + Integer data = orderClient.getGoodsSaleNum(goods.getGoodsId(), 1).getData(); + goods.setSaleNum(data); } return pageInfo.setRecords(list); } @Override - public GoodsVO goodsDetail(Long goodsId) { + public GoodsVO goodsDetail(Long goodsId, String longitude, String latitude) { if (goodsId == null || goodsId <= 0) { throw new NullPointerException("商品ID不能为空"); } @@ -142,7 +145,7 @@ BeanUtils.copyBeanProp(goodsVO, goods); goodsVO.setGoodsId(goods.getId()); goodsVO.setGoodsName(goods.getName()); - Price price = getPrice(vipId, goods.getId(), 1, null, provinceCode, cityCode, districtCode); + Price price = getPrice(vipId, goods.getId(), null, 1, provinceCode, cityCode, districtCode); if(null != price){ goodsVO.setPointPayment(price.getPointPayment() ? 1 : 0); goodsVO.setCashPayment(price.getCashPayment() ? 1 : 0); @@ -168,6 +171,20 @@ }else{ List<Shop> shopList = shopMapper.selectList(new LambdaQueryWrapper<Shop>() .in(Shop::getDelFlag, 0)); + goodsVO.setShopList(shopList); + } + if(StringUtils.isNotEmpty(longitude) && StringUtils.isNotEmpty(latitude)){ + List<Shop> shopList = goodsVO.getShopList(); + for (Shop shop : shopList) { + Double wgs84 = GeodesyUtil.getDistance(longitude + "," + latitude, shop.getLongitude() + "," + shop.getLatitude()).get("WGS84"); + shop.setDistance(wgs84); + } + shopList.sort(new Comparator<Shop>() { + @Override + public int compare(Shop o1, Shop o2) { + return o1.getDistance().compareTo(o2.getDistance()); + } + }); goodsVO.setShopList(shopList); } Integer integer = orderClient.getGoodsSaleNum(goods.getId(), 1).getData(); @@ -200,6 +217,8 @@ good.setSellingPrice(price.getCash()); good.setIntegral(price.getPoint()); } + Integer data = orderClient.getGoodsSaleNum(good.getId(), 1).getData(); + good.setSaleNum(data); } return goods; } @@ -270,6 +289,7 @@ if (!CollectionUtils.isEmpty(goodsAreaList)){ for (GoodsArea goodsArea : goodsAreaList) { List<GoodsArea> goodsAreaList1 = goodsArea.getGoodsAreaList(); + List<GoodsArea> goodsAreaList2 = new ArrayList<>(); for (GoodsArea area : goodsAreaList1) { area.setId(null); area.setGoodsId(id); @@ -279,8 +299,11 @@ area.setProvinceCode(goodsArea.getProvinceCode()); area.setCityCode(goodsArea.getCityCode()); area.setDistrictsCode(goodsArea.getDistrictsCode()); + if(null != area.getSellingPrice() && null != area.getIntegral()){ + goodsAreaList2.add(area); + } } - goodsAreaService.saveBatch(goodsAreaList1); + goodsAreaService.saveBatch(goodsAreaList2); } } } -- Gitblit v1.7.1