|
@@ -1,310 +1,210 @@
|
1
|
|
-package com.community.huiju.common.hk;
|
2
|
|
-
|
3
|
|
-import com.alibaba.fastjson.JSON;
|
4
|
|
-import com.community.commom.hk.Digests;
|
5
|
|
-import com.community.commom.hk.HttpClientSSLUtils;
|
6
|
|
-import com.google.common.collect.Maps;
|
7
|
|
-import lombok.extern.slf4j.Slf4j;
|
8
|
|
-
|
9
|
|
-import java.util.HashMap;
|
10
|
|
-import java.util.Map;
|
11
|
|
-
|
12
|
|
-/**
|
13
|
|
- * 海康 API
|
14
|
|
- * @author weiximei
|
15
|
|
- */
|
16
|
|
-@Slf4j
|
17
|
|
-public class HKOpenApi {
|
18
|
|
-
|
19
|
|
- /**
|
20
|
|
- * 根据
|
21
|
|
- * 组织中心UUID集 ,第几页, 一页多少行
|
22
|
|
- *
|
23
|
|
- * 获取 监控点 数据列表
|
24
|
|
- * @return
|
25
|
|
- */
|
26
|
|
- public static String getMonitoryPoint(Map<String,Object> map){
|
27
|
|
- Map<String,Object> parMap = Maps.newHashMap();
|
28
|
|
- String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
|
29
|
|
- //设置APPKEY
|
30
|
|
- parMap.put("appkey", HKConstant.APPKEY);
|
31
|
|
- //设置时间参数
|
32
|
|
- parMap.put("time", System.currentTimeMillis());
|
33
|
|
- parMap.put("pageNo",map.get("pageNo"));
|
34
|
|
- parMap.put("pageSize",map.get("pageSize"));
|
35
|
|
- parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
|
36
|
|
- parMap.put("unitUuids",map.get("unitUuids"));
|
37
|
|
- String params = JSON.toJSONString(parMap);
|
38
|
|
- log.info("获取 监控列表 请求参数:{}", params);
|
39
|
|
- String data = null;
|
40
|
|
- try {
|
41
|
|
- data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
42
|
|
- log.info("获取 监控列表 请求返回结果:{}",data);
|
43
|
|
- } catch (Exception e) {
|
44
|
|
- e.printStackTrace();
|
45
|
|
- log.error("获取监控列表失败!",e);
|
46
|
|
- }
|
47
|
|
-
|
48
|
|
- return data;
|
49
|
|
- }
|
50
|
|
-
|
51
|
|
- /**
|
52
|
|
- * 根据中心UUID集获取中心下的门禁设备信息
|
53
|
|
- *
|
54
|
|
- * @return
|
55
|
|
- */
|
56
|
|
- public static String getACDevicesByUnitUuids(){
|
57
|
|
- Map<String,Object> parMap = Maps.newHashMap();
|
58
|
|
- String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
|
59
|
|
- //设置APPKEY
|
60
|
|
- parMap.put("appkey", HKConstant.APPKEY);
|
61
|
|
- //设置时间参数
|
62
|
|
- parMap.put("time", System.currentTimeMillis());
|
63
|
|
- parMap.put("pageNo",1);
|
64
|
|
- parMap.put("pageSize",10);
|
65
|
|
- parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
|
66
|
|
- parMap.put("unitUuids","1048576");
|
67
|
|
- String params = JSON.toJSONString(parMap);
|
68
|
|
- log.info("获取中心UUID集获取中心下的门禁设备请求参数:{}", params);
|
69
|
|
- String data = null;
|
70
|
|
- try {
|
71
|
|
- data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
72
|
|
- log.info("获取 中心UUID集获取中心下的门禁设备 请求返回结果:{}",data);
|
73
|
|
- } catch (Exception e) {
|
74
|
|
- e.printStackTrace();
|
75
|
|
- log.error("获取失败!",e);
|
76
|
|
- }
|
77
|
|
-
|
78
|
|
- return data;
|
79
|
|
- }
|
80
|
|
-
|
81
|
|
- /**
|
82
|
|
- * 分页获取门禁点信息。
|
83
|
|
- *
|
84
|
|
- * @return
|
85
|
|
- */
|
86
|
|
- public static String getDoors(){
|
87
|
|
- Map<String,Object> parMap = Maps.newHashMap();
|
88
|
|
- String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
|
89
|
|
- //设置APPKEY
|
90
|
|
- parMap.put("appkey", HKConstant.APPKEY);
|
91
|
|
- //设置时间参数
|
92
|
|
- parMap.put("time", System.currentTimeMillis());
|
93
|
|
- parMap.put("pageNo",1);
|
94
|
|
- parMap.put("pageSize",10);
|
95
|
|
- parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
|
96
|
|
- String params = JSON.toJSONString(parMap);
|
97
|
|
- log.info("分页获取门禁点信息请求参数:{}", params);
|
98
|
|
- String data = null;
|
99
|
|
- try {
|
100
|
|
- data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
101
|
|
- log.info("分页获取门禁点信息 请求返回结果:{}",data);
|
102
|
|
- } catch (Exception e) {
|
103
|
|
- e.printStackTrace();
|
104
|
|
- log.error("获取失败!",e);
|
105
|
|
- }
|
106
|
|
-
|
107
|
|
- return data;
|
108
|
|
- }
|
109
|
|
-
|
110
|
|
- /**
|
111
|
|
- * 批量获取控制中心信息,多个中心的UUID用“,”分割组成的字符串。
|
112
|
|
- *
|
113
|
|
- * @return
|
114
|
|
- */
|
115
|
|
- public static String getUnitsByUuids(){
|
116
|
|
- Map<String,Object> parMap = Maps.newHashMap();
|
117
|
|
- String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
|
118
|
|
- //设置APPKEY
|
119
|
|
- parMap.put("appkey", HKConstant.APPKEY);
|
120
|
|
- //设置时间参数
|
121
|
|
- parMap.put("time", System.currentTimeMillis());
|
122
|
|
- parMap.put("pageNo",1);
|
123
|
|
- parMap.put("pageSize",10);
|
124
|
|
- parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
|
125
|
|
- parMap.put("unitUuids","1048576");
|
126
|
|
- String params = JSON.toJSONString(parMap);
|
127
|
|
- log.info("获取控制中心信息请求参数:{}", params);
|
128
|
|
- String data = null;
|
129
|
|
- try {
|
130
|
|
- data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
131
|
|
- log.info("获取控制中心信息 请求返回结果:{}",data);
|
132
|
|
- } catch (Exception e) {
|
133
|
|
- e.printStackTrace();
|
134
|
|
- log.error("获取失败!",e);
|
135
|
|
- }
|
136
|
|
-
|
137
|
|
- return data;
|
138
|
|
- }
|
139
|
|
-
|
140
|
|
- /**
|
141
|
|
- * 根据中心UUID分页获取下级区域
|
142
|
|
- * @return
|
143
|
|
- */
|
144
|
|
- public static String getRegionsByUnitUuid(){
|
145
|
|
- Map<String,Object> parMap = Maps.newHashMap();
|
146
|
|
- String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
|
147
|
|
- //设置APPKEY
|
148
|
|
- parMap.put("appkey", HKConstant.APPKEY);
|
149
|
|
- //设置时间参数
|
150
|
|
- parMap.put("time", System.currentTimeMillis());
|
151
|
|
- parMap.put("pageNo",1);
|
152
|
|
- parMap.put("pageSize",10);
|
153
|
|
- parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
|
154
|
|
- parMap.put("parentUuid","1048576");
|
155
|
|
- parMap.put("allChildren",1);
|
156
|
|
- String params = JSON.toJSONString(parMap);
|
157
|
|
- log.info("根据中心UUID分页获取下级区域请求参数:{}", params);
|
158
|
|
- String data = null;
|
159
|
|
- try {
|
160
|
|
- data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
161
|
|
- log.info("根据中心UUID分页获取下级区域 请求返回结果:{}",data);
|
162
|
|
- } catch (Exception e) {
|
163
|
|
- e.printStackTrace();
|
164
|
|
- log.error("获取失败!",e);
|
165
|
|
- }
|
166
|
|
-
|
167
|
|
- return data;
|
168
|
|
- }
|
169
|
|
-
|
170
|
|
- /**
|
171
|
|
- * 根据区域UUID集获取门禁点
|
172
|
|
- * @return
|
173
|
|
- */
|
174
|
|
- public static String getDoorsByRegionUuids(){
|
175
|
|
- Map<String,Object> parMap = Maps.newHashMap();
|
176
|
|
- String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.DOORS_BY_REGION_UUIDS;
|
177
|
|
- //设置APPKEY
|
178
|
|
- parMap.put("appkey", HKConstant.APPKEY);
|
179
|
|
- //设置时间参数
|
180
|
|
- parMap.put("time", System.currentTimeMillis());
|
181
|
|
- parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
|
182
|
|
- parMap.put("regionUuids","2a36878c9a4a49d290d253ac1b4746dc");
|
183
|
|
- String params = JSON.toJSONString(parMap);
|
184
|
|
- log.info("根据区域UUID集获取门禁点请求参数:{}", params);
|
185
|
|
- String data = null;
|
186
|
|
- try {
|
187
|
|
- data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
188
|
|
- log.info("根据区域UUID集获取门禁点 请求返回结果:{}",data);
|
189
|
|
- } catch (Exception e) {
|
190
|
|
- e.printStackTrace();
|
191
|
|
- log.error("获取失败!",e);
|
192
|
|
- }
|
193
|
|
-
|
194
|
|
- return data;
|
195
|
|
- }
|
196
|
|
-
|
197
|
|
- /**
|
198
|
|
- * 根据人员ID集添加权限
|
199
|
|
- * @return
|
200
|
|
- */
|
201
|
|
- public static String addAuthoritiesByPersonIds(String personIds){
|
202
|
|
- Map<String,Object> parMap = Maps.newHashMap();
|
203
|
|
- String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ADD_AUTHORITIES_BY_PERSONIDS;
|
204
|
|
- //设置APPKEY
|
205
|
|
- parMap.put("appkey", HKConstant.APPKEY);
|
206
|
|
- //设置时间参数
|
207
|
|
- parMap.put("time", System.currentTimeMillis());
|
208
|
|
- parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
|
209
|
|
- parMap.put("personIds",personIds);
|
210
|
|
- parMap.put("doorGroupUuids","");
|
211
|
|
- parMap.put("doorUuids","57231a05fd3b45f7a2570a28a85821c4,efcb9a3fe4e64e2f9c0f546c54465524,9da7c0073138453fa7782b629743cff7,85c22fde220d4b35ac13f805f05fd04c");
|
212
|
|
- String params = JSON.toJSONString(parMap);
|
213
|
|
- log.info("根据人员ID集添加权限请求参数:{}", params);
|
214
|
|
- String data = null;
|
215
|
|
- try {
|
216
|
|
- data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
217
|
|
- log.info("根据人员ID集添加权限 请求返回结果:{}",data);
|
218
|
|
- } catch (Exception e) {
|
219
|
|
- e.printStackTrace();
|
220
|
|
- log.error("获取失败!",e);
|
221
|
|
- }
|
222
|
|
-
|
223
|
|
- return data;
|
224
|
|
- }
|
225
|
|
-
|
226
|
|
- /**
|
227
|
|
- * 根据设备UUID集异动下载门禁权限
|
228
|
|
- * @return
|
229
|
|
- */
|
230
|
|
- public static String downloadAuthorityByDeviceUuids(){
|
231
|
|
- Map<String,Object> parMap = Maps.newHashMap();
|
232
|
|
- String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.DOWNLOAD_AUTHORITY_BY_DEVICEUUIDS;
|
233
|
|
- //设置APPKEY
|
234
|
|
- parMap.put("appkey", HKConstant.APPKEY);
|
235
|
|
- //设置时间参数
|
236
|
|
- parMap.put("time", System.currentTimeMillis());
|
237
|
|
- parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
|
238
|
|
- parMap.put("deviceUuids","57231a05fd3b45f7a2570a28a85821c4,efcb9a3fe4e64e2f9c0f546c54465524,9da7c0073138453fa7782b629743cff7,85c22fde220d4b35ac13f805f05fd04c");
|
239
|
|
- String params = JSON.toJSONString(parMap);
|
240
|
|
- log.info("根据设备UUID集异动下载门禁权限请求参数:{}", params);
|
241
|
|
- String data = null;
|
242
|
|
- try {
|
243
|
|
- data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
244
|
|
- log.info("根据设备UUID集异动下载门禁权限 请求返回结果:{}",data);
|
245
|
|
- } catch (Exception e) {
|
246
|
|
- e.printStackTrace();
|
247
|
|
- log.error("获取失败!",e);
|
248
|
|
- }
|
249
|
|
-
|
250
|
|
- return data;
|
251
|
|
- }
|
252
|
|
-
|
253
|
|
- /**
|
254
|
|
- * 指定人员人脸/指纹权限下载
|
255
|
|
- * @return
|
256
|
|
- */
|
257
|
|
- public static String downloadFaceAndFingerInfos(String personIds){
|
258
|
|
- Map<String,Object> parMap = Maps.newHashMap();
|
259
|
|
- String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.DOWNLOAD_FACE_AND_FINGERINFOS;
|
260
|
|
- //设置APPKEY
|
261
|
|
- parMap.put("appkey", HKConstant.APPKEY);
|
262
|
|
- //设置时间参数
|
263
|
|
- parMap.put("time", System.currentTimeMillis());
|
264
|
|
- parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
|
265
|
|
- parMap.put("deviceUuids","83dfab0eef52411d991d6e621296b60a,dfd80b22f00545b8b36fa981019df83c");
|
266
|
|
- parMap.put("personIds",personIds);
|
267
|
|
- parMap.put("type",1);
|
268
|
|
- String params = JSON.toJSONString(parMap);
|
269
|
|
- log.info("指定人员人脸/指纹权限下载 请求参数:{}", params);
|
270
|
|
- String data = null;
|
271
|
|
- try {
|
272
|
|
- data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
273
|
|
- log.info("指定人员人脸/指纹权限下载 请求返回结果:{}",data);
|
274
|
|
- } catch (Exception e) {
|
275
|
|
- e.printStackTrace();
|
276
|
|
- log.error("获取失败!",e);
|
277
|
|
- }
|
278
|
|
-
|
279
|
|
- return data;
|
280
|
|
- }
|
281
|
|
-
|
282
|
|
- public static String getPersonInfosEx(){
|
283
|
|
- Map<String,Object> parMap = Maps.newHashMap();
|
284
|
|
- String url = HKConstant.OPENAPI_IP_PORT_HTTP + "/openapi/service/base/person/getPersonInfosEx";
|
285
|
|
- //设置APPKEY
|
286
|
|
- parMap.put("appkey", HKConstant.APPKEY);
|
287
|
|
- //设置时间参数
|
288
|
|
- parMap.put("time", System.currentTimeMillis());
|
289
|
|
- parMap.put("pageNo",1);
|
290
|
|
- parMap.put("pageSize",10);
|
291
|
|
- parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
|
292
|
|
- String params = JSON.toJSONString(parMap);
|
293
|
|
- log.info("根据人员ID集添加权限请求参数:{}", params);
|
294
|
|
- String data = null;
|
295
|
|
- try {
|
296
|
|
- data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
297
|
|
- log.info("根据人员ID集添加权限 请求返回结果:{}",data);
|
298
|
|
- } catch (Exception e) {
|
299
|
|
- e.printStackTrace();
|
300
|
|
- log.error("获取失败!",e);
|
301
|
|
- }
|
302
|
|
-
|
303
|
|
- return data;
|
304
|
|
- }
|
305
|
|
-
|
306
|
|
- public static void main(String[] args) {
|
307
|
|
- String result = HKOpenApi.downloadFaceAndFingerInfos("10");
|
308
|
|
- System.out.println(result);
|
309
|
|
- }
|
310
|
|
-}
|
|
1
|
+package com.community.huiju.common.hk;
|
|
2
|
+
|
|
3
|
+import com.alibaba.fastjson.JSON;
|
|
4
|
+import com.community.commom.hk.HttpClientSSLUtils;
|
|
5
|
+import com.google.common.collect.Maps;
|
|
6
|
+import lombok.extern.slf4j.Slf4j;
|
|
7
|
+import net.coobird.thumbnailator.Thumbnails;
|
|
8
|
+import org.slf4j.Logger;
|
|
9
|
+import org.slf4j.LoggerFactory;
|
|
10
|
+import org.springframework.web.multipart.MultipartFile;
|
|
11
|
+import java.io.*;
|
|
12
|
+import com.community.commom.hk.Digests;
|
|
13
|
+
|
|
14
|
+import java.util.Map;
|
|
15
|
+
|
|
16
|
+/**
|
|
17
|
+ * 海康 API
|
|
18
|
+ * @author weiximei
|
|
19
|
+ */
|
|
20
|
+@Slf4j
|
|
21
|
+public class HKOpenApi {
|
|
22
|
+ private static Logger logger = LoggerFactory.getLogger(PicUtils.class);
|
|
23
|
+
|
|
24
|
+ public static String getMonitoryPoint(Map<String,Object> map){
|
|
25
|
+ Map<String,Object> parMap = Maps.newHashMap();
|
|
26
|
+ String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
|
|
27
|
+ //设置APPKEY
|
|
28
|
+ parMap.put("appkey", HKConstant.APPKEY);
|
|
29
|
+ //设置时间参数
|
|
30
|
+ parMap.put("time", System.currentTimeMillis());
|
|
31
|
+ parMap.put("pageNo",map.get("pageNo"));
|
|
32
|
+ parMap.put("pageSize",map.get("pageSize"));
|
|
33
|
+ parMap.put("opUserUuid",map.get("opUserUuid") == null?HKConstant.OP_USER_UUID:map.get("opUserUuid"));
|
|
34
|
+ parMap.put("unitUuids",map.get("unitUuids"));
|
|
35
|
+ String params = JSON.toJSONString(parMap);
|
|
36
|
+ log.info("获取 监控列表 请求参数:{}", params);
|
|
37
|
+ String data = null;
|
|
38
|
+ try {
|
|
39
|
+ data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
|
40
|
+ log.info("获取 监控列表 请求返回结果:{}",data);
|
|
41
|
+ } catch (Exception e) {
|
|
42
|
+ e.printStackTrace();
|
|
43
|
+ log.error("获取监控列表失败!",e);
|
|
44
|
+ }
|
|
45
|
+
|
|
46
|
+ return data;
|
|
47
|
+ }
|
|
48
|
+
|
|
49
|
+ /**
|
|
50
|
+ *
|
|
51
|
+ * @param img_path 获取图片的扩展名
|
|
52
|
+ * @return
|
|
53
|
+ */
|
|
54
|
+ public static String getPicSuffix(String img_path){
|
|
55
|
+ if (img_path == null || img_path.indexOf(".") == -1){
|
|
56
|
+ return ""; //如果图片地址为null或者地址中没有"."就返回""
|
|
57
|
+ }
|
|
58
|
+ return img_path.substring(img_path.lastIndexOf(".") + 1).
|
|
59
|
+ trim().toLowerCase();
|
|
60
|
+ }
|
|
61
|
+
|
|
62
|
+ //将本地图片进行Base64位编码
|
|
63
|
+ public static String getImgStr(MultipartFile imgFile){
|
|
64
|
+ //将图片文件转化为字节数组字符串,并对其进行Base64编码处理
|
|
65
|
+ byte[] data = null;
|
|
66
|
+ //读取图片字节数组
|
|
67
|
+ try
|
|
68
|
+ {
|
|
69
|
+ data = imgFile.getBytes();
|
|
70
|
+ }
|
|
71
|
+ catch (IOException e)
|
|
72
|
+ {
|
|
73
|
+ e.printStackTrace();
|
|
74
|
+ }
|
|
75
|
+ return new String(org.apache.commons.codec.binary.Base64.encodeBase64(data));
|
|
76
|
+ }
|
|
77
|
+
|
|
78
|
+ //将本地图片进行Base64位编码
|
|
79
|
+ public static String getImgStr(byte [] fileBytes) {
|
|
80
|
+ return new String(org.apache.commons.codec.binary.Base64.encodeBase64(fileBytes));
|
|
81
|
+ }
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+ /**
|
|
85
|
+ * 根据部门名称分页获取部门
|
|
86
|
+ * 第几页, 一页多少行, 操作用户uuid
|
|
87
|
+ * @param map
|
|
88
|
+ * @return
|
|
89
|
+ */
|
|
90
|
+ public static String getDeptName(Map<String,Object> map){
|
|
91
|
+ Map<String,Object> parMap = Maps.newHashMap();
|
|
92
|
+ String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_LIKE_DEPT_NAME;
|
|
93
|
+ //设置APPKEY
|
|
94
|
+ parMap.put("appkey", HKConstant.APPKEY);
|
|
95
|
+ //设置时间参数
|
|
96
|
+ parMap.put("time", System.currentTimeMillis());
|
|
97
|
+ parMap.put("pageNo",map.get("pageNo"));
|
|
98
|
+ parMap.put("pageSize",map.get("pageSize"));
|
|
99
|
+ parMap.put("opUserUuid",map.get("opUserUuid") == null?HKConstant.OP_USER_UUID:map.get("opUserUuid"));
|
|
100
|
+ parMap.put("deptName",map.get("deptName"));
|
|
101
|
+ String params = JSON.toJSONString(parMap);
|
|
102
|
+ log.info("根据部门名称分页获取部门 请求参数:{}", params);
|
|
103
|
+ String data = null;
|
|
104
|
+ try {
|
|
105
|
+ data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
|
106
|
+ log.info("根据部门名称分页获取部门 请求返回结果:{}",data);
|
|
107
|
+ } catch (Exception e) {
|
|
108
|
+ e.printStackTrace();
|
|
109
|
+ log.error("根据部门名称分页获取部门失败!",e);
|
|
110
|
+ }
|
|
111
|
+
|
|
112
|
+ return data;
|
|
113
|
+ }
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+ /**
|
|
117
|
+ * 根据指定大小压缩图片
|
|
118
|
+ *
|
|
119
|
+ * @param imageBytes 源图片字节数组
|
|
120
|
+ * @param desFileSize 指定图片大小,单位kb
|
|
121
|
+ * @param imageId 影像编号
|
|
122
|
+ * @return 压缩质量后的图片字节数组
|
|
123
|
+ */
|
|
124
|
+ public static byte[] compressPicForScale(byte[] imageBytes, long desFileSize, String imageId) {
|
|
125
|
+ if (imageBytes == null || imageBytes.length <= 0 || imageBytes.length < desFileSize * 1024) {
|
|
126
|
+ return imageBytes;
|
|
127
|
+ }
|
|
128
|
+ long srcSize = imageBytes.length;
|
|
129
|
+ double accuracy = getAccuracy(srcSize / 1024);
|
|
130
|
+ try {
|
|
131
|
+ while (imageBytes.length > desFileSize * 1024) {
|
|
132
|
+ ByteArrayInputStream inputStream = new ByteArrayInputStream(imageBytes);
|
|
133
|
+ ByteArrayOutputStream outputStream = new ByteArrayOutputStream(imageBytes.length);
|
|
134
|
+ Thumbnails.of(inputStream)
|
|
135
|
+ .scale(accuracy)
|
|
136
|
+ .outputQuality(accuracy)
|
|
137
|
+ .toOutputStream(outputStream);
|
|
138
|
+ imageBytes = outputStream.toByteArray();
|
|
139
|
+ }
|
|
140
|
+ logger.info("【图片压缩】imageId={} | 图片原大小={}kb | 压缩后大小={}kb",
|
|
141
|
+ imageId, srcSize / 1024, imageBytes.length / 1024);
|
|
142
|
+ } catch (Exception e) {
|
|
143
|
+ logger.error("【图片压缩】msg=图片压缩失败!", e);
|
|
144
|
+ }
|
|
145
|
+ return imageBytes;
|
|
146
|
+ }
|
|
147
|
+
|
|
148
|
+ /**
|
|
149
|
+ * 自动调节精度(经验数值)
|
|
150
|
+ *
|
|
151
|
+ * @param size 源图片大小
|
|
152
|
+ * @return 图片压缩质量比
|
|
153
|
+ */
|
|
154
|
+ private static double getAccuracy(long size) {
|
|
155
|
+ double accuracy;
|
|
156
|
+ if (size < 900) {
|
|
157
|
+ accuracy = 0.85;
|
|
158
|
+ } else if (size < 2047) {
|
|
159
|
+ accuracy = 0.6;
|
|
160
|
+ } else if (size < 3275) {
|
|
161
|
+ accuracy = 0.44;
|
|
162
|
+ } else {
|
|
163
|
+ accuracy = 0.4;
|
|
164
|
+ }
|
|
165
|
+ return accuracy;
|
|
166
|
+ }
|
|
167
|
+
|
|
168
|
+ /**
|
|
169
|
+ *
|
|
170
|
+ * 添加人员
|
|
171
|
+ *
|
|
172
|
+ * 比如 住户
|
|
173
|
+ */
|
|
174
|
+ public static String getAddUser(Map<String,Object> map){
|
|
175
|
+ Map<String,Object> parMap = Maps.newHashMap();
|
|
176
|
+ String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_LIKE_DEPT_NAME;
|
|
177
|
+ //设置APPKEY
|
|
178
|
+ parMap.put("appkey", HKConstant.APPKEY);
|
|
179
|
+ //设置时间参数
|
|
180
|
+ parMap.put("time", System.currentTimeMillis());
|
|
181
|
+ parMap.put("pageNo",map.get("pageNo"));
|
|
182
|
+ parMap.put("pageSize",map.get("pageSize"));
|
|
183
|
+ parMap.put("opUserUuid",map.get("opUserUuid") == null?HKConstant.OP_USER_UUID:map.get("opUserUuid"));
|
|
184
|
+ parMap.put("personNo",map.get("personNo"));
|
|
185
|
+ parMap.put("personName",map.get("personName"));
|
|
186
|
+ String params = JSON.toJSONString(parMap);
|
|
187
|
+ log.info("添加人员 请求参数:{}", params);
|
|
188
|
+ String data = null;
|
|
189
|
+ try {
|
|
190
|
+ data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
|
|
191
|
+ log.info("添加人员 请求返回结果:{}",data);
|
|
192
|
+ } catch (Exception e) {
|
|
193
|
+ e.printStackTrace();
|
|
194
|
+ log.error("添加人员失败!",e);
|
|
195
|
+ }
|
|
196
|
+
|
|
197
|
+ return data;
|
|
198
|
+ }
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+ public static void main(String[] args) {
|
|
202
|
+ Map<String,Object> parMap = Maps.newHashMap();
|
|
203
|
+ parMap.put("pageNo",1);
|
|
204
|
+ parMap.put("pageSize",100);
|
|
205
|
+ parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
|
|
206
|
+ parMap.put("deptName","住户");
|
|
207
|
+ String result = HKOpenApi.getDeptName(parMap);
|
|
208
|
+ System.out.println(result);
|
|
209
|
+ }
|
|
210
|
+}
|