下发修改

This commit is contained in:
guoshengxiong 2024-06-15 22:19:09 +08:00
parent 85561d3506
commit 5c4ea16ad9
8 changed files with 128 additions and 79 deletions

View File

@ -128,9 +128,9 @@ public class AsyncHikvision {
return ThreadLocalUtil.getNotNull().getDate(XZ_HIKVISION_SYNC_TIME);
}
@Async("sendWorkerExecutor")
@Async("workerHkExecutor")
public Future addWorkerAndAuthAsync(WorkerInfo workerInfo, boolean isSaveWorker, boolean isSaveWorkerFace) {
addWorkerAsync(workerInfo, true, true);
this.addWorkerAsync(workerInfo, true, true);
projectUfaceConfigService.addWorkerInfo(workerInfo);
return null;
}
@ -142,7 +142,7 @@ public class AsyncHikvision {
* @param isSaveWorker
* @param isSaveWorkerFace
*/
@Async("sendWorkerExecutor")
@Async("workerHkExecutor")
public void addWorkerAsync(WorkerInfo workerInfo, boolean isSaveWorker, boolean isSaveWorkerFace) {
try {
hikvisionCall.saveWorker(workerInfo, isSaveWorker, isSaveWorkerFace);
@ -156,13 +156,13 @@ public class AsyncHikvision {
this.addWorkerAsync(workerInfo, isSaveWorker, isSaveWorkerFace);
}
@Async("sendWorkerExecutor")
@Async("workerHkExecutor")
public void editWorkerAndAuthAsync(WorkerInfo workerInfo, boolean isSaveWorker, boolean isSaveWorkerFace) {
this.saveWorkerAsync(workerInfo, true, true);
projectUfaceConfigService.updateWorkerInfo(workerInfo, workerInfo);
}
@Async("sendWorkerExecutor")
@Async("workerHkExecutor")
public void saveWorkerAsync(WorkerInfo workerInfo, boolean isSaveWorker, boolean isSaveWorkerFace) {
try {
hikvisionCall.saveWorker(workerInfo, isSaveWorker, isSaveWorkerFace);
@ -193,10 +193,10 @@ public class AsyncHikvision {
hikvisionCall.updateAllFailStatusIfNull(workerInfo.getProjectSn(), workerInfo.getId(), 1);
}
@Async("sendWorkerExecutor")
@Async("workerHkExecutor")
public void deleteWorkerForHikvisionAsync(String uniqueId, WorkerInfo workerInfo) {
try {
hikvisionCall.deleteWorkerForHikvision(uniqueId, workerInfo);
hikvisionCall.deleteWorkerForHikvision(uniqueId, workerInfo, true);
} catch (Exception e) {
log.error("海康:", 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) {
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 userId
* @param checkEditWorkers
* @param sendNotice
*/
@Async("sendBatchExecutor")
public void sendBatchWorkerInfoAsync(List<UfaceDev> allDevList, List<WorkerInfo> workerList, List<JSONObject> workerAndDevSnList, Long userId, String projectSn, boolean checkEditWorkers) {
@Async("workerAuthHkExecutor")
public void sendBatchWorkerInfoAsync(List<UfaceDev> allDevList, List<WorkerInfo> workerList, List<JSONObject> workerAndDevSnList, Long userId, String projectSn, boolean checkEditWorkers, boolean sendNotice) {
try {
if (CollUtil.isNotEmpty(workerAndDevSnList)) {
ProjectInfoExtVo project = projectService.getProjectInfoBySn(projectSn);
@ -532,7 +533,7 @@ public class AsyncHikvision {
}));
ArrayList<Future> futures = new ArrayList<>();
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);
}
for (Future future : futures) {
@ -600,9 +601,10 @@ public class AsyncHikvision {
* @param devSnToIscDevSnMap
* @param iscDevSnToMyMap
* @param devSnToJoEntry
* @param sendNotice
*/
@Async("sendBatchExecutor")
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) {
@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, boolean sendNotice) {
try {
//添加权限配置人员列表设备列表这个接口只要没报错你就直接去下一步就行了
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;
if (CollUtil.isNotEmpty(qaiList)) {
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());
} else {
@ -650,7 +652,7 @@ public class AsyncHikvision {
//2. 删除以后删除的权限状态是 4未配置
//3. 这个人的权限都没了以后你就查不到这个权限条目了
//handlerBatchWorkersResultForDeleteAuth();
if (CollUtil.isNotEmpty(deleteAuthWorkerIds)) {
if (sendNotice && CollUtil.isNotEmpty(deleteAuthWorkerIds)) {
for (String workerId : deleteAuthWorkerIds) {
if (rtWorkerIdSet.contains(workerId)) {
//已经处理过了
@ -685,9 +687,10 @@ public class AsyncHikvision {
* @param devSn
* @param projectSn
* @param addAuthWorkerIds
* @param sendNotice
*/
@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);
String personId = jo.getString("personId");
//人脸状态
@ -701,35 +704,37 @@ public class AsyncHikvision {
//3. 这个人的权限都没了以后你就查不到这个权限条目了
Integer faceStatus = jo.getInteger("faceStatus");
UfaceDev dev = devSnMap.get(devSn);
if (addAuthWorkerIds.contains(personId)) {
//添加权限
if (Objects.equals(faceStatus, 3)) {
hikvisionCall.updateSuccessStatus(projectSn, Long.valueOf(personId), 3, 1, dev.getDevSn());
if (sendNotice) {
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");
}
} 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");
//删除权限
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");
}
}
}
}

View File

@ -77,7 +77,7 @@ public class AsyncWorker {
*
* @param
*/
@Async("sendWorkerExecutor")
@Async("workerAuthHkExecutor")
public void sendBatchWokerDevAsync(Map<String, Object> map, ProjectUfaceConfig projectUfaceConfig, List<UfaceDev> allDevList) {
try {
Long userId = MapUtils.getLong(map, "userId");

View File

@ -887,7 +887,7 @@ public class HikvisionCall {
public void addWorkerFromHttp(WorkerInfo workerInfo, Project project) throws Exception {
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 {
//海康门禁isc
List<UfaceDev> ufaceDevs = ufaceDevService.getAllDevsByProjectSn(workerInfo.getProjectSn());
projectUfaceConfigService.buildAndSendOneWorkerForHk(ufaceDevs, workerInfo, 3, workerInfo.getProjectSn());
deleteWorkerForHikvision(iscPersonId + "", workerInfo);
projectUfaceConfigService.buildAndSendOneWorkerForHk(ufaceDevs, workerInfo, 3, workerInfo.getProjectSn(), false);
deleteWorkerForHikvision(iscPersonId + "", workerInfo, false);
addWorkerForHikvision(workerInfo, isSaveWorker, isSaveWorkerFace);
}
} else {
@ -932,7 +932,7 @@ public class HikvisionCall {
public void editWorkerFromHttp(WorkerInfo workerInfo, Project project) throws Exception {
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();
if (StringUtils.isNotBlank(fieldAcquisitionUrl)) {
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);
String msg = "";
String noticeType = "23";
@ -1151,7 +1151,7 @@ public class HikvisionCall {
updateFailStatus(workerInfo.getProjectSn(), workerInfo.getId(), type, operate, null);
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);
}
}
@ -1226,11 +1226,13 @@ public class HikvisionCall {
queryWrapper.ne(XzHikvisionSync::getOperate, 3);
}
}
XzHikvisionSync xzHikvisionSync = xzHikvisionSyncMapper.selectOne(queryWrapper);
if (xzHikvisionSync != null) {
xzHikvisionSync.setIsSuccess(isSuccess ? 1 : 0);
xzHikvisionSyncMapper.updateById(xzHikvisionSync);
updateTotalStatus(projectSn, whoId, xzHikvisionSync.getBigType());
List<XzHikvisionSync> xzHikvisionSyncs = xzHikvisionSyncMapper.selectList(queryWrapper);
if (CollUtil.isNotEmpty(xzHikvisionSyncs)) {
for (XzHikvisionSync xzHikvisionSync : xzHikvisionSyncs) {
xzHikvisionSync.setIsSuccess(isSuccess ? 1 : 0);
xzHikvisionSyncMapper.updateById(xzHikvisionSync);
}
updateTotalStatus(projectSn, whoId, xzHikvisionSyncs.get(0).getBigType());
}
}
@ -1287,7 +1289,7 @@ public class HikvisionCall {
jo.put("faceId", workerFaceId);
jo.put("faceData", Base64Util.convertFileToBase64(PathUtil.reviseSlash(basePath + "/" + workerInfo.getFieldAcquisitionUrl())));
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 {
addWorkerFace(workerInfo, project);
}
@ -1298,28 +1300,29 @@ public class HikvisionCall {
*
* @param uniqueId
* @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()));
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
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();
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);
if (CollUtil.isNotEmpty(workerFaceIds)) {
for (String workerFaceId : workerFaceIds) {
JSONObject rsJo = HikvisionUtil.deleteWorkerFace(project, workerFaceId);
sendNoticeAndSetStatusForWorker("删除人员图片到海康isc", rsJo.toJSONString(), workerInfo, 2, 3);
sendNoticeAndSetStatusForWorker("删除人员图片到海康isc", rsJo.toJSONString(), workerInfo, 2, 3, sendNotice);
}
}
}

View File

@ -128,10 +128,10 @@ public class AsyncConfig {
public ThreadPoolTaskExecutor sendWorkerExecutor() {
MdcThreadPoolTaskExecutor executor = new MdcThreadPoolTaskExecutor();
/** 核心线程数(默认线程数) */
executor.setCorePoolSize(corePoolSize * 10);
executor.setCorePoolSize(corePoolSize);
/** 最大线程数 */
executor.setMaxPoolSize(maxPoolSize * 10);
executor.setQueueCapacity(queueCapacity * 10);
executor.setMaxPoolSize(maxPoolSize);
executor.setQueueCapacity(queueCapacity);
/** 允许线程空闲时间(单位:默认为秒) */
executor.setKeepAliveSeconds(60);
/** 线程池名前缀 */
@ -515,9 +515,9 @@ public class AsyncConfig {
public ThreadPoolTaskExecutor sendBatchExecutor() {
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.setKeepAliveSeconds(60);
@ -530,4 +530,42 @@ public class AsyncConfig {
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;
}
}

View File

@ -37,7 +37,7 @@ public interface IProjectUfaceConfigService extends IService<ProjectUfaceConfig>
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);

View File

@ -211,7 +211,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
//海康门禁isc
List<UfaceDev> ufaceDevs = ufaceDevService.getAllDevsByProjectSn(ufaceConfig.getProjectSn());
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.getSupplierType() == 9) {
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);
} else {
Map<String, Object> param = new HashMap<>();
@ -474,7 +474,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
} else if (ufaceConfig.getSupplierType() == 9) {
//海康门禁isc
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 workerInfo
* @param model 1只下发有权限的2下发有的权限和删除没有的权限3删除所有权限
* @param sendNotice
*/
@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<>();
if (model == 2 || model == 1) {
Pair<String, String> sendAndDeleteDevSnsPair = getSendAndDeleteDevSns(workerInfo);
@ -579,7 +580,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
log.info("未找到设备,无需下发,人员:{}", workerInfo.getWorkerName());
return;
}
asyncHikvision.sendBatchWorkerInfoAsync(allDevList, Collections.singletonList(workerInfo), workerAndDevSnList, null, projectSn, false);
asyncHikvision.sendBatchWorkerInfoAsync(allDevList, Collections.singletonList(workerInfo), workerAndDevSnList, null, projectSn, false, sendNotice);
}
/**

View File

@ -172,9 +172,9 @@ public class XzHikvisionSyncServiceImpl extends ServiceImpl<XzHikvisionSyncMappe
}
switch (operate) {
case 1:
return "新增";
return "保存";
case 2:
return "修改";
return "保存";
case 3:
return "删除";
}

View File

@ -98,3 +98,5 @@ magic-api.web=/xmgl/magic/web
magic-api.resource.location=C:/jxj/prod/backEnd/itbgpImage/data/magic-api
#上传的图片的url前缀
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/