diff --git a/web-app/pom.xml b/web-app/pom.xml
index 2dab249b..d1df56b5 100644
--- a/web-app/pom.xml
+++ b/web-app/pom.xml
@@ -21,6 +21,10 @@
com.zcloud.basic.info
web-infrastructure
-
+
+ com.zcloud.primeport
+ web-client
+ ${project.version}
+
diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java
index f63d5f1f..fb16133d 100644
--- a/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java
+++ b/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java
@@ -31,6 +31,8 @@ import com.zcloud.basic.info.domain.model.*;
import com.zcloud.basic.info.dto.*;
import com.zcloud.basic.info.persistence.dataobject.*;
import com.zcloud.basic.info.persistence.repository.*;
+import com.zcloud.gbscommon.dahua.cmd.DaHuaPersonSyncCmd;
+import com.zcloud.gbscommon.dahua.facade.ZcloudDaHuaFacade;
import com.zcloud.gbscommon.utils.*;
import lombok.AllArgsConstructor;
import lombok.Data;
@@ -98,6 +100,8 @@ public class UserAddExe {
private final UserExpandInfoRepository userExpandInfoRepository;
private final ImgFilesRepository imgFilesRepository;
private final DaHuaConfig daHuaConfig;
+ @DubboReference
+ private ZcloudDaHuaFacade zcloudDaHuaFacade;
@Transactional(rollbackFor = Exception.class)
public boolean execute(UserAddCmd cmd) {
@@ -184,7 +188,6 @@ public class UserAddExe {
userE.setUserType(CorpTypeEnum.getUserTypeByCode(corpInfoDO.getType()));
userE.resetPassword(corpInfoDO.getType());
- // ① 先本地落库 + 底座GBS新增。GBS失败抛 RuntimeException,整个事务回滚
res = userGateway.add(userE);
if (corpInfoDO != null && !ObjectUtils.isEmpty(corpInfoDO.getCorpName())) {
corpName = corpInfoDO.getCorpName();
@@ -200,7 +203,6 @@ public class UserAddExe {
} catch (Exception e) {
log.error("用户变更记录保存失败(不影响用户主体), userId: {}, error: {}", userE.getId(), e.getMessage(), e);
}
- // ② 本地和底座都成功后,最后才同步大华。失败→抛异常→回滚本地+GBS(避免留下"大华人成功但本地没数据")
DaHuaSyncResult syncResult = syncDaHuaPerson(userE);
if (syncResult.dahuaId != null || (syncResult.dahuaCode != null && !syncResult.dahuaCode.trim().isEmpty())) {
try {
@@ -373,11 +375,11 @@ public class UserAddExe {
log.error("同步大华人员失败:人脸图片base64主体长度过短({}),缩略图可能损坏", bodyLen);
}
- List