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