From 9022ac2b07e69e8bdce28f8de26a124d00b1031d Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Fri, 1 Nov 2024 18:29:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=AD=E4=B9=B0=E5=95=86=E5=93=81=E5=8F=91?= =?UTF-8?q?=E6=94=BE=E4=BC=98=E6=83=A0=E5=88=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../book/controller/BuyOrderController.java | 5 +---- .../common/dao/CouponToProductDao.java | 3 ++- .../modules/common/service/CouponService.java | 3 ++- .../service/impl/CouponServiceImpl.java | 21 ++++++++++++------- .../service/impl/AliPayServiceImpl.java | 4 ++-- .../service/impl/WxpayServiceImpl.java | 5 ++--- 6 files changed, 23 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java index e8198ba6..772707b7 100644 --- a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java +++ b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java @@ -336,10 +336,7 @@ public class BuyOrderController { couponService.useCouponAmount(couponHistory); } //发放优惠卷 - List collect = buyOrderProductService.list(new LambdaQueryWrapper() - .eq(BuyOrderProduct::getOrderId, buyOrder.getOrderId())) - .stream().map(BuyOrderProduct::getProductId).collect(Collectors.toList()); - couponService.insertCouponHistoryByProductId(collect); + couponService.insertCouponHistoryByProductId(buyOrder); } else { return R.error(500, "天医币余额不足!"); } diff --git a/src/main/java/com/peanut/modules/common/dao/CouponToProductDao.java b/src/main/java/com/peanut/modules/common/dao/CouponToProductDao.java index a0c6330f..ace70c4b 100644 --- a/src/main/java/com/peanut/modules/common/dao/CouponToProductDao.java +++ b/src/main/java/com/peanut/modules/common/dao/CouponToProductDao.java @@ -1,9 +1,10 @@ package com.peanut.modules.common.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.github.yulichang.base.MPJBaseMapper; import com.peanut.modules.common.entity.CouponToProduct; import org.apache.ibatis.annotations.Mapper; @Mapper -public interface CouponToProductDao extends BaseMapper { +public interface CouponToProductDao extends MPJBaseMapper { } diff --git a/src/main/java/com/peanut/modules/common/service/CouponService.java b/src/main/java/com/peanut/modules/common/service/CouponService.java index be71790d..dd08b4e0 100644 --- a/src/main/java/com/peanut/modules/common/service/CouponService.java +++ b/src/main/java/com/peanut/modules/common/service/CouponService.java @@ -2,6 +2,7 @@ package com.peanut.modules.common.service; import com.baomidou.mybatisplus.extension.service.IService; import com.peanut.common.utils.R; +import com.peanut.modules.common.entity.BuyOrder; import com.peanut.modules.common.entity.CouponEntity; import com.peanut.modules.common.entity.CouponHistory; import java.math.BigDecimal; @@ -28,6 +29,6 @@ public interface CouponService extends IService { void rollbackCoupon(int couponHistoryId); //通过商品发放优惠卷 - void insertCouponHistoryByProductId(List productIds); + void insertCouponHistoryByProductId(BuyOrder order); } diff --git a/src/main/java/com/peanut/modules/common/service/impl/CouponServiceImpl.java b/src/main/java/com/peanut/modules/common/service/impl/CouponServiceImpl.java index 43e38ca6..1a2494a0 100644 --- a/src/main/java/com/peanut/modules/common/service/impl/CouponServiceImpl.java +++ b/src/main/java/com/peanut/modules/common/service/impl/CouponServiceImpl.java @@ -237,13 +237,20 @@ public class CouponServiceImpl extends ServiceImpl impl } @Override - public void insertCouponHistoryByProductId(List productIds) { - List couponToProductList = couponToProductDao.selectList(new LambdaQueryWrapper() - .in(CouponToProduct::getProductId,productIds)); - for (CouponToProduct couponToProduct : couponToProductList) { - ShopProduct shopProduct = shopProductDao.selectById(couponToProduct.getProductId()); - insertCouponHistory(couponToProduct.getCouponId(), - ShiroUtils.getUId(), 1,"购买商品"+shopProduct.getProductName()+"赠送"); + public void insertCouponHistoryByProductId(BuyOrder order) { + MPJLambdaWrapper wrapper = new MPJLambdaWrapper(); + wrapper.leftJoin(BuyOrderProduct.class,BuyOrderProduct::getProductId,CouponToProduct::getProductId); + wrapper.eq(BuyOrderProduct::getOrderId,order.getOrderId()); + wrapper.select(CouponToProduct::getCouponId); + wrapper.select(BuyOrderProduct::getProductId); + wrapper.select(BuyOrderProduct::getQuantity); + List> buyOrderProducts = couponToProductDao.selectJoinMaps(wrapper); + for (Map map : buyOrderProducts) { + ShopProduct shopProduct = shopProductDao.selectById(map.get("productId").toString()); + for (int i=0;i collect = buyOrderProductDao.selectList(new LambdaQueryWrapper().eq(BuyOrderProduct::getOrderId, order.getOrderId())).stream().map(BuyOrderProduct::getProductId).collect(Collectors.toList()); - //发放优惠卷 - couponService.insertCouponHistoryByProductId(collect); //手摸脚模购买后会开启用户的脉穴的功能 if(collect.contains(128)||collect.contains(129)||collect.contains(130)||collect.contains(131)||collect.contains(136)||collect.contains(137)){ MyUserEntity userInfo = userService.getById(order.getUserId()); diff --git a/src/main/java/com/peanut/modules/pay/weChatPay/service/impl/WxpayServiceImpl.java b/src/main/java/com/peanut/modules/pay/weChatPay/service/impl/WxpayServiceImpl.java index 71db02fd..1a8fb997 100644 --- a/src/main/java/com/peanut/modules/pay/weChatPay/service/impl/WxpayServiceImpl.java +++ b/src/main/java/com/peanut/modules/pay/weChatPay/service/impl/WxpayServiceImpl.java @@ -235,10 +235,9 @@ public class WxpayServiceImpl extends ServiceImpl collect = buyOrderProductDao.selectList(new LambdaQueryWrapper().eq(BuyOrderProduct::getOrderId, order.getOrderId())).stream().map(BuyOrderProduct::getProductId).collect(Collectors.toList()); //发放优惠卷 - couponService.insertCouponHistoryByProductId(collect); + couponService.insertCouponHistoryByProductId(order); + List collect = buyOrderProductDao.selectList(new LambdaQueryWrapper().eq(BuyOrderProduct::getOrderId, order.getOrderId())).stream().map(BuyOrderProduct::getProductId).collect(Collectors.toList()); //手摸脚模购买后会开启用户的脉穴的功能 if(collect.contains(128)||collect.contains(129)||collect.contains(130)||collect.contains(131)||collect.contains(136)||collect.contains(137)){ MyUserEntity userInfo = userService.getById(order.getUserId());