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/GoodsServiceImpl.java | 42 +++++++++++++++++++++++++++++++++++++----- 1 files changed, 37 insertions(+), 5 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 387c300..80dc58a 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 @@ -16,6 +16,7 @@ import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.order.feignClient.OrderClient; import com.ruoyi.order.feignClient.RemoteOrderGoodsClient; import com.ruoyi.order.vo.Price; import com.ruoyi.other.api.domain.*; @@ -27,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; @@ -82,6 +84,8 @@ private GoodsBargainPriceService goodsBargainPriceService; @Resource private GoodsBargainPriceDetailService goodsBargainPriceDetailService; + @Resource + private OrderClient orderClient; @@ -103,17 +107,21 @@ } List<GoodsVO> list = this.baseMapper.goodsList(pageInfo, search.getGoodsCategoryId(), search.getName(), vipId); for (GoodsVO goods : list) { - Price price = getPrice(vipId, goods.getGoodsId(), 1, null, provinceCode, cityCode, districtCode); + Price price = getPrice(vipId, goods.getGoodsId(), null, 1, provinceCode, cityCode, districtCode); if(null != price){ + goods.setCashPayment(price.getCashPayment() ? 1 : 0); + goods.setPointPayment(price.getPointPayment() ? 1 : 0); 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不能为空"); } @@ -137,8 +145,10 @@ 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); goodsVO.setSellingPrice(price.getCash()); goodsVO.setIntegral(price.getPoint()); } @@ -163,6 +173,20 @@ .in(Shop::getDelFlag, 0)); goodsVO.setShopList(shopList); } + 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(); + goodsVO.setSaleNum(integer); return goodsVO; } @@ -184,11 +208,15 @@ } List<Goods> goods = goodsMapper.selectListByShopId(pageInfo, shopId, vipId); for (Goods good : goods) { - Price price = getPrice(vipId, good.getId(), 1, shopId, provinceCode, cityCode, districtCode); + Price price = getPrice(vipId, good.getId(), shopId, 1, provinceCode, cityCode, districtCode); if(null != price){ + good.setCashPayment(price.getCashPayment() ? 1 : 0); + good.setPointPayment(price.getPointPayment() ? 1 : 0); good.setSellingPrice(price.getCash()); good.setIntegral(price.getPoint()); } + Integer data = orderClient.getGoodsSaleNum(good.getId(), 1).getData(); + good.setSaleNum(data); } return goods; } @@ -259,6 +287,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); @@ -268,8 +297,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