fix
Hentua
2023-09-26 5bd109cbeb9545bab28a0b2bd267e02bf3752f0e
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -888,26 +888,30 @@
        Long memberId = LoginUserUtil.getLoginUser().getId();
        //通过邀请人信息,获取能领取的优惠卷信息
        MallMember mallMember = this.baseMapper.selectInfoByInviteId(getCouponDto.getInviteId());
        SalemanCoupon salemanCoupon = salemanCouponMapper.selectByMemberId(mallMember.getId());
        if(ObjectUtil.isNotEmpty(salemanCoupon)){
            Long couponId = salemanCoupon.getCouponId();
            Long goodsId = getCouponDto.getGoodsId();
            //商品优惠卷如果绑定了,那么当前登陆者获取一张卷
            List<CouponGoods> couponGoodsList = couponGoodsMapper.selectByGoodIdAndCouponId(goodsId,couponId);
            MallGoodsCoupon mallGoodsCoupon = mallGoodsCouponMapper.selectById(couponId);
            if(CollUtil.isNotEmpty(couponGoodsList)){
                MallMemberCoupon mallMemberCoupon = new MallMemberCoupon();
                mallMemberCoupon.setCouponId(couponId);
                mallMemberCoupon.setCouponName(mallGoodsCoupon.getName());
                mallMemberCoupon.setMemberId(memberId);
                mallMemberCoupon.setGoodsId(goodsId);
                mallMemberCoupon.setInviteId(mallMember.getInviteId());
                mallMemberCoupon.setState(1);
                mallMemberCoupon.setExpireTime(DateUtil.offsetDay(DateUtil.date(),mallGoodsCoupon.getExpireDay()));
                mallMemberCouponMapper.insert(mallMemberCoupon);
        if(ObjectUtil.isNotEmpty(mallMember)){
            SalemanCoupon salemanCoupon = salemanCouponMapper.selectByMemberId(mallMember.getId());
            if(ObjectUtil.isNotEmpty(salemanCoupon)){
                Long couponId = salemanCoupon.getCouponId();
                Long goodsId = getCouponDto.getGoodsId();
                List<MallMemberCoupon> mallMemberCoupons = mallMemberCouponMapper.selectListByMemberIdAndGoodsIdAndCouponId(memberId, goodsId, couponId);
                if(CollUtil.isEmpty(mallMemberCoupons)){
                    //商品优惠卷如果绑定了,那么当前登陆者获取一张卷
                    List<CouponGoods> couponGoodsList = couponGoodsMapper.selectByGoodIdAndCouponId(goodsId,couponId);
                    MallGoodsCoupon mallGoodsCoupon = mallGoodsCouponMapper.selectById(couponId);
                    if(CollUtil.isNotEmpty(couponGoodsList)){
                        MallMemberCoupon mallMemberCoupon = new MallMemberCoupon();
                        mallMemberCoupon.setCouponId(couponId);
                        mallMemberCoupon.setCouponName(mallGoodsCoupon.getName());
                        mallMemberCoupon.setMemberId(memberId);
                        mallMemberCoupon.setGoodsId(goodsId);
                        mallMemberCoupon.setInviteId(mallMember.getInviteId());
                        mallMemberCoupon.setState(1);
                        mallMemberCoupon.setExpireTime(DateUtil.offsetDay(DateUtil.date(),mallGoodsCoupon.getExpireDay()));
                        mallMemberCouponMapper.insert(mallMemberCoupon);
                    }
                }
            }
        }
        return new FebsResponse().success();
    }