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 5d07e7e..d587718 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 @@ -1,5 +1,6 @@ package com.qniao.dam.api.query.product.user; +import com.qniao.dam.api.query.product.user.request.UserPageProductByCustomerQueryParam; import com.qniao.dam.api.query.product.user.request.UserPageProductByOperatorQueryParam; import com.qniao.dam.api.query.product.user.response.UserGetProductDetailByOperatorVo; import com.qniao.dam.api.query.product.user.response.UserPageProductByCustomerVo; @@ -40,12 +41,18 @@ public class ProductUserQueryController { return productQueryService.getProductDetailByOperator(productId); } + /** + * todo 考虑放缓存 + * @param pageUtil + * @param queryParam + * @param userId + * @return + */ @GetMapping("page/product/by/Customer") @ApiOperation("客户获取商品分页列表") public QnPage userPageProductByCustomer(PageUtil pageUtil, - UserPageProductByOperatorQueryParam queryParam, + UserPageProductByCustomerQueryParam queryParam, @RequestParam("userId") Long userId) { - return null; - // return PageUtil.convert(productQueryService.pageProductByCustomer(pageUtil, queryParam), UserPageProductByOperatorVo.class); + return PageUtil.convert(productQueryService.pageProductByCustomer(pageUtil, queryParam), UserPageProductByCustomerVo.class); } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/request/UserPageProductByCustomerQueryParam.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/request/UserPageProductByCustomerQueryParam.java new file mode 100644 index 0000000..748feaf --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/request/UserPageProductByCustomerQueryParam.java @@ -0,0 +1,12 @@ +package com.qniao.dam.api.query.product.user.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class UserPageProductByCustomerQueryParam { + + @ApiModelProperty("产品次分类") + private Integer subCategory; + +} 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 a7da551..f1d5a06 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 @@ -2,8 +2,9 @@ package com.qniao.dam.infrastructure.persistent.dao.view; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.qniao.dam.api.query.product.user.request.UserPageProductByCustomerQueryParam; import com.qniao.dam.api.query.product.user.request.UserPageProductByOperatorQueryParam; -import com.qniao.dam.api.query.product.user.response.UserGetProductDetailByOperatorVo; +import com.qniao.dam.api.query.product.user.response.UserPageProductByCustomerVo; import com.qniao.dam.api.query.product.user.response.UserPageProductByOperatorVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -13,4 +14,8 @@ public interface ProductViewDao { IPage pageProductByOperator(Page pageWithoutOrders, @Param("queryParam") UserPageProductByOperatorQueryParam queryParam); + + + IPage pageProductByCustomer(Page pageWithoutOrders, + @Param("queryParam") UserPageProductByCustomerQueryParam queryParam); } 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 ef69d3b..26ec059 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 @@ -1,8 +1,10 @@ package com.qniao.dam.query.product; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.qniao.dam.api.query.product.user.request.UserPageProductByCustomerQueryParam; import com.qniao.dam.api.query.product.user.request.UserPageProductByOperatorQueryParam; import com.qniao.dam.api.query.product.user.response.UserGetProductDetailByOperatorVo; +import com.qniao.dam.api.query.product.user.response.UserPageProductByCustomerVo; import com.qniao.dam.api.query.product.user.response.UserPageProductByOperatorVo; import com.qniao.framework.utils.PageUtil; @@ -10,4 +12,6 @@ public interface ProductQueryService { IPage pageProductByOperator(PageUtil pageUtil, UserPageProductByOperatorQueryParam queryParam); UserGetProductDetailByOperatorVo getProductDetailByOperator(Long productId); + + IPage pageProductByCustomer(PageUtil pageUtil, UserPageProductByCustomerQueryParam queryParam); } 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 d019f33..24c3bc4 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 @@ -3,8 +3,10 @@ package com.qniao.dam.query.product.impl; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.qniao.dam.api.query.product.user.request.UserPageProductByCustomerQueryParam; import com.qniao.dam.api.query.product.user.request.UserPageProductByOperatorQueryParam; import com.qniao.dam.api.query.product.user.response.UserGetProductDetailByOperatorVo; +import com.qniao.dam.api.query.product.user.response.UserPageProductByCustomerVo; import com.qniao.dam.api.query.product.user.response.UserPageProductByOperatorVo; import com.qniao.dam.domain.aggregate.product.entity.Product; import com.qniao.dam.domain.aggregate.productspec.entity.ProductSpec; @@ -63,6 +65,12 @@ public class ProductQueryServiceImpl implements ProductQueryService { return detailVo; } + @Override + public IPage pageProductByCustomer(PageUtil pageUtil, + UserPageProductByCustomerQueryParam queryParam) { + return productViewDao.pageProductByCustomer(pageUtil.toPageWithoutOrders(), queryParam); + } + /** * 找出对应name的value */ diff --git a/dating-agency-mall-server/src/main/resources/mapper/product/ProductViewMapper.xml b/dating-agency-mall-server/src/main/resources/mapper/product/ProductViewMapper.xml index 9748302..66a0cc7 100644 --- a/dating-agency-mall-server/src/main/resources/mapper/product/ProductViewMapper.xml +++ b/dating-agency-mall-server/src/main/resources/mapper/product/ProductViewMapper.xml @@ -30,5 +30,33 @@ AND dp.sub_category = #{queryParam.subCategory} + +