From 591f1a95c4036a8441b3d4c7790dfb0e4ee8ca54 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 13 Dec 2023 11:15:31 +0800
Subject: [PATCH] 微信小程序配置
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 108 +++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 90 insertions(+), 18 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 bb681a5..2e67af9 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
@@ -231,6 +231,15 @@
@Override
public FebsResponse logout() {
Long id = LoginUserUtil.getLoginUser().getId();
+
+ String redisKey = AppContants.XCX_LOGIN_PREFIX + id;
+ String existToken = redisUtils.getString(redisKey);
+ if (StrUtil.isNotBlank(existToken)) {
+ Object o = redisUtils.get(existToken);
+ if (ObjectUtil.isNotEmpty(o)) {
+ redisUtils.del(existToken);
+ }
+ }
redisUtils.del(AppContants.XCX_LOGIN_PREFIX + id);
redisUtils.del(AppContants.XCX_LOGIN_PHONE_PREFIX + id);
return new FebsResponse().success().message("退出登录");
@@ -879,26 +888,32 @@
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<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();
}
@@ -912,6 +927,63 @@
return new FebsResponse().success().data(pages);
}
+ @Override
+ public FebsResponse couponDetails(Long id) {
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ MallMemberCoupon mallMemberCoupon = mallMemberCouponMapper.selectById(id);
+ MallMemberCouponVo mallMemberCouponVo = new MallMemberCouponVo();
+ mallMemberCouponVo.setCouponName(mallMemberCoupon.getCouponName());
+ MallGoodsCoupon mallGoodsCoupon = mallGoodsCouponMapper.selectById(mallMemberCoupon.getCouponId());
+ mallMemberCouponVo.setCostAmount(mallGoodsCoupon.getCostAmount());
+ mallMemberCouponVo.setRealAmount(mallGoodsCoupon.getRealAmount());
+ 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.getInviteId())){
+ return new FebsResponse().success();
+ }
+ 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);
--
Gitblit v1.9.1