Commit 8ac28dbbfe80b710a2b6c2a34172c2195de88555

Authored by 陈威
1 parent abbce1f6
Exists in dev

1:钉钉

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 + "&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 }
... ...