From 058c6783433f140810a230e224d8cb9f530eb422 Mon Sep 17 00:00:00 2001 From: WeiRan <2392355487@qq.com> Date: Mon, 26 Aug 2024 09:03:30 +0800 Subject: [PATCH] =?UTF-8?q?feat():=E5=88=86=E9=A1=B5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../market/domin/resp/ProductListResp.java | 2 ++ .../domin/resp/ProductTotalListResp.java | 35 +++++++++++++++++++ .../controller/ProductApiController.java | 3 +- .../market/service/ProductApiService.java | 3 +- .../service/impl/ProductApiServiceImpl.java | 7 ++-- 5 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 cloud-market-common/src/main/java/com/muyu/cloud/market/domin/resp/ProductTotalListResp.java diff --git a/cloud-market-common/src/main/java/com/muyu/cloud/market/domin/resp/ProductListResp.java b/cloud-market-common/src/main/java/com/muyu/cloud/market/domin/resp/ProductListResp.java index 778aec4..5d461a3 100644 --- a/cloud-market-common/src/main/java/com/muyu/cloud/market/domin/resp/ProductListResp.java +++ b/cloud-market-common/src/main/java/com/muyu/cloud/market/domin/resp/ProductListResp.java @@ -63,6 +63,8 @@ public class ProductListResp { private Date createTime; + + /** * 数据库对象构建为返回结果对象 * @param product diff --git a/cloud-market-common/src/main/java/com/muyu/cloud/market/domin/resp/ProductTotalListResp.java b/cloud-market-common/src/main/java/com/muyu/cloud/market/domin/resp/ProductTotalListResp.java new file mode 100644 index 0000000..e2e5a58 --- /dev/null +++ b/cloud-market-common/src/main/java/com/muyu/cloud/market/domin/resp/ProductTotalListResp.java @@ -0,0 +1,35 @@ +package com.muyu.cloud.market.domin.resp; + +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @Author:weiran + * @Package:com.muyu.cloud.market.domin.resp + * @Project:cloud-market + * @name:ProductTotalListResp + * @Date:2024/8/26 8:32 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Tag(name="数据总数列表",description = "数据和总数的响应") +public class ProductTotalListResp { + + private List productListResps; + + private long total; + + public static ProductTotalListResp of(List productList, long total) { + ProductTotalListResp response = new ProductTotalListResp(); + response.setProductListResps(productList); + response.setTotal(total); + return response; + } +} diff --git a/cloud-market-server/src/main/java/com/muyu/cloud/market/controller/ProductApiController.java b/cloud-market-server/src/main/java/com/muyu/cloud/market/controller/ProductApiController.java index b00ef20..734a6e8 100644 --- a/cloud-market-server/src/main/java/com/muyu/cloud/market/controller/ProductApiController.java +++ b/cloud-market-server/src/main/java/com/muyu/cloud/market/controller/ProductApiController.java @@ -5,6 +5,7 @@ import com.muyu.cloud.market.domin.req.ProductAddReq; import com.muyu.cloud.market.domin.req.ProductListReq; import com.muyu.cloud.market.domin.req.ProductUpdReq; import com.muyu.cloud.market.domin.resp.ProductListResp; +import com.muyu.cloud.market.domin.resp.ProductTotalListResp; import com.muyu.cloud.market.service.ProductApiService; import com.muyu.common.core.domain.Result; import io.swagger.v3.oas.annotations.Operation; @@ -40,7 +41,7 @@ public class ProductApiController { */ @PostMapping(path ="/list") @Operation(summary = "产品列表",description = "查询全部产品信息") - public Result> selectList(@Validated @RequestBody ProductListReq productListReq){ + public Result selectList(@Validated @RequestBody ProductListReq productListReq){ return Result.success(productApiService.selectList(productListReq)); } diff --git a/cloud-market-server/src/main/java/com/muyu/cloud/market/service/ProductApiService.java b/cloud-market-server/src/main/java/com/muyu/cloud/market/service/ProductApiService.java index b446834..8ae4b19 100644 --- a/cloud-market-server/src/main/java/com/muyu/cloud/market/service/ProductApiService.java +++ b/cloud-market-server/src/main/java/com/muyu/cloud/market/service/ProductApiService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.cloud.market.domin.Product; import com.muyu.cloud.market.domin.req.ProductListReq; import com.muyu.cloud.market.domin.resp.ProductListResp; +import com.muyu.cloud.market.domin.resp.ProductTotalListResp; import java.util.List; @@ -21,7 +22,7 @@ public interface ProductApiService extends IService { * @param productListReq * @return */ - List selectList(ProductListReq productListReq); + ProductTotalListResp selectList(ProductListReq productListReq); /** * 查询热点产品 diff --git a/cloud-market-server/src/main/java/com/muyu/cloud/market/service/impl/ProductApiServiceImpl.java b/cloud-market-server/src/main/java/com/muyu/cloud/market/service/impl/ProductApiServiceImpl.java index 0459f4a..499fe68 100644 --- a/cloud-market-server/src/main/java/com/muyu/cloud/market/service/impl/ProductApiServiceImpl.java +++ b/cloud-market-server/src/main/java/com/muyu/cloud/market/service/impl/ProductApiServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.cloud.market.domin.Product; import com.muyu.cloud.market.domin.req.ProductListReq; import com.muyu.cloud.market.domin.resp.ProductListResp; +import com.muyu.cloud.market.domin.resp.ProductTotalListResp; import com.muyu.cloud.market.mapper.ProductApiMapper; import com.muyu.cloud.market.service.ProductApiService; import com.muyu.common.core.utils.StringUtils; @@ -29,7 +30,7 @@ public class ProductApiServiceImpl extends ServiceImpl selectList(ProductListReq productListReq) { + public ProductTotalListResp selectList(ProductListReq productListReq) { Integer pageNum = productListReq.getPageNum(); Integer pageSize = productListReq.getPageSize(); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); @@ -37,12 +38,14 @@ public class ProductApiServiceImpl extends ServiceImpl productList = this.list(queryWrapper); - return productList.stream() + List productListResps = productList.stream() .map(product -> ProductListResp.productListRespbuild(product)) .toList(); + return ProductTotalListResp.of(productListResps, count); }