|  |  |  | 
|---|
|  |  |  | private final CouponGoodsMapper couponGoodsMapper; | 
|---|
|  |  |  | private final MallGoodsCouponMapper mallGoodsCouponMapper; | 
|---|
|  |  |  | private final MallMemberCouponMapper mallMemberCouponMapper; | 
|---|
|  |  |  | private final MallGoodsMapper mallGoodsMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Value("${spring.profiles.active}") | 
|---|
|  |  |  | 
|---|
|  |  |  | public FebsResponse getCoupon(GetCouponDto getCouponDto) { | 
|---|
|  |  |  | Long memberId = LoginUserUtil.getLoginUser().getId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|