From 26eb548e4ce72a10b4b694852e0640fb76651655 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Tue, 02 Jan 2024 10:56:26 +0800 Subject: [PATCH] 领取优惠卷,验证商品是否存在、是否下架 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 56 +++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 39 insertions(+), 17 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 e4397ad..1be19b6 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 @@ -29,6 +29,7 @@ import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -74,6 +75,7 @@ private final CouponGoodsMapper couponGoodsMapper; private final MallGoodsCouponMapper mallGoodsCouponMapper; private final MallMemberCouponMapper mallMemberCouponMapper; + private final MallGoodsMapper mallGoodsMapper; @Value("${spring.profiles.active}") @@ -886,6 +888,15 @@ @Override public FebsResponse getCoupon(GetCouponDto getCouponDto) { Long memberId = LoginUserUtil.getLoginUser().getId(); + + String couponUUID = IdUtil.simpleUUID(); +// String couponUUID = getCouponDto.getCouponUUID(); +// QueryWrapper<MallMemberCoupon> objectQueryWrapper = new QueryWrapper<>(); +// objectQueryWrapper.eq("coupon_uuid",couponUUID); +// List<MallMemberCoupon> mallMemberCouponDone = mallMemberCouponMapper.selectList(objectQueryWrapper); +// if(CollUtil.isNotEmpty(mallMemberCouponDone)){ +// return new FebsResponse().success(); +// } //通过邀请人信息,获取能领取的优惠卷信息 MallMember mallMember = this.baseMapper.selectInfoByInviteId(getCouponDto.getInviteId()); if(ObjectUtil.isNotEmpty(mallMember)){ @@ -893,22 +904,29 @@ if(ObjectUtil.isNotEmpty(salemanCoupon)){ Long couponId = salemanCoupon.getCouponId(); Long goodsId = getCouponDto.getGoodsId(); + MallGoods mallGoods = mallGoodsMapper.selectById(goodsId); + //验证商品存不存在,且上没上架 + if(ObjectUtil.isNotEmpty(mallGoods) + && MallGoods.ISSALE_STATUS_ENABLE == mallGoods.getIsSale()){ // List<MallMemberCoupon> mallMemberCoupons = mallMemberCouponMapper.selectListByMemberIdAndGoodsIdAndCouponId(memberId, goodsId, couponId,mallMember.getInviteId()); - List<MallMemberCoupon> mallMemberCoupons = mallMemberCouponMapper.selectListByMemberIdAndGoodsIdAndCouponIdWithOutInviteId(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); +// List<MallMemberCoupon> mallMemberCoupons = mallMemberCouponMapper.selectListByMemberIdAndGoodsIdAndCouponIdWithOutInviteId(memberId, goodsId, couponId); + List<MallMemberCoupon> mallMemberCoupons = mallMemberCouponMapper.selectListByMemberIdAndGoodsIdAndCouponIdWithOutInviteId(memberId, goodsId); + 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.setCouponUuid(couponUUID); + mallMemberCoupon.setInviteId(mallMember.getInviteId()); + mallMemberCoupon.setState(1); + mallMemberCoupon.setExpireTime(DateUtil.offsetDay(DateUtil.date(),mallGoodsCoupon.getExpireDay())); + mallMemberCouponMapper.insert(mallMemberCoupon); + } } } } @@ -946,11 +964,15 @@ throw new FebsException("已绑定"); } String inviteId = apiSetInviteDto.getInviteId(); - if(inviteId.equals(mallMember.getReferrerId())){ - throw new FebsException("自己无法绑定自己"); + if(inviteId.equals(mallMember.getInviteId())){ + return new FebsResponse().success(); } MallMember member = this.baseMapper.selectInfoByInviteId(inviteId); if (member != null) { + if (StrUtil.isNotBlank(member.getReferrerIds()) && member.getReferrerIds().contains(mallMember.getInviteId())) { + log.info("下级不能邀请上级"); + return new FebsResponse().success(); + } mallMember.setReferrerId(member.getInviteId()); //推荐人和推荐人链 -- Gitblit v1.9.1