同步isc的bug修复
This commit is contained in:
parent
c01312e639
commit
770cdef165
@ -142,7 +142,7 @@ public class AsyncHikvision {
|
|||||||
* @param isSaveWorkerFace
|
* @param isSaveWorkerFace
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Async("workerHkExecutor")
|
@Async("doubleCarbonExecutor")
|
||||||
public void addWorkerAndAuthAsync(WorkerInfo workerInfo, boolean isSaveWorker, boolean isSaveWorkerFace) {
|
public void addWorkerAndAuthAsync(WorkerInfo workerInfo, boolean isSaveWorker, boolean isSaveWorkerFace) {
|
||||||
addWorkerAsync(workerInfo, true, true);
|
addWorkerAsync(workerInfo, true, true);
|
||||||
projectUfaceConfigService.addWorkerInfo(workerInfo);
|
projectUfaceConfigService.addWorkerInfo(workerInfo);
|
||||||
@ -155,7 +155,7 @@ public class AsyncHikvision {
|
|||||||
* @param isSaveWorker
|
* @param isSaveWorker
|
||||||
* @param isSaveWorkerFace
|
* @param isSaveWorkerFace
|
||||||
*/
|
*/
|
||||||
@Async("workerHkExecutor")
|
@Async("doubleCarbonExecutor")
|
||||||
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);
|
||||||
@ -183,7 +183,7 @@ public class AsyncHikvision {
|
|||||||
* @param isSaveWorker
|
* @param isSaveWorker
|
||||||
* @param isSaveWorkerFace
|
* @param isSaveWorkerFace
|
||||||
*/
|
*/
|
||||||
@Async("workerHkExecutor")
|
@Async("doubleCarbonExecutor")
|
||||||
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);
|
||||||
@ -207,7 +207,7 @@ public class AsyncHikvision {
|
|||||||
* @param isSaveWorker
|
* @param isSaveWorker
|
||||||
* @param isSaveWorkerFace
|
* @param isSaveWorkerFace
|
||||||
*/
|
*/
|
||||||
@Async("workerHkExecutor")
|
@Async("doubleCarbonExecutor")
|
||||||
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);
|
||||||
@ -585,7 +585,7 @@ public class AsyncHikvision {
|
|||||||
* @param sendNotice
|
* @param sendNotice
|
||||||
* @param flowStartUser
|
* @param flowStartUser
|
||||||
*/
|
*/
|
||||||
@Async("workerAuthHkExecutor")
|
@Async("doubleCarbonExecutor")
|
||||||
public void sendBatchWorkerInfoAsync(List<UfaceDev> allDevList, List<WorkerInfo> workerList, List<JSONObject> workerAndDevSnList, Long userId, String projectSn, boolean checkEditWorkers, boolean sendNotice, Long flowStartUser) {
|
public void sendBatchWorkerInfoAsync(List<UfaceDev> allDevList, List<WorkerInfo> workerList, List<JSONObject> workerAndDevSnList, Long userId, String projectSn, boolean checkEditWorkers, boolean sendNotice, Long flowStartUser) {
|
||||||
try {
|
try {
|
||||||
if (CollUtil.isNotEmpty(workerAndDevSnList)) {
|
if (CollUtil.isNotEmpty(workerAndDevSnList)) {
|
||||||
@ -857,37 +857,11 @@ public class AsyncHikvision {
|
|||||||
//权限下发后(进度100后),用【查询权限条目列表】(人员列表,设备列表)接口去查,返回参数有权限状态,返回已下载的就是有权限
|
//权限下发后(进度100后),用【查询权限条目列表】(人员列表,设备列表)接口去查,返回参数有权限状态,返回已下载的就是有权限
|
||||||
List<String> workerIds = devSnToJoEntry.getValue().stream().map(jsonObject -> jsonObject.getString("workerId")).collect(Collectors.toList());
|
List<String> workerIds = devSnToJoEntry.getValue().stream().map(jsonObject -> jsonObject.getString("workerId")).collect(Collectors.toList());
|
||||||
JSONArray qaiList = this.queryAuthItemByWorkerList(project, workerIds, getDevRqParam(iscDevSnObj));
|
JSONArray qaiList = this.queryAuthItemByWorkerList(project, workerIds, getDevRqParam(iscDevSnObj));
|
||||||
Set<String> rtWorkerIdSet;
|
Map<String, Integer> personId2FaceStatusMap = qaiList.stream().collect(Collectors.toMap(o -> ((JSONObject) o).getString("personId"), o -> ((JSONObject) o).getInteger("faceStatus"), (o1, o2) -> o1));
|
||||||
if (CollUtil.isNotEmpty(qaiList)) {
|
for (int i = 0; i < workerIds.size(); i++) {
|
||||||
for (int i = 0; i < qaiList.size(); i++) {
|
String workerId = workerIds.get(i);
|
||||||
handlerBatchWorkersResult(workerIdMap, addAuthWorkerIds, sendNotice, dev, flowStartUser, qaiList.getJSONObject(i));
|
Integer faceStatus = personId2FaceStatusMap.get(workerId);
|
||||||
}
|
handlerBatchWorkersResult(workerIdMap, addAuthWorkerIds, sendNotice, dev, flowStartUser, workerId, faceStatus);
|
||||||
rtWorkerIdSet = qaiList.stream().map(o -> ((JSONObject) o).getString("personId")).collect(Collectors.toSet());
|
|
||||||
} else {
|
|
||||||
rtWorkerIdSet = new HashSet<>();
|
|
||||||
}
|
|
||||||
//处理删除权限的结果的
|
|
||||||
//1. 删除权限配置,还没删除的时候,权限变成 2更新待删除
|
|
||||||
//2. 删除以后,删除的权限状态是 4未配置
|
|
||||||
//3. 这个人的权限都没了以后,你就查不到这个权限条目了
|
|
||||||
//handlerBatchWorkersResultForDeleteAuth();
|
|
||||||
if (sendNotice && CollUtil.isNotEmpty(deleteAuthWorkerIds)) {
|
|
||||||
for (String workerId : deleteAuthWorkerIds) {
|
|
||||||
if (rtWorkerIdSet.contains(workerId)) {
|
|
||||||
//已经处理过了
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
hikvisionCall.updateSuccessStatus(projectSn, Long.valueOf(workerId), 3, 3, devSn);
|
|
||||||
Set<Long> noticeUserIds = hikvisionCall.getNoticeUserIds(flowStartUser, projectSn);
|
|
||||||
for (Long noticeUserId : noticeUserIds) {
|
|
||||||
noticeService.addUserNotice(noticeUserId,
|
|
||||||
"人员下发设备提醒", StrUtil.format("[{}]取消下发到[{}]{}",
|
|
||||||
workerIdMap.get(workerId).getWorkerName(),
|
|
||||||
dev.getDevName(),
|
|
||||||
"成功"),
|
|
||||||
"10");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("批量下发权限失败:", e);
|
log.error("批量下发权限失败:", e);
|
||||||
@ -963,14 +937,15 @@ public class AsyncHikvision {
|
|||||||
/**
|
/**
|
||||||
* 处理结果:一个设备批量下发人员
|
* 处理结果:一个设备批量下发人员
|
||||||
*
|
*
|
||||||
|
* @param personId
|
||||||
|
* @param faceStatus
|
||||||
* @param workerIdMap
|
* @param workerIdMap
|
||||||
* @param addAuthWorkerIds
|
* @param addAuthWorkerIds
|
||||||
* @param sendNotice
|
* @param sendNotice
|
||||||
* @param dev
|
* @param dev
|
||||||
* @param flowStartUser
|
* @param flowStartUser
|
||||||
*/
|
*/
|
||||||
public void handlerBatchWorkersResult(Map<String, WorkerInfo> workerIdMap, List<String> addAuthWorkerIds, boolean sendNotice, UfaceDev dev, Long flowStartUser, JSONObject jo) {
|
public void handlerBatchWorkersResult(Map<String, WorkerInfo> workerIdMap, List<String> addAuthWorkerIds, boolean sendNotice, UfaceDev dev, Long flowStartUser, String personId, Integer faceStatus) {
|
||||||
String personId = jo.getString("personId");
|
|
||||||
String workerName = workerIdMap.get(personId).getWorkerName();
|
String workerName = workerIdMap.get(personId).getWorkerName();
|
||||||
log.info("处理结果一个设备批量下发人员:{},{}", workerName, dev.getDevName());
|
log.info("处理结果一个设备批量下发人员:{},{}", workerName, dev.getDevName());
|
||||||
String projectSn = dev.getProjectSn();
|
String projectSn = dev.getProjectSn();
|
||||||
@ -983,7 +958,6 @@ public class AsyncHikvision {
|
|||||||
//1. 删除权限配置,还没删除的时候,权限变成 2更新待删除
|
//1. 删除权限配置,还没删除的时候,权限变成 2更新待删除
|
||||||
//2. 删除以后,删除的权限状态是 4未配置
|
//2. 删除以后,删除的权限状态是 4未配置
|
||||||
//3. 这个人的权限都没了以后,你就查不到这个权限条目了
|
//3. 这个人的权限都没了以后,你就查不到这个权限条目了
|
||||||
Integer faceStatus = jo.getInteger("faceStatus");
|
|
||||||
if (sendNotice) {
|
if (sendNotice) {
|
||||||
if (addAuthWorkerIds.contains(personId)) {
|
if (addAuthWorkerIds.contains(personId)) {
|
||||||
//添加权限
|
//添加权限
|
||||||
@ -1009,7 +983,7 @@ public class AsyncHikvision {
|
|||||||
} else {
|
} else {
|
||||||
//删除权限
|
//删除权限
|
||||||
int deleteAuth = 4;
|
int deleteAuth = 4;
|
||||||
if (Objects.equals(faceStatus, deleteAuth)) {
|
if (Objects.equals(faceStatus, deleteAuth) || faceStatus == null) {
|
||||||
hikvisionCall.updateSuccessStatus(projectSn, Long.valueOf(personId), 3, 3, dev.getDevSn());
|
hikvisionCall.updateSuccessStatus(projectSn, Long.valueOf(personId), 3, 3, dev.getDevSn());
|
||||||
} else {
|
} else {
|
||||||
hikvisionCall.updateFailStatus(projectSn, Long.valueOf(personId), 3, 3, dev.getDevSn());
|
hikvisionCall.updateFailStatus(projectSn, Long.valueOf(personId), 3, 3, dev.getDevSn());
|
||||||
|
|||||||
@ -83,7 +83,7 @@ public class AsyncWorker {
|
|||||||
*
|
*
|
||||||
* @param
|
* @param
|
||||||
*/
|
*/
|
||||||
@Async("workerAuthHkExecutor")
|
@Async("doubleCarbonExecutor")
|
||||||
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");
|
||||||
|
|||||||
@ -1206,6 +1206,7 @@ public class HikvisionCall {
|
|||||||
lock.tryLock(100L, TimeUnit.SECONDS);
|
lock.tryLock(100L, TimeUnit.SECONDS);
|
||||||
boolean existOrg = existOrg(project, String.valueOf(departmentInfo.getId()), hikvisionOrganization.getParentIndexCode());
|
boolean existOrg = existOrg(project, String.valueOf(departmentInfo.getId()), hikvisionOrganization.getParentIndexCode());
|
||||||
if (!existOrg) {
|
if (!existOrg) {
|
||||||
|
renameOrgIfExistRepeatOrgName(departmentInfo.getDepartmentName() + Cts.ISC_SYNC_DEPARTMENT_SUFFIX, hikvisionOrganization.getParentIndexCode(), project);
|
||||||
addDepartmentInfoForHikvision(departmentInfo);
|
addDepartmentInfoForHikvision(departmentInfo);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@ -1226,16 +1227,21 @@ public class HikvisionCall {
|
|||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
private void saveIfNotExistTeam(WorkerInfo workerInfo, Project project) throws Exception {
|
private void saveIfNotExistTeam(WorkerInfo workerInfo, Project project) throws Exception {
|
||||||
boolean existOrg = hikvisionCall.existOrg(project, workerInfo.getTeamId() + "", StringsUtils.getUniqueEnterpriseId(workerInfo.getEnterpriseId(), workerInfo.getProjectSn()));
|
String parentOrgId = StringsUtils.getUniqueEnterpriseId(workerInfo.getEnterpriseId(), workerInfo.getProjectSn());
|
||||||
|
boolean existOrg = hikvisionCall.existOrg(project, workerInfo.getTeamId() + "", parentOrgId);
|
||||||
if (!existOrg) {
|
if (!existOrg) {
|
||||||
RLock lock = null;
|
RLock lock = null;
|
||||||
try {
|
try {
|
||||||
String lockKey = "isc_org_team_add:" + workerInfo.getTeamId();
|
String lockKey = "isc_org_team_add:" + workerInfo.getTeamId();
|
||||||
lock = redissonClient.getLock(lockKey);
|
lock = redissonClient.getLock(lockKey);
|
||||||
lock.tryLock(100L, TimeUnit.SECONDS);
|
lock.tryLock(100L, TimeUnit.SECONDS);
|
||||||
existOrg = hikvisionCall.existOrg(project, workerInfo.getTeamId() + "", StringsUtils.getUniqueEnterpriseId(workerInfo.getEnterpriseId(), workerInfo.getProjectSn()));
|
existOrg = hikvisionCall.existOrg(project, workerInfo.getTeamId() + "", parentOrgId);
|
||||||
if (!existOrg) {
|
if (!existOrg) {
|
||||||
TeamInfo teamInfo = teamInfoService.getById(workerInfo.getTeamId());
|
TeamInfo teamInfo = teamInfoService.getById(workerInfo.getTeamId());
|
||||||
|
if (teamInfo == null) {
|
||||||
|
throw new OpenAlertException("工种不存在");
|
||||||
|
}
|
||||||
|
renameOrgIfExistRepeatOrgName(teamInfo.getTeamName() + Cts.ISC_SYNC_TEAM_SUFFIX, parentOrgId, project);
|
||||||
addTeamInfoForHikvision(teamInfo);
|
addTeamInfoForHikvision(teamInfo);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@ -1412,7 +1418,11 @@ public class HikvisionCall {
|
|||||||
Optional<JSONArray> fOp = Optional.ofNullable(dataJo).map(o -> o.getJSONArray("failures"));
|
Optional<JSONArray> fOp = Optional.ofNullable(dataJo).map(o -> o.getJSONArray("failures"));
|
||||||
if (fOp.isPresent() && fOp.get().size() != 0) {
|
if (fOp.isPresent() && fOp.get().size() != 0) {
|
||||||
if (X_00052102.equals(fOp.get().getJSONObject(0).getString(CODE))) {
|
if (X_00052102.equals(fOp.get().getJSONObject(0).getString(CODE))) {
|
||||||
msg = "同步失败,组织名称:" + orgName + "。失败原因:上级组织不存在";
|
if ("OrgName Exists In DB".equals(fOp.get().getJSONObject(0).getString("message"))) {
|
||||||
|
msg = "同步失败,组织名称:" + orgName + "。失败原因:组织已存在";
|
||||||
|
} else {
|
||||||
|
msg = "同步失败,组织名称:" + orgName + "。失败原因:上级组织不存在";
|
||||||
|
}
|
||||||
title += FAIL;
|
title += FAIL;
|
||||||
success = false;
|
success = false;
|
||||||
} else {
|
} else {
|
||||||
@ -2564,8 +2574,10 @@ public class HikvisionCall {
|
|||||||
EnterpriseInfo enterpriseInfo = enterpriseInfoService.getOne(new LambdaQueryWrapper<EnterpriseInfo>()
|
EnterpriseInfo enterpriseInfo = enterpriseInfoService.getOne(new LambdaQueryWrapper<EnterpriseInfo>()
|
||||||
.eq(EnterpriseInfo::getId, enterpriseId).last(Cts.IGNORE_DATA_SCOPE_CONDITION));
|
.eq(EnterpriseInfo::getId, enterpriseId).last(Cts.IGNORE_DATA_SCOPE_CONDITION));
|
||||||
String orgIndexCode = StringsUtils.getUniqueEnterpriseId(enterpriseInfo.getId(), project.getProjectSn());
|
String orgIndexCode = StringsUtils.getUniqueEnterpriseId(enterpriseInfo.getId(), project.getProjectSn());
|
||||||
|
//1.根据id查、2.不存在就根据父级id和名称查,然后删除
|
||||||
JSONArray orgList = getOrgList(project, orgIndexCode, project.getProjectSn());
|
JSONArray orgList = getOrgList(project, orgIndexCode, project.getProjectSn());
|
||||||
if (CollUtil.isEmpty(orgList)) {
|
if (CollUtil.isEmpty(orgList)) {
|
||||||
|
renameOrgIfExistRepeatOrgName(enterpriseInfo.getEnterpriseName(), project.getProjectSn(), project);
|
||||||
RLock lock = null;
|
RLock lock = null;
|
||||||
try {
|
try {
|
||||||
String lockKey = "isc_org_enterprise_add:" + enterpriseInfo.getId();
|
String lockKey = "isc_org_enterprise_add:" + enterpriseInfo.getId();
|
||||||
@ -2586,6 +2598,28 @@ public class HikvisionCall {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重命名在isc上面创建的重复名称的组织
|
||||||
|
*
|
||||||
|
* @param orgName
|
||||||
|
* @param parentOrgIndexCode
|
||||||
|
* @param project
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
private void renameOrgIfExistRepeatOrgName(String orgName, String parentOrgIndexCode, Project project) throws Exception {
|
||||||
|
JSONArray orgListByOrgName = getOrgListByOrgName(project, orgName, parentOrgIndexCode);
|
||||||
|
if (CollUtil.isNotEmpty(orgListByOrgName)) {
|
||||||
|
JSONObject jsonObject = orgListByOrgName.getJSONObject(0);
|
||||||
|
log.info("重命名在isc上面创建的重复名称的组织:{}", jsonObject.getString("orgName"));
|
||||||
|
HikvisionOrganization hikvisionOrganization = new HikvisionOrganization();
|
||||||
|
hikvisionOrganization.setClientId(null);
|
||||||
|
hikvisionOrganization.setOrgIndexCode(jsonObject.getString("orgIndexCode"));
|
||||||
|
hikvisionOrganization.setOrgName(orgName + DateUtil.format(new Date(),"yyyyMMddHHmm"));
|
||||||
|
hikvisionOrganization.setParentIndexCode(jsonObject.getString("parentOrgIndexCode"));
|
||||||
|
HikvisionUtil.editOrg(project, hikvisionOrganization);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除组织
|
* 删除组织
|
||||||
*
|
*
|
||||||
@ -2645,6 +2679,29 @@ public class HikvisionCall {
|
|||||||
return jo.getJSONArray(LIST);
|
return jo.getJSONArray(LIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据组织名称查询组织(包含下级组织)(=查询)
|
||||||
|
*
|
||||||
|
* @param project
|
||||||
|
* @param orgName 组织名称
|
||||||
|
* @param parentOrgIndexCode
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private JSONArray getOrgListByOrgName(Project project, String orgName, String parentOrgIndexCode) throws Exception {
|
||||||
|
JSONObject param = new JSONObject();
|
||||||
|
param.put("pageNo", 1);
|
||||||
|
param.put("pageSize", 1000);
|
||||||
|
param.put("orgName", orgName);
|
||||||
|
param.put("parentOrgIndexCodes", parentOrgIndexCode);
|
||||||
|
String rs = HikvisionUtil.getOrgV2(project, param);
|
||||||
|
JSONObject jo = HikvisionUtil.getJsonObjectData(rs);
|
||||||
|
JSONArray jsonArray = jo.getJSONArray(LIST);
|
||||||
|
if (CollUtil.isEmpty(jsonArray)) {
|
||||||
|
return jsonArray;
|
||||||
|
}
|
||||||
|
return new JSONArray(jsonArray.stream().filter(o -> Objects.equals(((JSONObject) o).getString("orgName"), orgName)).collect(Collectors.toList()));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 映射isc的组织
|
* 映射isc的组织
|
||||||
*
|
*
|
||||||
|
|||||||
@ -20,11 +20,11 @@ public class AsyncConfig {
|
|||||||
/**
|
/**
|
||||||
* Set the ThreadPoolExecutor's core pool size.
|
* Set the ThreadPoolExecutor's core pool size.
|
||||||
*/
|
*/
|
||||||
private int corePoolSize = 8;
|
private int corePoolSize = Runtime.getRuntime().availableProcessors();
|
||||||
/**
|
/**
|
||||||
* Set the ThreadPoolExecutor's maximum pool size.
|
* Set the ThreadPoolExecutor's maximum pool size.
|
||||||
*/
|
*/
|
||||||
private int maxPoolSize = 16;
|
private int maxPoolSize = Runtime.getRuntime().availableProcessors() * 2;
|
||||||
/**
|
/**
|
||||||
* Set the capacity for the ThreadPoolExecutor's BlockingQueue.
|
* Set the capacity for the ThreadPoolExecutor's BlockingQueue.
|
||||||
*/
|
*/
|
||||||
@ -71,10 +71,10 @@ public class AsyncConfig {
|
|||||||
public ThreadPoolTaskExecutor doubleCarbonExecutor() {
|
public ThreadPoolTaskExecutor doubleCarbonExecutor() {
|
||||||
MdcThreadPoolTaskExecutor executor = new MdcThreadPoolTaskExecutor();
|
MdcThreadPoolTaskExecutor executor = new MdcThreadPoolTaskExecutor();
|
||||||
/** 核心线程数(默认线程数) */
|
/** 核心线程数(默认线程数) */
|
||||||
executor.setCorePoolSize(corePoolSize);
|
executor.setCorePoolSize(corePoolSize * 9);
|
||||||
/** 最大线程数 */
|
/** 最大线程数 */
|
||||||
executor.setMaxPoolSize(maxPoolSize);
|
executor.setMaxPoolSize(maxPoolSize * 18);
|
||||||
executor.setQueueCapacity(queueCapacity);
|
executor.setQueueCapacity(queueCapacity * 100);
|
||||||
/** 允许线程空闲时间(单位:默认为秒) */
|
/** 允许线程空闲时间(单位:默认为秒) */
|
||||||
executor.setKeepAliveSeconds(60);
|
executor.setKeepAliveSeconds(60);
|
||||||
/** 线程池名前缀 */
|
/** 线程池名前缀 */
|
||||||
|
|||||||
@ -511,6 +511,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
|||||||
//清除以前的记录
|
//清除以前的记录
|
||||||
xzHikvisionSyncMapper.delete(new LambdaQueryWrapper<XzHikvisionSync>()
|
xzHikvisionSyncMapper.delete(new LambdaQueryWrapper<XzHikvisionSync>()
|
||||||
.eq(XzHikvisionSync::getBigType, 1)
|
.eq(XzHikvisionSync::getBigType, 1)
|
||||||
|
.eq(XzHikvisionSync::getType, 3)
|
||||||
.eq(XzHikvisionSync::getWhoId, workerInfo.getId())
|
.eq(XzHikvisionSync::getWhoId, workerInfo.getId())
|
||||||
);
|
);
|
||||||
for (String ds : StrUtil.split(devSns, Cts.COMMA)) {
|
for (String ds : StrUtil.split(devSns, Cts.COMMA)) {
|
||||||
|
|||||||
@ -143,10 +143,10 @@ public class HikvisionTask {
|
|||||||
* 定时一分钟获取海康数据
|
* 定时一分钟获取海康数据
|
||||||
*/
|
*/
|
||||||
@SchedulerLock(name = "getRecordForHikvision", lockAtMostFor = 1000 * 30, lockAtLeastFor = 1000 * 30)
|
@SchedulerLock(name = "getRecordForHikvision", lockAtMostFor = 1000 * 30, lockAtLeastFor = 1000 * 30)
|
||||||
@Scheduled(cron = "0 */1 * * * ?")
|
@Scheduled(cron = "0 */2 * * * ?")
|
||||||
@RequestMapping("getRecordForHikvision")
|
@RequestMapping("getRecordForHikvision")
|
||||||
public void getRecordForHikvision() {
|
public void getRecordForHikvision() {
|
||||||
String startTime = DateUtil.formatDateTime(DateUtil.offsetMinute(new Date(), -2));
|
String startTime = DateUtil.formatDateTime(DateUtil.offsetMinute(new Date(), -5));
|
||||||
String endTime = DateUtil.formatDateTime(new Date());
|
String endTime = DateUtil.formatDateTime(new Date());
|
||||||
List<Project> projects = projectMapper.selectList(new LambdaQueryWrapper<Project>()
|
List<Project> projects = projectMapper.selectList(new LambdaQueryWrapper<Project>()
|
||||||
.eq(Project::getSyncHikvision, 1));
|
.eq(Project::getSyncHikvision, 1));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user