From 8ac28dbbfe80b710a2b6c2a34172c2195de88555 Mon Sep 17 00:00:00 2001 From: chenweiwei Date: Sun, 16 Jun 2024 20:26:13 +0800 Subject: [PATCH] 1:钉钉 --- zr-cloud/zr-modules/zr-schsf/pom.xml | 8 ++++++++ zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/DingtalkController.java | 4 ++-- zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/DingtalkService.java | 4 ++-- zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/impl/DingtalkServiceImpl.java | 66 +++++------------------------------------------------------------- 4 files changed, 17 insertions(+), 65 deletions(-) diff --git a/zr-cloud/zr-modules/zr-schsf/pom.xml b/zr-cloud/zr-modules/zr-schsf/pom.xml index 90d3a11..622b569 100644 --- a/zr-cloud/zr-modules/zr-schsf/pom.xml +++ b/zr-cloud/zr-modules/zr-schsf/pom.xml @@ -159,12 +159,20 @@ + com.aliyun + dingtalk + 1.1.58 + + + com.laiwang.lippi lippi.oapi.encryt 1.0.3-SNAPSHOT system ${project.basedir}/lib/lippi-oapi-encrpt.jar + + com.dingtalk.open client-sdk.api diff --git a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/DingtalkController.java b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/DingtalkController.java index ec4a943..5fcf759 100644 --- a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/DingtalkController.java +++ b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/DingtalkController.java @@ -41,10 +41,10 @@ public class DingtalkController { long timeStamp = System.currentTimeMillis(); String nonceStr = "nonceStr"; // 获取access token - String accessToken = dingtalkService.getAccessToken(timeStamp); + String accessToken = dingtalkService.getAccessToken(); log.info("成功获取access token:{}", accessToken); // 获取jsapi ticket - String ticket = dingtalkService.getJsapiTicket(accessToken, timeStamp); + String ticket = dingtalkService.getJsapiTicket(accessToken); log.info("成功获取jsapi ticket:{}", ticket); String signature = dingtalkService.getSign(ticket, nonceStr, timeStamp, url); log.info("成功签名:{}", signature); diff --git a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/DingtalkService.java b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/DingtalkService.java index b091dd6..b042f62 100644 --- a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/DingtalkService.java +++ b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/DingtalkService.java @@ -3,10 +3,10 @@ package com.chinagas.modules.schsf.service; public interface DingtalkService { - String getAccessToken(Long timeStamp); + String getAccessToken(); - String getJsapiTicket(String accessToken, Long timeStamp); + String getJsapiTicket(String accessToken); String getSign(String ticket, String nonceStr, Long timeStamp, String url); diff --git a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/impl/DingtalkServiceImpl.java b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/impl/DingtalkServiceImpl.java index 06af0eb..dd7b9c6 100644 --- a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/impl/DingtalkServiceImpl.java +++ b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/impl/DingtalkServiceImpl.java @@ -22,26 +22,14 @@ public class DingtalkServiceImpl implements DingtalkService { @Autowired private DingtalkConstant dingtalkConstant; - - /** - * 调整到1小时50分钟 - */ - public static final long cacheTime = 1000 * 60 * 55 * 2; - @Override - public String getAccessToken(Long timeStamp) { - long curTime = timeStamp == null ? System.currentTimeMillis() : timeStamp; + public String getAccessToken() { String accToken = ""; JSONObject jsontemp = new JSONObject(); try { ServiceFactory serviceFactory = ServiceFactory.getInstance(); CorpConnectionService corpConnectionService = serviceFactory.getOpenService(CorpConnectionService.class); accToken = corpConnectionService.getCorpToken(dingtalkConstant.getAppKey(), dingtalkConstant.getAppSecret()); - JSONObject jsonAccess = new JSONObject(); - jsontemp.clear(); - jsontemp.put("access_token", accToken); - jsontemp.put("begin_time", curTime); - jsonAccess.put(dingtalkConstant.getAppKey(), jsontemp); } catch (Exception e) { e.printStackTrace(); } @@ -49,8 +37,7 @@ public class DingtalkServiceImpl implements DingtalkService { } @Override - public String getJsapiTicket(String accessToken, Long timeStamp) { - long curTime = timeStamp == null ? System.currentTimeMillis() : timeStamp; + public String getJsapiTicket(String accessToken) { String jsTicket = ""; ServiceFactory serviceFactory; try { @@ -58,17 +45,10 @@ public class DingtalkServiceImpl implements DingtalkService { JsapiService jsapiService = serviceFactory.getOpenService(JsapiService.class); JsapiTicket JsapiTicket = jsapiService.getJsapiTicket(accessToken, "jsapi"); jsTicket = JsapiTicket.getTicket(); - JSONObject jsonTicket = new JSONObject(); - JSONObject jsontemp = new JSONObject(); - jsontemp.clear(); - jsontemp.put("ticket", jsTicket); - jsontemp.put("begin_time", curTime); - jsonTicket.put(dingtalkConstant.getAppKey(), jsontemp); } catch (Exception e) { e.printStackTrace(); } return jsTicket; - } @Override @@ -81,43 +61,7 @@ public class DingtalkServiceImpl implements DingtalkService { } -// @Override -// public String getSign(String ticket, String nonceStr, Long timeStamp, String url) { -// try { -// return getJsApiSingnature(url, nonceStr, timeStamp, ticket); -// } catch (Exception ex) { -// throw new ServiceException(ex.getMessage()); -// } -// } -// -// public static String getJsApiSingnature(String url, String nonce, Long timeStamp, String jsTicket) { -// String plainTex = "jsapi_ticket=" + jsTicket + "&noncestr=" + nonce + "×tamp=" + timeStamp + "&url=" + url; -// System.out.println(plainTex); -// String signature = ""; -// -// try { -// MessageDigest crypt = MessageDigest.getInstance("SHA-1"); -// crypt.reset(); -// crypt.update(plainTex.getBytes("UTF-8")); -// signature = byteToHex(crypt.digest()); -// return signature; -// } catch (Exception e) { -// throw new RuntimeException("钉钉通信异常:"+e.getMessage()); -// } -// } -// -// private static String byteToHex(byte[] hash) { -// Formatter formatter = new Formatter(); -// byte[] var2 = hash; -// int var3 = hash.length; -// -// for(int var4 = 0; var4 < var3; ++var4) { -// byte b = var2[var4]; -// formatter.format("%02x", b); -// } -// -// String result = formatter.toString(); -// formatter.close(); -// return result; -// } + + + } -- libgit2 0.21.2