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 + +