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