From dacdca90b0faed8a38d56b2bab0df3ad3b9982b1 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 31 Jan 2024 10:38:14 +0800
Subject: [PATCH] 会员列表增加波卷功能

---
 src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java |   49 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 44 insertions(+), 5 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java b/src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java
index 69527a8..d09c7f1 100644
--- a/src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java
@@ -8,6 +8,8 @@
 import cc.mrbird.febs.common.utils.*;
 import cc.mrbird.febs.mall.dto.ApiRechargeWalletDto;
 import cc.mrbird.febs.mall.dto.RechargeWalletMessageSendDto;
+import cc.mrbird.febs.mall.dto.WxPowerDto;
+import cc.mrbird.febs.mall.dto.WxUpCodeDto;
 import cc.mrbird.febs.mall.entity.*;
 import cc.mrbird.febs.mall.mapper.*;
 import cc.mrbird.febs.mall.service.IMallMoneyFlowService;
@@ -15,6 +17,7 @@
 import cc.mrbird.febs.pay.model.*;
 import cc.mrbird.febs.pay.service.IXcxPayService;
 import cc.mrbird.febs.pay.util.WechatConfigure;
+import cc.mrbird.febs.pay.util.WechatEventUtil;
 import cc.mrbird.febs.pay.util.WeixinServiceUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.text.StrFormatter;
@@ -65,7 +68,13 @@
     private MallMemberWithdrawMapper mallMemberWithdrawMapper;
     private final IMallMoneyFlowService mallMoneyFlowService;
     @Autowired
+    WechatEventUtil wechatEventUtil;
+    @Autowired
     RedisUtils redisUtils;
+    @Autowired
+    private MallGoodsMapper mallGoodsMapper;
+    @Autowired
+    private MallTeamLeaderMapper mallTeamLeaderMapper;
 
     private final SpringContextHolder springContextHolder;
 
@@ -184,6 +193,41 @@
 //        }
         return new FebsResponse().success();
     }
+    @Override
+    public FebsResponse getUpCode(WxUpCodeDto wxUpCodeDto) {
+        String qRcode = null;
+        if(ObjectUtil.isEmpty(wxUpCodeDto.getInviteId())){
+            return new FebsResponse().fail().message("邀请码不存在");
+        }
+        String inviteId = wxUpCodeDto.getInviteId();
+        MallMember mallMember = mallMemberMapper.selectInfoByInviteId(inviteId);
+        if(ObjectUtil.isEmpty(mallMember)){
+            return new FebsResponse().fail().message("邀请码不存在");
+        }
+        String sessionKey = mallMember.getSessionKey();
+        if(ObjectUtil.isEmpty(sessionKey)){
+            String ticket = wechatEventUtil.getTicket(inviteId);
+            if(StrUtil.isEmpty(ticket)){
+                return new FebsResponse().fail().message("临时带参二维码ticket失败");
+            }
+            qRcode = wechatEventUtil.getQRcode(ticket);
+            mallMember.setSessionKey(qRcode);
+            mallMemberMapper.updateById(mallMember);
+        }else{
+            qRcode = sessionKey;
+        }
+
+        return new FebsResponse().success().data(qRcode);
+    }
+
+    @Override
+    public FebsResponse getPower(WxPowerDto wxPowerDto) {
+        if(ObjectUtil.isEmpty(wxPowerDto.getUrl())){
+            return new FebsResponse().fail().message("获取权限失败");
+        }
+        Map<String, Object> ticket = wechatEventUtil.ticket(wxPowerDto.getUrl());
+        return new FebsResponse().success().data(ticket);
+    }
 
     @Override
     public BrandWCPayRequestData startPayment(MallOrderInfo mallOrderInfo) throws Exception {
@@ -289,11 +333,6 @@
         }
         return wxTemplates;
     }
-
-    @Autowired
-    private MallGoodsMapper mallGoodsMapper;
-    @Autowired
-    private MallTeamLeaderMapper mallTeamLeaderMapper;
 
     @Override
     public FebsResponse generateQrCode(WxGenerateQrCodeDto wxGenerateQrCodeDto) {

--
Gitblit v1.9.1