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 | 78 ++++++++++++++++++++++++-------------- 1 files changed, 49 insertions(+), 29 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 7b9231b..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; } @@ -187,6 +192,32 @@ // } 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 BrandWCPayRequestData startPayment(MallOrderInfo mallOrderInfo) throws Exception { @@ -218,10 +249,10 @@ orderStateMsgVo.setTemplate_id(info.getTemplateId());//订阅消息模板id orderStateMsgVo.setPage(info.getPage()); Map<String, WxTemplateData> m = new HashMap<>(4); - m.put("thing19.DATA", new WxTemplateData(info.getAddressArea())); - m.put("phone_number18.DATA", new WxTemplateData(info.getLeaderPhone())); - m.put("thing3.DATA", new WxTemplateData(info.getGoodsName())); - m.put("thing15.DATA", new WxTemplateData(info.getRemark())); + m.put("thing19", new WxTemplateData(info.getAddressArea())); + m.put("phone_number18", new WxTemplateData(info.getLeaderPhone())); + m.put("thing3", new WxTemplateData(info.getGoodsName())); + m.put("thing15", new WxTemplateData(info.getRemark())); orderStateMsgVo.setData(m); String s = JSONUtil.toJsonStr(orderStateMsgVo); log.info(s); @@ -285,24 +316,13 @@ if(CollUtil.isNotEmpty(wxTemplateList)){ for(DataDictionaryCustom dic : wxTemplateList){ HashMap<String, String> objectObjectHashMap = new HashMap<>(); - //充值到账通知 - if("WX_TEMPLATE_ID_TWO".equals(dic.getCode())){ - objectObjectHashMap.put("WX_TEMPLATE_ID_TWO",dic.getValue()); - } - //提货通知 - if("WX_TEMPLATE_ID_THREE".equals(dic.getCode())){ - objectObjectHashMap.put("WX_TEMPLATE_ID_THREE",dic.getValue()); - } - wxTemplates.add( objectObjectHashMap); + objectObjectHashMap.put("name",dic.getCode()); + objectObjectHashMap.put("value",dic.getValue()); + wxTemplates.add(objectObjectHashMap); } } return wxTemplates; } - - @Autowired - private MallGoodsMapper mallGoodsMapper; - @Autowired - private MallTeamLeaderMapper mallTeamLeaderMapper; @Override public FebsResponse generateQrCode(WxGenerateQrCodeDto wxGenerateQrCodeDto) { @@ -401,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