下发修改
This commit is contained in:
parent
85561d3506
commit
5c4ea16ad9
@ -128,9 +128,9 @@ public class AsyncHikvision {
|
|||||||
return ThreadLocalUtil.getNotNull().getDate(XZ_HIKVISION_SYNC_TIME);
|
return ThreadLocalUtil.getNotNull().getDate(XZ_HIKVISION_SYNC_TIME);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Async("sendWorkerExecutor")
|
@Async("workerHkExecutor")
|
||||||
public Future addWorkerAndAuthAsync(WorkerInfo workerInfo, boolean isSaveWorker, boolean isSaveWorkerFace) {
|
public Future addWorkerAndAuthAsync(WorkerInfo workerInfo, boolean isSaveWorker, boolean isSaveWorkerFace) {
|
||||||
addWorkerAsync(workerInfo, true, true);
|
this.addWorkerAsync(workerInfo, true, true);
|
||||||
projectUfaceConfigService.addWorkerInfo(workerInfo);
|
projectUfaceConfigService.addWorkerInfo(workerInfo);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -142,7 +142,7 @@ public class AsyncHikvision {
|
|||||||
* @param isSaveWorker
|
* @param isSaveWorker
|
||||||
* @param isSaveWorkerFace
|
* @param isSaveWorkerFace
|
||||||
*/
|
*/
|
||||||
@Async("sendWorkerExecutor")
|
@Async("workerHkExecutor")
|
||||||
public void addWorkerAsync(WorkerInfo workerInfo, boolean isSaveWorker, boolean isSaveWorkerFace) {
|
public void addWorkerAsync(WorkerInfo workerInfo, boolean isSaveWorker, boolean isSaveWorkerFace) {
|
||||||
try {
|
try {
|
||||||
hikvisionCall.saveWorker(workerInfo, isSaveWorker, isSaveWorkerFace);
|
hikvisionCall.saveWorker(workerInfo, isSaveWorker, isSaveWorkerFace);
|
||||||
@ -156,13 +156,13 @@ public class AsyncHikvision {
|
|||||||
this.addWorkerAsync(workerInfo, isSaveWorker, isSaveWorkerFace);
|
this.addWorkerAsync(workerInfo, isSaveWorker, isSaveWorkerFace);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Async("sendWorkerExecutor")
|
@Async("workerHkExecutor")
|
||||||
public void editWorkerAndAuthAsync(WorkerInfo workerInfo, boolean isSaveWorker, boolean isSaveWorkerFace) {
|
public void editWorkerAndAuthAsync(WorkerInfo workerInfo, boolean isSaveWorker, boolean isSaveWorkerFace) {
|
||||||
this.saveWorkerAsync(workerInfo, true, true);
|
this.saveWorkerAsync(workerInfo, true, true);
|
||||||
projectUfaceConfigService.updateWorkerInfo(workerInfo, workerInfo);
|
projectUfaceConfigService.updateWorkerInfo(workerInfo, workerInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Async("sendWorkerExecutor")
|
@Async("workerHkExecutor")
|
||||||
public void saveWorkerAsync(WorkerInfo workerInfo, boolean isSaveWorker, boolean isSaveWorkerFace) {
|
public void saveWorkerAsync(WorkerInfo workerInfo, boolean isSaveWorker, boolean isSaveWorkerFace) {
|
||||||
try {
|
try {
|
||||||
hikvisionCall.saveWorker(workerInfo, isSaveWorker, isSaveWorkerFace);
|
hikvisionCall.saveWorker(workerInfo, isSaveWorker, isSaveWorkerFace);
|
||||||
@ -193,10 +193,10 @@ public class AsyncHikvision {
|
|||||||
hikvisionCall.updateAllFailStatusIfNull(workerInfo.getProjectSn(), workerInfo.getId(), 1);
|
hikvisionCall.updateAllFailStatusIfNull(workerInfo.getProjectSn(), workerInfo.getId(), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Async("sendWorkerExecutor")
|
@Async("workerHkExecutor")
|
||||||
public void deleteWorkerForHikvisionAsync(String uniqueId, WorkerInfo workerInfo) {
|
public void deleteWorkerForHikvisionAsync(String uniqueId, WorkerInfo workerInfo) {
|
||||||
try {
|
try {
|
||||||
hikvisionCall.deleteWorkerForHikvision(uniqueId, workerInfo);
|
hikvisionCall.deleteWorkerForHikvision(uniqueId, workerInfo, true);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("海康:", e);
|
log.error("海康:", e);
|
||||||
sendNoticeForWorker(workerInfo, e, "删除");
|
sendNoticeForWorker(workerInfo, e, "删除");
|
||||||
@ -489,7 +489,7 @@ public class AsyncHikvision {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void sendBatchWorkerInfo(List<UfaceDev> allDevList, List<WorkerInfo> workerList, List<JSONObject> workerAndDevSnList, Long userId, String projectSn) {
|
public void sendBatchWorkerInfo(List<UfaceDev> allDevList, List<WorkerInfo> workerList, List<JSONObject> workerAndDevSnList, Long userId, String projectSn) {
|
||||||
this.sendBatchWorkerInfoAsync(allDevList, workerList, workerAndDevSnList, userId, projectSn, true);
|
this.sendBatchWorkerInfoAsync(allDevList, workerList, workerAndDevSnList, userId, projectSn, true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -500,9 +500,10 @@ public class AsyncHikvision {
|
|||||||
* @param workerAndDevSnList 构建的下发的人员和设备的关系
|
* @param workerAndDevSnList 构建的下发的人员和设备的关系
|
||||||
* @param userId
|
* @param userId
|
||||||
* @param checkEditWorkers
|
* @param checkEditWorkers
|
||||||
|
* @param sendNotice
|
||||||
*/
|
*/
|
||||||
@Async("sendBatchExecutor")
|
@Async("workerAuthHkExecutor")
|
||||||
public void sendBatchWorkerInfoAsync(List<UfaceDev> allDevList, List<WorkerInfo> workerList, List<JSONObject> workerAndDevSnList, Long userId, String projectSn, boolean checkEditWorkers) {
|
public void sendBatchWorkerInfoAsync(List<UfaceDev> allDevList, List<WorkerInfo> workerList, List<JSONObject> workerAndDevSnList, Long userId, String projectSn, boolean checkEditWorkers, boolean sendNotice) {
|
||||||
try {
|
try {
|
||||||
if (CollUtil.isNotEmpty(workerAndDevSnList)) {
|
if (CollUtil.isNotEmpty(workerAndDevSnList)) {
|
||||||
ProjectInfoExtVo project = projectService.getProjectInfoBySn(projectSn);
|
ProjectInfoExtVo project = projectService.getProjectInfoBySn(projectSn);
|
||||||
@ -532,7 +533,7 @@ public class AsyncHikvision {
|
|||||||
}));
|
}));
|
||||||
ArrayList<Future> futures = new ArrayList<>();
|
ArrayList<Future> futures = new ArrayList<>();
|
||||||
for (Map.Entry<String, List<JSONObject>> entry : devSnToJoMap.entrySet()) {
|
for (Map.Entry<String, List<JSONObject>> entry : devSnToJoMap.entrySet()) {
|
||||||
Future future = asyncHikvision.sendBatchWorkersForOneDevAsync(workerIdMap, devSnMap, project, devSnToIscDevSnMap, iscDevSnToMyMap, entry, projectSn);
|
Future future = asyncHikvision.sendBatchWorkersForOneDevAsync(workerIdMap, devSnMap, project, devSnToIscDevSnMap, iscDevSnToMyMap, entry, projectSn, sendNotice);
|
||||||
futures.add(future);
|
futures.add(future);
|
||||||
}
|
}
|
||||||
for (Future future : futures) {
|
for (Future future : futures) {
|
||||||
@ -600,9 +601,10 @@ public class AsyncHikvision {
|
|||||||
* @param devSnToIscDevSnMap
|
* @param devSnToIscDevSnMap
|
||||||
* @param iscDevSnToMyMap
|
* @param iscDevSnToMyMap
|
||||||
* @param devSnToJoEntry
|
* @param devSnToJoEntry
|
||||||
|
* @param sendNotice
|
||||||
*/
|
*/
|
||||||
@Async("sendBatchExecutor")
|
@Async("workerAuthHkExecutor")
|
||||||
public Future sendBatchWorkersForOneDevAsync(Map<String, WorkerInfo> workerIdMap, Map<String, UfaceDev> devSnMap, ProjectInfoExtVo project, Map<String, JSONObject> devSnToIscDevSnMap, Map<String, Map<String, JSONObject>> iscDevSnToMyMap, Map.Entry<String, List<JSONObject>> devSnToJoEntry, String projectSn) {
|
public Future sendBatchWorkersForOneDevAsync(Map<String, WorkerInfo> workerIdMap, Map<String, UfaceDev> devSnMap, ProjectInfoExtVo project, Map<String, JSONObject> devSnToIscDevSnMap, Map<String, Map<String, JSONObject>> iscDevSnToMyMap, Map.Entry<String, List<JSONObject>> devSnToJoEntry, String projectSn, boolean sendNotice) {
|
||||||
try {
|
try {
|
||||||
//【添加权限配置】(人员列表,设备列表),这个接口只要没报错,你就直接去下一步就行了。
|
//【添加权限配置】(人员列表,设备列表),这个接口只要没报错,你就直接去下一步就行了。
|
||||||
List<String> addAuthWorkerIds = devSnToJoEntry.getValue().stream().filter(jo -> jo.getBoolean(Cts.IS_ADD_AUTH)).map(jsonObject -> jsonObject.getString("workerId")).collect(Collectors.toList());
|
List<String> addAuthWorkerIds = devSnToJoEntry.getValue().stream().filter(jo -> jo.getBoolean(Cts.IS_ADD_AUTH)).map(jsonObject -> jsonObject.getString("workerId")).collect(Collectors.toList());
|
||||||
@ -639,7 +641,7 @@ public class AsyncHikvision {
|
|||||||
Set<String> rtWorkerIdSet;
|
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++) {
|
||||||
handlerBatchWorkersResult(workerIdMap, devSnMap, qaiList, i, devSn, projectSn, addAuthWorkerIds);
|
handlerBatchWorkersResult(workerIdMap, devSnMap, qaiList, i, devSn, projectSn, addAuthWorkerIds,sendNotice);
|
||||||
}
|
}
|
||||||
rtWorkerIdSet = qaiList.stream().map(o -> ((JSONObject) o).getString("personId")).collect(Collectors.toSet());
|
rtWorkerIdSet = qaiList.stream().map(o -> ((JSONObject) o).getString("personId")).collect(Collectors.toSet());
|
||||||
} else {
|
} else {
|
||||||
@ -650,7 +652,7 @@ public class AsyncHikvision {
|
|||||||
//2. 删除以后,删除的权限状态是 4未配置
|
//2. 删除以后,删除的权限状态是 4未配置
|
||||||
//3. 这个人的权限都没了以后,你就查不到这个权限条目了
|
//3. 这个人的权限都没了以后,你就查不到这个权限条目了
|
||||||
//handlerBatchWorkersResultForDeleteAuth();
|
//handlerBatchWorkersResultForDeleteAuth();
|
||||||
if (CollUtil.isNotEmpty(deleteAuthWorkerIds)) {
|
if (sendNotice && CollUtil.isNotEmpty(deleteAuthWorkerIds)) {
|
||||||
for (String workerId : deleteAuthWorkerIds) {
|
for (String workerId : deleteAuthWorkerIds) {
|
||||||
if (rtWorkerIdSet.contains(workerId)) {
|
if (rtWorkerIdSet.contains(workerId)) {
|
||||||
//已经处理过了
|
//已经处理过了
|
||||||
@ -685,9 +687,10 @@ public class AsyncHikvision {
|
|||||||
* @param devSn
|
* @param devSn
|
||||||
* @param projectSn
|
* @param projectSn
|
||||||
* @param addAuthWorkerIds
|
* @param addAuthWorkerIds
|
||||||
|
* @param sendNotice
|
||||||
*/
|
*/
|
||||||
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
|
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
|
||||||
public void handlerBatchWorkersResult(Map<String, WorkerInfo> workerIdMap, Map<String, UfaceDev> devSnMap, JSONArray qaiList, int i, String devSn, String projectSn, List<String> addAuthWorkerIds) {
|
public void handlerBatchWorkersResult(Map<String, WorkerInfo> workerIdMap, Map<String, UfaceDev> devSnMap, JSONArray qaiList, int i, String devSn, String projectSn, List<String> addAuthWorkerIds, boolean sendNotice) {
|
||||||
JSONObject jo = qaiList.getJSONObject(i);
|
JSONObject jo = qaiList.getJSONObject(i);
|
||||||
String personId = jo.getString("personId");
|
String personId = jo.getString("personId");
|
||||||
//人脸状态
|
//人脸状态
|
||||||
@ -701,6 +704,7 @@ public class AsyncHikvision {
|
|||||||
//3. 这个人的权限都没了以后,你就查不到这个权限条目了
|
//3. 这个人的权限都没了以后,你就查不到这个权限条目了
|
||||||
Integer faceStatus = jo.getInteger("faceStatus");
|
Integer faceStatus = jo.getInteger("faceStatus");
|
||||||
UfaceDev dev = devSnMap.get(devSn);
|
UfaceDev dev = devSnMap.get(devSn);
|
||||||
|
if (sendNotice) {
|
||||||
if (addAuthWorkerIds.contains(personId)) {
|
if (addAuthWorkerIds.contains(personId)) {
|
||||||
//添加权限
|
//添加权限
|
||||||
if (Objects.equals(faceStatus, 3)) {
|
if (Objects.equals(faceStatus, 3)) {
|
||||||
@ -733,6 +737,7 @@ public class AsyncHikvision {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private JSONObject getAddOrDeleteAuthParam(Map.Entry<String, List<JSONObject>> entry, List<String> workerIds, Map<String, JSONObject> devSnToIscDevSnMap) {
|
private JSONObject getAddOrDeleteAuthParam(Map.Entry<String, List<JSONObject>> entry, List<String> workerIds, Map<String, JSONObject> devSnToIscDevSnMap) {
|
||||||
|
|||||||
@ -77,7 +77,7 @@ public class AsyncWorker {
|
|||||||
*
|
*
|
||||||
* @param
|
* @param
|
||||||
*/
|
*/
|
||||||
@Async("sendWorkerExecutor")
|
@Async("workerAuthHkExecutor")
|
||||||
public void sendBatchWokerDevAsync(Map<String, Object> map, ProjectUfaceConfig projectUfaceConfig, List<UfaceDev> allDevList) {
|
public void sendBatchWokerDevAsync(Map<String, Object> map, ProjectUfaceConfig projectUfaceConfig, List<UfaceDev> allDevList) {
|
||||||
try {
|
try {
|
||||||
Long userId = MapUtils.getLong(map, "userId");
|
Long userId = MapUtils.getLong(map, "userId");
|
||||||
|
|||||||
@ -887,7 +887,7 @@ public class HikvisionCall {
|
|||||||
|
|
||||||
public void addWorkerFromHttp(WorkerInfo workerInfo, Project project) throws Exception {
|
public void addWorkerFromHttp(WorkerInfo workerInfo, Project project) throws Exception {
|
||||||
String rs = HikvisionUtil.addWorker(workerInfo, project);
|
String rs = HikvisionUtil.addWorker(workerInfo, project);
|
||||||
sendNoticeAndSetStatusForWorker("添加人员到海康isc", rs, workerInfo, 1, 1);
|
sendNoticeAndSetStatusForWorker("添加人员到海康isc", rs, workerInfo, 1, 1, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -921,8 +921,8 @@ public class HikvisionCall {
|
|||||||
} else {
|
} else {
|
||||||
//海康门禁isc
|
//海康门禁isc
|
||||||
List<UfaceDev> ufaceDevs = ufaceDevService.getAllDevsByProjectSn(workerInfo.getProjectSn());
|
List<UfaceDev> ufaceDevs = ufaceDevService.getAllDevsByProjectSn(workerInfo.getProjectSn());
|
||||||
projectUfaceConfigService.buildAndSendOneWorkerForHk(ufaceDevs, workerInfo, 3, workerInfo.getProjectSn());
|
projectUfaceConfigService.buildAndSendOneWorkerForHk(ufaceDevs, workerInfo, 3, workerInfo.getProjectSn(), false);
|
||||||
deleteWorkerForHikvision(iscPersonId + "", workerInfo);
|
deleteWorkerForHikvision(iscPersonId + "", workerInfo, false);
|
||||||
addWorkerForHikvision(workerInfo, isSaveWorker, isSaveWorkerFace);
|
addWorkerForHikvision(workerInfo, isSaveWorker, isSaveWorkerFace);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -932,7 +932,7 @@ public class HikvisionCall {
|
|||||||
|
|
||||||
public void editWorkerFromHttp(WorkerInfo workerInfo, Project project) throws Exception {
|
public void editWorkerFromHttp(WorkerInfo workerInfo, Project project) throws Exception {
|
||||||
String rs = HikvisionUtil.editWorker(workerInfo, project);
|
String rs = HikvisionUtil.editWorker(workerInfo, project);
|
||||||
sendNoticeAndSetStatusForWorker("更新人员到海康isc", rs, workerInfo, 1, 2);
|
sendNoticeAndSetStatusForWorker("更新人员到海康isc", rs, workerInfo, 1, 2, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -945,7 +945,7 @@ public class HikvisionCall {
|
|||||||
String fieldAcquisitionUrl = workerInfo.getFieldAcquisitionUrl();
|
String fieldAcquisitionUrl = workerInfo.getFieldAcquisitionUrl();
|
||||||
if (StringUtils.isNotBlank(fieldAcquisitionUrl)) {
|
if (StringUtils.isNotBlank(fieldAcquisitionUrl)) {
|
||||||
String rs = HikvisionUtil.addWorkerFace(workerInfo, project);
|
String rs = HikvisionUtil.addWorkerFace(workerInfo, project);
|
||||||
sendNoticeAndSetStatusForWorker("添加人员照片到海康isc", rs, workerInfo, 2, 1);
|
sendNoticeAndSetStatusForWorker("添加人员照片到海康isc", rs, workerInfo, 2, 1, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1086,7 +1086,7 @@ public class HikvisionCall {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sendNoticeAndSetStatusForWorker(String title, String rs, WorkerInfo workerInfo, int type, int operate) {
|
private void sendNoticeAndSetStatusForWorker(String title, String rs, WorkerInfo workerInfo, int type, int operate, boolean sendNotice) {
|
||||||
boolean callSuc = HikvisionUtil.isSuccess(rs);
|
boolean callSuc = HikvisionUtil.isSuccess(rs);
|
||||||
String msg = "";
|
String msg = "";
|
||||||
String noticeType = "23";
|
String noticeType = "23";
|
||||||
@ -1151,7 +1151,7 @@ public class HikvisionCall {
|
|||||||
updateFailStatus(workerInfo.getProjectSn(), workerInfo.getId(), type, operate, null);
|
updateFailStatus(workerInfo.getProjectSn(), workerInfo.getId(), type, operate, null);
|
||||||
xzHikvisionCompareDataService.compareRetryFail();
|
xzHikvisionCompareDataService.compareRetryFail();
|
||||||
}
|
}
|
||||||
if (ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) {
|
if (sendNotice && ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) {
|
||||||
noticeService.addUserNotice(ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class).getUserId(), msg, title, noticeType);
|
noticeService.addUserNotice(ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class).getUserId(), msg, title, noticeType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1226,11 +1226,13 @@ public class HikvisionCall {
|
|||||||
queryWrapper.ne(XzHikvisionSync::getOperate, 3);
|
queryWrapper.ne(XzHikvisionSync::getOperate, 3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
XzHikvisionSync xzHikvisionSync = xzHikvisionSyncMapper.selectOne(queryWrapper);
|
List<XzHikvisionSync> xzHikvisionSyncs = xzHikvisionSyncMapper.selectList(queryWrapper);
|
||||||
if (xzHikvisionSync != null) {
|
if (CollUtil.isNotEmpty(xzHikvisionSyncs)) {
|
||||||
|
for (XzHikvisionSync xzHikvisionSync : xzHikvisionSyncs) {
|
||||||
xzHikvisionSync.setIsSuccess(isSuccess ? 1 : 0);
|
xzHikvisionSync.setIsSuccess(isSuccess ? 1 : 0);
|
||||||
xzHikvisionSyncMapper.updateById(xzHikvisionSync);
|
xzHikvisionSyncMapper.updateById(xzHikvisionSync);
|
||||||
updateTotalStatus(projectSn, whoId, xzHikvisionSync.getBigType());
|
}
|
||||||
|
updateTotalStatus(projectSn, whoId, xzHikvisionSyncs.get(0).getBigType());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1287,7 +1289,7 @@ public class HikvisionCall {
|
|||||||
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())));
|
||||||
String rs = HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
String rs = HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
sendNoticeAndSetStatusForWorker("更新人员照片到海康isc", rs, workerInfo, 2, 2);
|
sendNoticeAndSetStatusForWorker("更新人员照片到海康isc", rs, workerInfo, 2, 2, true);
|
||||||
} else {
|
} else {
|
||||||
addWorkerFace(workerInfo, project);
|
addWorkerFace(workerInfo, project);
|
||||||
}
|
}
|
||||||
@ -1298,28 +1300,29 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param uniqueId
|
* @param uniqueId
|
||||||
* @param workerInfo
|
* @param workerInfo
|
||||||
|
* @param sendNotice
|
||||||
*/
|
*/
|
||||||
public void deleteWorkerForHikvision(String uniqueId, WorkerInfo workerInfo) throws Exception {
|
public void deleteWorkerForHikvision(String uniqueId, WorkerInfo workerInfo, boolean sendNotice) throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, workerInfo.getProjectSn()));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, workerInfo.getProjectSn()));
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
deleteWorkerFace(uniqueId, workerInfo, project);
|
deleteWorkerFace(uniqueId, workerInfo, project, sendNotice);
|
||||||
|
|
||||||
deleteWorkerFromHttp(uniqueId, workerInfo, project);
|
deleteWorkerFromHttp(uniqueId, workerInfo, project, sendNotice);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deleteWorkerFromHttp(String uniqueId, WorkerInfo workerInfo, Project project) throws Exception {
|
public void deleteWorkerFromHttp(String uniqueId, WorkerInfo workerInfo, Project project, boolean sendNotice) throws Exception {
|
||||||
String rs = HikvisionUtil.deleteWorkerById(uniqueId, project).toJSONString();
|
String rs = HikvisionUtil.deleteWorkerById(uniqueId, project).toJSONString();
|
||||||
sendNoticeAndSetStatusForWorker("删除人员到海康isc", rs, workerInfo, 1, 3);
|
sendNoticeAndSetStatusForWorker("删除人员到海康isc", rs, workerInfo, 1, 3, sendNotice);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deleteWorkerFace(String uniqueId, WorkerInfo workerInfo, Project project) throws Exception {
|
public void deleteWorkerFace(String uniqueId, WorkerInfo workerInfo, Project project, boolean sendNotice) throws Exception {
|
||||||
ArrayList<String> workerFaceIds = getWorkerFaceIds(uniqueId, project);
|
ArrayList<String> workerFaceIds = getWorkerFaceIds(uniqueId, project);
|
||||||
if (CollUtil.isNotEmpty(workerFaceIds)) {
|
if (CollUtil.isNotEmpty(workerFaceIds)) {
|
||||||
for (String workerFaceId : workerFaceIds) {
|
for (String workerFaceId : workerFaceIds) {
|
||||||
JSONObject rsJo = HikvisionUtil.deleteWorkerFace(project, workerFaceId);
|
JSONObject rsJo = HikvisionUtil.deleteWorkerFace(project, workerFaceId);
|
||||||
sendNoticeAndSetStatusForWorker("删除人员图片到海康isc", rsJo.toJSONString(), workerInfo, 2, 3);
|
sendNoticeAndSetStatusForWorker("删除人员图片到海康isc", rsJo.toJSONString(), workerInfo, 2, 3, sendNotice);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -128,10 +128,10 @@ public class AsyncConfig {
|
|||||||
public ThreadPoolTaskExecutor sendWorkerExecutor() {
|
public ThreadPoolTaskExecutor sendWorkerExecutor() {
|
||||||
MdcThreadPoolTaskExecutor executor = new MdcThreadPoolTaskExecutor();
|
MdcThreadPoolTaskExecutor executor = new MdcThreadPoolTaskExecutor();
|
||||||
/** 核心线程数(默认线程数) */
|
/** 核心线程数(默认线程数) */
|
||||||
executor.setCorePoolSize(corePoolSize * 10);
|
executor.setCorePoolSize(corePoolSize);
|
||||||
/** 最大线程数 */
|
/** 最大线程数 */
|
||||||
executor.setMaxPoolSize(maxPoolSize * 10);
|
executor.setMaxPoolSize(maxPoolSize);
|
||||||
executor.setQueueCapacity(queueCapacity * 10);
|
executor.setQueueCapacity(queueCapacity);
|
||||||
/** 允许线程空闲时间(单位:默认为秒) */
|
/** 允许线程空闲时间(单位:默认为秒) */
|
||||||
executor.setKeepAliveSeconds(60);
|
executor.setKeepAliveSeconds(60);
|
||||||
/** 线程池名前缀 */
|
/** 线程池名前缀 */
|
||||||
@ -515,9 +515,9 @@ public class AsyncConfig {
|
|||||||
public ThreadPoolTaskExecutor sendBatchExecutor() {
|
public ThreadPoolTaskExecutor sendBatchExecutor() {
|
||||||
MdcThreadPoolTaskExecutor executor = new MdcThreadPoolTaskExecutor();
|
MdcThreadPoolTaskExecutor executor = new MdcThreadPoolTaskExecutor();
|
||||||
/** 核心线程数(默认线程数) */
|
/** 核心线程数(默认线程数) */
|
||||||
executor.setCorePoolSize(maxPoolSize * 10);
|
executor.setCorePoolSize(maxPoolSize * 5);
|
||||||
/** 最大线程数 */
|
/** 最大线程数 */
|
||||||
executor.setMaxPoolSize(maxPoolSize * 10);
|
executor.setMaxPoolSize(maxPoolSize * 5);
|
||||||
executor.setQueueCapacity(queueCapacity * 10);
|
executor.setQueueCapacity(queueCapacity * 10);
|
||||||
/** 允许线程空闲时间(单位:默认为秒) */
|
/** 允许线程空闲时间(单位:默认为秒) */
|
||||||
executor.setKeepAliveSeconds(60);
|
executor.setKeepAliveSeconds(60);
|
||||||
@ -530,4 +530,42 @@ public class AsyncConfig {
|
|||||||
return executor;
|
return executor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean("workerHkExecutor")
|
||||||
|
public ThreadPoolTaskExecutor workerHkExecutor() {
|
||||||
|
MdcThreadPoolTaskExecutor executor = new MdcThreadPoolTaskExecutor();
|
||||||
|
/** 核心线程数(默认线程数) */
|
||||||
|
executor.setCorePoolSize(maxPoolSize);
|
||||||
|
/** 最大线程数 */
|
||||||
|
executor.setMaxPoolSize(maxPoolSize);
|
||||||
|
executor.setQueueCapacity(queueCapacity);
|
||||||
|
/** 允许线程空闲时间(单位:默认为秒) */
|
||||||
|
executor.setKeepAliveSeconds(60);
|
||||||
|
/** 线程池名前缀 */
|
||||||
|
executor.setThreadNamePrefix("workerHkExecutor-");
|
||||||
|
// 线程池对拒绝任务的处理策略
|
||||||
|
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.AbortPolicy());
|
||||||
|
// 初始化
|
||||||
|
executor.initialize();
|
||||||
|
return executor;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean("workerAuthHkExecutor")
|
||||||
|
public ThreadPoolTaskExecutor workerAuthHkExecutor() {
|
||||||
|
MdcThreadPoolTaskExecutor executor = new MdcThreadPoolTaskExecutor();
|
||||||
|
/** 核心线程数(默认线程数) */
|
||||||
|
executor.setCorePoolSize(maxPoolSize);
|
||||||
|
/** 最大线程数 */
|
||||||
|
executor.setMaxPoolSize(maxPoolSize);
|
||||||
|
executor.setQueueCapacity(queueCapacity * 10);
|
||||||
|
/** 允许线程空闲时间(单位:默认为秒) */
|
||||||
|
executor.setKeepAliveSeconds(60);
|
||||||
|
/** 线程池名前缀 */
|
||||||
|
executor.setThreadNamePrefix("workerAuthHkExecutor-");
|
||||||
|
// 线程池对拒绝任务的处理策略
|
||||||
|
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.AbortPolicy());
|
||||||
|
// 初始化
|
||||||
|
executor.initialize();
|
||||||
|
return executor;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,7 +37,7 @@ public interface IProjectUfaceConfigService extends IService<ProjectUfaceConfig>
|
|||||||
void buildAndSendBatchWorkerForHk(ProjectUfaceConfig projectUfaceConfig, List<UfaceDev> allDevList, List<WorkerInfo> workerList, Long userId);
|
void buildAndSendBatchWorkerForHk(ProjectUfaceConfig projectUfaceConfig, List<UfaceDev> allDevList, List<WorkerInfo> workerList, Long userId);
|
||||||
|
|
||||||
|
|
||||||
void buildAndSendOneWorkerForHk(List<UfaceDev> allDevList, WorkerInfo workerInfo, int model, String projectSn);
|
void buildAndSendOneWorkerForHk(List<UfaceDev> allDevList, WorkerInfo workerInfo, int model, String projectSn, boolean sendNotice);
|
||||||
|
|
||||||
void buildAndSendOneWorkerAndDevForHk(List<UfaceDev> allDevList, WorkerInfo workerInfo, int operate, String devSn, String projectSn);
|
void buildAndSendOneWorkerAndDevForHk(List<UfaceDev> allDevList, WorkerInfo workerInfo, int operate, String devSn, String projectSn);
|
||||||
|
|
||||||
|
|||||||
@ -211,7 +211,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
|||||||
//海康门禁isc
|
//海康门禁isc
|
||||||
List<UfaceDev> ufaceDevs = ufaceDevService.getAllDevsByProjectSn(ufaceConfig.getProjectSn());
|
List<UfaceDev> ufaceDevs = ufaceDevService.getAllDevsByProjectSn(ufaceConfig.getProjectSn());
|
||||||
this.deleteHkSyncRecordAndResetStatusForDev(workerInfo, ufaceDevs);
|
this.deleteHkSyncRecordAndResetStatusForDev(workerInfo, ufaceDevs);
|
||||||
this.buildAndSendOneWorkerForHk(ufaceDevs, workerInfo, 3, ufaceConfig.getProjectSn());
|
this.buildAndSendOneWorkerForHk(ufaceDevs, workerInfo, 3, ufaceConfig.getProjectSn(), true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -226,7 +226,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
|||||||
if (ufaceConfig != null && ufaceConfig.getIssueDev() == 1) {
|
if (ufaceConfig != null && ufaceConfig.getIssueDev() == 1) {
|
||||||
if (ufaceConfig.getSupplierType() == 9) {
|
if (ufaceConfig.getSupplierType() == 9) {
|
||||||
List<UfaceDev> list = ufaceDevService.getAllDevsByProjectSn(workerInfo.getProjectSn());
|
List<UfaceDev> list = ufaceDevService.getAllDevsByProjectSn(workerInfo.getProjectSn());
|
||||||
this.buildAndSendOneWorkerForHk(list, workerInfo, 2, workerInfo.getProjectSn());
|
this.buildAndSendOneWorkerForHk(list, workerInfo, 2, workerInfo.getProjectSn(), true);
|
||||||
workerInfoService.updateWorkerHkStatus(workerInfo);
|
workerInfoService.updateWorkerHkStatus(workerInfo);
|
||||||
} else {
|
} else {
|
||||||
Map<String, Object> param = new HashMap<>();
|
Map<String, Object> param = new HashMap<>();
|
||||||
@ -474,7 +474,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
|||||||
} else if (ufaceConfig.getSupplierType() == 9) {
|
} else if (ufaceConfig.getSupplierType() == 9) {
|
||||||
//海康门禁isc
|
//海康门禁isc
|
||||||
List<UfaceDev> list = ufaceDevService.getAllDevsByProjectSn(ufaceConfig.getProjectSn());
|
List<UfaceDev> list = ufaceDevService.getAllDevsByProjectSn(ufaceConfig.getProjectSn());
|
||||||
this.buildAndSendOneWorkerForHk(list, workerInfo, 1, ufaceConfig.getProjectSn());
|
this.buildAndSendOneWorkerForHk(list, workerInfo, 1, ufaceConfig.getProjectSn(), true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -530,7 +530,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
asyncHikvision.sendBatchWorkerInfoAsync(allDevList, workerList, workerAndDevSnList, userId, projectUfaceConfig.getProjectSn(), true);
|
asyncHikvision.sendBatchWorkerInfoAsync(allDevList, workerList, workerAndDevSnList, userId, projectUfaceConfig.getProjectSn(), true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -539,9 +539,10 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
|||||||
* @param allDevList
|
* @param allDevList
|
||||||
* @param workerInfo
|
* @param workerInfo
|
||||||
* @param model 1只下发有权限的,2下发有的权限和删除没有的权限,3删除所有权限
|
* @param model 1只下发有权限的,2下发有的权限和删除没有的权限,3删除所有权限
|
||||||
|
* @param sendNotice
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void buildAndSendOneWorkerForHk(List<UfaceDev> allDevList, WorkerInfo workerInfo, int model, String projectSn) {
|
public void buildAndSendOneWorkerForHk(List<UfaceDev> allDevList, WorkerInfo workerInfo, int model, String projectSn, boolean sendNotice) {
|
||||||
List<JSONObject> workerAndDevSnList = new ArrayList<>();
|
List<JSONObject> workerAndDevSnList = new ArrayList<>();
|
||||||
if (model == 2 || model == 1) {
|
if (model == 2 || model == 1) {
|
||||||
Pair<String, String> sendAndDeleteDevSnsPair = getSendAndDeleteDevSns(workerInfo);
|
Pair<String, String> sendAndDeleteDevSnsPair = getSendAndDeleteDevSns(workerInfo);
|
||||||
@ -579,7 +580,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
|||||||
log.info("未找到设备,无需下发,人员:{}", workerInfo.getWorkerName());
|
log.info("未找到设备,无需下发,人员:{}", workerInfo.getWorkerName());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
asyncHikvision.sendBatchWorkerInfoAsync(allDevList, Collections.singletonList(workerInfo), workerAndDevSnList, null, projectSn, false);
|
asyncHikvision.sendBatchWorkerInfoAsync(allDevList, Collections.singletonList(workerInfo), workerAndDevSnList, null, projectSn, false, sendNotice);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -172,9 +172,9 @@ public class XzHikvisionSyncServiceImpl extends ServiceImpl<XzHikvisionSyncMappe
|
|||||||
}
|
}
|
||||||
switch (operate) {
|
switch (operate) {
|
||||||
case 1:
|
case 1:
|
||||||
return "新增";
|
return "保存";
|
||||||
case 2:
|
case 2:
|
||||||
return "修改";
|
return "保存";
|
||||||
case 3:
|
case 3:
|
||||||
return "删除";
|
return "删除";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -98,3 +98,5 @@ magic-api.web=/xmgl/magic/web
|
|||||||
magic-api.resource.location=C:/jxj/prod/backEnd/itbgpImage/data/magic-api
|
magic-api.resource.location=C:/jxj/prod/backEnd/itbgpImage/data/magic-api
|
||||||
#上传的图片的url前缀
|
#上传的图片的url前缀
|
||||||
upload.image.url.prefix=http://192.168.34.221:11111/image/
|
upload.image.url.prefix=http://192.168.34.221:11111/image/
|
||||||
|
#内网的服务图片的url前缀
|
||||||
|
xingzong.inner.upload.image.url.prefix=http://10.168.2.104:9809/image/
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user