|
@@ -5,8 +5,6 @@ import com.community.commom.hk.HttpClientSSLUtils;
|
5
|
5
|
import com.google.common.collect.Maps;
|
6
|
6
|
import lombok.extern.slf4j.Slf4j;
|
7
|
7
|
import net.coobird.thumbnailator.Thumbnails;
|
8
|
|
-import org.slf4j.Logger;
|
9
|
|
-import org.slf4j.LoggerFactory;
|
10
|
8
|
import org.springframework.web.multipart.MultipartFile;
|
11
|
9
|
import java.io.*;
|
12
|
10
|
import com.community.commom.hk.Digests;
|
|
@@ -19,7 +17,6 @@ import java.util.Map;
|
19
|
17
|
*/
|
20
|
18
|
@Slf4j
|
21
|
19
|
public class HKOpenApi {
|
22
|
|
- private static Logger logger = LoggerFactory.getLogger(PicUtils.class);
|
23
|
20
|
|
24
|
21
|
public static String getMonitoryPoint(Map<String,Object> map){
|
25
|
22
|
Map<String,Object> parMap = Maps.newHashMap();
|
|
@@ -53,13 +50,16 @@ public class HKOpenApi {
|
53
|
50
|
*/
|
54
|
51
|
public static String getPicSuffix(String img_path){
|
55
|
52
|
if (img_path == null || img_path.indexOf(".") == -1){
|
56
|
|
- return ""; //如果图片地址为null或者地址中没有"."就返回""
|
|
53
|
+ //如果图片地址为null或者地址中没有"."就返回""
|
|
54
|
+ return "";
|
57
|
55
|
}
|
58
|
56
|
return img_path.substring(img_path.lastIndexOf(".") + 1).
|
59
|
57
|
trim().toLowerCase();
|
60
|
58
|
}
|
61
|
|
-
|
62
|
|
- //将本地图片进行Base64位编码
|
|
59
|
+
|
|
60
|
+ /**
|
|
61
|
+ * 将本地图片进行Base64位编码
|
|
62
|
+ */
|
63
|
63
|
public static String getImgStr(MultipartFile imgFile){
|
64
|
64
|
//将图片文件转化为字节数组字符串,并对其进行Base64编码处理
|
65
|
65
|
byte[] data = null;
|
|
@@ -74,8 +74,12 @@ public class HKOpenApi {
|
74
|
74
|
}
|
75
|
75
|
return new String(org.apache.commons.codec.binary.Base64.encodeBase64(data));
|
76
|
76
|
}
|
77
|
|
-
|
78
|
|
- //将本地图片进行Base64位编码
|
|
77
|
+
|
|
78
|
+ /**
|
|
79
|
+ * 将本地图片进行Base64位编码
|
|
80
|
+ * @param fileBytes
|
|
81
|
+ * @return
|
|
82
|
+ */
|
79
|
83
|
public static String getImgStr(byte [] fileBytes) {
|
80
|
84
|
return new String(org.apache.commons.codec.binary.Base64.encodeBase64(fileBytes));
|
81
|
85
|
}
|
|
@@ -137,10 +141,10 @@ public class HKOpenApi {
|
137
|
141
|
.toOutputStream(outputStream);
|
138
|
142
|
imageBytes = outputStream.toByteArray();
|
139
|
143
|
}
|
140
|
|
- logger.info("【图片压缩】imageId={} | 图片原大小={}kb | 压缩后大小={}kb",
|
|
144
|
+ log.info("【图片压缩】imageId={} | 图片原大小={}kb | 压缩后大小={}kb",
|
141
|
145
|
imageId, srcSize / 1024, imageBytes.length / 1024);
|
142
|
146
|
} catch (Exception e) {
|
143
|
|
- logger.error("【图片压缩】msg=图片压缩失败!", e);
|
|
147
|
+ log.error("【图片压缩】msg=图片压缩失败!", e);
|
144
|
148
|
}
|
145
|
149
|
return imageBytes;
|
146
|
150
|
}
|
|
@@ -196,6 +200,238 @@ public class HKOpenApi {
|
196
|
200
|
|
197
|
201
|
return data;
|
198
|
202
|
}
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+ /**
|
|
206
|
+ * 根据中心UUID集获取中心下的门禁设备信息
|
|
207
|
+ *
|
|
208
|
+ * @return
|
|
209
|
+ */
|
|
210
|
+ public static String getACDevicesByUnitUuids(){
|
|
211
|
+ Map<String,Object> parMap = Maps.newHashMap();
|
|
212
|
+ String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
|
|
213
|
+ //设置APPKEY
|
|
214
|
+ parMap.put("appkey", HKConstant.APPKEY);
|
|
215
|
+ //设置时间参数
|
|
216
|
+ parMap.put("time", System.currentTimeMillis());
|
|
217
|
+ parMap.put("pageNo",1);
|
|
218
|
+ parMap.put("pageSize",10);
|
|
219
|
+ parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
|
|
220
|
+ parMap.put("unitUuids","1048576");
|
|
221
|
+ String params = JSON.toJSONString(parMap);
|
|
222
|
+ log.info("获取中心UUID集获取中心下的门禁设备请求参数:{}", params);
|
|
223
|
+ String data = null;
|
|
224
|
+ try {
|
|
225
|
+ data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
|
226
|
+ log.info("获取 中心UUID集获取中心下的门禁设备 请求返回结果:{}",data);
|
|
227
|
+ } catch (Exception e) {
|
|
228
|
+ e.printStackTrace();
|
|
229
|
+ log.error("获取失败!",e);
|
|
230
|
+ }
|
|
231
|
+
|
|
232
|
+ return data;
|
|
233
|
+ }
|
|
234
|
+
|
|
235
|
+ /**
|
|
236
|
+ * 分页获取门禁点信息。
|
|
237
|
+ *
|
|
238
|
+ * @return
|
|
239
|
+ */
|
|
240
|
+ public static String getDoors(){
|
|
241
|
+ Map<String,Object> parMap = Maps.newHashMap();
|
|
242
|
+ String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
|
|
243
|
+ //设置APPKEY
|
|
244
|
+ parMap.put("appkey", HKConstant.APPKEY);
|
|
245
|
+ //设置时间参数
|
|
246
|
+ parMap.put("time", System.currentTimeMillis());
|
|
247
|
+ parMap.put("pageNo",1);
|
|
248
|
+ parMap.put("pageSize",10);
|
|
249
|
+ parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
|
|
250
|
+ String params = JSON.toJSONString(parMap);
|
|
251
|
+ log.info("分页获取门禁点信息请求参数:{}", params);
|
|
252
|
+ String data = null;
|
|
253
|
+ try {
|
|
254
|
+ data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
|
255
|
+ log.info("分页获取门禁点信息 请求返回结果:{}",data);
|
|
256
|
+ } catch (Exception e) {
|
|
257
|
+ e.printStackTrace();
|
|
258
|
+ log.error("获取失败!",e);
|
|
259
|
+ }
|
|
260
|
+
|
|
261
|
+ return data;
|
|
262
|
+ }
|
|
263
|
+
|
|
264
|
+ /**
|
|
265
|
+ * 批量获取控制中心信息,多个中心的UUID用“,”分割组成的字符串。
|
|
266
|
+ *
|
|
267
|
+ * @return
|
|
268
|
+ */
|
|
269
|
+ public static String getUnitsByUuids(){
|
|
270
|
+ Map<String,Object> parMap = Maps.newHashMap();
|
|
271
|
+ String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
|
|
272
|
+ //设置APPKEY
|
|
273
|
+ parMap.put("appkey", HKConstant.APPKEY);
|
|
274
|
+ //设置时间参数
|
|
275
|
+ parMap.put("time", System.currentTimeMillis());
|
|
276
|
+ parMap.put("pageNo",1);
|
|
277
|
+ parMap.put("pageSize",10);
|
|
278
|
+ parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
|
|
279
|
+ parMap.put("unitUuids","1048576");
|
|
280
|
+ String params = JSON.toJSONString(parMap);
|
|
281
|
+ log.info("获取控制中心信息请求参数:{}", params);
|
|
282
|
+ String data = null;
|
|
283
|
+ try {
|
|
284
|
+ data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
|
285
|
+ log.info("获取控制中心信息 请求返回结果:{}",data);
|
|
286
|
+ } catch (Exception e) {
|
|
287
|
+ e.printStackTrace();
|
|
288
|
+ log.error("获取失败!",e);
|
|
289
|
+ }
|
|
290
|
+
|
|
291
|
+ return data;
|
|
292
|
+ }
|
|
293
|
+
|
|
294
|
+ /**
|
|
295
|
+ * 根据中心UUID分页获取下级区域
|
|
296
|
+ * @return
|
|
297
|
+ */
|
|
298
|
+ public static String getRegionsByUnitUuid(){
|
|
299
|
+ Map<String,Object> parMap = Maps.newHashMap();
|
|
300
|
+ String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
|
|
301
|
+ //设置APPKEY
|
|
302
|
+ parMap.put("appkey", HKConstant.APPKEY);
|
|
303
|
+ //设置时间参数
|
|
304
|
+ parMap.put("time", System.currentTimeMillis());
|
|
305
|
+ parMap.put("pageNo",1);
|
|
306
|
+ parMap.put("pageSize",10);
|
|
307
|
+ parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
|
|
308
|
+ parMap.put("parentUuid","1048576");
|
|
309
|
+ parMap.put("allChildren",1);
|
|
310
|
+ String params = JSON.toJSONString(parMap);
|
|
311
|
+ log.info("根据中心UUID分页获取下级区域请求参数:{}", params);
|
|
312
|
+ String data = null;
|
|
313
|
+ try {
|
|
314
|
+ data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
|
315
|
+ log.info("根据中心UUID分页获取下级区域 请求返回结果:{}",data);
|
|
316
|
+ } catch (Exception e) {
|
|
317
|
+ e.printStackTrace();
|
|
318
|
+ log.error("获取失败!",e);
|
|
319
|
+ }
|
|
320
|
+
|
|
321
|
+ return data;
|
|
322
|
+ }
|
|
323
|
+
|
|
324
|
+ /**
|
|
325
|
+ * 根据区域UUID集获取门禁点
|
|
326
|
+ * @return
|
|
327
|
+ */
|
|
328
|
+ public static String getDoorsByRegionUuids(){
|
|
329
|
+ Map<String,Object> parMap = Maps.newHashMap();
|
|
330
|
+ String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.DOORS_BY_REGION_UUIDS;
|
|
331
|
+ //设置APPKEY
|
|
332
|
+ parMap.put("appkey", HKConstant.APPKEY);
|
|
333
|
+ //设置时间参数
|
|
334
|
+ parMap.put("time", System.currentTimeMillis());
|
|
335
|
+ parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
|
|
336
|
+ parMap.put("regionUuids","2a36878c9a4a49d290d253ac1b4746dc");
|
|
337
|
+ String params = JSON.toJSONString(parMap);
|
|
338
|
+ log.info("根据区域UUID集获取门禁点请求参数:{}", params);
|
|
339
|
+ String data = null;
|
|
340
|
+ try {
|
|
341
|
+ data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
|
342
|
+ log.info("根据区域UUID集获取门禁点 请求返回结果:{}",data);
|
|
343
|
+ } catch (Exception e) {
|
|
344
|
+ e.printStackTrace();
|
|
345
|
+ log.error("获取失败!",e);
|
|
346
|
+ }
|
|
347
|
+
|
|
348
|
+ return data;
|
|
349
|
+ }
|
|
350
|
+
|
|
351
|
+ /**
|
|
352
|
+ * 根据人员ID集添加权限
|
|
353
|
+ * @return
|
|
354
|
+ */
|
|
355
|
+ public static String addAuthoritiesByPersonIds(String personIds){
|
|
356
|
+ Map<String,Object> parMap = Maps.newHashMap();
|
|
357
|
+ String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ADD_AUTHORITIES_BY_PERSONIDS;
|
|
358
|
+ //设置APPKEY
|
|
359
|
+ parMap.put("appkey", HKConstant.APPKEY);
|
|
360
|
+ //设置时间参数
|
|
361
|
+ parMap.put("time", System.currentTimeMillis());
|
|
362
|
+ parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
|
|
363
|
+ parMap.put("personIds",personIds);
|
|
364
|
+ parMap.put("doorGroupUuids","");
|
|
365
|
+ parMap.put("doorUuids","57231a05fd3b45f7a2570a28a85821c4,efcb9a3fe4e64e2f9c0f546c54465524,9da7c0073138453fa7782b629743cff7,85c22fde220d4b35ac13f805f05fd04c");
|
|
366
|
+ String params = JSON.toJSONString(parMap);
|
|
367
|
+ log.info("根据人员ID集添加权限请求参数:{}", params);
|
|
368
|
+ String data = null;
|
|
369
|
+ try {
|
|
370
|
+ data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
|
371
|
+ log.info("根据人员ID集添加权限 请求返回结果:{}",data);
|
|
372
|
+ } catch (Exception e) {
|
|
373
|
+ e.printStackTrace();
|
|
374
|
+ log.error("获取失败!",e);
|
|
375
|
+ }
|
|
376
|
+
|
|
377
|
+ return data;
|
|
378
|
+ }
|
|
379
|
+
|
|
380
|
+ /**
|
|
381
|
+ * 根据设备UUID集异动下载门禁权限
|
|
382
|
+ * @return
|
|
383
|
+ */
|
|
384
|
+ public static String downloadAuthorityByDeviceUuids(){
|
|
385
|
+ Map<String,Object> parMap = Maps.newHashMap();
|
|
386
|
+ String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.DOWNLOAD_AUTHORITY_BY_DEVICEUUIDS;
|
|
387
|
+ //设置APPKEY
|
|
388
|
+ parMap.put("appkey", HKConstant.APPKEY);
|
|
389
|
+ //设置时间参数
|
|
390
|
+ parMap.put("time", System.currentTimeMillis());
|
|
391
|
+ parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
|
|
392
|
+ parMap.put("deviceUuids","57231a05fd3b45f7a2570a28a85821c4,efcb9a3fe4e64e2f9c0f546c54465524,9da7c0073138453fa7782b629743cff7,85c22fde220d4b35ac13f805f05fd04c");
|
|
393
|
+ String params = JSON.toJSONString(parMap);
|
|
394
|
+ log.info("根据设备UUID集异动下载门禁权限请求参数:{}", params);
|
|
395
|
+ String data = null;
|
|
396
|
+ try {
|
|
397
|
+ data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
|
398
|
+ log.info("根据设备UUID集异动下载门禁权限 请求返回结果:{}",data);
|
|
399
|
+ } catch (Exception e) {
|
|
400
|
+ e.printStackTrace();
|
|
401
|
+ log.error("获取失败!",e);
|
|
402
|
+ }
|
|
403
|
+
|
|
404
|
+ return data;
|
|
405
|
+ }
|
|
406
|
+
|
|
407
|
+ /**
|
|
408
|
+ * 指定人员人脸/指纹权限下载
|
|
409
|
+ * @return
|
|
410
|
+ */
|
|
411
|
+ public static String downloadFaceAndFingerInfos(String personIds){
|
|
412
|
+ Map<String,Object> parMap = Maps.newHashMap();
|
|
413
|
+ String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.DOWNLOAD_FACE_AND_FINGERINFOS;
|
|
414
|
+ //设置APPKEY
|
|
415
|
+ parMap.put("appkey", HKConstant.APPKEY);
|
|
416
|
+ //设置时间参数
|
|
417
|
+ parMap.put("time", System.currentTimeMillis());
|
|
418
|
+ parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
|
|
419
|
+ parMap.put("deviceUuids","83dfab0eef52411d991d6e621296b60a,dfd80b22f00545b8b36fa981019df83c");
|
|
420
|
+ parMap.put("personIds",personIds);
|
|
421
|
+ parMap.put("type",1);
|
|
422
|
+ String params = JSON.toJSONString(parMap);
|
|
423
|
+ log.info("指定人员人脸/指纹权限下载 请求参数:{}", params);
|
|
424
|
+ String data = null;
|
|
425
|
+ try {
|
|
426
|
+ data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
|
427
|
+ log.info("指定人员人脸/指纹权限下载 请求返回结果:{}",data);
|
|
428
|
+ } catch (Exception e) {
|
|
429
|
+ e.printStackTrace();
|
|
430
|
+ log.error("获取失败!",e);
|
|
431
|
+ }
|
|
432
|
+
|
|
433
|
+ return data;
|
|
434
|
+ }
|
199
|
435
|
|
200
|
436
|
|
201
|
437
|
public static void main(String[] args) {
|