From ede7a37e37600e83c853b4a24126b2aa99acb56f Mon Sep 17 00:00:00 2001 From: paulGao Date: Mon, 5 Dec 2022 17:17:05 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=95=86=E5=93=81=E5=BA=93=E5=AD=98=E6=97=B6=EF=BC=8C=E4=BF=83?= =?UTF-8?q?=E9=94=80=E5=95=86=E5=93=81=E5=BA=93=E5=AD=98=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=BF=AE=E6=94=B9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../goods/serviceimpl/GoodsSkuServiceImpl.java | 1 + .../dto/search/PromotionGoodsSearchParams.java | 6 ++++-- .../service/PromotionGoodsService.java | 8 ++++++++ .../serviceimpl/PromotionGoodsServiceImpl.java | 18 ++++++++++++++++++ 4 files changed, 31 insertions(+), 2 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java index 84236cda..cdfe4c3f 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java @@ -508,6 +508,7 @@ public class GoodsSkuServiceImpl extends ServiceImpl i List goodsSkus = new ArrayList<>(); goodsSkus.add(goodsSku); this.updateGoodsStuck(goodsSkus); + this.promotionGoodsService.updatePromotionGoodsStock(goodsSku.getId(), quantity); } } diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/PromotionGoodsSearchParams.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/PromotionGoodsSearchParams.java index 01f5f211..576a488d 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/PromotionGoodsSearchParams.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/PromotionGoodsSearchParams.java @@ -4,8 +4,7 @@ import cn.hutool.core.text.CharSequenceUtil; import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; +import lombok.*; import java.util.Arrays; import java.util.List; @@ -18,6 +17,9 @@ import java.util.List; **/ @EqualsAndHashCode(callSuper = true) @Data +@NoArgsConstructor +@AllArgsConstructor +@Builder public class PromotionGoodsSearchParams extends BasePromotionsSearchParams { @ApiModelProperty(value = "促销活动id") diff --git a/framework/src/main/java/cn/lili/modules/promotion/service/PromotionGoodsService.java b/framework/src/main/java/cn/lili/modules/promotion/service/PromotionGoodsService.java index 375ccb9c..2c63d63d 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/service/PromotionGoodsService.java +++ b/framework/src/main/java/cn/lili/modules/promotion/service/PromotionGoodsService.java @@ -137,6 +137,14 @@ public interface PromotionGoodsService extends IService { */ void updatePromotionGoodsStock(List promotionGoodsList); + /** + * 更新促销活动商品库存 + * + * @param skuId 商品skuId + * @param quantity 库存 + */ + void updatePromotionGoodsStock(String skuId, Integer quantity); + /** * 更新促销活动商品索引 * diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionGoodsServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionGoodsServiceImpl.java index 3502b2ed..948a2da4 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionGoodsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionGoodsServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.convert.Convert; import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; +import cn.lili.cache.Cache; import cn.lili.common.enums.PromotionTypeEnum; import cn.lili.common.vo.PageVO; import cn.lili.modules.goods.entity.dos.GoodsSku; @@ -71,6 +72,9 @@ public class PromotionGoodsServiceImpl extends ServiceImpl findSkuValidPromotion(String skuId, String storeIds) { @@ -262,6 +266,20 @@ public class PromotionGoodsServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PromotionGoods::getSkuId, skuId); + this.list(queryWrapper).forEach(promotionGoods -> { + String promotionStockKey = PromotionGoodsService.getPromotionGoodsStockCacheKey(PromotionTypeEnum.valueOf(promotionGoods.getPromotionType()), promotionGoods.getPromotionId(), promotionGoods.getSkuId()); + cache.remove(promotionStockKey); + }); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(PromotionGoods::getSkuId, skuId); + updateWrapper.set(PromotionGoods::getQuantity, quantity); + this.update(updateWrapper); + } + /** * 更新促销活动商品库存 * From 8ddba831f049bce3d938fe2482cf9131a660b61e Mon Sep 17 00:00:00 2001 From: paulGao Date: Thu, 5 Jan 2023 14:39:23 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E4=BF=83=E9=94=80=E6=B4=BB=E5=8A=A8=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E5=95=86=E5=93=81=E7=B4=A2=E5=BC=95=E3=80=82=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=BC=98=E6=83=A0=E5=88=B8=E9=A2=86=E5=8F=96?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E3=80=82=E5=A2=9E=E5=8A=A0=E4=BC=98=E6=83=A0?= =?UTF-8?q?=E5=88=B8=E5=85=B3=E9=97=AD=E5=90=8E=E5=90=8C=E6=97=B6=E4=BD=9C?= =?UTF-8?q?=E5=BA=9F=E6=89=80=E6=9C=89=E4=BC=9A=E5=91=98=E9=A2=86=E5=8F=96?= =?UTF-8?q?=E7=9A=84=E4=BC=98=E6=83=A0=E5=88=B8=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseElasticsearchService.java | 2 +- .../dto/search/MemberCouponSearchParams.java | 13 +++++++++++ .../promotion/mapper/MemberCouponMapper.java | 9 ++++++++ .../service/MemberCouponService.java | 11 ++++++++++ .../serviceimpl/CouponServiceImpl.java | 7 ++++++ .../serviceimpl/MemberCouponServiceImpl.java | 22 +++++++++++++++++++ .../search/entity/dto/EsGoodsSearchDTO.java | 13 +++++++++-- .../serviceimpl/EsGoodsSearchServiceImpl.java | 4 ++++ .../promotion/CouponManagerController.java | 10 +++++++++ .../promotion/CouponStoreController.java | 17 ++++++++++++++ 10 files changed, 105 insertions(+), 3 deletions(-) diff --git a/framework/src/main/java/cn/lili/elasticsearch/BaseElasticsearchService.java b/framework/src/main/java/cn/lili/elasticsearch/BaseElasticsearchService.java index 9929ff20..f5c9fb4f 100644 --- a/framework/src/main/java/cn/lili/elasticsearch/BaseElasticsearchService.java +++ b/framework/src/main/java/cn/lili/elasticsearch/BaseElasticsearchService.java @@ -325,7 +325,7 @@ public abstract class BaseElasticsearchService { " }\n" + " },\n" + " \"promotionMapJson\": {\n" + - " \"type\": \"text\"\n" + + " \"type\": \"keyword\"\n" + " },\n" + " \"thumbnail\": {\n" + " \"type\": \"text\",\n" + diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/MemberCouponSearchParams.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/MemberCouponSearchParams.java index 02f1b8f0..fc20ccee 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/MemberCouponSearchParams.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/MemberCouponSearchParams.java @@ -27,8 +27,18 @@ public class MemberCouponSearchParams extends BasePromotionsSearchParams impleme private static final String PRICE_COLUMN = "price"; + @ApiModelProperty(value = "优惠券id") + private String couponId; + + @ApiModelProperty(value = "优惠券名称") + private String couponName; + @ApiModelProperty(value = "会员id") private String memberId; + + @ApiModelProperty(value = "会员名称") + private String memberName; + /** * POINT("打折"), PRICE("减免现金"); * @@ -62,6 +72,9 @@ public class MemberCouponSearchParams extends BasePromotionsSearchParams impleme @Override public QueryWrapper queryWrapper() { QueryWrapper queryWrapper = super.queryWrapper(); + queryWrapper.eq(CharSequenceUtil.isNotEmpty(couponId), "coupon_id", couponId); + queryWrapper.like(CharSequenceUtil.isNotEmpty(couponName), "coupon_name", couponName); + queryWrapper.like(CharSequenceUtil.isNotEmpty(memberName), "member_name", memberName); if (CharSequenceUtil.isNotEmpty(couponType)) { queryWrapper.eq("coupon_type", CouponTypeEnum.valueOf(couponType).name()); } diff --git a/framework/src/main/java/cn/lili/modules/promotion/mapper/MemberCouponMapper.java b/framework/src/main/java/cn/lili/modules/promotion/mapper/MemberCouponMapper.java index 6336ae09..fab24537 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/mapper/MemberCouponMapper.java +++ b/framework/src/main/java/cn/lili/modules/promotion/mapper/MemberCouponMapper.java @@ -1,7 +1,13 @@ package cn.lili.modules.promotion.mapper; import cn.lili.modules.promotion.entity.dos.MemberCoupon; +import cn.lili.modules.promotion.entity.vos.MemberCouponVO; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** * 会员优惠券数据处理层 @@ -11,4 +17,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface MemberCouponMapper extends BaseMapper { + @Select("SELECT mc.*,c.coupon_name FROM li_member_coupon mc LEFT JOIN li_coupon c ON mc.coupon_id = c.id ${ew.customSqlSegment}") + Page getMemberCoupons(Page page, @Param(Constants.WRAPPER) Wrapper queryWrapper); + } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/promotion/service/MemberCouponService.java b/framework/src/main/java/cn/lili/modules/promotion/service/MemberCouponService.java index 7ca8245e..4bd4fa87 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/service/MemberCouponService.java +++ b/framework/src/main/java/cn/lili/modules/promotion/service/MemberCouponService.java @@ -3,7 +3,9 @@ package cn.lili.modules.promotion.service; import cn.lili.common.vo.PageVO; import cn.lili.modules.promotion.entity.dos.MemberCoupon; import cn.lili.modules.promotion.entity.dto.search.MemberCouponSearchParams; +import cn.lili.modules.promotion.entity.vos.MemberCouponVO; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; @@ -154,4 +156,13 @@ public interface MemberCouponService extends IService { */ void voidCoupon(String couponId); + /** + * 获取会员优惠券列表 + * + * @param page 分页参数 + * @param param 查询参数 + * @return 会员优惠券列表 + */ + Page getMemberCouponsPage(Page page, MemberCouponSearchParams param); + } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java index 6fd34f3a..ead9d8b8 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java @@ -166,6 +166,13 @@ public class CouponServiceImpl extends AbstractPromotionsServiceImpl getMemberCouponsPage(Page page, MemberCouponSearchParams param) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(CharSequenceUtil.isNotEmpty(param.getMemberId()), "mc.member_id", param.getMemberId()); + queryWrapper.eq(CharSequenceUtil.isNotEmpty(param.getStoreId()), "c.store_id", param.getStoreId()); + queryWrapper.like(CharSequenceUtil.isNotEmpty(param.getMemberName()), "mc.member_name", param.getMemberName()); + queryWrapper.eq(CharSequenceUtil.isNotEmpty(param.getCouponId()), "mc.coupon_id", param.getCouponId()); + queryWrapper.like(CharSequenceUtil.isNotEmpty(param.getCouponName()), "c.coupon_name", param.getCouponName()); + queryWrapper.eq(CharSequenceUtil.isNotEmpty(param.getGetType()), "mc.get_type", param.getGetType()); + queryWrapper.eq(CharSequenceUtil.isNotEmpty(param.getScopeType()), "mc.scope_type", param.getPromotionStatus()); + queryWrapper.eq(CharSequenceUtil.isNotEmpty(param.getCouponType()), "mc.coupon_type", param.getCouponType()); + queryWrapper.eq(CharSequenceUtil.isNotEmpty(param.getMemberCouponStatus()), "mc.member_coupon_status", param.getMemberCouponStatus()); + if (param.getStartTime() != null) { + queryWrapper.ge("start_time", new Date(param.getStartTime())); + } + if (param.getEndTime() != null) { + queryWrapper.le("end_time", new Date(param.getEndTime())); + } + return this.baseMapper.getMemberCoupons(page, queryWrapper); + } + /** * 清除无效的会员优惠券 * diff --git a/framework/src/main/java/cn/lili/modules/search/entity/dto/EsGoodsSearchDTO.java b/framework/src/main/java/cn/lili/modules/search/entity/dto/EsGoodsSearchDTO.java index 305fd5f6..b0cf8c4b 100644 --- a/framework/src/main/java/cn/lili/modules/search/entity/dto/EsGoodsSearchDTO.java +++ b/framework/src/main/java/cn/lili/modules/search/entity/dto/EsGoodsSearchDTO.java @@ -1,7 +1,7 @@ package cn.lili.modules.search.entity.dto; +import cn.hutool.core.text.CharSequenceUtil; import cn.lili.common.utils.RegularUtil; -import cn.lili.common.utils.StringUtils; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -49,9 +49,18 @@ public class EsGoodsSearchDTO { @ApiModelProperty("当前商品skuId,根据当前浏览的商品信息来给用户推荐可能喜欢的商品") private String currentGoodsId; + /** + * @see cn.lili.common.enums.PromotionTypeEnum + */ + @ApiModelProperty("促销活动类型") + private String promotionType; + + @ApiModelProperty(value = "促销活动id") + private String promotionsId; + //过滤搜索关键字 public String getKeyword() { - if (StringUtils.isNotEmpty(keyword)) { + if (CharSequenceUtil.isNotEmpty(keyword)) { RegularUtil.replace(this.keyword); } return keyword; diff --git a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java index 7fa6d30b..80ed1f54 100644 --- a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java @@ -469,6 +469,10 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService { if (CharSequenceUtil.isNotEmpty(searchDTO.getProp())) { this.propSearch(filterBuilder, searchDTO); } + // 促销活动判定 + if (CharSequenceUtil.isNotEmpty(searchDTO.getPromotionsId()) && CharSequenceUtil.isNotEmpty(searchDTO.getPromotionType())) { + filterBuilder.must(QueryBuilders.wildcardQuery("promotionMapJson", "*" + searchDTO.getPromotionType() + "-" + searchDTO.getPromotionsId() + "*")); + } //价格区间判定 if (CharSequenceUtil.isNotEmpty(searchDTO.getPrice())) { String[] prices = searchDTO.getPrice().split("_"); diff --git a/manager-api/src/main/java/cn/lili/controller/promotion/CouponManagerController.java b/manager-api/src/main/java/cn/lili/controller/promotion/CouponManagerController.java index 8a130ef9..5c2b7485 100644 --- a/manager-api/src/main/java/cn/lili/controller/promotion/CouponManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/promotion/CouponManagerController.java @@ -10,7 +10,9 @@ import cn.lili.common.vo.ResultMessage; import cn.lili.modules.promotion.entity.dos.Coupon; import cn.lili.modules.promotion.entity.dos.MemberCoupon; import cn.lili.modules.promotion.entity.dto.search.CouponSearchParams; +import cn.lili.modules.promotion.entity.dto.search.MemberCouponSearchParams; import cn.lili.modules.promotion.entity.vos.CouponVO; +import cn.lili.modules.promotion.entity.vos.MemberCouponVO; import cn.lili.modules.promotion.service.CouponService; import cn.lili.modules.promotion.service.MemberCouponService; import cn.lili.modules.promotion.tools.PromotionTools; @@ -111,6 +113,14 @@ public class CouponManagerController { } + @ApiOperation(value = "获取优惠券领取详情") + @GetMapping(value = "/received") + public ResultMessage> getReceiveByPage(MemberCouponSearchParams searchParams, + PageVO page) { + IPage result = memberCouponService.getMemberCouponsPage(PageUtil.initPage(page), searchParams); + return ResultUtil.data(result); + } + private void setStoreInfo(CouponVO couponVO) { AuthUser currentUser = UserContext.getCurrentUser(); if (currentUser == null) { diff --git a/seller-api/src/main/java/cn/lili/controller/promotion/CouponStoreController.java b/seller-api/src/main/java/cn/lili/controller/promotion/CouponStoreController.java index 7af2c8e2..af8f1bf2 100644 --- a/seller-api/src/main/java/cn/lili/controller/promotion/CouponStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/promotion/CouponStoreController.java @@ -10,8 +10,12 @@ import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.promotion.entity.dos.Coupon; import cn.lili.modules.promotion.entity.dto.search.CouponSearchParams; +import cn.lili.modules.promotion.entity.dto.search.MemberCouponSearchParams; import cn.lili.modules.promotion.entity.vos.CouponVO; +import cn.lili.modules.promotion.entity.vos.MemberCouponVO; import cn.lili.modules.promotion.service.CouponService; +import cn.lili.modules.promotion.service.MemberCouponService; +import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; @@ -38,6 +42,10 @@ public class CouponStoreController { @Autowired private CouponService couponService; + + @Autowired + private MemberCouponService memberCouponService; + @GetMapping @ApiOperation(value = "获取优惠券列表") public ResultMessage> getCouponList(CouponSearchParams queryParam, PageVO page) { @@ -91,6 +99,15 @@ public class CouponStoreController { return couponService.removePromotions(filterIds) ? ResultUtil.success() : ResultUtil.error(ResultCode.COUPON_DELETE_ERROR); } + @ApiOperation(value = "获取优惠券领取详情") + @GetMapping(value = "/received") + public ResultMessage> getReceiveByPage(MemberCouponSearchParams searchParams, + PageVO page) { + searchParams.setStoreId(Objects.requireNonNull(UserContext.getCurrentUser()).getStoreId()); + IPage result = memberCouponService.getMemberCouponsPage(PageUtil.initPage(page), searchParams); + return ResultUtil.data(result); + } + @ApiOperation(value = "修改优惠券状态") @PutMapping("/status") public ResultMessage updateCouponStatus(String couponIds, Long startTime, Long endTime) { From eefca656c6352a1e82889a863d0119d3f22731c9 Mon Sep 17 00:00:00 2001 From: paulGao Date: Tue, 10 Jan 2023 14:34:48 +0800 Subject: [PATCH 3/4] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E4=BC=9A=E5=91=98?= =?UTF-8?q?=E4=BC=98=E6=83=A0=E5=88=B8=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lili/modules/promotion/entity/vos/MemberCouponVO.java | 7 +++++++ .../promotion/serviceimpl/MemberCouponServiceImpl.java | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/MemberCouponVO.java b/framework/src/main/java/cn/lili/modules/promotion/entity/vos/MemberCouponVO.java index 60ccef17..06f06a19 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/MemberCouponVO.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/vos/MemberCouponVO.java @@ -4,6 +4,7 @@ import cn.lili.common.utils.BeanUtil; import cn.lili.modules.promotion.entity.dos.MemberCoupon; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import lombok.EqualsAndHashCode; /** * MemberCouponVO @@ -12,9 +13,15 @@ import lombok.Data; * @version v1.0 * 2021-08-24 14:30 */ +@EqualsAndHashCode(callSuper = true) @Data public class MemberCouponVO extends MemberCoupon { + private static final long serialVersionUID = -5533168813075444962L; + + @ApiModelProperty(value = "优惠券名称") + private String couponName; + @ApiModelProperty(value = "无法使用原因") private String reason; diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/MemberCouponServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/MemberCouponServiceImpl.java index 2cc8c158..1da8f0a6 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/MemberCouponServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/MemberCouponServiceImpl.java @@ -316,10 +316,10 @@ public class MemberCouponServiceImpl extends ServiceImpl Date: Wed, 11 Jan 2023 11:32:27 +0800 Subject: [PATCH 4/4] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=95=86=E5=93=81?= =?UTF-8?q?=E7=B4=A2=E5=BC=95=E5=88=9D=E5=A7=8B=E5=8C=96=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E5=BA=97=E9=93=BA=E5=85=A8=E5=93=81=E7=B1=BB=E4=BC=98=E6=83=A0?= =?UTF-8?q?=E5=88=B8=E5=92=8C=E5=B9=B3=E5=8F=B0=E5=85=A8=E5=93=81=E7=B1=BB?= =?UTF-8?q?=E4=BC=98=E6=83=A0=E5=88=B8=E6=B2=A1=E6=9C=89=E5=8C=BA=E5=88=86?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../promotion/serviceimpl/PromotionGoodsServiceImpl.java | 3 +-- .../modules/search/serviceimpl/EsGoodsIndexServiceImpl.java | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionGoodsServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionGoodsServiceImpl.java index e3e460fa..28aedbdc 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionGoodsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionGoodsServiceImpl.java @@ -6,7 +6,6 @@ import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import cn.lili.cache.Cache; import cn.lili.common.enums.PromotionTypeEnum; -import cn.lili.common.utils.StringUtils; import cn.lili.common.vo.PageVO; import cn.lili.modules.goods.entity.dos.GoodsSku; import cn.lili.modules.goods.entity.dto.GoodsSkuDTO; @@ -100,7 +99,7 @@ public class PromotionGoodsServiceImpl extends ServiceImpl skuIds = skus.stream().map(GoodsSku::getId).collect(Collectors.toList()); List categoriesPath = new ArrayList<>(); categories.forEach(i -> { - if (StringUtils.isNotEmpty(i)) { + if (CharSequenceUtil.isNotEmpty(i)) { categoriesPath.addAll(Arrays.asList(i.split(","))); } } diff --git a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsIndexServiceImpl.java b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsIndexServiceImpl.java index de20462d..bda58afb 100644 --- a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsIndexServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsIndexServiceImpl.java @@ -239,7 +239,8 @@ public class EsGoodsIndexServiceImpl extends BaseElasticsearchService implements List promotionGoods = skuValidPromotions.stream() .filter(j -> (CharSequenceUtil.isNotEmpty(j.getSkuId()) && j.getSkuId().equals(goodsSku.getId())) || - j.getScopeType().equals(PromotionsScopeTypeEnum.ALL.name()) || + (j.getScopeType().equals(PromotionsScopeTypeEnum.ALL.name()) && j.getStoreId().equals("0")) || + (j.getScopeType().equals(PromotionsScopeTypeEnum.ALL.name()) && j.getStoreId().equals(esGoodsIndex.getStoreId())) || (j.getScopeType().equals(PromotionsScopeTypeEnum.PORTION_GOODS_CATEGORY.name()) && j.getScopeId().contains(goodsSku.getCategoryPath()))) .collect(Collectors.toList()); if (CollUtil.isNotEmpty(promotionGoods)) {