Commit 8ac28dbbfe80b710a2b6c2a34172c2195de88555

Authored by 陈威
1 parent abbce1f6
Exists in dev

1:钉钉

zr-cloud/zr-modules/zr-schsf/pom.xml
@@ -159,12 +159,20 @@ @@ -159,12 +159,20 @@
159 </dependency> 159 </dependency>
160 160
161 <dependency> 161 <dependency>
  162 + <groupId>com.aliyun</groupId>
  163 + <artifactId>dingtalk</artifactId>
  164 + <version>1.1.58</version>
  165 + </dependency>
  166 +
  167 + <dependency>
162 <groupId>com.laiwang.lippi</groupId> 168 <groupId>com.laiwang.lippi</groupId>
163 <artifactId>lippi.oapi.encryt</artifactId> 169 <artifactId>lippi.oapi.encryt</artifactId>
164 <version>1.0.3-SNAPSHOT</version> 170 <version>1.0.3-SNAPSHOT</version>
165 <scope>system</scope> 171 <scope>system</scope>
166 <systemPath>${project.basedir}/lib/lippi-oapi-encrpt.jar</systemPath> 172 <systemPath>${project.basedir}/lib/lippi-oapi-encrpt.jar</systemPath>
167 </dependency> 173 </dependency>
  174 +
  175 +
