From ae41759bafec1c2a1e8858fcdcda4272ed4eb84c Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期五, 16 六月 2023 17:43:47 +0800 Subject: [PATCH] 联调bug和订单管理 --- ruoyi-auth/src/main/java/com/ruoyi/auth/service/QywxInnerService.java | 25 +++++++++++++++++-------- 1 files changed, 17 insertions(+), 8 deletions(-) diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/QywxInnerService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/QywxInnerService.java index 6cdbed9..eab02d3 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/QywxInnerService.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/QywxInnerService.java @@ -127,14 +127,14 @@ - public AgentConfigVo getAgentConfig(String url) { + public AgentConfigVo getAgentConfig(String url, String type) { AgentConfigVo agentConfigVo = new AgentConfigVo(); agentConfigVo.setAgentid(qywxInnerConfig.getAgentId()); agentConfigVo.setCorpid(qywxInnerConfig.getCorpId()); //临时票据 - String ticket = getJsApiTicket(); + String ticket = getJsApiTicket(type); if (StringUtils.isEmpty(ticket)) { throw new ServiceException("获取票据异常"); } @@ -156,8 +156,8 @@ try { String unEncryptStr = String.format(unEncryptStrBase, ticket, nonceStr, timestamp, url); - logger.info("----------------unEncryptStrBase-------------"); - logger.info(unEncryptStrBase); + logger.info("----------------unEncryptStr-------------"); + logger.info(unEncryptStr); MessageDigest digest = MessageDigest.getInstance("SHA-1"); // 调用digest方法,进行加密操作 @@ -178,13 +178,22 @@ * @paran type * @return */ - public String getJsApiTicket() { + public String getJsApiTicket(String type) { String accessToken = getAccessToken(); - String ticket = redisTemplate.opsForValue().get(Constants.QY_WX_TICKET_KEY); + String ticketKey = Constants.QY_WX_TICKET_KEY; + + String jsapiTicketUrl = qywxInnerConfig.getJsapiTicketUrl(); + if("agent_config".equals(type)){ + ticketKey = ticketKey + type; + jsapiTicketUrl = qywxInnerConfig.getJsapiTicketAgentUrl(); + } + + String ticket = redisTemplate.opsForValue().get(ticketKey); if(!StringUtils.isEmpty(ticket)){ return ticket; } - String url = String.format(qywxInnerConfig.getJsapiTicketAgentUrl(), accessToken); + + String url = String.format(jsapiTicketUrl, accessToken); JSONObject response = RestUtils.get(url); if(response.containsKey(Constants.QY_WX_ERR_CODE) && response.getInteger(Constants.QY_WX_ERR_CODE) != 0){ @@ -195,7 +204,7 @@ ticket = response.getString(Constants.QY_WX_TICKET); Long expiresIn = response.getLong(Constants.QY_WX_EXPIRES_IN); expiresIn = expiresIn - 100; - redisTemplate.opsForValue().set(Constants.QY_WX_TICKET_KEY, ticket, expiresIn, TimeUnit.SECONDS); + redisTemplate.opsForValue().set(ticketKey, ticket, expiresIn, TimeUnit.SECONDS); return ticket; } -- Gitblit v1.7.1