购买商品发放优惠券

This commit is contained in:
wuchunlei
2024-11-01 18:29:47 +08:00
parent 87de5a9660
commit 9022ac2b07
6 changed files with 23 additions and 18 deletions

View File

@@ -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<CouponEntity> {
void rollbackCoupon(int couponHistoryId);
//通过商品发放优惠卷
void insertCouponHistoryByProductId(List<Integer> productIds);
void insertCouponHistoryByProductId(BuyOrder order);
}

View File

@@ -237,13 +237,20 @@ public class CouponServiceImpl extends ServiceImpl<CouponDao, CouponEntity> impl
}
@Override
public void insertCouponHistoryByProductId(List<Integer> productIds) {
List<CouponToProduct> couponToProductList = couponToProductDao.selectList(new LambdaQueryWrapper<CouponToProduct>()
.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<CouponToProduct> 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<Map<String,Object>> buyOrderProducts = couponToProductDao.selectJoinMaps(wrapper);
for (Map<String,Object> map : buyOrderProducts) {
ShopProduct shopProduct = shopProductDao.selectById(map.get("productId").toString());
for (int i=0;i<Integer.parseInt(map.get("quantity").toString());i++){
insertCouponHistory(Integer.parseInt(map.get("couponId").toString()),
ShiroUtils.getUId(), 1,"购买商品"+shopProduct.getProductName()+"赠送");
}
}