From fa0b89b0c406c499370f97f4b0ef7d7c465550a6 Mon Sep 17 00:00:00 2001 From: zhangxiongfeng Date: Fri, 7 Aug 2026 14:23:23 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E9=A9=BB=E6=B8=AF=E5=8D=95=E4=BD=8D?= =?UTF-8?q?=E4=BA=BA=E5=91=98=E8=BD=A6=E8=BE=86=E5=87=BA=E5=85=A5=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/VehicleApplyDO.xml | 31 +++++++++---------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/web-infrastructure/src/main/resources/mapper/VehicleApplyDO.xml b/web-infrastructure/src/main/resources/mapper/VehicleApplyDO.xml index 11a0a5d..84b87fa 100644 --- a/web-infrastructure/src/main/resources/mapper/VehicleApplyDO.xml +++ b/web-infrastructure/src/main/resources/mapper/VehicleApplyDO.xml @@ -120,16 +120,15 @@ corp_info c LEFT JOIN ( SELECT - COUNT( u.id ) user_count, - u.corpinfo_id + COUNT( r.id ) user_count, + r.corp_id FROM - `user` u + dahua_access_record r WHERE - u.delete_enum = 'FALSE' - AND u.main_corp_flag = 0 + r.open_type = 3 GROUP BY - u.corpinfo_id - ) utmp ON c.id = utmp.corpinfo_id + r.corp_id + ) utmp ON c.id = utmp.corp_id LEFT JOIN ( SELECT u.corpinfo_id, @@ -148,16 +147,15 @@ ) prtmp ON c.id = prtmp.corpinfo_id LEFT JOIN ( SELECT - va.vehicle_corp_id, - COUNT(va.id) pub_car_count + r.corp_id, + COUNT(r.id) pub_car_count FROM - `vehicle_apply` va WHERE va.delete_enum = 'FALSE' - - and va.vehicle_belong_type in (2,4) - and va.vehicle_belong_type = 8 - + dahua_vehicle_access_record r + WHERE + r.exit_time IS NOT NULL GROUP BY - va.vehicle_corp_id) pubtmp on pubtmp.vehicle_corp_id = c.id + r.corp_id + ) pubtmp ON c.id = pubtmp.corp_id WHERE c.delete_enum = 'FALSE' @@ -235,5 +233,4 @@ ORDER BY id DESC - - + \ No newline at end of file From 71e17af9b9ba98f0e92830500fafd880d64628a4 Mon Sep 17 00:00:00 2001 From: zhangxiongfeng Date: Fri, 7 Aug 2026 15:35:00 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=91=84=E5=83=8F=E5=A4=B4=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/zcloud/primeport/dto/VideoAddCmd.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/VideoAddCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/VideoAddCmd.java index 4443ae1..11c1fe7 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/VideoAddCmd.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/VideoAddCmd.java @@ -24,9 +24,9 @@ public class VideoAddCmd extends Command { @ApiModelProperty(value = "口门/闸机id 外键id ", name = "foreignId", required = true) @NotNull(message = "口门/闸机id 外键id 不能为空") private Long foreignId; - @ApiModelProperty(value = "设备类型(1-口门 2-闸机)", name = "deviceType", required = true) - @NotNull(message = "设备类型(1-口门 2-闸机)不能为空") - private Integer deviceType; +// @ApiModelProperty(value = "设备类型(1-口门 2-闸机)", name = "deviceType", required = true) +// @NotNull(message = "设备类型(1-口门 2-闸机)不能为空") +// private Integer deviceType; @ApiModelProperty(value = "摄像头id", name = "videoResourceId", required = true) @NotEmpty(message = "摄像头id不能为空") private String videoResourceId; From 55f4b32ef1ff1fe4801d9b16e2e24a7889798cfd Mon Sep 17 00:00:00 2001 From: zhangxiongfeng Date: Tue, 11 Aug 2026 14:23:58 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=A4=A7=E5=8D=8E=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E8=BA=AB=E4=BB=BD=E8=AF=81=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../command/DaHuaVehicleSyncExe.java | 14 +------ .../primeport/service/DaHuaServiceImpl.java | 25 +++++++++-- .../zcloud/primeport/api/DaHuaServiceI.java | 4 +- .../domain/gateway/DaHuaGateway.java | 4 +- .../gatewayimpl/DaHuaGatewayImpl.java | 42 ++++++++++++++++++- 5 files changed, 70 insertions(+), 19 deletions(-) diff --git a/web-app/src/main/java/com/zcloud/primeport/command/DaHuaVehicleSyncExe.java b/web-app/src/main/java/com/zcloud/primeport/command/DaHuaVehicleSyncExe.java index bfb1ab0..698e219 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/DaHuaVehicleSyncExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/DaHuaVehicleSyncExe.java @@ -142,22 +142,12 @@ public class DaHuaVehicleSyncExe { cmd.setValidStartTime(vehicle.getVisitStartTime()); cmd.setValidEndTime(vehicle.getVisitEndTime()); - Long departmentId = null; - if (vehicle.getVehicleDepartmentId() != null) { - departmentId = daHuaGateway.findDahuaDepartmentIdByCorpId(vehicle.getVehicleDepartmentId()); - if (departmentId == null) { - log.warn("未找到部门映射, vehicleDepartmentId={}, 使用默认值1", vehicle.getVehicleDepartmentId()); - } - } - if (departmentId == null) { - departmentId = 1L; - } - cmd.setDepartmentId(departmentId); + cmd.setDepartmentId(1L); DaHuaTempVehicleSaveCmd.CarItem carItem = new DaHuaTempVehicleSaveCmd.CarItem(); carItem.setCarNum(vehicle.getLicenceNo()); carItem.setCarNumColor(CarEnum.getMenuKeyByPath(vehicle.getLicenceType())); - carItem.setDepartmentId(departmentId); + carItem.setDepartmentId(1L); carItem.setDepartmentName(vehicle.getVehicleDepartmentName()); cmd.setCars(Collections.singletonList(carItem)); return cmd; diff --git a/web-app/src/main/java/com/zcloud/primeport/service/DaHuaServiceImpl.java b/web-app/src/main/java/com/zcloud/primeport/service/DaHuaServiceImpl.java index 569dcf7..1bf570f 100644 --- a/web-app/src/main/java/com/zcloud/primeport/service/DaHuaServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/primeport/service/DaHuaServiceImpl.java @@ -43,6 +43,23 @@ public class DaHuaServiceImpl implements ZcloudDaHuaFacade { return SingleResponse.of(id); } + @Override + public SingleResponse> findPersonByPaperNumber(String paperNumber) { + Map queryResult = daHuaGateway.findPersonByPaperNumber(paperNumber); + System.out.println("大华人员信息查询返回 - paperNumber:" + paperNumber + ", queryResult:" + queryResult); + Boolean passed = (Boolean) queryResult.get("passed"); + Boolean dhSuccess = (Boolean) queryResult.get("success"); + String dhCode = (String) queryResult.get("code"); + String dhErrMsg = (String) queryResult.get("errMsg"); + Map dhData = (Map) queryResult.get("data"); + SingleResponse> resp = new SingleResponse<>(); + resp.setSuccess(dhSuccess != null ? dhSuccess : passed); + resp.setErrCode(dhCode); + resp.setErrMessage(dhErrMsg); + resp.setData(dhData); + return resp; + } + @Override public SingleResponse syncPerson(DaHuaPersonSyncCmd cmd) { cmd.setDepartmentId(resolveDahuaDeptId(cmd.getDepartmentId())); @@ -190,20 +207,20 @@ public class DaHuaServiceImpl implements ZcloudDaHuaFacade { @Override public SingleResponse saveTempVehicle(DaHuaTempVehicleSaveCmd cmd) { - cmd.setDepartmentId(resolveDahuaDeptId(cmd.getDepartmentId())); + cmd.setDepartmentId(1L); if (cmd.getDepartmentList() != null) { for (DaHuaTempVehicleSaveCmd.DepartmentItem item : cmd.getDepartmentList()) { - item.setDepartmentId(resolveDahuaDeptId(item.getDepartmentId())); + item.setDepartmentId(1L); } } if (cmd.getCards() != null) { for (DaHuaTempVehicleSaveCmd.CardItem card : cmd.getCards()) { - card.setDepartmentId(resolveDahuaDeptId(card.getDepartmentId())); + card.setDepartmentId(1L); } } if (cmd.getCars() != null) { for (DaHuaTempVehicleSaveCmd.CarItem car : cmd.getCars()) { - car.setDepartmentId(resolveDahuaDeptId(car.getDepartmentId())); + car.setDepartmentId(1L); } } Map saveResult = daHuaGateway.saveTempVehicle(cmd); diff --git a/web-client/src/main/java/com/zcloud/primeport/api/DaHuaServiceI.java b/web-client/src/main/java/com/zcloud/primeport/api/DaHuaServiceI.java index d987ddc..33c396a 100644 --- a/web-client/src/main/java/com/zcloud/primeport/api/DaHuaServiceI.java +++ b/web-client/src/main/java/com/zcloud/primeport/api/DaHuaServiceI.java @@ -41,4 +41,6 @@ public interface DaHuaServiceI { SingleResponse saveTempVehicle(DaHuaTempVehicleSaveCmd cmd); SingleResponse syncResources(DaHuaResourceSyncCmd cmd); -} + + SingleResponse> findPersonByPaperNumber(String paperNumber); +} \ No newline at end of file diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/DaHuaGateway.java b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/DaHuaGateway.java index baa8b6c..2bfce31 100644 --- a/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/DaHuaGateway.java +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/DaHuaGateway.java @@ -15,6 +15,8 @@ public interface DaHuaGateway { Long findPersonIdByPaperNumber(String paperNumber); + Map findPersonByPaperNumber(String paperNumber); + Map syncPerson(DaHuaPersonSyncCmd cmd); Map updatePerson(DaHuaPersonSyncCmd cmd); @@ -38,4 +40,4 @@ public interface DaHuaGateway { Map saveTempVehicle(DaHuaTempVehicleSaveCmd cmd); Long findDahuaDepartmentIdByCorpId(Long corpId); -} +} \ No newline at end of file diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/DaHuaGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/DaHuaGatewayImpl.java index cca1eb9..376913e 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/DaHuaGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/DaHuaGatewayImpl.java @@ -107,6 +107,46 @@ public class DaHuaGatewayImpl implements DaHuaGateway { } } + @Override + public Map findPersonByPaperNumber(String paperNumber) { + if (daHuaPersonApi == null || !daHuaPersonApi.isConfigured()) { + throw new RuntimeException("大华服务未配置"); + } + try { + GeneralResponse response = daHuaPersonApi.getPersonByPaperNumber(paperNumber); + Map result = new HashMap<>(); + boolean passed = response != null && "0".equals(response.getCode()); + result.put("passed", passed); + result.put("success", passed); + result.put("code", response != null ? response.getCode() : null); + if (passed) { + JSONObject responseJson = JSONUtil.parseObj(JSONUtil.toJsonStr(response)); + String resultStr = responseJson.getStr("result"); + if (resultStr != null && !resultStr.isEmpty()) { + JSONObject resultJson = JSONUtil.parseObj(resultStr); + JSONObject data = resultJson.getJSONObject("data"); + result.put("data", data != null ? data : new HashMap<>()); + } else { + result.put("data", new HashMap<>()); + } + } else { + JSONObject responseJson = JSONUtil.parseObj(JSONUtil.toJsonStr(response)); + result.put("errMsg", responseJson.getStr("result", "查询失败")); + result.put("data", new HashMap<>()); + } + System.out.println("大华人员详情查询返回 - paperNumber:" + paperNumber + ", result:" + result); + return result; + } catch (ClientException e) { + System.err.println("查询大华人员详情异常: " + e.getMessage()); + Map errorResult = new HashMap<>(); + errorResult.put("passed", false); + errorResult.put("success", false); + errorResult.put("errMsg", "查询大华人员异常: " + e.getMessage()); + errorResult.put("data", new HashMap<>()); + return errorResult; + } + } + @Override public Map syncPerson(DaHuaPersonSyncCmd cmd) { if (daHuaPersonApi == null || !daHuaPersonApi.isConfigured()) { @@ -1237,4 +1277,4 @@ public class DaHuaGatewayImpl implements DaHuaGateway { } return mapping.getDahuaDepartmentId(); } -} +} \ No newline at end of file