| | |
| | | Long memberId = LoginUserUtil.getLoginUser().getId(); |
| | | //通过邀请人信息,获取能领取的优惠卷信息 |
| | | MallMember mallMember = this.baseMapper.selectInfoByInviteId(getCouponDto.getInviteId()); |
| | | SalemanCoupon salemanCoupon = salemanCouponMapper.selectByMemberId(mallMember.getId()); |
| | | if(ObjectUtil.isNotEmpty(salemanCoupon)){ |
| | | Long couponId = salemanCoupon.getCouponId(); |
| | | Long goodsId = getCouponDto.getGoodsId(); |
| | | List<MallMemberCoupon> mallMemberCoupons = mallMemberCouponMapper.selectListByMemberIdAndGoodsIdAndCouponId(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); |
| | | if(ObjectUtil.isNotEmpty(mallMember)){ |
| | | SalemanCoupon salemanCoupon = salemanCouponMapper.selectByMemberId(mallMember.getId()); |
| | | if(ObjectUtil.isNotEmpty(salemanCoupon)){ |
| | | Long couponId = salemanCoupon.getCouponId(); |
| | | Long goodsId = getCouponDto.getGoodsId(); |
| | | // 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); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | |
| | | return new FebsResponse().success().data(mallMemberCouponVo); |
| | | } |
| | | |
| | | @Override |
| | | public FebsResponse setInvite(ApiSetInviteDto apiSetInviteDto) { |
| | | Long memberId = LoginUserUtil.getLoginUser().getId(); |
| | | MallMember mallMember = this.baseMapper.selectById(memberId); |
| | | if(ObjectUtil.isNotEmpty(mallMember.getReferrerId())){ |
| | | throw new FebsException("已绑定"); |
| | | } |
| | | String inviteId = apiSetInviteDto.getInviteId(); |
| | | if(inviteId.equals(mallMember.getReferrerId())){ |
| | | throw new FebsException("自己无法绑定自己"); |
| | | } |
| | | MallMember member = this.baseMapper.selectInfoByInviteId(inviteId); |
| | | if (member != null) { |
| | | mallMember.setReferrerId(member.getInviteId()); |
| | | |
| | | //推荐人和推荐人链 |
| | | boolean flag = false; |
| | | String parentId = mallMember.getReferrerId(); |
| | | if (StrUtil.isBlank(parentId)) { |
| | | flag = true; |
| | | } |
| | | String ids = ""; |
| | | while (!flag) { |
| | | if (StrUtil.isBlank(ids)) { |
| | | ids += parentId; |
| | | } else { |
| | | ids += ("," + parentId); |
| | | } |
| | | MallMember parentMember = this.baseMapper.selectInfoByInviteId(parentId); |
| | | if (parentMember == null) { |
| | | break; |
| | | } |
| | | parentId = parentMember.getReferrerId(); |
| | | if (StrUtil.isBlank(parentMember.getReferrerId())) { |
| | | flag = true; |
| | | } |
| | | } |
| | | if (StrUtil.isNotBlank(ids)) { |
| | | mallMember.setReferrerIds(ids); |
| | | } |
| | | this.baseMapper.updateById(mallMember); |
| | | } |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | | private String getXcxLoginUrl(String code) { |
| | | String wechatLoginUrl =xcxProperties.getWecharLoginUrl(); |
| | | return String.format(wechatLoginUrl, xcxProperties.getXcxAppid(), xcxProperties.getXcxSecret(), code); |