From 347909bae241fff128b628ea6d12992d7e5b4b10 Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Fri, 30 May 2025 18:35:43 +0800
Subject: [PATCH] 响应信息主体

---
 oying-system/src/main/java/com/oying/modules/pc/search/rest/StoreSearchController.java |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 58 insertions(+), 0 deletions(-)

diff --git a/oying-system/src/main/java/com/oying/modules/pc/search/rest/StoreSearchController.java b/oying-system/src/main/java/com/oying/modules/pc/search/rest/StoreSearchController.java
new file mode 100644
index 0000000..557a76e
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/pc/search/rest/StoreSearchController.java
@@ -0,0 +1,58 @@
+package com.oying.modules.pc.search.rest;
+
+import cn.hutool.core.collection.CollUtil;
+import com.oying.utils.R;
+import com.oying.modules.pc.search.domain.dto.NearbyStoreQueryCriteria;
+import com.oying.modules.pc.search.domain.dto.StoreSearchDto;
+import com.oying.modules.pc.search.view.StoreSearchView;
+import com.oying.modules.pc.search.service.StoreSearchService;
+import com.oying.utils.PageResult;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Collections;
+import java.util.stream.Collectors;
+
+/**
+ * 店铺
+ *
+ * @author lzp
+ * @date 2025-04-22
+ */
+@RestController
+@RequestMapping("/api/pc/search")
+@RequiredArgsConstructor
+public class StoreSearchController {
+
+    private final StoreSearchService storeSearchService;
+
+    /**
+     * 查询最近的店铺
+     */
+    @GetMapping("/near")
+    public R<PageResult<StoreSearchView>> list(NearbyStoreQueryCriteria criteria) {
+        return R.success(toStoreSearchVo(storeSearchService.findNearStores(criteria)));
+    }
+
+    private PageResult<StoreSearchView> toStoreSearchVo(PageResult<StoreSearchDto> resources) {
+        PageResult<StoreSearchView> t = new PageResult<>();
+        t.setTotalElements(resources.getTotalElements());
+        if (CollUtil.isNotEmpty(resources.getContent())) {
+            t.setContent(resources.getContent().stream().map(storeSearchDto -> {
+                StoreSearchView searchView = new StoreSearchView();
+                searchView.setStoreId(storeSearchDto.getStoreId());
+                searchView.setStoreName(storeSearchDto.getStoreName());
+                searchView.setStoreLogoUrl(""); // 获取obs
+                searchView.setDistance(storeSearchDto.getDistance());
+                searchView.setRecommendedProducts(Collections.emptyList());
+                return searchView;
+            }).collect(Collectors.toList()));
+        }
+        if (CollUtil.isEmpty(t.getContent())) {
+            t.setContent(Collections.emptyList());
+        }
+        return t;
+    }
+}

--
Gitblit v1.9.3