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 df20bd5..e1fd2ff 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 @@ -87,11 +87,17 @@ public class ProductUserQueryController { } @GetMapping("list/product/by/vip") - @ApiOperation("用户获取VIP分页列表") + @ApiOperation("用户获取VIP列表") public List userListProductByVip(@RequestParam("userId") Long userId) { return productQueryService.listProductByVip(userId); } + @GetMapping("list/product/by/card") + @ApiOperation("用户获取卡片列表") + public List userListProductByCard(@RequestParam("userId") Long userId) { + return productQueryService.listProductByCard(); + } + @GetMapping("get/product/by/customer/list") @ApiOperation("客户获取商品列表") public List getPageProductByCustomer() { diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/response/UserListProductByCardVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/response/UserListProductByCardVo.java new file mode 100644 index 0000000..f1cc5b6 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/response/UserListProductByCardVo.java @@ -0,0 +1,56 @@ +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.productspec.constant.ProductSpecTermUnitEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class UserListProductByCardVo { + + @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 unitOriginalPrice; + + @ApiModelProperty("售价") + private BigDecimal unitSellingPrice; + + @ApiModelProperty("产品规格(周期、次数)") + private ProductSpecTermUnitEnum productSpecUnit; + + @ApiModelProperty("有效期") + private String validityPeriodValue; + + @ApiModelProperty("购买次数") + private String purchaseTimeValue; + + @ApiModelProperty("单日使用上限") + private String dailyUseLimitValue; +} 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 61b34a8..ab5a56a 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 @@ -39,4 +39,6 @@ public interface ProductViewDao { UserGetProductByCategoryVo getProductByCategory(@Param("subCategory") Integer subCategory); List listProductByVip(); + + List listProductByCard(); } 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 6d48c9e..16b9a27 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 @@ -51,4 +51,6 @@ public interface ProductQueryService { UserGetProductByCategoryVo getProductByCategory(Integer subCategory); List listProductByVip(Long userId); + + List listProductByCard(); } 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 e93bf2a..1ace88e 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 @@ -143,6 +143,11 @@ public class ProductQueryServiceImpl implements ProductQueryService { return list; } + @Override + public List listProductByCard() { + return productViewDao.listProductByCard(); + } + private List eliminatePurchaseTimeLimit(List list, Long userId) { List resultList = new ArrayList<>(); diff --git a/dating-agency-mall-server/src/main/resources/mapper/product/PurchaseProductRecordQueryService.xml b/dating-agency-mall-server/src/main/resources/mapper/product/PurchaseProductRecordQueryService.xml index 77d08ca..3a7d342 100644 --- a/dating-agency-mall-server/src/main/resources/mapper/product/PurchaseProductRecordQueryService.xml +++ b/dating-agency-mall-server/src/main/resources/mapper/product/PurchaseProductRecordQueryService.xml @@ -282,5 +282,36 @@ ORDER BY dps.unit_original_price ASC + +