From 6a55e75b8530197d1f561f710f9e53b7e40be171 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 01 Jul 2026 11:06:49 +0800
Subject: [PATCH] refactor(mall): 重构会员优惠券绑定逻辑
---
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 27 +++++++++++----------------
1 files changed, 11 insertions(+), 16 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
index b1c3142..7e553d1 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -391,24 +391,19 @@
if(ObjectUtil.isEmpty(member)){
throw new FebsException("请刷新页面");
}
- List<Long> couponIds = mallmember.getCouponIds();
- if(CollUtil.isEmpty(couponIds)){
- return new FebsResponse().fail().message("请选择优惠券");
- }
+ // 先删除旧绑定,再插入新绑定(全量替换)
+ QueryWrapper<SalemanCoupon> deleteWrapper = new QueryWrapper<>();
+ deleteWrapper.eq("member_id", member.getId());
+ salemanCouponMapper.delete(deleteWrapper);
- for(Long couponId : couponIds){
- // 检查是否已绑定,已绑定则跳过
- QueryWrapper<SalemanCoupon> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("member_id", member.getId());
- queryWrapper.eq("coupon_id", couponId);
- SalemanCoupon exist = salemanCouponMapper.selectOne(queryWrapper);
- if(ObjectUtil.isNotEmpty(exist)){
- continue;
+ List<Long> couponIds = mallmember.getCouponIds();
+ if(CollUtil.isNotEmpty(couponIds)){
+ for(Long couponId : couponIds){
+ SalemanCoupon salemanCoupon = new SalemanCoupon();
+ salemanCoupon.setMemberId(member.getId());
+ salemanCoupon.setCouponId(couponId);
+ salemanCouponMapper.insert(salemanCoupon);
}
- SalemanCoupon salemanCoupon = new SalemanCoupon();
- salemanCoupon.setMemberId(member.getId());
- salemanCoupon.setCouponId(couponId);
- salemanCouponMapper.insert(salemanCoupon);
}
return new FebsResponse().success().message("操作成功");
}
--
Gitblit v1.9.1