From 3a0ee38375a0fdf95ef734fa420030203ee31abd Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 28 Jul 2023 17:08:30 +0800
Subject: [PATCH] 赠送积分更新状态

---
 src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java |   68 ++++++++++++++++++++++++++--------
 1 files changed, 52 insertions(+), 16 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 7f848cc..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;
 
@@ -78,9 +87,13 @@
         BrandWCPayRequestData payData;
         String productNames = "小程序充值";
         MallMember mallMember = mallMemberMapper.selectById(apiRechargeWalletDto.getMemberId());
-        String rechargeNo = "CZ_"+MallUtils.getOrderNum();
+        String rechargeNo = apiRechargeWalletDto.getRechargeNo();
+        Long agentApplyId = apiRechargeWalletDto.getAgentApplyId() == null ? 0L : apiRechargeWalletDto.getAgentApplyId();
         Boolean debug = xcxProperties.getDebug();
-        String attrStr = "{'rechargeNo':"+rechargeNo+",'memberId':"+mallMember.getId()+",'type':"+apiRechargeWalletDto.getType()+"}";
+        String attrStr = "{'rechargeNo':"+rechargeNo
+                +",'memberId':"+mallMember.getId()
+                +",'agentApplyId':"+agentApplyId
+                +",'type':"+apiRechargeWalletDto.getType()+"}";
         if (debug) {
             payData = weixinServiceUtil.createRechargeWallet("[测试]" + productNames, rechargeNo,
                     1, mallMember.getOpenId(), attrStr);
@@ -88,13 +101,6 @@
             payData = weixinServiceUtil.createRechargeWallet(productNames, rechargeNo,
                     unit.multiply(money).intValue(),mallMember.getOpenId(), attrStr);
         }
-        mallMoneyFlowService.addMoneyFlow(
-                mallMember.getId(),
-                money,
-                MoneyFlowTypeEnum.RECHARGE.getValue(),
-                rechargeNo,
-                FlowTypeEnum.BALANCE.getValue(),
-                "余额充值",1);
         return payData;
     }
 
@@ -186,6 +192,41 @@
 //            return new FebsResponse().fail().data("获取二维码失败");
 //        }
         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
@@ -293,11 +334,6 @@
         return wxTemplates;
     }
 
-    @Autowired
-    private MallGoodsMapper mallGoodsMapper;
-    @Autowired
-    private MallTeamLeaderMapper mallTeamLeaderMapper;
-
     @Override
     public FebsResponse generateQrCode(WxGenerateQrCodeDto wxGenerateQrCodeDto) {
         Integer type = wxGenerateQrCodeDto.getType();
@@ -395,9 +431,9 @@
      * @return
      */
     //图片上传路径
-    public  static  final String IMG_UPLOAD_PATH="/mnt/sdc/webresource/groupbuy/wxcode";
+    public  static  final String IMG_UPLOAD_PATH="/mnt/sdc/webresource/qianayi/wxcode";
     public  String generateAcode(String scene,String path,String imgName,String width, Integer type){
-        String urlPrefix="https://hwfile.csxuncong.com/groupbuy/wxcode";
+        String urlPrefix="https://hwfile.csxuncong.com/qianayi/wxcode";
         String imgPath=IMG_UPLOAD_PATH+imgName;
         if(!FileUtil.exist(imgPath)){
 

--
Gitblit v1.9.1