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