| | |
| | | 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; |
| | |
| | | private final CouponGoodsMapper couponGoodsMapper; |
| | | private final MallGoodsCouponMapper mallGoodsCouponMapper; |
| | | private final MallMemberCouponMapper mallMemberCouponMapper; |
| | | private final MallGoodsMapper mallGoodsMapper; |
| | | |
| | | |
| | | @Value("${spring.profiles.active}") |
| | |
| | | @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)){ |
| | |
| | | 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); |
| | | 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.setInviteId(mallMember.getInviteId()); |
| | | mallMemberCoupon.setState(1); |
| | | mallMemberCoupon.setExpireTime(DateUtil.offsetDay(DateUtil.date(),mallGoodsCoupon.getExpireDay())); |
| | | mallMemberCouponMapper.insert(mallMemberCoupon); |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | 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()); |
| | | |
| | | //推荐人和推荐人链 |