From 0300f6a0d282236a8339c92268f4031f071101e5 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 31 十月 2025 19:19:44 +0800
Subject: [PATCH] App预约场地操作

---
 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 f6d36c3..f2a8644 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
@@ -398,20 +398,22 @@
     @PostMapping("/base/pointMerchars/getCommoditys")
     public PointMerchandiseVo getVicinityGoods(@RequestBody CommodityRequest request) {
 
+
         PointMerchandiseVo pointMerchandiseVo = new PointMerchandiseVo();
         List<PointsMerchandise> list = new ArrayList<>();
         String provinceCode = "";
         String cityCode = "";
         if (ToolUtil.isEmpty(request.getLon()) && ToolUtil.isEmpty(request.getLat())) {
-            return pointMerchandiseVo;
+        }else{
+            try {
+                Map<String, String> geocode = gdMapGeocodingUtil.geocode(request.getLon(), request.getLat());
+                provinceCode = geocode.get("provinceCode");
+                cityCode = geocode.get("cityCode");
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
         }
-        try {
-            Map<String, String> geocode = gdMapGeocodingUtil.geocode(request.getLon(), request.getLat());
-            provinceCode = geocode.get("provinceCode");
-            cityCode = geocode.get("cityCode");
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
+
 
         list = pmdsService.list(new QueryWrapper<PointsMerchandise>()
                 .eq("state", 1)
@@ -420,6 +422,27 @@
                 .ge("endTime", new Date())
                 .eq("status", 1)
         );
+        if (request.getShopId()!=null){
+            List<Integer> storeId = new ArrayList<>();
+            storeId.add(request.getShopId());
+            List<Store> stores = storeClient.queryStoreByIds(storeId);
+            Store store = stores.get(0);
+            provinceCode = store.getProvinceCode();
+            cityCode = store.getCityCode();
+            List<Integer> pointsMerchandiseIds = pmdstoService.lambdaQuery().eq(PointsMerchandiseStore::getStoreId, request.getShopId()).list()
+                    .stream().map(PointsMerchandiseStore::getPointsMerchandiseId)
+                    .collect(Collectors.toList());
+            if (pointsMerchandiseIds.isEmpty()){
+                pointMerchandiseVo.setMerchandises(list);
+                return pointMerchandiseVo;
+            }else{
+                List<PointsMerchandise> pointsMerchandiseList = pmdsService.lambdaQuery().in(PointsMerchandise::getId, pointsMerchandiseIds).list();
+                list.addAll(pointsMerchandiseList);
+                List<PointsMerchandise> listAll = list.stream().distinct().collect(Collectors.toList());
+                list = listAll;
+            }
+        }
+
         if (list.size() > 0) {
             Iterator<PointsMerchandise> iterator = list.iterator();
             while (iterator.hasNext()) {

--
Gitblit v1.7.1