From add46ca247cb527b0e8fabd217ac73e84ac7e5cd Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期一, 04 八月 2025 18:11:38 +0800 Subject: [PATCH] 主页视频,厨神,大健康,商品二维码优惠卷领取状态,优惠卷领取状态 --- framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java | 37 +++++++++++++++++++++++++++++++++++++ 1 files changed, 37 insertions(+), 0 deletions(-) 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 7e24ed9..a94ecee 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 @@ -8,12 +8,16 @@ import cn.lili.common.event.TransactionCommitSendMQEvent; import cn.lili.common.exception.ServiceException; import cn.lili.common.properties.RocketmqCustomProperties; +import cn.lili.common.security.AuthUser; +import cn.lili.common.security.context.UserContext; import cn.lili.common.utils.DateUtil; +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.service.GoodsSkuService; import cn.lili.modules.promotion.entity.dos.Coupon; import cn.lili.modules.promotion.entity.dos.FullDiscount; +import cn.lili.modules.promotion.entity.dos.MemberCoupon; import cn.lili.modules.promotion.entity.dos.PromotionGoods; import cn.lili.modules.promotion.entity.dto.search.CouponSearchParams; import cn.lili.modules.promotion.entity.dto.search.FullDiscountSearchParams; @@ -24,6 +28,7 @@ import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum; import cn.lili.modules.promotion.entity.vos.CouponVO; import cn.lili.modules.promotion.mapper.CouponMapper; +import cn.lili.modules.promotion.mapper.MemberCouponMapper; import cn.lili.modules.promotion.service.*; import cn.lili.modules.promotion.tools.PromotionTools; import cn.lili.mybatis.util.PageUtil; @@ -31,6 +36,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Service; @@ -39,6 +45,7 @@ import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -82,6 +89,36 @@ @Autowired private ApplicationEventPublisher applicationEventPublisher; + @Autowired + private MemberCouponMapper memberCouponMapper; + @Override + public void getUserCouponsStatus(List<CouponVO> list) { + AuthUser currentUser = Objects.requireNonNull(UserContext.getCurrentUser()); + if (StringUtils.isNotBlank(currentUser.getId())){ + List<String> ids = list.stream().map(CouponVO::getId).collect(Collectors.toList()); + + //鑾峰緱鍒嗛〉浼樻儬鍔靛悗鐨勭粨鏋滃悗锛屽垽鏂璞℃槸鍚﹁鐢ㄦ埛鑾峰緱杩囥�� + List<MemberCoupon> userCouponVOS = new LambdaQueryChainWrapper<>(memberCouponMapper) + .in(MemberCoupon::getCouponId,ids) + .eq(MemberCoupon::getMemberId,currentUser.getId()) + .list(); + //鐢ㄦ埛鑾峰緱杩囩殑浼樻儬鍗穒d闆嗗悎 + List<String> userHaveCouponIds = userCouponVOS.stream().map(MemberCoupon::getCouponId).collect(Collectors.toList()); + //淇敼鐘舵�� + for(CouponVO couponVO : list){ + boolean owned = false; + for (String id : userHaveCouponIds){ + if(id.equals(couponVO.getId())){ + owned = true; + break; + } + } + couponVO.setOwned(owned); + } + } + + } + /** * 棰嗗彇浼樻儬鍒� * -- Gitblit v1.8.0