From 4b1cb74450d178af66b3f87073edb441f6fbc103 Mon Sep 17 00:00:00 2001 From: zepengdev <lzpsmith@outlook.com> Date: Thu, 26 Jun 2025 22:37:43 +0800 Subject: [PATCH] fix: 分页查询的商品信息包含图片和标签信息 --- oying-system/src/main/java/com/oying/modules/pc/product/rest/ProductController.java | 28 +++++++++++++++++++--------- 1 files changed, 19 insertions(+), 9 deletions(-) diff --git a/oying-system/src/main/java/com/oying/modules/pc/product/rest/ProductController.java b/oying-system/src/main/java/com/oying/modules/pc/product/rest/ProductController.java index 7f42839..149958d 100644 --- a/oying-system/src/main/java/com/oying/modules/pc/product/rest/ProductController.java +++ b/oying-system/src/main/java/com/oying/modules/pc/product/rest/ProductController.java @@ -11,12 +11,13 @@ import com.oying.modules.pc.product.service.ProductImageService; import com.oying.modules.pc.product.service.ProductLabelService; import com.oying.modules.pc.product.service.ProductService; +import com.oying.utils.PageResult; import com.oying.utils.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; -import org.apache.commons.lang3.ObjectUtils; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -54,12 +55,25 @@ return ResponseEntity.ok(R.success(productService.queryAll(criteria))); } + @GetMapping(value = "/batch") + @ApiOperation("查询商品(批量)") + // @PreAuthorize("@el.check('product:list')") + public ResponseEntity<?> getProductsByIds(@RequestParam(value = "ids") List<Long> ids) { + return ResponseEntity.ok(R.success(productService.listByIds(ids))); + } + @GetMapping(value = "/page") @ApiOperation("查询商品") // @PreAuthorize("@el.check('product:list')") public ResponseEntity<?> getProductsByPage(ProductQueryCriteria criteria) { Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize()); - return ResponseEntity.ok(R.success(productService.queryAll(criteria, page))); + PageResult<Product> pageResult = productService.queryAll(criteria, page); + pageResult.getContent().forEach(product -> { + Long productId = product.getProductId(); + product.setImages(productImageService.queryImagesByProductId(productId)); + product.setLabels(productLabelService.queryLabelsByProductId(productId)); + }); + return ResponseEntity.ok(R.success(pageResult)); } @GetMapping(value = "/{productId}}") @@ -104,20 +118,16 @@ @Log("新增商品") @ApiOperation("新增商品") //@PreAuthorize("@el.check('merchant:product:add')") - public ResponseEntity<?> createProduct(@PathVariable Long storeId, - @Validated @RequestBody ProductMerchantCreateRequest request) { - request.setStoreId(ObjectUtils.defaultIfNull(request.getStoreId(), storeId)); + public ResponseEntity<?> createProduct(@Validated @RequestBody ProductMerchantCreateRequest request) { productAdminService.create(request); - return ResponseEntity.noContent().build(); + return ResponseEntity.status(HttpStatus.CREATED).build(); } @PutMapping @Log("修改商品") @ApiOperation("修改商品") // @PreAuthorize("@el.check('product:edit')") - public ResponseEntity<?> updateProduct(@PathVariable Long productId, - @Validated @RequestBody ProductMerchantUpdateRequest request) { - request.setProductId(ObjectUtils.defaultIfNull(request.getProductId(), productId)); + public ResponseEntity<?> updateProduct(@Validated @RequestBody ProductMerchantUpdateRequest request) { productAdminService.update(request); return ResponseEntity.noContent().build(); } -- Gitblit v1.9.3