jiangping
2023-12-06 915dcb3800c0cbd63f53e33f9638715b93c9ea6f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
package com.doumee.core.haikang.model;
 
import com.alibaba.fastjson.JSONObject;
import com.hikvision.artemis.sdk.ArtemisHttpUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
 
import java.io.IOException;
import java.io.InputStream;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
 
 
@Slf4j
public class HKTools {
 
//    private static final Logger logger = LoggerFactory.getLogger(HKUtil.class);
 
 
    public static void main(String[] args) throws ParseException {
 
    }
    private static Map<String, String> getPath(String str) {
        final String getCamsApi = HKConstants.ARTEMIS_PATH  + str;
        Map<String, String> path = new HashMap<String, String>(2) {
            {
                put(HKConstants.https, getCamsApi);// 根据现场环境部署确认是http还是https
            }
        };
        return  path;
    }
 
    /**
     * 获取门禁时间数据集合
     * @return
     */
    public static String getRootOrg() {
        Map<String, String> path = getPath(HKConstants.InterfacePath.rootOrg);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, "", null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
 
    /**
     * 更新组织信息
     * @param body
     * @return
     */
    public static String editOrg(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.editOrg);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
 
    /**
     * 新增组织信息
     * @param body
     * @return
     */
    public static String addBatchOrg(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.addBatchOrg);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
    /**
     * 删除组织信息
     * @param body
     * @return
     */
    public static String delOrg(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.delBatchOrg);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
 
    /**
     * 新增人员信息
     * @param body
     * @return
     */
    public static String addUser(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.addUser);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
 
 
    /**
     * 批量新增人员信息
     * @param body
     * @return
     */
    public static String addBatchUser(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.addBatchUser);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
 
    /**
     * 批量删除人员信息
     * @param body
     * @return
     */
    public static String delBatchUser(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.delBatchUser);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
 
    /**
     * 修改人员信息
     * @param body
     * @return
     */
    public static String editUser(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.editUser);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
    /**
     *    添加人脸信息
     * @param body
     * @return
     */
    public static String addFace(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.addFace);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
    /**
     *    编辑人脸信息
     * @param body
     * @return
     */
    public static String editFace(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.editFace);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
    /**
     *    删除人脸信息
     * @param body
     * @return
     */
    public static String delFace(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.delFace);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
    /**
     *    全量获取车库信息
     * @param body
     * @return
     */
    public static String parkList(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.getParkList);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
    /**
     *    根据车库编码查询出入口列表
     * @param body
     * @return
     */
    public static String entranceList(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.getEntranceList);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
    /**
     *    车辆预约
     * @param body
     * @return
     */
    public static String parkAddition(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.parkAddition);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
    /**
     *    车辆取消预约
     * @param body
     * @return
     */
    public static String parkDeletion(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.parkDeletion);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
    /**
     *    固定车辆充值(包期)
     * @param body
     * @return
     */
    public static String carChargeAddtion(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.carChargeAddtion);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
    /**
     *    固定车辆取消包期
     * @param body
     * @return
     */
    public static String carChargeDeletion(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.carChargeDeletion);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
 
 
    /**
     * 获取人脸数据(提取人脸访问地址)
     * @param body
     * @return
     */
    public static InputStream getFaceInputStream(String body)  throws  Exception{
 
        Map<String, String> path = getPath(HKConstants.InterfacePath.facePicture);
        //参数根据接口实际情况设置
        HttpResponse resp = ArtemisHttpUtil.doPostStringImgArtemis( path, body, null, null,"application/json",null);
        if (200==resp.getStatusLine().getStatusCode()) {
            HttpEntity entity = resp.getEntity();
            InputStream in = entity.getContent();
            return  in;
        }else{
            throw  new Exception("人脸下载出错");
        }
    }
    /**
     *    获取门禁设备列表
     * @param body
     * @return
     */
    public static String acsDeviceList(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.acsDeviceList);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
    /**
     *    增量获取门禁设备列表
     * @param body
     * @return
     */
    public static String acsDeviceTimeRangeList(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.acsDeviceList);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
    /**
     *    访客预约
     * @param body
     * @return
     */
    public static String visitAppiontment(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.visitAppiontment);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
    /**
     *    访客免登记预约
     * @param body
     * @return
     */
    public static String visitAppiontmentMDJ(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.visitAppiontmentMDJ);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
 
    /**
     *    取消访客预约
     * @param body
     * @return
     */
    public static String visitCancel(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.visitCancel);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
    /**
     *    访客权限组
     * @param body
     * @return
     */
    public static String privilegeGroup(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.privilegeGroup);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
    /**
     *    事件订阅
     * @param body
     * @return
     */
    public static String eventSub(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.eventSub);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        return  result;
    }
 
 
 
    /**
     * 传入Data类型日期,返回字符串类型时间(ISO8601标准时间)
     * @param date
     * @return
     */
    public static String getISO8601Timestamp(Date date){
        TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
        //TimeZone tz = TimeZone.getTimeZone("GMT-01");
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
        df.setTimeZone(tz);
        String nowAsISO = df.format(date);
        return nowAsISO;
    }
 
}