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 |   27 ++++++++++++++++++++++++---
 1 files changed, 24 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..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
@@ -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);
@@ -170,6 +173,18 @@
                     .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;
@@ -200,6 +215,8 @@
                 good.setSellingPrice(price.getCash());
                 good.setIntegral(price.getPoint());
             }
+            Integer data = orderClient.getGoodsSaleNum(good.getId(), 1).getData();
+            good.setSaleNum(data);
         }
         return goods;
     }
@@ -270,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);
@@ -279,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