From 9f9f1dd88eadfc375ef1d124b57644bc1461ff58 Mon Sep 17 00:00:00 2001 From: Derran Date: Fri, 26 Dec 2025 14:43:54 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8E=AB=E7=91=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/ProductUserQueryController.java | 7 ++++ .../response/UserGetProductByCategoryVo.java | 42 +++++++++++++++++++ .../persistent/dao/view/ProductViewDao.java | 2 + .../query/product/ProductQueryService.java | 2 + .../product/impl/ProductQueryServiceImpl.java | 5 +++ .../WalletAccountAssociateOrderRecordDao.xml | 19 +++++++++ 6 files changed, 77 insertions(+) create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/response/UserGetProductByCategoryVo.java diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/ProductUserQueryController.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/ProductUserQueryController.java index 3998c56..267f27b 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/ProductUserQueryController.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/ProductUserQueryController.java @@ -58,6 +58,13 @@ public class ProductUserQueryController { return PageUtil.convert(productQueryService.pageProductByCustomer(pageUtil, queryParam), UserPageProductByCustomerVo.class); } + @GetMapping("get/product/by/category") + @ApiOperation("客户通过分类获取商品") + public UserGetProductByCategoryVo userGetProductByCategory(@RequestParam("subCategory") Integer subCategory, + @RequestParam("userId") Long userId) { + return productQueryService.getProductByCategory(subCategory); + } + /** * todo 考虑放缓存 * diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/response/UserGetProductByCategoryVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/response/UserGetProductByCategoryVo.java new file mode 100644 index 0000000..a8dc8a6 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/response/UserGetProductByCategoryVo.java @@ -0,0 +1,42 @@ +package com.qniao.dam.api.query.product.user.response; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.qniao.dam.domian.aggregate.product.constant.ProductMainCategoryEnum; +import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; +import com.qniao.dam.domian.aggregate.product.constant.ProductTypeEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class UserGetProductByCategoryVo { + + @ApiModelProperty("商品标识") + @JsonSerialize(using = ToStringSerializer.class) + private Long productId; + + @ApiModelProperty("商品规格标识") + @JsonSerialize(using = ToStringSerializer.class) + private Long productSpecId; + + @ApiModelProperty("产品主分类") + private ProductMainCategoryEnum mainCategory; + + @ApiModelProperty("产品次分类") + private ProductSubCategoryEnum subCategory; + + @ApiModelProperty("产品标题") + private String productTitle; + + @ApiModelProperty("产品描述") + private String productDesc; + + @ApiModelProperty("详情描述") + private String detailDesc; + + @ApiModelProperty("售价") + private BigDecimal unitSellingPrice; + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/view/ProductViewDao.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/view/ProductViewDao.java index 03b6d09..230c963 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/view/ProductViewDao.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/view/ProductViewDao.java @@ -35,4 +35,6 @@ public interface ProductViewDao { List listVirtualCurrencyProduct(@Param("queryParams") UserListVirtualCurrencyProductQueryParams queryParams); List listGiftProduct(); + + UserGetProductByCategoryVo getProductByCategory(@Param("subCategory") Integer subCategory); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/ProductQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/ProductQueryService.java index 886ff52..7c5d129 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/ProductQueryService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/ProductQueryService.java @@ -48,4 +48,6 @@ public interface ProductQueryService { List listVirtualCurrencyProduct(UserListVirtualCurrencyProductQueryParams queryParams); List listGiftProduct(); + + UserGetProductByCategoryVo getProductByCategory(Integer subCategory); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/impl/ProductQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/impl/ProductQueryServiceImpl.java index b604bc1..71ee1a5 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/impl/ProductQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/impl/ProductQueryServiceImpl.java @@ -107,6 +107,11 @@ public class ProductQueryServiceImpl implements ProductQueryService { return productViewDao.listGiftProduct(); } + @Override + public UserGetProductByCategoryVo getProductByCategory(Integer subCategory) { + return productViewDao.getProductByCategory(subCategory); + } + @Override public Product queryBy(Long userId, Long miId, ProductSubCategoryEnum subCategory) { return productDao.selectOne(new LambdaQueryWrapper() diff --git a/dating-agency-mall-server/src/main/resources/mapper/product/WalletAccountAssociateOrderRecordDao.xml b/dating-agency-mall-server/src/main/resources/mapper/product/WalletAccountAssociateOrderRecordDao.xml index ee11a3c..28d1655 100644 --- a/dating-agency-mall-server/src/main/resources/mapper/product/WalletAccountAssociateOrderRecordDao.xml +++ b/dating-agency-mall-server/src/main/resources/mapper/product/WalletAccountAssociateOrderRecordDao.xml @@ -241,5 +241,24 @@ order by dps.unit_original_price asc + +