From dca25fc2ff8f14f05cc09e9ca70d93a6262a1af0 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Wed, 17 Apr 2024 15:04:58 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProjectUfaceConfigServiceImpl.java | 244 ++++++++++-------- .../worker/mapper/xml/UfaceDevMapper.xml | 7 +- 2 files changed, 144 insertions(+), 107 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectUfaceConfigServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectUfaceConfigServiceImpl.java index a1c4fcd4a..cc973a7d7 100644 --- a/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectUfaceConfigServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectUfaceConfigServiceImpl.java @@ -126,46 +126,80 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl param = new HashMap<>(); - param.put("projectSn", workerInfo.getProjectSn()); - if ("0".equals(workerInfo.getUfaceDevId())) { - workerInfo.setUfaceDevId(null); - } - if (StringUtils.isNotEmpty(workerInfo.getUfaceDevId())) { - param.put("registerType", workerInfo.getRegisterType()); - param.put("accountType", workerInfo.getAccountType()); - } - if (Objects.equals(workerInfo.getDevType(), 1)) { - param.put("devIds", workerInfo.getUfaceDevId()); - } else if (Objects.equals(workerInfo.getDevType(), 2)) { - //设备分组情况! - String ufaceDevGroupId = workerInfo.getUfaceDevGroupId(); - if (StringUtils.isEmpty(ufaceDevGroupId)) { - ufaceDevGroupId = "0"; + String ufaceDevId = workerInfo.getUfaceDevId(); + if (tempProjectUfaceConfig.getSupplierType() == 9) { + //isc设备 + Map param = new HashMap<>(); + param.put("projectSn", workerInfo.getProjectSn()); + if ("0".equals(ufaceDevId)) { + workerInfo.setUfaceDevId(null); } - List ufaceIds = ufaceDevToGroupMapper.selectList(new LambdaQueryWrapper() - .in(UfaceDevToGroup::getUfaceDevGroupId, Arrays.asList(StringUtils.split(ufaceDevGroupId, ",")))).stream().map(UfaceDevToGroup::getUfaceDevId).collect(Collectors.toList()); - if (CollUtil.isEmpty(ufaceIds)) { - ufaceIds.add(0L); + if (StringUtils.isNotEmpty(ufaceDevId)) { + param.put("registerType", workerInfo.getRegisterType()); } - ufaceIds.stream().distinct(); - param.put("devIds", StringUtils.join(ufaceIds, ",")); - } - List list = ufaceDevMapper.selectUserUfaceDevList(param); - if (list != null && list.size() > 0) { - StringBuilder devBuilder = new StringBuilder(); - StringBuilder devIdBuilder = new StringBuilder(); - for (UfaceDev dev : list) { - if (devBuilder.length() > 0) { - devBuilder.append(","); + param.put("accountType", 2); + if (Objects.equals(workerInfo.getDevType(), 1)) { + if (StrUtil.isBlank(ufaceDevId)) { + return; } - if (devIdBuilder.length() > 0) { - devIdBuilder.append(","); + param.put("devIds", ufaceDevId); + } else if (Objects.equals(workerInfo.getDevType(), 2)) { + //设备分组情况! + String ufaceDevGroupId = workerInfo.getUfaceDevGroupId(); + if (StringUtils.isEmpty(ufaceDevGroupId)) { + return; } - devBuilder.append(dev.getDevSn()); - devIdBuilder.append(dev.getDeviceId()); + List ufaceIds = ufaceDevToGroupMapper.selectList(new LambdaQueryWrapper() + .in(UfaceDevToGroup::getUfaceDevGroupId, Arrays.asList(StringUtils.split(ufaceDevGroupId, ",")))).stream().map(UfaceDevToGroup::getUfaceDevId).collect(Collectors.toList()); + if (CollUtil.isEmpty(ufaceIds)) { + return; + } + ufaceIds.stream().distinct(); + param.put("devIds", StringUtils.join(ufaceIds, ",")); + } + List list = ufaceDevMapper.selectUserUfaceDevList(param); + if (list != null && list.size() > 0) { + StringBuilder devBuilder = new StringBuilder(); + StringBuilder devIdBuilder = new StringBuilder(); + for (UfaceDev dev : list) { + if (devBuilder.length() > 0) { + devBuilder.append(","); + } + if (devIdBuilder.length() > 0) { + devIdBuilder.append(","); + } + devBuilder.append(dev.getDevSn()); + devIdBuilder.append(dev.getDeviceId()); + } + sendDev(tempProjectUfaceConfig, workerInfo, devBuilder.toString(), devIdBuilder.toString()); + } + } else { + Map param = new HashMap<>(); + param.put("projectSn", workerInfo.getProjectSn()); + if ("0".equals(ufaceDevId)) { + workerInfo.setUfaceDevId(null); + } + if (StringUtils.isNotEmpty(ufaceDevId)) { + param.put("registerType", workerInfo.getRegisterType()); + param.put("accountType", workerInfo.getAccountType()); + param.put("devIds", ufaceDevId); + } + List list = ufaceDevMapper.selectUserUfaceDevList(param); + if (list != null && list.size() > 0) { + StringBuilder devBuilder = new StringBuilder(); + StringBuilder devIdBuilder = new StringBuilder(); + for (UfaceDev dev : list) { + if (devBuilder.length() > 0) { + devBuilder.append(","); + } + if (devIdBuilder.length() > 0) { + devIdBuilder.append(","); + } + devBuilder.append(dev.getDevSn()); + devIdBuilder.append(dev.getDeviceId()); + } + sendDev(tempProjectUfaceConfig, workerInfo, devBuilder.toString(), devIdBuilder.toString()); } - sendDev(tempProjectUfaceConfig, workerInfo, devBuilder.toString(), devIdBuilder.toString()); } } } @@ -206,74 +240,6 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl param = new HashMap<>(); - param.put("projectSn", workerInfo.getProjectSn()); - log.info("---新数据:" + workerInfo.getUfaceDevId() + "-----老数据:" + oldWorkerInfo.getUfaceDevId()); - //有选择设备 - Boolean hasDev = true; - if (StringUtils.isEmpty(workerInfo.getUfaceDevId())) { - hasDev = false; - workerInfo.setUfaceDevId(oldWorkerInfo.getUfaceDevId()); - } - if ("0".equals(workerInfo.getUfaceDevId())) { - workerInfo.setUfaceDevId(null); - } - if (StringUtils.isNotEmpty(workerInfo.getUfaceDevId())) { - param.put("registerType", workerInfo.getRegisterType()); - param.put("accountType", 1); - param.put("devIds", workerInfo.getUfaceDevId()); - } - List list = ufaceDevMapper.selectUserUfaceDevList(param); - if (list != null && list.size() > 0) { - StringBuilder devBuilder = new StringBuilder(); - StringBuilder devIdBuilder = new StringBuilder(); - for (UfaceDev dev : list) { - if (devBuilder.length() > 0) { - devBuilder.append(","); - } - if (devIdBuilder.length() > 0) { - devIdBuilder.append(","); - } - devBuilder.append(dev.getDevSn()); - devIdBuilder.append(dev.getDeviceId()); - } - if (tempProjectUfaceConfig.getSupplierType() == 1) { - String image = ""; - if (StringUtils.isNotEmpty(workerInfo.getFieldAcquisitionUrl()) && workerInfo.getFieldAcquisitionUrl().startsWith("http")) { - image = workerInfo.getFieldAcquisitionUrl(); - } else { - image = basePath + "/" + workerInfo.getFieldAcquisitionUrl(); - } - UniUbiUtil.addPerson(tempProjectUfaceConfig.getAppId(), tempProjectUfaceConfig.getAppKey(), tempProjectUfaceConfig.getAppSecret(), - workerInfo.getWorkerName(), workerInfo.getAttendanceNumber(), workerInfo.getIdCard(), - image, devBuilder.toString()); - } else if (tempProjectUfaceConfig.getSupplierType() == 4) { - //人员唯一编号改变需要先删除再下发 - if (oldWorkerInfo != null && workerInfo.getIdCard().equals(oldWorkerInfo.getIdCard())) { - try { - QYUfaceUtil.deleteNewPerson(tempProjectUfaceConfig.getAppId(), tempProjectUfaceConfig.getAppSecret(), oldWorkerInfo.getIdCard()); - } catch (Exception e) { - log.error("error:", e); - } - } - QYUfaceUtil.addOrUpdatePerson(tempProjectUfaceConfig.getAppId(), tempProjectUfaceConfig.getAppSecret(), 1, workerInfo.getIdCard(), workerInfo.getWorkerName(), - "", "", workerInfo.getIdCard(), "", "", 3, "", devIdBuilder.toString().split(","), basePath + "/" + workerInfo.getFieldAcquisitionUrl()); - } else if (tempProjectUfaceConfig.getSupplierType() == 5) { - //佳信捷设备 - JxjUfaceUtil.updateWorkerInfo(workerInfo, tempProjectUfaceConfig, serverUrl + "/image/"); - } else if (tempProjectUfaceConfig.getSupplierType() == 6) { - //佳信捷新设备 - JxjNewUfaceDevUtil.addOrUpdatePerson(workerInfo, tempProjectUfaceConfig, basePath, devBuilder.toString(), jxjDevImageType); - } else if (tempProjectUfaceConfig.getSupplierType() == 7) { - //海康门禁sdk - HikvisionUfaceSDKUtil.deletePerson(workerInfo, tempProjectUfaceConfig, oldWorkerInfo.getUfaceDevId()); - if (hasDev) { - HikvisionUfaceSDKUtil.addOrUpdatePerson(workerInfo, tempProjectUfaceConfig, devBuilder.toString()); - } - } - } - - if (tempProjectUfaceConfig.getSupplierType() == 9) { //海康门禁isc String devSns = ""; @@ -322,13 +288,82 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl notExistList = ufaceDevMapper.getUfaceDevListForIscNotExist(StrUtil.split(ufaceDevGroupId, ","), workerInfo.getProjectSn()); + List notExistList = ufaceDevMapper.selectList(new LambdaQueryWrapper() + .eq(UfaceDev::getProjectSn, workerInfo.getProjectSn()) + ); if (CollUtil.isNotEmpty(notExistList)) { notDevSns = StrUtil.join(",", notExistList.stream().map(UfaceDev::getDevSn).collect(Collectors.toList())); asyncHikvision.deletePersonAuth(workerInfo, notDevSns); } } } + } else { + Map param = new HashMap<>(); + param.put("projectSn", workerInfo.getProjectSn()); + log.info("---新数据:" + workerInfo.getUfaceDevId() + "-----老数据:" + oldWorkerInfo.getUfaceDevId()); + //有选择设备 + Boolean hasDev = true; + if (StringUtils.isEmpty(workerInfo.getUfaceDevId())) { + hasDev = false; + workerInfo.setUfaceDevId(oldWorkerInfo.getUfaceDevId()); + } + if ("0".equals(workerInfo.getUfaceDevId())) { + workerInfo.setUfaceDevId(null); + } + if (StringUtils.isNotEmpty(workerInfo.getUfaceDevId())) { + param.put("registerType", workerInfo.getRegisterType()); + param.put("accountType", 1); + param.put("devIds", workerInfo.getUfaceDevId()); + } + List list = ufaceDevMapper.selectUserUfaceDevList(param); + if (list != null && list.size() > 0) { + StringBuilder devBuilder = new StringBuilder(); + StringBuilder devIdBuilder = new StringBuilder(); + for (UfaceDev dev : list) { + if (devBuilder.length() > 0) { + devBuilder.append(","); + } + if (devIdBuilder.length() > 0) { + devIdBuilder.append(","); + } + devBuilder.append(dev.getDevSn()); + devIdBuilder.append(dev.getDeviceId()); + } + if (tempProjectUfaceConfig.getSupplierType() == 1) { + String image = ""; + if (StringUtils.isNotEmpty(workerInfo.getFieldAcquisitionUrl()) && workerInfo.getFieldAcquisitionUrl().startsWith("http")) { + image = workerInfo.getFieldAcquisitionUrl(); + } else { + image = basePath + "/" + workerInfo.getFieldAcquisitionUrl(); + } + UniUbiUtil.addPerson(tempProjectUfaceConfig.getAppId(), tempProjectUfaceConfig.getAppKey(), tempProjectUfaceConfig.getAppSecret(), + workerInfo.getWorkerName(), workerInfo.getAttendanceNumber(), workerInfo.getIdCard(), + image, devBuilder.toString()); + } else if (tempProjectUfaceConfig.getSupplierType() == 4) { + //人员唯一编号改变需要先删除再下发 + if (oldWorkerInfo != null && workerInfo.getIdCard().equals(oldWorkerInfo.getIdCard())) { + try { + QYUfaceUtil.deleteNewPerson(tempProjectUfaceConfig.getAppId(), tempProjectUfaceConfig.getAppSecret(), oldWorkerInfo.getIdCard()); + } catch (Exception e) { + log.error("error:", e); + } + } + QYUfaceUtil.addOrUpdatePerson(tempProjectUfaceConfig.getAppId(), tempProjectUfaceConfig.getAppSecret(), 1, workerInfo.getIdCard(), workerInfo.getWorkerName(), + "", "", workerInfo.getIdCard(), "", "", 3, "", devIdBuilder.toString().split(","), basePath + "/" + workerInfo.getFieldAcquisitionUrl()); + } else if (tempProjectUfaceConfig.getSupplierType() == 5) { + //佳信捷设备 + JxjUfaceUtil.updateWorkerInfo(workerInfo, tempProjectUfaceConfig, serverUrl + "/image/"); + } else if (tempProjectUfaceConfig.getSupplierType() == 6) { + //佳信捷新设备 + JxjNewUfaceDevUtil.addOrUpdatePerson(workerInfo, tempProjectUfaceConfig, basePath, devBuilder.toString(), jxjDevImageType); + } else if (tempProjectUfaceConfig.getSupplierType() == 7) { + //海康门禁sdk + HikvisionUfaceSDKUtil.deletePerson(workerInfo, tempProjectUfaceConfig, oldWorkerInfo.getUfaceDevId()); + if (hasDev) { + HikvisionUfaceSDKUtil.addOrUpdatePerson(workerInfo, tempProjectUfaceConfig, devBuilder.toString()); + } + } + } } } } @@ -388,6 +423,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl param = new HashMap<>(); param.put("projectSn", workerInfo.getProjectSn()); param.put("devIds", StringUtils.join(ufaceIds, ",")); + param.put("accountType", 2); List list1 = ufaceDevMapper.selectUserUfaceDevList(param); if (CollUtil.isEmpty(list1)) { return; diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/UfaceDevMapper.xml b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/UfaceDevMapper.xml index 60e382ba0..1db294203 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/UfaceDevMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/UfaceDevMapper.xml @@ -135,19 +135,20 @@ separator="," open="(" close=")"> #{item} + and ud.project_sn =#{projectSn}