From 63b5728cd6348f37cd95e21680e0a066956c641c Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Tue, 02 Jan 2024 15:36:56 +0800 Subject: [PATCH] 修改推荐人 --- src/main/resources/mapper/modules/MallMemberCouponMapper.xml | 13 ++++++ src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java | 7 +++ src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 12 +++++- src/main/java/cc/mrbird/febs/mall/mapper/MallMemberCouponMapper.java | 2 + src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java | 2 + src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 29 ++++++++++++++ 6 files changed, 62 insertions(+), 3 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java index c1e5fcc..55bf365 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java @@ -235,6 +235,13 @@ return memberService.getCoupon(getCouponDto); } + + @ApiOperation(value = "扫码推销员领取优惠卷") + @PostMapping(value = "/scanCoupon") + public FebsResponse scanCoupon(@RequestBody GetCouponDto getCouponDto) { + return memberService.scanCoupon(getCouponDto); + } + @ApiOperation(value = "优惠卷列表") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = MallMemberCouponVo.class) diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberCouponMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberCouponMapper.java index 12f96be..6d1912e 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberCouponMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberCouponMapper.java @@ -23,4 +23,6 @@ List<MallMemberCoupon> selectListByMemberIdAndGoodsIdAndCouponIdWithOutInviteId(@Param("memberId")Long memberId, @Param("goodsId")Long goodsId); + + List<MallMemberCoupon> selectListByMemberIdCouponIdWithOutInviteId(@Param("memberId")Long memberId, @Param("couponId")Long couponId); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java index 30501d8..73380fe 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java @@ -86,6 +86,8 @@ FebsResponse getCoupon(GetCouponDto getCouponDto); + FebsResponse scanCoupon(GetCouponDto getCouponDto); + FebsResponse memberCoupon(MallMemberCouponDto mallMemberCouponDto); FebsResponse couponDetails(Long id); 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 1be19b6..df62196 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 @@ -935,6 +935,35 @@ } @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)){ + //商品优惠卷如果绑定了,那么当前登陆者获取一张卷 + MallGoodsCoupon mallGoodsCoupon = mallGoodsCouponMapper.selectById(couponId); + 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); + } + } + } + return new FebsResponse().success(); + } + + @Override public FebsResponse memberCoupon(MallMemberCouponDto mallMemberCouponDto) { Long memberId = LoginUserUtil.getLoginUser().getId(); IPage<MallMemberCouponVo> page = new Page<>(mallMemberCouponDto.getPageNum(), mallMemberCouponDto.getPageSize()); diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java index 354714d..a38156f 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java @@ -85,6 +85,7 @@ private final MallElectronicFenceMapper mallElectronicFenceMapper; private final MallMemberCouponMapper mallMemberCouponMapper; private final MallGoodsCouponMapper mallGoodsCouponMapper; + private final CouponGoodsMapper couponGoodsMapper; @Override @Transactional(rollbackFor = Exception.class) @@ -197,10 +198,17 @@ if(1 != state){ throw new FebsException(mallMemberCoupon.getCouponName()+"无法使用"); } - Long goodsId = mallMemberCoupon.getGoodsId(); - if(goodsId != sku.getGoodsId()){ + //卷是否和商品绑定 + Long skuGoodsId = sku.getGoodsId(); + Long couponId = mallMemberCoupon.getCouponId(); + List<CouponGoods> couponGoods = couponGoodsMapper.selectByGoodIdAndCouponId(skuGoodsId, couponId); + if(ObjectUtil.isEmpty(couponGoods)){ throw new FebsException(sku.getGoodsName()+"无法使用"+mallMemberCoupon.getCouponName()); } +// Long goodsId = mallMemberCoupon.getGoodsId(); +// if(goodsId != sku.getGoodsId()){ +// throw new FebsException(sku.getGoodsName()+"无法使用"+mallMemberCoupon.getCouponName()); +// } MallGoodsCoupon mallGoodsCoupon = mallGoodsCouponMapper.selectById(mallMemberCoupon.getCouponId()); if(ObjectUtil.isEmpty(mallGoodsCoupon)){ throw new FebsException(mallGoodsCoupon.getName()+"无法使用"); diff --git a/src/main/resources/mapper/modules/MallMemberCouponMapper.xml b/src/main/resources/mapper/modules/MallMemberCouponMapper.xml index 59fa15e..11e8e60 100644 --- a/src/main/resources/mapper/modules/MallMemberCouponMapper.xml +++ b/src/main/resources/mapper/modules/MallMemberCouponMapper.xml @@ -9,6 +9,7 @@ b.real_amount realAmount from mall_member_coupon a INNER join mall_goods_coupon b on b.id = a.coupon_id and b.state = 2 + INNER join coupon_goods c on c.coupon_id = a.coupon_id <where> a.member_id=#{record.memberId} <if test="record.state == 1"> @@ -22,9 +23,10 @@ and a.state=#{record.state} </if> <if test="record.goodsId != null and record.goodsId != ''"> - and a.goods_id=#{record.goodsId} + and c.goods_id = #{record.goodsId} </if> </where> + group by a.id order by a.CREATED_TIME desc </select> @@ -56,4 +58,13 @@ and a.state = 1 </select> + <select id="selectListByMemberIdCouponIdWithOutInviteId" resultType="cc.mrbird.febs.mall.entity.MallMemberCoupon"> + select + a.* + from mall_member_coupon a + where a.member_id = #{memberId} + and a.coupon_id = #{couponId} + and a.state = 1 + </select> + </mapper> \ No newline at end of file -- Gitblit v1.9.1