From 08aa2024f664d2c7e7eb60a25922a07d60aca2f2 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Fri, 19 Jan 2024 15:37:32 +0800 Subject: [PATCH] fapiao --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 96 ++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 81 insertions(+), 15 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 995eaab..89b97fe 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,59 @@ if(ObjectUtil.isNotEmpty(salemanCoupon)){ Long couponId = salemanCoupon.getCouponId(); Long goodsId = getCouponDto.getGoodsId(); - List<MallMemberCoupon> mallMemberCoupons = mallMemberCouponMapper.selectListByMemberIdAndGoodsIdAndCouponId(memberId, goodsId, couponId); + 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); + 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); + } + } + } + } + } + return new FebsResponse().success(); + } + + @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)){ //商品优惠卷如果绑定了,那么当前登陆者获取一张卷 - 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); - } + 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); } } } @@ -926,6 +974,19 @@ } @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 public FebsResponse couponDetails(Long id) { Long memberId = LoginUserUtil.getLoginUser().getId(); MallMemberCoupon mallMemberCoupon = mallMemberCouponMapper.selectById(id); @@ -934,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); } @@ -945,11 +1007,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