KKSU
2024-01-19 08aa2024f664d2c7e7eb60a25922a07d60aca2f2
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -935,6 +935,35 @@
    }
    @Override
    public FebsResponse scanCoupon(GetCouponDto getCouponDto) {
        Long memberId = LoginUserUtil.getLoginUser().getId();
        String couponUUID = IdUtil.simpleUUID();
        //通过邀请人信息,获取能领取的优惠卷信息
        MallMember mallMember = this.baseMapper.selectInfoByInviteId(getCouponDto.getInviteId());
        if(ObjectUtil.isNotEmpty(mallMember)){
            SalemanCoupon salemanCoupon = salemanCouponMapper.selectByMemberId(mallMember.getId());
            if(ObjectUtil.isNotEmpty(salemanCoupon)){
                Long couponId = salemanCoupon.getCouponId();
                List<MallMemberCoupon> mallMemberCoupons = mallMemberCouponMapper.selectListByMemberIdCouponIdWithOutInviteId(memberId, couponId);
                if(CollUtil.isEmpty(mallMemberCoupons)){
                    //商品优惠卷如果绑定了,那么当前登陆者获取一张卷
                    MallGoodsCoupon mallGoodsCoupon = mallGoodsCouponMapper.selectById(couponId);
                    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);
                }
            }
        }
        return new FebsResponse().success();
    }
    @Override
    public FebsResponse memberCoupon(MallMemberCouponDto mallMemberCouponDto) {
        Long memberId = LoginUserUtil.getLoginUser().getId();
        IPage<MallMemberCouponVo> page = new Page<>(mallMemberCouponDto.getPageNum(), mallMemberCouponDto.getPageSize());
@@ -942,6 +971,19 @@
        mallMemberCouponDto.setExpireTime(DateUtil.date());
        IPage<MallMemberCouponVo> pages = mallMemberCouponMapper.selectListInPage(page, mallMemberCouponDto);
        return new FebsResponse().success().data(pages);
    }
    @Override
    public FebsResponse memberPayCoupon(MallMemberCouponDto mallMemberCouponDto) {
        Long memberId = LoginUserUtil.getLoginUser().getId();
        mallMemberCouponDto.setMemberId(memberId);
        mallMemberCouponDto.setExpireTime(DateUtil.date());
        List<Long> couponIds = couponGoodsMapper.selectByGoodId(mallMemberCouponDto.getGoodsId());
        List<MallMemberCouponVo> mallMemberCouponVos = new ArrayList<>();
        if(CollUtil.isNotEmpty(couponIds)){
            mallMemberCouponVos = mallMemberCouponMapper.selectListCreateInPage(mallMemberCouponDto,couponIds);
        }
        return new FebsResponse().success().data(mallMemberCouponVos);
    }
    @Override
@@ -953,6 +995,7 @@
        MallGoodsCoupon mallGoodsCoupon = mallGoodsCouponMapper.selectById(mallMemberCoupon.getCouponId());
        mallMemberCouponVo.setCostAmount(mallGoodsCoupon.getCostAmount());
        mallMemberCouponVo.setRealAmount(mallGoodsCoupon.getRealAmount());
        mallMemberCouponVo.setType(mallGoodsCoupon.getType());
        return new FebsResponse().success().data(mallMemberCouponVo);
    }