From 383439e55023585f0e60f6e3e60c22e608acc7f4 Mon Sep 17 00:00:00 2001 From: xh-pan1 Date: Tue, 5 Mar 2024 04:40:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/controller/canvas/CanvasController.java | 3 + .../app/param/canvas/CanvasAppProductParam.java | 19 +- .../product/impl/CereShopProductServiceImpl.java | 30 +++- .../mybatis/mapper/product/CereShopProductDAO.xml | 61 ++++++- .../business/dao/product/CereShopProductDAO.java | 5 + .../business/page/canvas/CanvasProductParam.java | 15 ++ .../impl/CereProductClassifyServiceImpl.java | 2 +- .../product/impl/CereShopProductServiceImpl.java | 22 ++- .../mapper/product/CereProductClassifyDAO.xml | 2 +- .../mybatis/mapper/product/CereShopProductDAO.xml | 197 +++++++++++++++++++-- .../cereshop/commons/constant/IntegerEnum.java | 4 + 11 files changed, 327 insertions(+), 33 deletions(-) diff --git a/cereshop-app/src/main/java/com/shop/cereshop/app/controller/canvas/CanvasController.java b/cereshop-app/src/main/java/com/shop/cereshop/app/controller/canvas/CanvasController.java index 64413a7..99f2a9f 100644 --- a/cereshop-app/src/main/java/com/shop/cereshop/app/controller/canvas/CanvasController.java +++ b/cereshop-app/src/main/java/com/shop/cereshop/app/controller/canvas/CanvasController.java @@ -30,6 +30,7 @@ import com.shop.cereshop.app.service.platformtool.CerePlatformSeckillService; import com.shop.cereshop.app.service.price.CereShopPriceService; import com.shop.cereshop.app.service.product.CereProductMemberService; import com.shop.cereshop.app.service.product.CereShopProductService; +import com.shop.cereshop.app.utils.ContextUtil; import com.shop.cereshop.commons.constant.CoReturnFormat; import com.shop.cereshop.commons.domain.buyer.CereBuyerUser; import com.shop.cereshop.commons.domain.canvas.CerePlatformCanvas; @@ -103,6 +104,7 @@ public class CanvasController { @GetMapping("getProducts") @ApiOperation(value = "商家编辑查询") public Result> getProducts(CanvasAppProductParam param) throws CoBusinessException,Exception{ + param.setProject(ContextUtil.getProject()); Page page=cereShopProductService.getCanvasProducts(param); return new Result(page, CoReturnFormat.SUCCESS); } @@ -115,6 +117,7 @@ public class CanvasController { @GetMapping("getProducts2") @ApiOperation(value = "商家编辑查询新接口") public Result> getProducts2(CanvasAppProductParam param) throws CoBusinessException,Exception{ + param.setProject(ContextUtil.getProject()); Page page=cereShopProductService.getProducts2(param); return new Result(page, CoReturnFormat.SUCCESS); } diff --git a/cereshop-app/src/main/java/com/shop/cereshop/app/param/canvas/CanvasAppProductParam.java b/cereshop-app/src/main/java/com/shop/cereshop/app/param/canvas/CanvasAppProductParam.java index 5b13e67..cb066f2 100644 --- a/cereshop-app/src/main/java/com/shop/cereshop/app/param/canvas/CanvasAppProductParam.java +++ b/cereshop-app/src/main/java/com/shop/cereshop/app/param/canvas/CanvasAppProductParam.java @@ -20,6 +20,12 @@ import java.util.List; public class CanvasAppProductParam extends PageParam { /** + * 所属项目 + */ + @ApiModelProperty(value = "所属项目",hidden = true) + private String project; + + /** * 搜索字段 */ @ApiModelProperty(value = "搜索字段") @@ -44,9 +50,9 @@ public class CanvasAppProductParam extends PageParam { private Long shopId; /** - * 活动类型 1-拼团活动 2-秒杀活动 3-限时折扣活动 + * 活动类型 1-拼团活动 2-秒杀活动 3-限时折扣活动 4-新品推荐 5-低价优选 6-尖端首发 7-热销排行 */ - @ApiModelProperty(value = "活动类型 1-拼团活动 2-秒杀活动 3-限时折扣活动") + @ApiModelProperty(value = "活动类型 1-拼团活动 2-秒杀活动 3-限时折扣活动 4-新品推荐 5-低价优选 6-尖端首发 7-热销排行") private Integer type; /** @@ -54,4 +60,13 @@ public class CanvasAppProductParam extends PageParam { */ @ApiModelProperty(value = "商品id数组") private List ids; + + @ApiModelProperty("是否新品") + private Integer ifNew; + + @ApiModelProperty("是否首发") + private Integer ifFirst; + + @ApiModelProperty("是否低价") + private Integer ifLowPrice; } diff --git a/cereshop-app/src/main/java/com/shop/cereshop/app/service/product/impl/CereShopProductServiceImpl.java b/cereshop-app/src/main/java/com/shop/cereshop/app/service/product/impl/CereShopProductServiceImpl.java index b8553e9..2f13024 100644 --- a/cereshop-app/src/main/java/com/shop/cereshop/app/service/product/impl/CereShopProductServiceImpl.java +++ b/cereshop-app/src/main/java/com/shop/cereshop/app/service/product/impl/CereShopProductServiceImpl.java @@ -923,6 +923,17 @@ public class CereShopProductServiceImpl implements CereShopProductService { list=cereShopProductDAO.getSeckillProducts(param); }else if(IntegerEnum.CANVAS_ACTIVITY_DISCOUNT.getCode().equals(param.getType())){ list=cereShopProductDAO.getDiscountProducts(param); + }else if(IntegerEnum.CANVAS_ACTIVITY_XPTJ.getCode().equals(param.getType())){ + param.setIfNew(1); + list=cereShopProductDAO.getCanvasProducts(param); + }else if(IntegerEnum.CANVAS_ACTIVITY_DJYX.getCode().equals(param.getType())){ + param.setIfLowPrice(1); + list=cereShopProductDAO.getCanvasProducts(param); + }else if(IntegerEnum.CANVAS_ACTIVITY_JDSF.getCode().equals(param.getType())){ + param.setIfFirst(1); + list=cereShopProductDAO.getCanvasProducts(param); + }else if(IntegerEnum.CANVAS_ACTIVITY_RXPH.getCode().equals(param.getType())){ + list=cereShopProductDAO.getCanvasProducts(param); }else { list=cereShopProductDAO.getCanvasProducts(param); } @@ -975,14 +986,29 @@ public class CereShopProductServiceImpl implements CereShopProductService { list=cereShopProductDAO.getSeckillProducts(param); }else if(IntegerEnum.CANVAS_ACTIVITY_DISCOUNT.getCode().equals(param.getType())){ list=cereShopProductDAO.getDiscountProducts(param); + }else if(IntegerEnum.CANVAS_ACTIVITY_XPTJ.getCode().equals(param.getType())){ + param.setIfNew(1); + list=cereShopProductDAO.getCanvasProducts2(param); + }else if(IntegerEnum.CANVAS_ACTIVITY_DJYX.getCode().equals(param.getType())){ + param.setIfLowPrice(1); + list=cereShopProductDAO.getCanvasProducts2(param); + }else if(IntegerEnum.CANVAS_ACTIVITY_JDSF.getCode().equals(param.getType())){ + param.setIfFirst(1); + list=cereShopProductDAO.getCanvasProducts2(param); + }else if(IntegerEnum.CANVAS_ACTIVITY_RXPH.getCode().equals(param.getType())){ + list=cereShopProductDAO.getCanvasProducts2(param); }else { list= cereShopProductDAO.getCanvasProducts2(param); + } + if(!IntegerEnum.CANVAS_ACTIVITY_GROUP_WORK.getCode().equals(param.getType()) && + !IntegerEnum.CANVAS_ACTIVITY_SECKILL.getCode().equals(param.getType()) && + !IntegerEnum.CANVAS_ACTIVITY_DISCOUNT.getCode().equals(param.getType())) { //补充查询产品付款人数 productUsersMap = cereShopProductDAO.getProductUsers(param); //补充查询产品sku信息 - productSkuMap = cereShopProductDAO.getProductSku(param); + productSkuMap = cereShopProductDAO.getProductSku(param); //补充查询产品购买数据 - productNumberMap = cereShopProductDAO.getProductNumber(param); + productNumberMap = cereShopProductDAO.getProductNumber(param); } //填充产品属性 fillProductProperties(list, productUsersMap, productSkuMap, productNumberMap); diff --git a/cereshop-app/src/main/resources/mybatis/mapper/product/CereShopProductDAO.xml b/cereshop-app/src/main/resources/mybatis/mapper/product/CereShopProductDAO.xml index b7f3718..853df0f 100644 --- a/cereshop-app/src/main/resources/mybatis/mapper/product/CereShopProductDAO.xml +++ b/cereshop-app/src/main/resources/mybatis/mapper/product/CereShopProductDAO.xml @@ -389,12 +389,13 @@ - SELECT b.shop_id,d.shop_name,d.shop_logo,a.product_id,b.product_name, ifnull(x.users, 0) + b.fictitious_number as users, h.effective_start start_time,h.effective_end end_time,h.state, - IF(m.image IS NULL OR m.image='',c.product_image,m.image) image,h.if_enable,h.enable_time, - a.seckill_price price,a.sku_id,n.price original_price,IF(f.number IS NULL, b.fictitious_number, f.number + b.fictitious_number) number,n.stock_number FROM cere_shop_seckill_detail a + SELECT b.shop_id,d.shop_name,d.shop_logo,a.product_id,b.product_name, + ifnull(x.users, 0) + b.fictitious_number as users, h.effective_start start_time, + h.effective_end end_time,h.state, + IF(m.image IS NULL OR m.image='',c.product_image,m.image) image, + h.if_enable,h.enable_time, + a.seckill_price price,a.sku_id,n.price original_price, + IF(f.number IS NULL, b.fictitious_number, f.number + b.fictitious_number) number, + n.stock_number + FROM cere_shop_seckill_detail a LEFT JOIN cere_shop_product b ON a.product_id=b.product_id LEFT JOIN (SELECT a.product_id,a.product_image from cere_product_image a,cere_shop_product b where a.product_id=b.product_id GROUP BY a.product_id) c ON a.product_id=c.product_id diff --git a/cereshop-business/src/main/java/com/shop/cereshop/business/dao/product/CereShopProductDAO.java b/cereshop-business/src/main/java/com/shop/cereshop/business/dao/product/CereShopProductDAO.java index 0a1a4fe..6d9a7bc 100644 --- a/cereshop-business/src/main/java/com/shop/cereshop/business/dao/product/CereShopProductDAO.java +++ b/cereshop-business/src/main/java/com/shop/cereshop/business/dao/product/CereShopProductDAO.java @@ -32,6 +32,11 @@ public interface CereShopProductDAO extends BaseMapper { CereShopProduct checkName(@Param("shopId") Long shopId,@Param("classifyId") Long classifyId,@Param("productName") String productName); + List getGroupWorkProducts(CanvasProductParam param); + + List getSeckillProducts(CanvasProductParam param); + + List getDiscountProducts(CanvasProductParam param); List getProducts(CanvasProductParam param); List getShops(CanvasProductParam param); diff --git a/cereshop-business/src/main/java/com/shop/cereshop/business/page/canvas/CanvasProductParam.java b/cereshop-business/src/main/java/com/shop/cereshop/business/page/canvas/CanvasProductParam.java index bd5eb2c..41544db 100644 --- a/cereshop-business/src/main/java/com/shop/cereshop/business/page/canvas/CanvasProductParam.java +++ b/cereshop-business/src/main/java/com/shop/cereshop/business/page/canvas/CanvasProductParam.java @@ -66,4 +66,19 @@ public class CanvasProductParam extends PageParam { */ @ApiModelProperty(value = "商家优惠券id") private Long shopCouponId; + + /** + * 活动类型 1-拼团活动 2-秒杀活动 3-限时折扣活动 4-新品推荐 5-低价优选 6-尖端首发 7-热销排行 + */ + @ApiModelProperty(value = "活动类型 1-拼团活动 2-秒杀活动 3-限时折扣活动 4-新品推荐 5-低价优选 6-尖端首发 7-热销排行") + private Integer type; + + @ApiModelProperty("是否新品") + private Integer ifNew; + + @ApiModelProperty("是否首发") + private Integer ifFirst; + + @ApiModelProperty("是否低价") + private Integer ifLowPrice; } diff --git a/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereProductClassifyServiceImpl.java b/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereProductClassifyServiceImpl.java index 2e61039..bc2341c 100644 --- a/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereProductClassifyServiceImpl.java +++ b/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereProductClassifyServiceImpl.java @@ -367,7 +367,7 @@ public class CereProductClassifyServiceImpl implements CereProductClassifyServic secondClassify.initMap(cereProductClassifyLangInfoList); secondClassify.initData(); if(CollectionUtils.isNotEmpty(secondClassify.getChilds())) { - for (CereProductClassify thirdClassify : classify.getChilds()) { + for (CereProductClassify thirdClassify : secondClassify.getChilds()) { thirdClassify.initMap(cereProductClassifyLangInfoList); thirdClassify.initData(); } diff --git a/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereShopProductServiceImpl.java b/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereShopProductServiceImpl.java index a3e9bce..072b549 100644 --- a/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereShopProductServiceImpl.java +++ b/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereShopProductServiceImpl.java @@ -789,7 +789,27 @@ public class CereShopProductServiceImpl implements CereShopProductService { @Override public Page getProducts(CanvasProductParam param) throws CoBusinessException { PageHelper.startPage(param.getPage(),param.getPageSize()); - List list=cereShopProductDAO.getProducts(param); + List list=null; + if(IntegerEnum.CANVAS_ACTIVITY_GROUP_WORK.getCode().equals(param.getType())){ + list=cereShopProductDAO.getGroupWorkProducts(param); + }else if(IntegerEnum.CANVAS_ACTIVITY_SECKILL.getCode().equals(param.getType())){ + list=cereShopProductDAO.getSeckillProducts(param); + }else if(IntegerEnum.CANVAS_ACTIVITY_DISCOUNT.getCode().equals(param.getType())){ + list=cereShopProductDAO.getDiscountProducts(param); + }else if(IntegerEnum.CANVAS_ACTIVITY_XPTJ.getCode().equals(param.getType())){ + param.setIfNew(1); + list=cereShopProductDAO.getProducts(param); + }else if(IntegerEnum.CANVAS_ACTIVITY_DJYX.getCode().equals(param.getType())){ + param.setIfLowPrice(1); + list=cereShopProductDAO.getProducts(param); + }else if(IntegerEnum.CANVAS_ACTIVITY_JDSF.getCode().equals(param.getType())){ + param.setIfFirst(1); + list=cereShopProductDAO.getProducts(param); + }else if(IntegerEnum.CANVAS_ACTIVITY_RXPH.getCode().equals(param.getType())){ + list=cereShopProductDAO.getProducts(param); + }else { + list=cereShopProductDAO.getProducts(param); + } List classifyIdList = new ArrayList<>(); classifyIdList.addAll(list.stream().map(CanvasProduct::getProductId).collect(Collectors.toList())); diff --git a/cereshop-business/src/main/resources/mybatis/mapper/product/CereProductClassifyDAO.xml b/cereshop-business/src/main/resources/mybatis/mapper/product/CereProductClassifyDAO.xml index 82b00cc..4f1ebc0 100644 --- a/cereshop-business/src/main/resources/mybatis/mapper/product/CereProductClassifyDAO.xml +++ b/cereshop-business/src/main/resources/mybatis/mapper/product/CereProductClassifyDAO.xml @@ -170,7 +170,7 @@ diff --git a/cereshop-business/src/main/resources/mybatis/mapper/product/CereShopProductDAO.xml b/cereshop-business/src/main/resources/mybatis/mapper/product/CereShopProductDAO.xml index f49df3a..48ac8d3 100644 --- a/cereshop-business/src/main/resources/mybatis/mapper/product/CereShopProductDAO.xml +++ b/cereshop-business/src/main/resources/mybatis/mapper/product/CereShopProductDAO.xml @@ -246,17 +246,17 @@ + + + + + +