From f281811fe60eb5eb707b35f95b7583a618c50a42 Mon Sep 17 00:00:00 2001 From: zhangxiongfeng Date: Thu, 6 Aug 2026 08:17:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E8=BD=A6=E8=BE=86=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E4=BF=AE=E6=94=B9=EF=BC=8C=E4=B8=B4=E6=97=B6=E8=BD=A6?= =?UTF-8?q?=E8=BE=86=E5=88=9B=E5=BB=BA=E4=B8=8Dbug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logs/xxl-job/2026-07-23/9245629.log | 3 -- logs/xxl-job/2026-07-23/9245741.log | 3 -- logs/xxl-job/2026-07-23/9245919.log | 3 -- logs/xxl-job/2026-07-23/9246062.log | 3 -- logs/xxl-job/2026-07-23/9247146.log | 3 -- logs/xxl-job/2026-07-25/9334840.log | 3 -- logs/xxl-job/2026-07-25/9334958.log | 3 -- logs/xxl-job/2026-07-25/9335140.log | 3 -- logs/xxl-job/2026-07-25/9335284.log | 3 -- logs/xxl-job/2026-07-25/9336371.log | 3 -- logs/xxl-job/2026-07-26/9379682.log | 3 -- logs/xxl-job/2026-07-26/9379801.log | 3 -- logs/xxl-job/2026-07-26/9379974.log | 3 -- logs/xxl-job/2026-07-26/9380119.log | 3 -- logs/xxl-job/2026-07-26/9381209.log | 3 -- .../command/DaHuaVehicleSyncExe.java | 43 ++++++++++++++----- .../primeport/command/VehicleApplyAddExe.java | 16 +++++-- .../command/VehicleAuditUpdateExe.java | 12 +++++- .../primeport/dto/VehicleApplyAddCmd.java | 3 +- .../primeport/dahua/api/DaHuaPersonApi.java | 2 +- .../gatewayimpl/DaHuaGatewayImpl.java | 35 +++++++++++++++ .../gatewayimpl/VehicleApplyGatewayImpl.java | 3 +- .../dataobject/VehicleApplyDO.java | 5 ++- 23 files changed, 95 insertions(+), 69 deletions(-) delete mode 100644 logs/xxl-job/2026-07-23/9245629.log delete mode 100644 logs/xxl-job/2026-07-23/9245741.log delete mode 100644 logs/xxl-job/2026-07-23/9245919.log delete mode 100644 logs/xxl-job/2026-07-23/9246062.log delete mode 100644 logs/xxl-job/2026-07-23/9247146.log delete mode 100644 logs/xxl-job/2026-07-25/9334840.log delete mode 100644 logs/xxl-job/2026-07-25/9334958.log delete mode 100644 logs/xxl-job/2026-07-25/9335140.log delete mode 100644 logs/xxl-job/2026-07-25/9335284.log delete mode 100644 logs/xxl-job/2026-07-25/9336371.log delete mode 100644 logs/xxl-job/2026-07-26/9379682.log delete mode 100644 logs/xxl-job/2026-07-26/9379801.log delete mode 100644 logs/xxl-job/2026-07-26/9379974.log delete mode 100644 logs/xxl-job/2026-07-26/9380119.log delete mode 100644 logs/xxl-job/2026-07-26/9381209.log diff --git a/logs/xxl-job/2026-07-23/9245629.log b/logs/xxl-job/2026-07-23/9245629.log deleted file mode 100644 index a1da9a1..0000000 --- a/logs/xxl-job/2026-07-23/9245629.log +++ /dev/null @@ -1,3 +0,0 @@ -2026-07-23 00:09:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-176]
----------- xxl-job job execute start -----------
----------- Param:null -2026-07-23 00:09:58 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-176]
----------- xxl-job job execute end(finish) -----------
----------- Result: handleCode=200, handleMsg = null -2026-07-23 00:09:58 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread]
----------- xxl-job job callback finish. diff --git a/logs/xxl-job/2026-07-23/9245741.log b/logs/xxl-job/2026-07-23/9245741.log deleted file mode 100644 index 65b1eab..0000000 --- a/logs/xxl-job/2026-07-23/9245741.log +++ /dev/null @@ -1,3 +0,0 @@ -2026-07-23 00:13:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-177]
----------- xxl-job job execute start -----------
----------- Param:null -2026-07-23 00:13:57 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-177]
----------- xxl-job job execute end(finish) -----------
----------- Result: handleCode=200, handleMsg = null -2026-07-23 00:13:57 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread]
----------- xxl-job job callback finish. diff --git a/logs/xxl-job/2026-07-23/9245919.log b/logs/xxl-job/2026-07-23/9245919.log deleted file mode 100644 index 5b6787f..0000000 --- a/logs/xxl-job/2026-07-23/9245919.log +++ /dev/null @@ -1,3 +0,0 @@ -2026-07-23 00:19:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-178]
----------- xxl-job job execute start -----------
----------- Param:null -2026-07-23 00:19:57 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-178]
----------- xxl-job job execute end(finish) -----------
----------- Result: handleCode=200, handleMsg = null -2026-07-23 00:19:57 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread]
----------- xxl-job job callback finish. diff --git a/logs/xxl-job/2026-07-23/9246062.log b/logs/xxl-job/2026-07-23/9246062.log deleted file mode 100644 index 7dbdc28..0000000 --- a/logs/xxl-job/2026-07-23/9246062.log +++ /dev/null @@ -1,3 +0,0 @@ -2026-07-23 00:24:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-179]
----------- xxl-job job execute start -----------
----------- Param:null -2026-07-23 00:24:57 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-179]
----------- xxl-job job execute end(finish) -----------
----------- Result: handleCode=200, handleMsg = null -2026-07-23 00:24:57 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread]
----------- xxl-job job callback finish. diff --git a/logs/xxl-job/2026-07-23/9247146.log b/logs/xxl-job/2026-07-23/9247146.log deleted file mode 100644 index aea4f3e..0000000 --- a/logs/xxl-job/2026-07-23/9247146.log +++ /dev/null @@ -1,3 +0,0 @@ -2026-07-23 00:59:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-180]
----------- xxl-job job execute start -----------
----------- Param:null -2026-07-23 00:59:57 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-180]
----------- xxl-job job execute end(finish) -----------
----------- Result: handleCode=200, handleMsg = null -2026-07-23 00:59:57 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread]
----------- xxl-job job callback finish. diff --git a/logs/xxl-job/2026-07-25/9334840.log b/logs/xxl-job/2026-07-25/9334840.log deleted file mode 100644 index 5c73076..0000000 --- a/logs/xxl-job/2026-07-25/9334840.log +++ /dev/null @@ -1,3 +0,0 @@ -2026-07-25 00:09:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-179]
----------- xxl-job job execute start -----------
----------- Param:null -2026-07-25 00:09:58 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-179]
----------- xxl-job job execute end(finish) -----------
----------- Result: handleCode=200, handleMsg = null -2026-07-25 00:09:58 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread]
----------- xxl-job job callback finish. diff --git a/logs/xxl-job/2026-07-25/9334958.log b/logs/xxl-job/2026-07-25/9334958.log deleted file mode 100644 index 0bb9e90..0000000 --- a/logs/xxl-job/2026-07-25/9334958.log +++ /dev/null @@ -1,3 +0,0 @@ -2026-07-25 00:13:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-180]
----------- xxl-job job execute start -----------
----------- Param:null -2026-07-25 00:13:57 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-180]
----------- xxl-job job execute end(finish) -----------
----------- Result: handleCode=200, handleMsg = null -2026-07-25 00:13:57 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread]
----------- xxl-job job callback finish. diff --git a/logs/xxl-job/2026-07-25/9335140.log b/logs/xxl-job/2026-07-25/9335140.log deleted file mode 100644 index bb3caba..0000000 --- a/logs/xxl-job/2026-07-25/9335140.log +++ /dev/null @@ -1,3 +0,0 @@ -2026-07-25 00:19:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-181]
----------- xxl-job job execute start -----------
----------- Param:null -2026-07-25 00:19:57 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-181]
----------- xxl-job job execute end(finish) -----------
----------- Result: handleCode=200, handleMsg = null -2026-07-25 00:19:57 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread]
----------- xxl-job job callback finish. diff --git a/logs/xxl-job/2026-07-25/9335284.log b/logs/xxl-job/2026-07-25/9335284.log deleted file mode 100644 index 110ea75..0000000 --- a/logs/xxl-job/2026-07-25/9335284.log +++ /dev/null @@ -1,3 +0,0 @@ -2026-07-25 00:24:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-182]
----------- xxl-job job execute start -----------
----------- Param:null -2026-07-25 00:24:57 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-182]
----------- xxl-job job execute end(finish) -----------
----------- Result: handleCode=200, handleMsg = null -2026-07-25 00:24:57 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread]
----------- xxl-job job callback finish. diff --git a/logs/xxl-job/2026-07-25/9336371.log b/logs/xxl-job/2026-07-25/9336371.log deleted file mode 100644 index b4bd8dd..0000000 --- a/logs/xxl-job/2026-07-25/9336371.log +++ /dev/null @@ -1,3 +0,0 @@ -2026-07-25 00:59:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-183]
----------- xxl-job job execute start -----------
----------- Param:null -2026-07-25 00:59:57 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-183]
----------- xxl-job job execute end(finish) -----------
----------- Result: handleCode=200, handleMsg = null -2026-07-25 00:59:57 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread]
----------- xxl-job job callback finish. diff --git a/logs/xxl-job/2026-07-26/9379682.log b/logs/xxl-job/2026-07-26/9379682.log deleted file mode 100644 index d385c27..0000000 --- a/logs/xxl-job/2026-07-26/9379682.log +++ /dev/null @@ -1,3 +0,0 @@ -2026-07-26 00:09:58 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-184]
----------- xxl-job job execute start -----------
----------- Param:null -2026-07-26 00:09:58 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-184]
----------- xxl-job job execute end(finish) -----------
----------- Result: handleCode=200, handleMsg = null -2026-07-26 00:09:58 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread]
----------- xxl-job job callback finish. diff --git a/logs/xxl-job/2026-07-26/9379801.log b/logs/xxl-job/2026-07-26/9379801.log deleted file mode 100644 index 0843d24..0000000 --- a/logs/xxl-job/2026-07-26/9379801.log +++ /dev/null @@ -1,3 +0,0 @@ -2026-07-26 00:13:58 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-185]
----------- xxl-job job execute start -----------
----------- Param:null -2026-07-26 00:13:58 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-185]
----------- xxl-job job execute end(finish) -----------
----------- Result: handleCode=200, handleMsg = null -2026-07-26 00:13:58 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread]
----------- xxl-job job callback finish. diff --git a/logs/xxl-job/2026-07-26/9379974.log b/logs/xxl-job/2026-07-26/9379974.log deleted file mode 100644 index 5fd6ecf..0000000 --- a/logs/xxl-job/2026-07-26/9379974.log +++ /dev/null @@ -1,3 +0,0 @@ -2026-07-26 00:19:58 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-186]
----------- xxl-job job execute start -----------
----------- Param:null -2026-07-26 00:19:58 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-186]
----------- xxl-job job execute end(finish) -----------
----------- Result: handleCode=200, handleMsg = null -2026-07-26 00:19:58 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread]
----------- xxl-job job callback finish. diff --git a/logs/xxl-job/2026-07-26/9380119.log b/logs/xxl-job/2026-07-26/9380119.log deleted file mode 100644 index 2fe04ae..0000000 --- a/logs/xxl-job/2026-07-26/9380119.log +++ /dev/null @@ -1,3 +0,0 @@ -2026-07-26 00:24:58 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-187]
----------- xxl-job job execute start -----------
----------- Param:null -2026-07-26 00:24:58 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-187]
----------- xxl-job job execute end(finish) -----------
----------- Result: handleCode=200, handleMsg = null -2026-07-26 00:24:58 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread]
----------- xxl-job job callback finish. diff --git a/logs/xxl-job/2026-07-26/9381209.log b/logs/xxl-job/2026-07-26/9381209.log deleted file mode 100644 index 24271ab..0000000 --- a/logs/xxl-job/2026-07-26/9381209.log +++ /dev/null @@ -1,3 +0,0 @@ -2026-07-26 00:59:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-188]
----------- xxl-job job execute start -----------
----------- Param:null -2026-07-26 00:59:57 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-188]
----------- xxl-job job execute end(finish) -----------
----------- Result: handleCode=200, handleMsg = null -2026-07-26 00:59:57 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread]
----------- xxl-job job callback finish. 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 c3d28bf..0436132 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 @@ -8,6 +8,7 @@ import com.zcloud.gbscommon.dahua.cmd.DaHuaCarAddCmd; import com.zcloud.gbscommon.dahua.cmd.DaHuaTempVehicleSaveCmd; import com.zcloud.primeport.domain.model.VehicleApplyE; import com.zcloud.primeport.plan.mjDevice.dto.CarEnum; +import jodd.util.Base64; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -28,11 +29,16 @@ public class DaHuaVehicleSyncExe { public void syncApprovedVehicle(Long vehicleApplyId) { VehicleApplyE vehicle = vehicleApplyGateway.getById(vehicleApplyId); if (vehicle == null) { + log.warn("同步大华车辆失败: 车辆申请不存在, vehicleApplyId={}", vehicleApplyId); return; } + log.info("同步大华车辆: vehicleApplyId={}, licenceNo={}, vehicleBelongType={}", + vehicleApplyId, vehicle.getLicenceNo(), vehicle.getVehicleBelongType()); if (isRelatedPartyVehicle(vehicle)) { + log.info("识别为相关方车辆, 走addCar接口"); syncAddedVehicle(vehicle); - } else if (isTempVehicle(vehicle)) { + } else { + log.info("识别为非相关方车辆(vehicleBelongType={}), 走saveTempVehicle接口", vehicle.getVehicleBelongType()); syncTempVehicle(vehicle); } } @@ -76,19 +82,39 @@ public class DaHuaVehicleSyncExe { private DaHuaTempVehicleSaveCmd buildTempVehicleCmd(VehicleApplyE vehicle) { DaHuaTempVehicleSaveCmd cmd = new DaHuaTempVehicleSaveCmd(); cmd.setName(vehicle.getEmployeeVehicleUserName()); - cmd.setCode(vehicle.getLsUserIdcard()); - cmd.setPaperNumber(vehicle.getLsUserIdcard()); + String idcard = vehicle.getLsUserIdcard(); + if (idcard != null && !idcard.isEmpty()) { + try { + idcard = Base64.decodeToString(idcard); + log.info("身份证base64解码成功: {}", idcard); + } catch (Exception e) { + log.warn("身份证base64解码失败,使用原值: {}", e.getMessage()); + } + } + cmd.setCode(idcard); + cmd.setPaperType(111); + cmd.setPaperNumber(idcard); cmd.setPhone(vehicle.getLsUserPhone()); cmd.setService("evo-thirdParty"); cmd.setValidStartTime(vehicle.getVisitStartTime()); cmd.setValidEndTime(vehicle.getVisitEndTime()); - if (vehicle.getVehicleCorpId() != null) { - cmd.setDepartmentId(vehicle.getVehicleCorpId()); + + 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); + DaHuaTempVehicleSaveCmd.CarItem carItem = new DaHuaTempVehicleSaveCmd.CarItem(); carItem.setCarNum(vehicle.getLicenceNo()); carItem.setCarNumColor(CarEnum.getMenuKeyByPath(vehicle.getLicenceType())); - carItem.setDepartmentId(vehicle.getVehicleCorpId()); + carItem.setDepartmentId(departmentId); carItem.setDepartmentName(vehicle.getVehicleDepartmentName()); cmd.setCars(Collections.singletonList(carItem)); return cmd; @@ -99,11 +125,6 @@ public class DaHuaVehicleSyncExe { && VehicleBelongTypeEnum.XGF_VEHICLES.getCode().equals(vehicle.getVehicleBelongType()); } - private boolean isTempVehicle(VehicleApplyE vehicle) { - return vehicle != null - && VehicleBelongTypeEnum.TEMP_VEHICLES.getCode().equals(vehicle.getVehicleBelongType()); - } - private void checkResult(Map result, String message) { if (result == null || !Boolean.TRUE.equals(result.get("passed"))) { Object errorMessage = result == null ? null : result.get("errMsg"); diff --git a/web-app/src/main/java/com/zcloud/primeport/command/VehicleApplyAddExe.java b/web-app/src/main/java/com/zcloud/primeport/command/VehicleApplyAddExe.java index 1c164fb..e0d3624 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/VehicleApplyAddExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/VehicleApplyAddExe.java @@ -79,8 +79,17 @@ public class VehicleApplyAddExe { } // 临时 if (cmd.getVehicleBelongType().equals(VehicleBelongTypeEnum.TEMP_VEHICLES.getCode())){ - examTypeE.setEmployeeVehicleUserName(cmd.getDrivingUserName()); -// examTypeE.setLsUserIdcard(Base64.encodeToString(cmd.getLsUserIdcard())); + examTypeE.setDrivingUserName(cmd.getEmployeeVehicleUserName()); + examTypeE.setEmployeeVehicleUserName(cmd.getEmployeeVehicleUserName()); + if (cmd.getVehicleCorpId() == null) { + SSOUser user = AuthContext.getCurrentUser(); + if (user != null) { + examTypeE.setVehicleCorpId(user.getTenantId()); + examTypeE.setVehicleCorpName(user.getTenantName()); + examTypeE.setVehicleDepartmentId(user.getOrgId()); + examTypeE.setVehicleDepartmentName(user.getOrgName()); + } + } } VehicleApplyE add = vehicleApplyGateway.add(examTypeE); VehicleAuditE build = VehicleAuditE.builder().vehicleApplyId(examTypeE.getId()).batchState(1).batchType(1) @@ -101,5 +110,4 @@ public class VehicleApplyAddExe { return add; } -} - +} \ No newline at end of file diff --git a/web-app/src/main/java/com/zcloud/primeport/command/VehicleAuditUpdateExe.java b/web-app/src/main/java/com/zcloud/primeport/command/VehicleAuditUpdateExe.java index c51733e..cd199e2 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/VehicleAuditUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/VehicleAuditUpdateExe.java @@ -13,6 +13,7 @@ import com.zcloud.primeport.domain.model.VehicleAuditE; import com.zcloud.primeport.dto.VehicleAuditUpdateCmd; import com.zcloud.primeport.plan.mjDevice.CarDockUtil; import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -30,6 +31,7 @@ import java.util.Map; */ @Component @AllArgsConstructor +@Slf4j public class VehicleAuditUpdateExe { private final VehicleAuditGateway vehicleAuditGateway; private final VehicleApplyGateway vehicleApplyGateway; @@ -50,6 +52,7 @@ public class VehicleAuditUpdateExe { @Transactional(rollbackFor = Exception.class) public void audit(VehicleAuditUpdateCmd cmd) { + log.info("开始审批: id={}, vehicleApplyId={}, auditStatus={}", cmd.getId(), cmd.getVehicleApplyId(), cmd.getAuditStatus()); if (!(cmd.getAuditStatus().equals(2) || cmd.getAuditStatus().equals(3))) { throw new BizException("审批状态必须是通过或不通过"); } @@ -68,16 +71,22 @@ public class VehicleAuditUpdateExe { vehicleAuditGateway.update(vehicleAuditE); VehicleApplyE vehicleApplyE1 = vehicleApplyGateway.getById(cmd.getVehicleApplyId()); + log.info("查询车辆信息: vehicleBelongType={}", vehicleApplyE1 != null ? vehicleApplyE1.getVehicleBelongType() : "null"); // 审批通过 进行数据对接。 if (cmd.getAuditStatus().equals(2)) { + log.info("审批通过, 开始数据对接"); if (vehicleApplyE1 != null && (vehicleApplyE1.getVehicleBelongType().equals(VehicleBelongTypeEnum.TEMP_VEHICLES.getCode()) || vehicleApplyE1.getVehicleBelongType().equals(VehicleBelongTypeEnum.XGF_VEHICLES.getCode()))) { + log.info("执行车辆对接: {}", vehicleApplyE1.getLicenceNo()); carDockUtil.execute(vehicleApplyE1.getLicenceNo()); } else { + log.info("执行内部车辆对接"); carDockUtil.executeInternalVehicle(vehicleApplyE1); } + log.info("开始同步大华平台"); daHuaVehicleSyncExe.syncApprovedVehicle(cmd.getVehicleApplyId()); + log.info("同步大华平台完成"); } // 完成待办 @@ -99,5 +108,4 @@ public class VehicleAuditUpdateExe { } } -} - +} \ No newline at end of file diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyAddCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyAddCmd.java index 142b04a..e291020 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyAddCmd.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyAddCmd.java @@ -115,5 +115,4 @@ public class VehicleApplyAddCmd extends Command { @ApiModelProperty(value = "审核用户名称", name = "auditUserName") private String auditUserName; -} - +} \ No newline at end of file diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/dahua/api/DaHuaPersonApi.java b/web-infrastructure/src/main/java/com/zcloud/primeport/dahua/api/DaHuaPersonApi.java index cc7ff78..5c5e195 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/dahua/api/DaHuaPersonApi.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/dahua/api/DaHuaPersonApi.java @@ -26,7 +26,7 @@ public class DaHuaPersonApi { private static final String CAR_DELETE_URL = "/evo-apigw/evo-brm/1.0.0/car/delete"; private static final String ACCESS_RECORD_URL = "/evo-apigw/evo-accesscontrol/1.0.0/card/accessControl/swingCardRecord/bycondition/combined"; private static final String UPLOAD_PERSON_IMG_URL = "/evo-apigw/evo-brm/1.0.0/person/subsystem/third/upload/img"; - private static final String TEMP_VEHICLE_AUDIT_URL = "/evo-apigw/evo-brm/1.0.0/tempVehicle/saveAudit"; + private static final String TEMP_VEHICLE_AUDIT_URL = "/evo-apigw/evo-brm/1.2.0/person/subsystem/save-person-all"; public boolean isConfigured() { return daHuaApiClient != null; 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 2080740..b6f7a63 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 @@ -986,6 +986,7 @@ public class DaHuaGatewayImpl implements DaHuaGateway { } Map body = convertToMap(cmd); processTempVehicleBiosignatures(body); + cleanNullFieldsFromCars(body); System.out.println("==========[saveTempVehicle 完整请求参数 START]=========="); System.out.println(JSONUtil.toJsonPrettyStr(body)); log.info("大华临时车辆全量保存请求参数: {}", JSONUtil.toJsonStr(body)); @@ -1155,6 +1156,40 @@ public class DaHuaGatewayImpl implements DaHuaGateway { body.put("personBiosignatures", outList); } + @SuppressWarnings("unchecked") + private void cleanNullFieldsFromCars(Map body) { + Object carsObj = body.get("cars"); + if (carsObj == null || !(carsObj instanceof List)) return; + List cars = (List) carsObj; + List> cleanedCars = new ArrayList<>(); + for (Object car : cars) { + Map carMap = new HashMap<>(); + if (car instanceof Map) { + Map mm = (Map) car; + for (Map.Entry entry : mm.entrySet()) { + if (entry.getValue() != null) { + carMap.put(entry.getKey(), entry.getValue()); + } + } + } else { + try { + Field[] fields = car.getClass().getDeclaredFields(); + for (Field field : fields) { + field.setAccessible(true); + Object value = field.get(car); + if (value != null) { + carMap.put(field.getName(), value); + } + } + } catch (Exception e) { + log.warn("清理CarItem null字段失败: {}", e.getMessage()); + } + } + cleanedCars.add(carMap); + } + body.put("cars", cleanedCars); + } + @Override public Long findDahuaDepartmentIdByCorpId(Long corpId) { if (corpId == null) { diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/VehicleApplyGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/VehicleApplyGatewayImpl.java index 26e8b36..3a5404d 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/VehicleApplyGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/VehicleApplyGatewayImpl.java @@ -95,5 +95,4 @@ public class VehicleApplyGatewayImpl implements VehicleApplyGateway { objectUpdateWrapper.eq("licence_no", vehicleApplyE.getLicenceNo()); vehicleApplyRepository.update(objectUpdateWrapper); } -} - +} \ No newline at end of file diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/VehicleApplyDO.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/VehicleApplyDO.java index cc9c22e..ecafb17 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/VehicleApplyDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/VehicleApplyDO.java @@ -108,7 +108,9 @@ public class VehicleApplyDO extends BaseDO { private String mkmjName; private String lsUserPhone; private String lsUserIdcard; + @TableField("driving_user_id") private Long drivingUserId; + @TableField("driving_user_name") private String drivingUserName; @ApiModelProperty(value = "审核企业") @TableField(exist = false) @@ -144,5 +146,4 @@ public class VehicleApplyDO extends BaseDO { private String belongType; @TableField(exist = false) private int waitAuditCount; -} - +} \ No newline at end of file