From 6e39306a7fc83890659f098ed9c6c5f686a6371b Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 20 May 2025 11:54:08 +0800
Subject: [PATCH] feat(mall): 优化新人礼领取逻辑并添加领取状态字段- 优化新人礼领取逻辑,检查优惠券是否存在且状态为有效 - 在 MallMemberVo 中添加 newGift 字段,用于表示是否领取新人礼
---
src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java | 3 +++
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 45 +++++++++++++++++++++++----------------------
2 files changed, 26 insertions(+), 22 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index 84e81b0..e369a7e 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -1632,32 +1632,33 @@
if(ObjectUtil.isNotEmpty(apiNewGiftSettingDto.getCouponId())){
Long couponId = apiNewGiftSettingDto.getCouponId();
MallGoodsCoupon mallGoodsCoupon = mallGoodsCouponMapper.selectById(couponId);
- List<MallMemberCoupon> mallMemberCoupons = mallMemberCouponMapper.selectListByMemberIdCouponIdWithOutInviteId(memberId, couponId);
- if(CollUtil.isEmpty(mallMemberCoupons)){
- //商品优惠卷如果绑定了,那么当前登陆者获取一张卷
- MallMemberCoupon mallMemberCoupon = new MallMemberCoupon();
- mallMemberCoupon.setCouponId(couponId);
- mallMemberCoupon.setCouponName(mallGoodsCoupon.getName());
- mallMemberCoupon.setMemberId(memberId);
- mallMemberCoupon.setCouponUuid(couponUUID);
- mallMemberCoupon.setInviteId(mallMember.getInviteId());
- mallMemberCoupon.setState(1);
- mallMemberCoupon.setExpireTime(DateUtil.offsetDay(DateUtil.date(),mallGoodsCoupon.getExpireDay()));
- mallMemberCouponMapper.insert(mallMemberCoupon);
+ if(ObjectUtil.isNotEmpty(mallGoodsCoupon) && mallGoodsCoupon.getState() == 2){
+ List<MallMemberCoupon> mallMemberCoupons = mallMemberCouponMapper.selectListByMemberIdCouponIdWithOutInviteId(memberId, couponId);
+ if(CollUtil.isEmpty(mallMemberCoupons)){
+ //商品优惠卷如果绑定了,那么当前登陆者获取一张卷
+ MallMemberCoupon mallMemberCoupon = new MallMemberCoupon();
+ mallMemberCoupon.setCouponId(couponId);
+ mallMemberCoupon.setCouponName(mallGoodsCoupon.getName());
+ mallMemberCoupon.setMemberId(memberId);
+ mallMemberCoupon.setCouponUuid(couponUUID);
+ mallMemberCoupon.setInviteId(mallMember.getInviteId());
+ mallMemberCoupon.setState(1);
+ mallMemberCoupon.setExpireTime(DateUtil.offsetDay(DateUtil.date(),mallGoodsCoupon.getExpireDay()));
+ mallMemberCouponMapper.insert(mallMemberCoupon);
- mallMoneyFlowService.addMoneyFlow(
- memberId,
- BigDecimal.ONE,
- ScoreFlowTypeEnum.NEW_GIFT_COUPON.getValue(),
- MallUtils.getOrderNum(),
- FlowTypeEnum.BALANCE.getValue(),
- StrUtil.format( ScoreFlowTypeEnum.NEW_GIFT_COUPON.getDesc(),mallGoodsCoupon.getName()),
- 2);
+ mallMoneyFlowService.addMoneyFlow(
+ memberId,
+ BigDecimal.ONE,
+ ScoreFlowTypeEnum.NEW_GIFT_COUPON.getValue(),
+ MallUtils.getOrderNum(),
+ FlowTypeEnum.BALANCE.getValue(),
+ StrUtil.format( ScoreFlowTypeEnum.NEW_GIFT_COUPON.getDesc(),mallGoodsCoupon.getName()),
+ 2);
- apiMemberNewGiftSettingVo.setCouponName(mallGoodsCoupon.getName());
+ apiMemberNewGiftSettingVo.setCouponName(mallGoodsCoupon.getName());
+ }
}
}
-
}
// this.baseMapper.updateLastLoginTime(memberId,new Date());
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
index b6dee58..a41dfcf 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
@@ -118,4 +118,7 @@
@ApiModelProperty(value = "是否是核销员 0-否 1-是")
private Integer checkOrder;
+
+ @ApiModelProperty(value = "是否领取新人礼 0-否 1-是")
+ private Integer newGift;
}
--
Gitblit v1.9.1