bug修复
This commit is contained in:
parent
af10a1fa0f
commit
3e0eca85bf
@ -239,13 +239,15 @@ public class HikvisionCall {
|
|||||||
jsonBody.put("certificateType", "111");
|
jsonBody.put("certificateType", "111");
|
||||||
jsonBody.put("certificateNo", workerInfo.getIdCard());
|
jsonBody.put("certificateNo", workerInfo.getIdCard());
|
||||||
jsonBody.put("jobNo", workerInfo.getPersonSn());
|
jsonBody.put("jobNo", workerInfo.getPersonSn());
|
||||||
ArrayList<HashMap<String, String>> faceList = new ArrayList<>();
|
String fieldAcquisitionUrl = workerInfo.getFieldAcquisitionUrl();
|
||||||
HashMap<String, String> faceMap = new HashMap<>();
|
if (StringUtils.isNotBlank(fieldAcquisitionUrl)) {
|
||||||
faceMap.put("faceData", Base64Util.convertFileToBase64(PathUtil.reviseSlash(basePath + "/" + workerInfo.getFieldAcquisitionUrl())));
|
ArrayList<HashMap<String, String>> faceList = new ArrayList<>();
|
||||||
faceList.add(faceMap);
|
HashMap<String, String> faceMap = new HashMap<>();
|
||||||
jsonBody.put("faces", faceList);
|
faceMap.put("faceData", Base64Util.convertFileToBase64(PathUtil.reviseSlash(basePath + "/" + fieldAcquisitionUrl)));
|
||||||
String body = jsonBody.toJSONString();
|
faceList.add(faceMap);
|
||||||
return body;
|
jsonBody.put("faces", faceList);
|
||||||
|
}
|
||||||
|
return jsonBody.toJSONString();
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getOrgIndexCode(WorkerInfo workerInfo) {
|
private String getOrgIndexCode(WorkerInfo workerInfo) {
|
||||||
@ -286,6 +288,25 @@ public class HikvisionCall {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加人脸
|
||||||
|
*
|
||||||
|
* @param workerInfo
|
||||||
|
* @param project
|
||||||
|
*/
|
||||||
|
private void addWorkerFace(WorkerInfo workerInfo, Project project) {
|
||||||
|
String fieldAcquisitionUrl = workerInfo.getFieldAcquisitionUrl();
|
||||||
|
if (StringUtils.isNotBlank(fieldAcquisitionUrl)) {
|
||||||
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
|
final String path = ARTEMIS_PATH + "/api/resource/v1/face/single/add";
|
||||||
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
|
JSONObject jo = new JSONObject();
|
||||||
|
jo.put("personId", String.valueOf(workerInfo.getId()));
|
||||||
|
jo.put("faceData", Base64Util.convertFileToBase64(PathUtil.reviseSlash(basePath + "/" + fieldAcquisitionUrl)));
|
||||||
|
HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 编辑人脸
|
* 编辑人脸
|
||||||
*
|
*
|
||||||
@ -295,15 +316,16 @@ public class HikvisionCall {
|
|||||||
private void editWorkerFace(WorkerInfo workerInfo, Project project) {
|
private void editWorkerFace(WorkerInfo workerInfo, Project project) {
|
||||||
ArrayList<String> workerFaceIds = getWorkerFaceIds(workerInfo, project);
|
ArrayList<String> workerFaceIds = getWorkerFaceIds(workerInfo, project);
|
||||||
if (CollUtil.isNotEmpty(workerFaceIds)) {
|
if (CollUtil.isNotEmpty(workerFaceIds)) {
|
||||||
for (String workerFaceId : workerFaceIds) {
|
String workerFaceId = workerFaceIds.get(0);
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/resource/v1/face/single/update";
|
final String path = ARTEMIS_PATH + "/api/resource/v1/face/single/update";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
JSONObject jo = new JSONObject();
|
JSONObject jo = new JSONObject();
|
||||||
jo.put("faceId", workerFaceId);
|
jo.put("faceId", workerFaceId);
|
||||||
jo.put("faceData", Base64Util.convertFileToBase64(PathUtil.reviseSlash(basePath + "/" + workerInfo.getFieldAcquisitionUrl())));
|
jo.put("faceData", Base64Util.convertFileToBase64(PathUtil.reviseSlash(basePath + "/" + workerInfo.getFieldAcquisitionUrl())));
|
||||||
HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
}
|
} else {
|
||||||
|
addWorkerFace(workerInfo, project);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -317,6 +339,8 @@ public class HikvisionCall {
|
|||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
deleteWorkerFace(workerInfo, project);
|
||||||
|
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/resource/v1/person/batch/delete";
|
final String path = ARTEMIS_PATH + "/api/resource/v1/person/batch/delete";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
@ -324,9 +348,6 @@ public class HikvisionCall {
|
|||||||
jsonBody.put("personIds", Arrays.asList(workerInfo.getId()));
|
jsonBody.put("personIds", Arrays.asList(workerInfo.getId()));
|
||||||
String body = jsonBody.toJSONString();
|
String body = jsonBody.toJSONString();
|
||||||
HikvisionUtil.doPost(host, path, body, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
HikvisionUtil.doPost(host, path, body, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
|
|
||||||
deleteWorkerFace(workerInfo, project);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void deleteWorkerFace(WorkerInfo workerInfo, Project project) {
|
private void deleteWorkerFace(WorkerInfo workerInfo, Project project) {
|
||||||
|
|||||||
@ -32,6 +32,10 @@ public class HikvisionUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static String doPost(String host, String path, String body, Map<String, String> querys, String appKey, String appSecret) {
|
public static String doPost(String host, String path, String body, Map<String, String> querys, String appKey, String appSecret) {
|
||||||
|
return doPost(host, path, body, querys, appKey, appSecret, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String doPost(String host, String path, String body, Map<String, String> querys, String appKey, String appSecret, boolean isRetry) {
|
||||||
log.info("HikvisionUtil#doPost.url:{}", host + path);
|
log.info("HikvisionUtil#doPost.url:{}", host + path);
|
||||||
log.info("HikvisionUtil#doPost.body:{}", body);
|
log.info("HikvisionUtil#doPost.body:{}", body);
|
||||||
String responseStr = null;
|
String responseStr = null;
|
||||||
@ -48,18 +52,20 @@ public class HikvisionUtil {
|
|||||||
log.info("HikvisionUtil#doPost.getResponseResult:{}", responseStr);
|
log.info("HikvisionUtil#doPost.getResponseResult:{}", responseStr);
|
||||||
} catch (Exception var10) {
|
} catch (Exception var10) {
|
||||||
var10.printStackTrace();
|
var10.printStackTrace();
|
||||||
HikvisionRequestRetry entity = new HikvisionRequestRetry();
|
if (!isRetry) {
|
||||||
entity.setUrl(host + path);
|
HikvisionRequestRetry entity = new HikvisionRequestRetry();
|
||||||
entity.setHost(host);
|
entity.setUrl(host + path);
|
||||||
entity.setPath(path);
|
entity.setHost(host);
|
||||||
entity.setMethod(2);
|
entity.setPath(path);
|
||||||
entity.setParam(JSON.toJSONString(querys));
|
entity.setMethod(2);
|
||||||
entity.setBody(body);
|
entity.setParam(JSON.toJSONString(querys));
|
||||||
entity.setLastResult(null);
|
entity.setBody(body);
|
||||||
entity.setRequestNum(1);
|
entity.setLastResult(null);
|
||||||
entity.setAppKey(appKey);
|
entity.setRequestNum(1);
|
||||||
entity.setAppSecret(appSecret);
|
entity.setAppKey(appKey);
|
||||||
hikvisionRequestRetryMapper.insert(entity);
|
entity.setAppSecret(appSecret);
|
||||||
|
hikvisionRequestRetryMapper.insert(entity);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return responseStr;
|
return responseStr;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user