From b44306c69e6dff053e048da0bb8f3355cfda1256 Mon Sep 17 00:00:00 2001 From: zepengdev <lzpsmith@outlook.com> Date: Mon, 04 Aug 2025 22:11:04 +0800 Subject: [PATCH] feat: 增加店铺包装费用修改接口 --- oying-system/src/main/java/com/oying/modules/pc/store/rest/StoreCustomerController.java | 46 ++++++++++++++++++++++++++-------------------- 1 files changed, 26 insertions(+), 20 deletions(-) diff --git a/oying-system/src/main/java/com/oying/modules/pc/store/rest/StoreCustomerController.java b/oying-system/src/main/java/com/oying/modules/pc/store/rest/StoreCustomerController.java index 04dd21d..8e0c22d 100644 --- a/oying-system/src/main/java/com/oying/modules/pc/store/rest/StoreCustomerController.java +++ b/oying-system/src/main/java/com/oying/modules/pc/store/rest/StoreCustomerController.java @@ -1,24 +1,25 @@ package com.oying.modules.pc.store.rest; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.bean.copier.CopyOptions; +import cn.hutool.core.util.ObjUtil; import com.oying.modules.pc.product.domain.Product; import com.oying.modules.pc.product.domain.dto.ProductQueryCriteria; import com.oying.modules.pc.product.domain.enums.ProductStatusEnum; import com.oying.modules.pc.product.service.ProductService; import com.oying.modules.pc.store.domain.Store; -import com.oying.modules.pc.store.domain.StoreQualification; -import com.oying.modules.pc.store.domain.dto.StoreCustomerDetailDto; -import com.oying.modules.pc.store.domain.dto.StoreQualificationQueryCriteria; import com.oying.modules.pc.store.domain.dto.StoreQueryCriteria; +import com.oying.modules.pc.store.domain.enums.StoreStatusEnum; import com.oying.modules.pc.store.service.StoreQualificationService; import com.oying.modules.pc.store.service.StoreQueryService; import com.oying.modules.pc.store.service.StoreService; +import com.oying.modules.pc.store.view.CustomerStoreView; import com.oying.modules.pc.utils.BusinessHoursUtils; import com.oying.utils.PageResult; import com.oying.utils.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; -import org.springframework.beans.BeanUtils; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -47,35 +48,40 @@ @GetMapping(value = "/page") @ApiOperation("查询店铺") public ResponseEntity<?> getStoresByPage(StoreQueryCriteria criteria) { + criteria.setLimit(1000); + criteria.setBusinessStatus(StoreStatusEnum.OPEN.getValue()); PageResult<Store> pagedStores = storeQueryService.findPagedStores(criteria); - List<Store> stores = pagedStores.getContent(); - for (Store store : stores) { - store.setProducts(this.getProductsByStoreId(store.getStoreId())); - } - return ResponseEntity.ok(R.success(stores)); + pagedStores.getContent().forEach(store -> store.setProducts(this.getProductsByStoreId(store.getStoreId()))); + return ResponseEntity.ok(R.success(pagedStores)); } @GetMapping(value = "/{storeId}") @ApiOperation("查询店铺") - public ResponseEntity<?> getStoreDetailsById(@PathVariable("storeId") Long storeId) { + public ResponseEntity<?> getStoreById(@PathVariable("storeId") Long storeId) { Store store = storeService.getById(storeId); - //store.setQualifications(this.getQualificationsByStoreId(store.getStoreId())); - StoreCustomerDetailDto storeDto = new StoreCustomerDetailDto(); - BeanUtils.copyProperties(store, storeDto); - storeDto.setBusinessHours(BusinessHoursUtils.formatBusinessHours(store.getOpenTime(), store.getCloseTime())); - return ResponseEntity.ok(R.success(storeDto)); + CustomerStoreView view = new CustomerStoreView(); + BeanUtil.copyProperties(store, view, CopyOptions.create().setIgnoreNullValue(true)); + view.setBusinessHours(BusinessHoursUtils.formatBusinessHours(store.getOpenTime(), store.getCloseTime())); + return ResponseEntity.ok(R.success(view)); } - private List<StoreQualification> getQualificationsByStoreId(Long storeId) { - StoreQualificationQueryCriteria criteria = new StoreQualificationQueryCriteria(); - criteria.setStoreId(storeId); - return storeQualificationService.queryAll(criteria); + @GetMapping(value = "/{storeId}/details") + @ApiOperation("查询店铺") + public ResponseEntity<?> getStoreDetailsById(@PathVariable("storeId") Long storeId) { + Store store = storeService.getById(storeId); + CustomerStoreView view = new CustomerStoreView(); + BeanUtil.copyProperties(store, view, CopyOptions.create().setIgnoreNullValue(true)); + view.setBusinessHours(BusinessHoursUtils.formatBusinessHours(store.getOpenTime(), store.getCloseTime())); + if (ObjUtil.isNotEmpty(store)) { + view.setQualifications(storeQualificationService.getByStoreId(storeId)); + } + return ResponseEntity.ok(R.success(view)); } private List<Product> getProductsByStoreId(Long storeId) { ProductQueryCriteria criteria = new ProductQueryCriteria(); criteria.setStoreId(storeId); - criteria.setStatus(ProductStatusEnum.AVAILABLE.getValue()); + criteria.setShelfStatus(ProductStatusEnum.AVAILABLE.getValue()); criteria.setLimit(3); return productService.queryAll(criteria); } -- Gitblit v1.9.3