From 08693cce123958e520d03bbbcb63ce8ab6f53ea5 Mon Sep 17 00:00:00 2001 From: DB <2502523450@qq.com> Date: Tue, 31 Oct 2023 00:00:02 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=95=86=E5=93=81=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cpop/mall/business/bo/ProductBo.java | 3 +++ .../backstage/BackstageProductController.java | 2 +- .../service/impl/ProductServiceImpl.java | 17 ++++++++++++----- .../mall/business/vo/OrderRefundPageVo.java | 4 ++-- .../cpop/mall/business/vo/ProductPageVo.java | 6 ++++++ 5 files changed, 24 insertions(+), 8 deletions(-) diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/bo/ProductBo.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/bo/ProductBo.java index 4e55094..f351565 100644 --- a/Cpop-Mall/src/main/java/com/cpop/mall/business/bo/ProductBo.java +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/bo/ProductBo.java @@ -1,5 +1,6 @@ package com.cpop.mall.business.bo; +import com.cpop.core.annontation.StringArrayConvert; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -56,6 +57,8 @@ public class ProductBo implements Serializable { /** * 商店(校区)集合 */ + @StringArrayConvert + @NotBlank(message = "商店(校区)集合不能为空") @ApiModelProperty("商店(校区)集合") private String storeIds; diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/controller/backstage/BackstageProductController.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/controller/backstage/BackstageProductController.java index 6f550c0..fa1ad78 100644 --- a/Cpop-Mall/src/main/java/com/cpop/mall/business/controller/backstage/BackstageProductController.java +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/controller/backstage/BackstageProductController.java @@ -55,7 +55,7 @@ public class BackstageProductController { } /** - * @descriptions 下单需要选择店铺/校区 + * @descriptions 选择品牌下的店铺/校区 * @author DB * @date 2023/10/23 11:56 * @return: com.cpop.core.base.R> diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/service/impl/ProductServiceImpl.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/service/impl/ProductServiceImpl.java index 1e90ea0..d649c70 100644 --- a/Cpop-Mall/src/main/java/com/cpop/mall/business/service/impl/ProductServiceImpl.java +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/service/impl/ProductServiceImpl.java @@ -1,18 +1,15 @@ package com.cpop.mall.business.service.impl; import com.alibaba.fastjson.JSONObject; -import com.cpop.common.constant.Constants; import com.cpop.common.utils.StringUtils; import com.cpop.common.utils.bean.BeanUtils; import com.cpop.core.base.entity.PageDomain; import com.cpop.core.base.enums.SourceType; -import com.cpop.core.base.enums.UserType; import com.cpop.core.utils.SecurityUtils; import com.cpop.core.utils.SpringUtils; import com.cpop.core.utils.sql.SqlUtils; import com.cpop.jambox.business.entity.BrandExtend; import com.cpop.jambox.business.service.BrandExtendService; -import com.cpop.jambox.business.vo.CardTemplateListVo; import com.cpop.mall.business.bo.ProductBo; import com.cpop.mall.business.bo.ProductPageBo; import com.cpop.mall.business.bo.ProductRecordBo; @@ -51,6 +48,7 @@ import static com.cpop.mall.business.entity.table.ProductSpecificationTableDef.P import static com.cpop.mall.business.entity.table.ProductTableDef.PRODUCT; import static com.cpop.system.business.entity.table.BrandTableDef.BRAND; import static com.cpop.system.business.entity.table.StoreTableDef.STORE; +import static com.mybatisflex.core.query.QueryMethods.groupConcat; import static com.mybatisflex.core.query.QueryMethods.sum; /** @@ -86,6 +84,7 @@ public class ProductServiceImpl extends ServiceImpl impl return this.mapper.paginateWithRelationsAs(Page.of(pageDomain.getPageNum(), pageDomain.getPageSize()), queryWrapper.select(PRODUCT.ALL_COLUMNS) .from(PRODUCT) + //如果没有品牌会查询所有数据 .where(PRODUCT.BRAND_ID.eq(loginUserInfo.getString("brandId"))) .and(PRODUCT.PRODUCT_NAME.like(bo.getProductName())) .and(PRODUCT.PRODUCT_TYPE.eq(bo.getProductType())) @@ -95,7 +94,7 @@ public class ProductServiceImpl extends ServiceImpl impl ProductPageVo.class, //子查询 item -> item.field(ProductPageVo::getTradeInfo) - .queryWrapper(tradeInfo-> queryChain() + .queryWrapper(tradeInfo -> queryChain() //交易金额;交易数量 .select(sum(ORDER_DETAIL.NUMBER).as(ProductPageVo.ProductTradeInfo::getTradeNum), sum(ORDER_DETAIL.AMOUNT).as(ProductPageVo.ProductTradeInfo::getTradePrice)) .from(ORDER_DETAIL) @@ -103,7 +102,15 @@ public class ProductServiceImpl extends ServiceImpl impl .leftJoin(ORDER).on(ORDER.ID.eq(ORDER_DETAIL.ORDER_ID)) .where(PRODUCT_RECORD.PRODUCT_ID.eq(tradeInfo.getId())) //只能统计已完成 - .and(ORDER.ORDER_STATUS.eq(3)))); + .and(ORDER.ORDER_STATUS.eq(3))), + //授权校区查询 + item -> item.field(ProductPageVo::getAuthorizedStoreNames) + .queryWrapper(storeNames -> queryChain() + .select(groupConcat(STORE.STORE_NAME).as(ProductPageVo::getAuthorizedStoreNames)) + .from(STORE) + .where(STORE.ID.in(StringUtils.isNotBlank(storeNames.getStoreIds()) ? storeNames.getStoreIds().split(",") : "-1")) + .groupBy(STORE.BRAND_ID)) + ); } /** diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/vo/OrderRefundPageVo.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/vo/OrderRefundPageVo.java index f73d125..2a3ddbf 100644 --- a/Cpop-Mall/src/main/java/com/cpop/mall/business/vo/OrderRefundPageVo.java +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/vo/OrderRefundPageVo.java @@ -117,10 +117,10 @@ public class OrderRefundPageVo implements Serializable { private String remarks; /** - * 下单时间 + * 申请退款时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8") - @ApiModelProperty("下单时间") + @ApiModelProperty("申请退款时间") private LocalDateTime createTime; /** diff --git a/Cpop-Mall/src/main/java/com/cpop/mall/business/vo/ProductPageVo.java b/Cpop-Mall/src/main/java/com/cpop/mall/business/vo/ProductPageVo.java index 8ff834e..2ea347c 100644 --- a/Cpop-Mall/src/main/java/com/cpop/mall/business/vo/ProductPageVo.java +++ b/Cpop-Mall/src/main/java/com/cpop/mall/business/vo/ProductPageVo.java @@ -52,6 +52,12 @@ public class ProductPageVo implements Serializable { @ApiModelProperty("商店(校区)集合") private String storeIds; + /** + * 商店(校区)集合 + */ + @ApiModelProperty("商店(校区)集合") + private String authorizedStoreNames; + /** * 描述 */