From 18b58aaf9bd99cadd0e7f80fe5d80586f2f4831a Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期五, 24 十一月 2023 18:32:43 +0800
Subject: [PATCH] 11.24

---
 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java |   39 +++++++++++++++++++++++++++++++--------
 1 files changed, 31 insertions(+), 8 deletions(-)

diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
index 3d82719..eb34857 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -24,10 +24,7 @@
 import com.dsh.activity.model.response.GoodsInfoOneVo;
 import com.dsh.activity.model.response.StoreVos;
 import com.dsh.activity.service.*;
-import com.dsh.activity.util.GDMapGeocodingUtil;
-import com.dsh.activity.util.StrUtils;
-import com.dsh.activity.util.TokenUtil;
-import com.dsh.activity.util.ToolUtil;
+import com.dsh.activity.util.*;
 import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -279,6 +276,11 @@
     }
 
 
+    @Resource
+    private StoreClient storeClient;
+
+    @Autowired
+    private PointsMerchandiseStoreService pointsMerchandiseStoreService;
     @ResponseBody
     @PostMapping("/base/pointMerchars/convertGoods")
     public List<IntegralCommodity> getConvertibleGoods(@RequestBody Location location) throws Exception {
@@ -289,15 +291,36 @@
         String cityCode = geocode.get("cityCode");
 
 
-        List<PointsMerchandiseCity> cityCode1 = pmdsCityService.list(new QueryWrapper<PointsMerchandiseCity>().eq("cityCode", cityCode));
+//        if(null != geocode) {
+
+            List<Store> stores = storeClient.queryStoreList(new QueryStoreList(provinceCode, cityCode));
+            Store s = null;
+            Double d = 0D;
+            for (Store store : stores) {
+                Map<String, Double> distance = GeodesyUtil.getDistance(location.getLon() + "," + location.getLat(), store.getLon() + "," + store.getLat());
+                Double wgs84 = distance.get("WGS84");
+                if (s == null || d > wgs84) {
+                    s = store;
+                    d = wgs84;
+                }
+            }
+//        }
+
+//        List<PointsMerchandiseCity> cityCode1 = pmdsCityService.list(new QueryWrapper<PointsMerchandiseCity>().eq("cityCode", cityCode));
         List<Integer> cIds = new ArrayList<>();
-        for (PointsMerchandiseCity pointsMerchandiseCity : cityCode1) {
-            cIds.add(pointsMerchandiseCity.getPointsMerchandiseId());
+//        for (PointsMerchandiseCity pointsMerchandiseCity : cityCode1) {
+//            cIds.add(pointsMerchandiseCity.getPointsMerchandiseId());
+//        }
+
+        List<PointsMerchandiseStore> storesids =pointsMerchandiseStoreService.list(new QueryWrapper<PointsMerchandiseStore>().eq("storeId",s.getId()));
+        for (PointsMerchandiseStore storesid : storesids) {
+            cIds.add(storesid.getPointsMerchandiseId());
         }
+
 
 //        if (cIds.size()>0) {
 
-            List<PointsMerchandise> merchandises = pmdsService.list(new QueryWrapper<PointsMerchandise>()
+            List<PointsMerchandise> merchandises = pmdsService.list(new QueryWrapper<PointsMerchandise>().in("id",cIds)
                     .eq("state", 1)
                     .eq("shelves", 1)
                     .gt("endTime", new Date()).last("ORDER BY sort desc,insertTime desc"));

--
Gitblit v1.7.1