Commit 8ac28dbbfe80b710a2b6c2a34172c2195de88555
1 parent
abbce1f6
Exists in
dev
1:钉钉
Showing
4 changed files
with
17 additions
and
65 deletions
Show diff stats
zr-cloud/zr-modules/zr-schsf/pom.xml
... | ... | @@ -159,12 +159,20 @@ |
159 | 159 | </dependency> |
160 | 160 | |
161 | 161 | <dependency> |
162 | + <groupId>com.aliyun</groupId> | |
163 | + <artifactId>dingtalk</artifactId> | |
164 | + <version>1.1.58</version> | |
165 | + </dependency> | |
166 | + | |
167 | + <dependency> | |
162 | 168 | <groupId>com.laiwang.lippi</groupId> |
163 | 169 | <artifactId>lippi.oapi.encryt</artifactId> |
164 | 170 | <version>1.0.3-SNAPSHOT</version> |
165 | 171 | <scope>system</scope> |
166 | 172 | <systemPath>${project.basedir}/lib/lippi-oapi-encrpt.jar</systemPath> |
167 | 173 | </dependency> |
174 | + | |
175 | + | |
168 | 176 | <dependency> |
169 | 177 | <groupId>com.dingtalk.open</groupId> |
170 | 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 | 41 | long timeStamp = System.currentTimeMillis(); |
42 | 42 | String nonceStr = "nonceStr"; |
43 | 43 | // 获取access token |
44 | - String accessToken = dingtalkService.getAccessToken(timeStamp); | |
44 | + String accessToken = dingtalkService.getAccessToken(); | |
45 | 45 | log.info("成功获取access token:{}", accessToken); |
46 | 46 | // 获取jsapi ticket |
47 | - String ticket = dingtalkService.getJsapiTicket(accessToken, timeStamp); | |
47 | + String ticket = dingtalkService.getJsapiTicket(accessToken); | |
48 | 48 | log.info("成功获取jsapi ticket:{}", ticket); |
49 | 49 | String signature = dingtalkService.getSign(ticket, nonceStr, timeStamp, url); |
50 | 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 | 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 | 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 | 22 | @Autowired |
23 | 23 | private DingtalkConstant dingtalkConstant; |
24 | 24 | |
25 | - | |
26 | - /** | |
27 | - * 调整到1小时50分钟 | |
28 | - */ | |
29 | - public static final long cacheTime = 1000 * 60 * 55 * 2; | |
30 | - | |
31 | 25 | @Override |
32 | - public String getAccessToken(Long timeStamp) { | |
33 | - long curTime = timeStamp == null ? System.currentTimeMillis() : timeStamp; | |
26 | + public String getAccessToken() { | |
34 | 27 | String accToken = ""; |
35 | 28 | JSONObject jsontemp = new JSONObject(); |
36 | 29 | try { |
37 | 30 | ServiceFactory serviceFactory = ServiceFactory.getInstance(); |
38 | 31 | CorpConnectionService corpConnectionService = serviceFactory.getOpenService(CorpConnectionService.class); |
39 | 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 | 33 | } catch (Exception e) { |
46 | 34 | e.printStackTrace(); |
47 | 35 | } |
... | ... | @@ -49,8 +37,7 @@ public class DingtalkServiceImpl implements DingtalkService { |
49 | 37 | } |
50 | 38 | |
51 | 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 | 41 | String jsTicket = ""; |
55 | 42 | ServiceFactory serviceFactory; |
56 | 43 | try { |
... | ... | @@ -58,17 +45,10 @@ public class DingtalkServiceImpl implements DingtalkService { |
58 | 45 | JsapiService jsapiService = serviceFactory.getOpenService(JsapiService.class); |
59 | 46 | JsapiTicket JsapiTicket = jsapiService.getJsapiTicket(accessToken, "jsapi"); |
60 | 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 | 48 | } catch (Exception e) { |
68 | 49 | e.printStackTrace(); |
69 | 50 | } |
70 | 51 | return jsTicket; |
71 | - | |
72 | 52 | } |
73 | 53 | |
74 | 54 | @Override |
... | ... | @@ -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 + "×tamp=" + 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 | } | ... | ... |