From 84c7afc62bb1eb6f5d80d2d9928d0d11a1ffbdda Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 15 Aug 2023 21:14:13 +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