From e70f0cc17b3377a1e200490df94cda368098ff08 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 26 Jul 2023 14:24:26 +0800 Subject: [PATCH] 短信认证 --- src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java | 58 ++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 42 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 1c65d04..544b9c2 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,7 @@ 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.WxUpCodeDto; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.IMallMoneyFlowService; @@ -15,6 +16,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 +67,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 +86,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()+"}"; + 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 +100,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 +191,32 @@ // 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 @@ -293,11 +324,6 @@ return wxTemplates; } - @Autowired - private MallGoodsMapper mallGoodsMapper; - @Autowired - private MallTeamLeaderMapper mallTeamLeaderMapper; - @Override public FebsResponse generateQrCode(WxGenerateQrCodeDto wxGenerateQrCodeDto) { Integer type = wxGenerateQrCodeDto.getType(); @@ -395,9 +421,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