168 <dependency> 176 <dependency>
169 <groupId>com.dingtalk.open</groupId> 177 <groupId>com.dingtalk.open</groupId>
170 <artifactId>client-sdk.api</artifactId> 178 <artifactId>client-sdk.api</artifactId>
zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/DingtalkController.java
@@ -41,10 +41,10 @@ public class DingtalkController { @@ -41,10 +41,10 @@ public class DingtalkController {
41 long timeStamp = System.currentTimeMillis(); 41 long timeStamp = System.currentTimeMillis();
42 String nonceStr = "nonceStr"; 42 String nonceStr = "nonceStr";
43 // 获取access token 43 // 获取access token
44 - String accessToken = dingtalkService.getAccessToken(timeStamp); 44 + String accessToken = dingtalkService.getAccessToken();
45 log.info("成功获取access token:{}", accessToken); 45 log.info("成功获取access token:{}", accessToken);
46 // 获取jsapi ticket 46 // 获取jsapi ticket
47 - String ticket = dingtalkService.getJsapiTicket(accessToken, timeStamp); 47 + String ticket = dingtalkService.getJsapiTicket(accessToken);
48 log.info("成功获取jsapi ticket:{}", ticket); 48 log.info("成功获取jsapi ticket:{}", ticket);
49 String signature = dingtalkService.getSign(ticket, nonceStr, timeStamp, url); 49 String signature = dingtalkService.getSign(ticket, nonceStr, timeStamp, url);
50 log.info("成功签名:{}", signature); 50 log.info("成功签名:{}", signature);
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; @@ -3,10 +3,10 @@ package com.chinagas.modules.schsf.service;
3 public interface DingtalkService { 3 public interface DingtalkService {
4 4
5 5
6 - String getAccessToken(Long timeStamp); 6 + String getAccessToken();
7 7
8 8
9 - String getJsapiTicket(String accessToken, Long timeStamp); 9 + String getJsapiTicket(String accessToken);
10 10
11 String getSign(String ticket, String nonceStr, Long timeStamp, String url); 11 String getSign(String ticket, String nonceStr, Long timeStamp, String url);
12 12
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 { @@ -22,26 +22,14 @@ public class DingtalkServiceImpl implements DingtalkService {
22 @Autowired 22 @Autowired
23 private DingtalkConstant dingtalkConstant; 23 private DingtalkConstant dingtalkConstant;
24 24
25 -  
26 - /**  
27 - * 调整到1小时50分钟  
28 - */  
29 - public static final long cacheTime = 1000 * 60 * 55 * 2;  
30 -  
31 @Override 25 @Override
32 - public String getAccessToken(Long timeStamp) {  
33 - long curTime = timeStamp == null ? System.currentTimeMillis() : timeStamp; 26 + public String getAccessToken() {
34 String accToken = ""; 27 String accToken = "";
35 JSONObject jsontemp = new JSONObject(); 28 JSONObject jsontemp = new JSONObject();
36 try { 29 try {
37 ServiceFactory serviceFactory = ServiceFactory.getInstance(); 30 ServiceFactory serviceFactory = ServiceFactory.getInstance();
38 CorpConnectionService corpConnectionService = serviceFactory.getOpenService(CorpConnectionService.class); 31 CorpConnectionService corpConnectionService = serviceFactory.getOpenService(CorpConnectionService.class);
39 accToken = corpConnectionService.getCorpToken(dingtalkConstant.getAppKey(), dingtalkConstant.getAppSecret()); 32 accToken = corpConnectionService.getCorpToken(dingtalkConstant.getAppKey(), dingtalkConstant.getAppSecret());
40 - JSONObject jsonAccess = new JSONObject();  
41 - jsontemp.clear();  
42 - jsontemp.put("access_token", accToken);  
43 - jsontemp.put("begin_time", curTime);  
44 - jsonAccess.put(dingtalkConstant.getAppKey(), jsontemp);  
45 } catch (Exception e) { 33 } catch (Exception e) {
46 e.printStackTrace(); 34 e.printStackTrace();
47 } 35 }
@@ -49,8 +37,7 @@ public class DingtalkServiceImpl implements DingtalkService { @@ -49,8 +37,7 @@ public class DingtalkServiceImpl implements DingtalkService {
49 } 37 }
50 38
51 @Override 39 @Override
52 - public String getJsapiTicket(String accessToken, Long timeStamp) {  
53 - long curTime = timeStamp == null ? System.currentTimeMillis() : timeStamp; 40 + public String getJsapiTicket(String accessToken) {
54 String jsTicket = ""; 41 String jsTicket = "";
55 ServiceFactory serviceFactory; 42 ServiceFactory serviceFactory;
56 try { 43 try {
@@ -58,17 +45,10 @@ public class DingtalkServiceImpl implements DingtalkService { @@ -58,17 +45,10 @@ public class DingtalkServiceImpl implements DingtalkService {
58 JsapiService jsapiService = serviceFactory.getOpenService(JsapiService.class); 45 JsapiService jsapiService = serviceFactory.getOpenService(JsapiService.class);
59 JsapiTicket JsapiTicket = jsapiService.getJsapiTicket(accessToken, "jsapi"); 46 JsapiTicket JsapiTicket = jsapiService.getJsapiTicket(accessToken, "jsapi");
60 jsTicket = JsapiTicket.getTicket(); 47 jsTicket = JsapiTicket.getTicket();
61 - JSONObject jsonTicket = new JSONObject();  
62 - JSONObject jsontemp = new JSONObject();  
63 - jsontemp.clear();  
64 - jsontemp.put("ticket", jsTicket);  
65 - jsontemp.put("begin_time", curTime);  
66 - jsonTicket.put(dingtalkConstant.getAppKey(), jsontemp);  
67 } catch (Exception e) { 48 } catch (Exception e) {
68 e.printStackTrace(); 49 e.printStackTrace();
69 } 50 }
70 return jsTicket; 51 return jsTicket;
71 -  
72 } 52 }
73 53
74 @Override 54 @Override
@@ -81,43 +61,7 @@ public class DingtalkServiceImpl implements DingtalkService { @@ -81,43 +61,7 @@ public class DingtalkServiceImpl implements DingtalkService {
81 } 61 }
82 62
83 63
84 -// @Override  
85 -// public String getSign(String ticket, String nonceStr, Long timeStamp, String url) {  
86 -// try {  
87 -// return getJsApiSingnature(url, nonceStr, timeStamp, ticket);  
88 -// } catch (Exception ex) {  
89 -// throw new ServiceException(ex.getMessage());  
90 -// }  
91 -// }  
92 -//  
93 -// public static String getJsApiSingnature(String url, String nonce, Long timeStamp, String jsTicket) {  
94 -// String plainTex = "jsapi_ticket=" + jsTicket + "&noncestr=" + nonce + "&timestamp=" + timeStamp + "&url=" + url;  
95 -// System.out.println(plainTex);  
96 -// String signature = "";  
97 -//  
98 -// try {  
99 -// MessageDigest crypt = MessageDigest.getInstance("SHA-1");  
100 -// crypt.reset();  
101 -// crypt.update(plainTex.getBytes("UTF-8"));  
102 -// signature = byteToHex(crypt.digest());  
103 -// return signature;  
104 -// } catch (Exception e) {  
105 -// throw new RuntimeException("钉钉通信异常:"+e.getMessage());  
106 -// }  
107 -// }  
108 -//  
109 -// private static String byteToHex(byte[] hash) {  
110 -// Formatter formatter = new Formatter();  
111 -// byte[] var2 = hash;  
112 -// int var3 = hash.length;  
113 -//  
114 -// for(int var4 = 0; var4 < var3; ++var4) {  
115 -// byte b = var2[var4];  
116 -// formatter.format("%02x", b);  
117 -// }  
118 -//  
119 -// String result = formatter.toString();  
120 -// formatter.close();  
121 -// return result;  
122 -// } 64 +
  65 +
  66 +
123 } 67 }