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/service/impl/ApiMallMemberServiceImpl.java | 45 +++++++++++++++++++++++---------------------- 1 files changed, 23 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()); -- Gitblit v1.9.1