下发修改
This commit is contained in:
parent
947002d9b6
commit
bcffb5b0ac
@ -562,16 +562,16 @@ public class AsyncHikvision {
|
||||
return null;
|
||||
}
|
||||
if (CollUtil.isNotEmpty(addAuthWorkerIds)) {
|
||||
JSONObject aaRJo = HikvisionUtil.addAuth(project, getAddOrDeleteAuthParam(devSnToJoEntry, addAuthWorkerIds));
|
||||
JSONObject aaRJo = HikvisionUtil.addAuth(project, getAddOrDeleteAuthParam(devSnToJoEntry, addAuthWorkerIds, devSnToIscDevSnMap));
|
||||
HikvisionUtil.getJSONObjectData(aaRJo);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(deleteAuthWorkerIds)) {
|
||||
JSONObject aaRJo = HikvisionUtil.deleteAuth(project, getAddOrDeleteAuthParam(devSnToJoEntry, deleteAuthWorkerIds));
|
||||
JSONObject aaRJo = HikvisionUtil.deleteAuth(project, getAddOrDeleteAuthParam(devSnToJoEntry, deleteAuthWorkerIds, devSnToIscDevSnMap));
|
||||
HikvisionUtil.getJSONObjectData(aaRJo);
|
||||
}
|
||||
String devSn = devSnToJoEntry.getKey();
|
||||
//然后调用【根据出入权限配置快捷下载】(设备列表)(【添加权限配置】+【快捷下发】这是一个流程,你添加了几个权限,下发成功之后,就清零了)
|
||||
JSONObject daJo = HikvisionUtil.downloadAuth(project, getQueryDownloadProgressParam(devSnToJoEntry));
|
||||
JSONObject daJo = HikvisionUtil.downloadAuth(project, getQueryDownloadProgressParam(devSnToJoEntry, devSnToIscDevSnMap));
|
||||
JSONObject daRtJo = HikvisionUtil.getJSONObjectData(daJo);
|
||||
//然后调用【查询下载任务进度】(上面那个的任务)
|
||||
int totalPercent = 0;
|
||||
@ -586,15 +586,26 @@ public class AsyncHikvision {
|
||||
JSONObject qaiJo = HikvisionUtil.queryAuthItem(project, getQueryAuthItemParam(devSnToJoEntry, devSnToIscDevSnMap));
|
||||
JSONObject qaiRtJo = HikvisionUtil.getJSONObjectData(qaiJo);
|
||||
JSONArray qaiList = qaiRtJo.getJSONArray("list");
|
||||
Set<String> rtWorkerIdSet;
|
||||
if (CollUtil.isNotEmpty(qaiList)) {
|
||||
for (int i = 0; i < qaiList.size(); i++) {
|
||||
handlerBatchWorkersResultForAddAuth(workerIdMap, devSnMap, iscDevSnToMyMap, qaiList, i, devSn, projectSn);
|
||||
handlerBatchWorkersResult(workerIdMap, devSnMap, qaiList, i, devSn, projectSn, addAuthWorkerIds);
|
||||
}
|
||||
rtWorkerIdSet = qaiList.stream().map(o -> ((JSONObject) o).getString("personId")).collect(Collectors.toSet());
|
||||
} else {
|
||||
rtWorkerIdSet = new HashSet<>();
|
||||
}
|
||||
//处理删除权限的结果的
|
||||
//1. 删除权限配置,还没删除的时候,权限变成 2更新待删除
|
||||
//2. 删除以后,删除的权限状态是 4未配置
|
||||
//3. 这个人的权限都没了以后,你就查不到这个权限条目了
|
||||
//handlerBatchWorkersResultForDeleteAuth();
|
||||
if (CollUtil.isNotEmpty(deleteAuthWorkerIds)) {
|
||||
for (String workerId : deleteAuthWorkerIds) {
|
||||
if (rtWorkerIdSet.contains(workerId)) {
|
||||
//已经处理过了
|
||||
continue;
|
||||
}
|
||||
hikvisionCall.updateSuccessStatus(projectSn, Long.valueOf(workerId), 3, 3, devSn);
|
||||
if (ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) {
|
||||
noticeService.addUserNotice(ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class).getUserId(),
|
||||
@ -619,65 +630,84 @@ public class AsyncHikvision {
|
||||
*
|
||||
* @param workerIdMap
|
||||
* @param devSnMap
|
||||
* @param iscDevSnToMyMap
|
||||
* @param qaiList
|
||||
* @param i
|
||||
* @param devSn
|
||||
* @param projectSn
|
||||
* @param addAuthWorkerIds
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
|
||||
public void handlerBatchWorkersResultForAddAuth(Map<String, WorkerInfo> workerIdMap, Map<String, UfaceDev> devSnMap, Map<String, Map<String, JSONObject>> iscDevSnToMyMap, JSONArray qaiList, int i, String devSn, String projectSn) {
|
||||
public void handlerBatchWorkersResult(Map<String, WorkerInfo> workerIdMap, Map<String, UfaceDev> devSnMap, JSONArray qaiList, int i, String devSn, String projectSn, List<String> addAuthWorkerIds) {
|
||||
JSONObject jo = qaiList.getJSONObject(i);
|
||||
String personId = jo.getString("personId");
|
||||
String resourceIndexCode = jo.getString("resourceIndexCode");
|
||||
String channelNo = jo.getString("channelNo");
|
||||
//人脸状态
|
||||
//0:已配置未下载
|
||||
//1:更新待下载
|
||||
//2:更新待删除
|
||||
//3:已下载
|
||||
//4:未配置
|
||||
//1. 删除权限配置,还没删除的时候,权限变成 2更新待删除
|
||||
//2. 删除以后,删除的权限状态是 4未配置
|
||||
//3. 这个人的权限都没了以后,你就查不到这个权限条目了
|
||||
Integer faceStatus = jo.getInteger("faceStatus");
|
||||
UfaceDev dev = devSnMap.get(devSn);
|
||||
if (Objects.equals(faceStatus, 3)) {
|
||||
hikvisionCall.updateSuccessStatus(projectSn, Long.valueOf(personId), 3, 1, dev.getDevSn());
|
||||
if (addAuthWorkerIds.contains(personId)) {
|
||||
//添加权限
|
||||
if (Objects.equals(faceStatus, 3)) {
|
||||
hikvisionCall.updateSuccessStatus(projectSn, Long.valueOf(personId), 3, 1, dev.getDevSn());
|
||||
} else {
|
||||
hikvisionCall.updateFailStatus(projectSn, Long.valueOf(personId), 3, 1, dev.getDevSn());
|
||||
}
|
||||
if (ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) {
|
||||
noticeService.addUserNotice(ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class).getUserId(),
|
||||
StrUtil.format("[{}]下发到[{}]{}",
|
||||
workerIdMap.get(personId).getWorkerName(),
|
||||
dev.getDevName(),
|
||||
Objects.equals(faceStatus, 3) ? "成功" : "失败,下发异常"),
|
||||
"人员下发设备提醒", "1");
|
||||
}
|
||||
} else {
|
||||
hikvisionCall.updateFailStatus(projectSn, Long.valueOf(personId), 3, 1, dev.getDevSn());
|
||||
}
|
||||
if (ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) {
|
||||
noticeService.addUserNotice(ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class).getUserId(),
|
||||
StrUtil.format("[{}]下发到[{}]{}",
|
||||
workerIdMap.get(personId).getWorkerName(),
|
||||
dev.getDevName(),
|
||||
Objects.equals(faceStatus, 3) ? "成功" : "失败,下发异常"),
|
||||
"人员下发设备提醒", "1");
|
||||
//删除权限
|
||||
if (Objects.equals(faceStatus, 4)) {
|
||||
hikvisionCall.updateSuccessStatus(projectSn, Long.valueOf(personId), 3, 3, dev.getDevSn());
|
||||
} else {
|
||||
hikvisionCall.updateFailStatus(projectSn, Long.valueOf(personId), 3, 3, dev.getDevSn());
|
||||
}
|
||||
if (ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) {
|
||||
noticeService.addUserNotice(ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class).getUserId(),
|
||||
StrUtil.format("[{}]取消下发到[{}]{}",
|
||||
workerIdMap.get(personId).getWorkerName(),
|
||||
dev.getDevName(),
|
||||
Objects.equals(faceStatus, 4) ? "成功" : "失败,下发异常"),
|
||||
"人员下发设备提醒", "1");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JSONObject getAddOrDeleteAuthParam(Map.Entry<String, List<JSONObject>> entry, List<String> workerIds) {
|
||||
private JSONObject getAddOrDeleteAuthParam(Map.Entry<String, List<JSONObject>> entry, List<String> workerIds, Map<String, JSONObject> devSnToIscDevSnMap) {
|
||||
JSONObject aaJo = new JSONObject();
|
||||
aaJo.put("personDatas", Collections.singletonList(new MapBuilder<String, Object>()
|
||||
.put("indexCodes", workerIds)
|
||||
.put("personDataType", "person")
|
||||
.build()));
|
||||
aaJo.put("resourceInfos", getDevRqParam(entry));
|
||||
aaJo.put("resourceInfos", getDevRqParam(entry, devSnToIscDevSnMap));
|
||||
return aaJo;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private List<JSONObject> getDevRqParam(Map.Entry<String, List<JSONObject>> entry) {
|
||||
private List<JSONObject> getDevRqParam(Map.Entry<String, List<JSONObject>> entry, Map<String, JSONObject> devSnToIscDevSnMap) {
|
||||
return Collections.singletonList(new JoBuilder()
|
||||
.put("resourceIndexCode", entry.getKey())
|
||||
.put("resourceType", "door")
|
||||
.put("channelNos", Collections.singletonList(1))
|
||||
.put("resourceIndexCode", devSnToIscDevSnMap.get(entry.getKey()).getString("parentIndexCode"))
|
||||
.put("resourceType", "acsDevice")
|
||||
.put("channelNos", Collections.singletonList(devSnToIscDevSnMap.get(entry.getKey()).getString("channelNo")))
|
||||
.build());
|
||||
}
|
||||
|
||||
private JSONObject getQueryDownloadProgressParam(Map.Entry<String, List<JSONObject>> entry) {
|
||||
private JSONObject getQueryDownloadProgressParam(Map.Entry<String, List<JSONObject>> entry, Map<String, JSONObject> devSnToIscDevSnMap) {
|
||||
JSONObject aaJo = new JSONObject();
|
||||
aaJo.put("taskType", 4);
|
||||
aaJo.put("resourceInfos", getDevRqParam(entry));
|
||||
aaJo.put("resourceInfos", getDevRqParam(entry, devSnToIscDevSnMap));
|
||||
return aaJo;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user