From 95ae012aaba6aa395ba60e77a2ea7b8b0410fe93 Mon Sep 17 00:00:00 2001 From: XinWei <2718030729@qq.com> Date: Fri, 27 Sep 2024 17:51:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E6=9F=A5=E8=AF=A2=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E6=96=B0=E5=A2=9E=20=E6=98=AF=E5=90=A6=E4=BB=98?= =?UTF-8?q?=E8=B4=B9=E4=BC=9A=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/controller/admin/spu/vo/ProductSpuPageReqVO.java | 4 ++++ .../controller/app/spu/vo/AppProductSpuPageReqVO.java | 3 +++ .../app/spu/vo/AppProductSpuRecommendPageReqVo.java | 2 ++ .../yudao/module/product/dal/mysql/spu/ProductSpuMapper.java | 5 ++++- .../module/product/service/spu/ProductSpuServiceImpl.java | 3 +++ 5 files changed, 16 insertions(+), 1 deletion(-) diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuPageReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuPageReqVO.java index 81cff42..c985970 100644 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuPageReqVO.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuPageReqVO.java @@ -51,8 +51,12 @@ public class ProductSpuPageReqVO extends PageParam { @Schema(description = "商品分类编号", example = "1") private Long categoryId; + @Schema(description = "是否是付费会员", example = "1") + private Integer isPaidMember; + @Schema(description = "创建时间", example = "[2022-07-01 00:00:00, 2022-07-01 23:59:59]") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; + } diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/vo/AppProductSpuPageReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/vo/AppProductSpuPageReqVO.java index 1584dc6..f478295 100644 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/vo/AppProductSpuPageReqVO.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/vo/AppProductSpuPageReqVO.java @@ -39,6 +39,9 @@ public class AppProductSpuPageReqVO extends PageParam { @Schema(description = "排序方式", example = "true") private Boolean sortAsc; + @Schema(description = "是否是付费会员", example = "1") + private Integer isPaidMember; + @AssertTrue(message = "排序字段不合法") @JsonIgnore public boolean isSortFieldValid() { diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/vo/AppProductSpuRecommendPageReqVo.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/vo/AppProductSpuRecommendPageReqVo.java index c2d6858..bfa02c5 100644 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/vo/AppProductSpuRecommendPageReqVo.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/vo/AppProductSpuRecommendPageReqVo.java @@ -23,4 +23,6 @@ public class AppProductSpuRecommendPageReqVo extends PageParam { private Integer recommendNew; @Schema(description = "优品推荐", example = "1") private Integer recommendGood; + @Schema(description = "是否是付费会员", example = "1") + private Integer isPaidMember; } diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/spu/ProductSpuMapper.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/spu/ProductSpuMapper.java index cf8ae64..678fd81 100644 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/spu/ProductSpuMapper.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/spu/ProductSpuMapper.java @@ -31,6 +31,7 @@ public interface ProductSpuMapper extends BaseMapperX { .eqIfPresent(ProductSpuDO::getCategoryId, reqVO.getCategoryId()) .betweenIfPresent(ProductSpuDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(ProductSpuDO::getSort) + .eqIfPresent(ProductSpuDO::getOnlyPaidMemberView, reqVO.getIsPaidMember()) .orderByDesc(ProductSpuDO::getId); appendTabQuery(tabType, queryWrapper); return selectPage(reqVO, queryWrapper); @@ -61,7 +62,9 @@ public interface ProductSpuMapper extends BaseMapperX { .inIfPresent(ProductSpuDO::getCategoryId, categoryIds); // 上架状态 且有库存 query.eq(ProductSpuDO::getStatus, ProductSpuStatusEnum.ENABLE.getStatus()); - + if (pageReqVO.getIsPaidMember() == null || pageReqVO.getIsPaidMember() == 0) { + query.eq(ProductSpuDO::getOnlyPaidMemberView, 0); + } // 排序逻辑 if (Objects.equals(pageReqVO.getSortField(), AppProductSpuPageReqVO.SORT_FIELD_SALES_COUNT)) { query.last(String.format(" ORDER BY (sales_count + virtual_sales_count) %s, sort DESC, id DESC", diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java index bc2df3a..64ed2eb 100644 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java @@ -186,6 +186,9 @@ public class ProductSpuServiceImpl implements ProductSpuService { if (recommendGood != null && recommendGood != 0){ wrapperX.eq(ProductSpuDO::getRecommendGood, recommendGood); } + if (pageVo.getIsPaidMember() == null || pageVo.getIsPaidMember() == 0){ + wrapperX.eq(ProductSpuDO::getOnlyPaidMemberView, 0); + } wrapperX.eq(ProductSpuDO::getStatus, 1); wrapperX.last(" ORDER BY (sales_count + virtual_sales_count) DESC, sort DESC, id DESC"); return productSpuMapper.selectList(wrapperX);