下发人员加日志
This commit is contained in:
parent
f6bbbfaf10
commit
b81fc82551
@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.gexin.fastjson.JSON;
|
||||
import com.zhgd.jeecg.common.execption.OpenPromptException;
|
||||
import com.zhgd.jeecg.common.util.SpringContextUtils;
|
||||
import com.zhgd.jeecg.common.util.pass.HttpUtils;
|
||||
@ -601,6 +602,20 @@ public class AsyncHikvision {
|
||||
ProjectInfoExtVo project = projectService.getProjectInfoBySn(projectSn);
|
||||
//判断人员的图片存在isc
|
||||
Map<String, WorkerInfo> workerIdMap = workerList.stream().collect(Collectors.toMap(workerInfo -> workerInfo.getId() + "", Function.identity()));
|
||||
Map<String, UfaceDev> devSnMap = allDevList.stream().collect(Collectors.toMap(UfaceDev::getDevSn, Function.identity()));
|
||||
for (JSONObject jo : workerAndDevSnList) {
|
||||
String workerId = jo.getString("workerId");
|
||||
String devSn = jo.getString("devSn");
|
||||
WorkerInfo workerInfo = workerIdMap.get(workerId);
|
||||
if (workerInfo != null) {
|
||||
jo.put("workerName", workerInfo.getWorkerName());
|
||||
}
|
||||
UfaceDev ufaceDev = devSnMap.get(devSn);
|
||||
if (ufaceDev != null) {
|
||||
jo.put("devName", ufaceDev.getDevName());
|
||||
}
|
||||
}
|
||||
log.info("开始准备下发人员到isc:{}", JSONObject.toJSONString(workerAndDevSnList));
|
||||
ArrayList<Future> futures = new ArrayList<>();
|
||||
if (checkEditWorkers) {
|
||||
ArrayList<WorkerInfo> needEditWorkers = getNeedEditWorkers(workerList, project, workerIdMap);
|
||||
@ -614,12 +629,12 @@ public class AsyncHikvision {
|
||||
future.get();
|
||||
}
|
||||
}
|
||||
Map<String, UfaceDev> devSnMap = allDevList.stream().collect(Collectors.toMap(UfaceDev::getDevSn, Function.identity()));
|
||||
JSONObject gdvJo = HikvisionUtil.getDoorsV2(project, HikvisionUtil.addPageParamIfAbsent(new JSONObject()));
|
||||
JSONObject gdvDataJo = HikvisionUtil.getJsonObjectData(gdvJo);
|
||||
//门禁设备编号:parentIndexCode,门禁点编号:indexCode,门禁设备资源通道号:channelNo
|
||||
Map<String, JSONObject> devSnToIscDevSnMap = gdvDataJo.getJSONArray("list").stream().collect(Collectors.toMap(o -> ((JSONObject) o).getString("indexCode"), o -> (JSONObject) o));
|
||||
workerAndDevSnList = this.addNeedSimpleAuthProp(workerAndDevSnList, devSnToIscDevSnMap, project);
|
||||
log.info("准备下发人员到isc:{}", JSONObject.toJSONString(workerAndDevSnList));
|
||||
Map<String, List<JSONObject>> devSnToJoMap = workerAndDevSnList.stream().collect(Collectors.groupingBy(jsonObject -> jsonObject.getString("devSn")));
|
||||
futures = new ArrayList<>();
|
||||
for (Map.Entry<String, List<JSONObject>> entry : devSnToJoMap.entrySet()) {
|
||||
@ -809,6 +824,7 @@ public class AsyncHikvision {
|
||||
*/
|
||||
@Async("workerBeWaitHkExecutor")
|
||||
public Future sendBatchWorkersForOneDevAsync(UfaceDev dev, Map.Entry<String, List<JSONObject>> devSnToJoEntry, Map<String, WorkerInfo> workerIdMap, List<WorkerInfo> workerList, ProjectInfoExtVo project, String projectSn, boolean sendNotice, Long flowStartUser, JSONObject iscDevSnObj) {
|
||||
log.info("一个设备批量下发人员:{}", JSON.toJSONString(devSnToJoEntry));
|
||||
String devSn = devSnToJoEntry.getKey();
|
||||
List<String> addAuthWorkerIds = devSnToJoEntry.getValue().stream().filter(jo -> jo.getBoolean(Cts.IS_ADD_AUTH)).map(jsonObject -> jsonObject.getString("workerId")).collect(Collectors.toList());
|
||||
List<String> deleteAuthWorkerIds = devSnToJoEntry.getValue().stream().filter(jo -> !jo.getBoolean(Cts.IS_ADD_AUTH) && !jo.getBoolean(Cts.IS_SIMPLE_DELETE_AUTH)).map(jsonObject -> jsonObject.getString("workerId")).collect(Collectors.toList());
|
||||
@ -846,7 +862,7 @@ public class AsyncHikvision {
|
||||
} while (totalPercent != 100);
|
||||
//权限下发后(进度100后),用【查询权限条目列表】(人员列表,设备列表)接口去查,返回参数有权限状态,返回已下载的就是有权限
|
||||
List<String> workerIds = devSnToJoEntry.getValue().stream().map(jsonObject -> jsonObject.getString("workerId")).collect(Collectors.toList());
|
||||
JSONArray qaiList = queryAuthItemByWorkerList(project, workerIds, getDevRqParam(iscDevSnObj));
|
||||
JSONArray qaiList = this.queryAuthItemByWorkerList(project, workerIds, getDevRqParam(iscDevSnObj));
|
||||
Set<String> rtWorkerIdSet;
|
||||
if (CollUtil.isNotEmpty(qaiList)) {
|
||||
for (int i = 0; i < qaiList.size(); i++) {
|
||||
@ -960,8 +976,10 @@ public class AsyncHikvision {
|
||||
* @param flowStartUser
|
||||
*/
|
||||
public void handlerBatchWorkersResult(Map<String, WorkerInfo> workerIdMap, List<String> addAuthWorkerIds, boolean sendNotice, UfaceDev dev, Long flowStartUser, JSONObject jo) {
|
||||
String projectSn = dev.getProjectSn();
|
||||
String personId = jo.getString("personId");
|
||||
String workerName = workerIdMap.get(personId).getWorkerName();
|
||||
log.info("处理结果一个设备批量下发人员:{},{}", workerName, dev.getDevName());
|
||||
String projectSn = dev.getProjectSn();
|
||||
//人脸状态
|
||||
//0:已配置未下载
|
||||
//1:更新待下载
|
||||
@ -989,7 +1007,7 @@ public class AsyncHikvision {
|
||||
for (Long noticeUserId : noticeUserIds) {
|
||||
noticeService.addUserNotice(noticeUserId,
|
||||
"人员下发设备提醒", StrUtil.format("[{}]下发到[{}]{}",
|
||||
workerIdMap.get(personId).getWorkerName(),
|
||||
workerName,
|
||||
dev.getDevName(),
|
||||
Objects.equals(faceStatus, 3) ? "成功" : "失败,下发异常"),
|
||||
"1");
|
||||
@ -1006,7 +1024,7 @@ public class AsyncHikvision {
|
||||
for (Long noticeUserId : noticeUserIds) {
|
||||
noticeService.addUserNotice(noticeUserId,
|
||||
"人员下发设备提醒", StrUtil.format("[{}]取消下发到[{}]{}",
|
||||
workerIdMap.get(personId).getWorkerName(),
|
||||
workerName,
|
||||
dev.getDevName(),
|
||||
Objects.equals(faceStatus, deleteAuth) ? "成功" : "失败,下发异常"),
|
||||
"1");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user