调整商品列表返回

This commit is contained in:
DB 2023-10-31 00:00:02 +08:00
parent 09c7669533
commit 08693cce12
5 changed files with 24 additions and 8 deletions

View File

@ -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;

View File

@ -55,7 +55,7 @@ public class BackstageProductController {
}
/**
* @descriptions 下单需要选择店铺/校区
* @descriptions 选择品牌下的店铺/校区
* @author DB
* @date 2023/10/23 11:56
* @return: com.cpop.core.base.R<com.mybatisflex.core.paginate.Page<com.cpop.mall.business.entity.Product>>

View File

@ -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<ProductMapper, Product> 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<ProductMapper, Product> 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<ProductMapper, Product> 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))
);
}
/**

View File

@ -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;
/**

View File

@ -52,6 +52,12 @@ public class ProductPageVo implements Serializable {
@ApiModelProperty("商店(校区)集合")
private String storeIds;
/**
* 商店(校区)集合
*/
@ApiModelProperty("商店(校区)集合")
private String authorizedStoreNames;
/**
* 描述
*/