From 3802d7f8a475e9b34f4d06fd511c4f7d0f652ed2 Mon Sep 17 00:00:00 2001 From: Hentua <wangdoubleone@gmail.com> Date: Wed, 24 Jan 2024 17:17:53 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 107 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 92 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 ec116bd..0e4af18 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}") @@ -302,7 +304,7 @@ } } - List<MallShoppingCart> carts = mallShoppingCartMapper.selectCartGoodsList(id); + List<MallShoppingCart> carts = mallShoppingCartMapper.selectCartGoodsList(id, 1); Map<String, Object> result = new HashMap<>(); result.put("order", orderCnt); result.put("carts", carts.size()); @@ -701,7 +703,15 @@ if(StrUtil.isNotEmpty(avatarUrl)){ mallMember.setAvatar(avatarUrl); } -// mallMember.setSex(1 == apiXcxSaveInfoDto.getGender() ? "女" : "男"); + + if (StrUtil.isNotBlank(apiXcxSaveInfoDto.getRealName())) { + mallMember.setRealName(apiXcxSaveInfoDto.getRealName()); + } + + if (apiXcxSaveInfoDto.getBirthday() != null) { + mallMember.setBirthday(apiXcxSaveInfoDto.getBirthday()); + } + mallMember.setSex(1 == apiXcxSaveInfoDto.getGender() ? "女" : "男"); this.baseMapper.updateById(mallMember); return new FebsResponse().success(); } @@ -886,6 +896,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 +912,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 +982,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 +1003,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,8 +1015,15 @@ throw new FebsException("已绑定"); } String inviteId = apiSetInviteDto.getInviteId(); + 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