大华口门对接
(cherry picked from commit 65ad2b538e)
# Conflicts:
# web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java
# web-app/src/main/java/com/zcloud/basic/info/command/UserRemoveExe.java
# web-app/src/main/java/com/zcloud/basic/info/command/UserUpdateExe.java
dahua_koumen
parent
b7ba5e46c2
commit
ae529ebcac
|
|
@ -31,9 +31,9 @@ import com.zcloud.basic.info.domain.model.*;
|
||||||
import com.zcloud.basic.info.dto.*;
|
import com.zcloud.basic.info.dto.*;
|
||||||
import com.zcloud.basic.info.persistence.dataobject.*;
|
import com.zcloud.basic.info.persistence.dataobject.*;
|
||||||
import com.zcloud.basic.info.persistence.repository.*;
|
import com.zcloud.basic.info.persistence.repository.*;
|
||||||
import com.zcloud.gbscommon.utils.*;
|
|
||||||
import com.zcloud.gbscommon.dahua.facade.ZcloudDaHuaFacade;
|
|
||||||
import com.zcloud.gbscommon.dahua.cmd.DaHuaPersonSyncCmd;
|
import com.zcloud.gbscommon.dahua.cmd.DaHuaPersonSyncCmd;
|
||||||
|
import com.zcloud.gbscommon.dahua.facade.ZcloudDaHuaFacade;
|
||||||
|
import com.zcloud.gbscommon.utils.*;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
@ -188,7 +188,6 @@ public class UserAddExe {
|
||||||
userE.setUserType(CorpTypeEnum.getUserTypeByCode(corpInfoDO.getType()));
|
userE.setUserType(CorpTypeEnum.getUserTypeByCode(corpInfoDO.getType()));
|
||||||
|
|
||||||
userE.resetPassword(corpInfoDO.getType());
|
userE.resetPassword(corpInfoDO.getType());
|
||||||
// ① 先本地落库 + 底座GBS新增。GBS失败抛 RuntimeException,整个事务回滚
|
|
||||||
res = userGateway.add(userE);
|
res = userGateway.add(userE);
|
||||||
if (corpInfoDO != null && !ObjectUtils.isEmpty(corpInfoDO.getCorpName())) {
|
if (corpInfoDO != null && !ObjectUtils.isEmpty(corpInfoDO.getCorpName())) {
|
||||||
corpName = corpInfoDO.getCorpName();
|
corpName = corpInfoDO.getCorpName();
|
||||||
|
|
@ -204,7 +203,6 @@ public class UserAddExe {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("用户变更记录保存失败(不影响用户主体), userId: {}, error: {}", userE.getId(), e.getMessage(), e);
|
log.error("用户变更记录保存失败(不影响用户主体), userId: {}, error: {}", userE.getId(), e.getMessage(), e);
|
||||||
}
|
}
|
||||||
// ② 本地和底座都成功后,最后才同步大华。失败→抛异常→回滚本地+GBS(避免留下"大华人成功但本地没数据")
|
|
||||||
DaHuaSyncResult syncResult = syncDaHuaPerson(userE);
|
DaHuaSyncResult syncResult = syncDaHuaPerson(userE);
|
||||||
if (syncResult.dahuaId != null || (syncResult.dahuaCode != null && !syncResult.dahuaCode.trim().isEmpty())) {
|
if (syncResult.dahuaId != null || (syncResult.dahuaCode != null && !syncResult.dahuaCode.trim().isEmpty())) {
|
||||||
try {
|
try {
|
||||||
|
|
@ -450,7 +448,8 @@ public class UserAddExe {
|
||||||
List<DaHuaPersonSyncCmd.PersonBiosignature> bioList = (List<DaHuaPersonSyncCmd.PersonBiosignature>) biosObj;
|
List<DaHuaPersonSyncCmd.PersonBiosignature> bioList = (List<DaHuaPersonSyncCmd.PersonBiosignature>) biosObj;
|
||||||
cmd.setPersonBiosignatures(bioList);
|
cmd.setPersonBiosignatures(bioList);
|
||||||
}
|
}
|
||||||
|
log.info("Dubbo调用primeport.zcloudDaHuaFacade.syncPerson, name={}, departmentId(corpId)={}",
|
||||||
|
cmd.getName(), cmd.getDepartmentId());
|
||||||
SingleResponse<Object> syncResp = zcloudDaHuaFacade.syncPerson(cmd);
|
SingleResponse<Object> syncResp = zcloudDaHuaFacade.syncPerson(cmd);
|
||||||
String maskedIdCard = plainIdCard;
|
String maskedIdCard = plainIdCard;
|
||||||
if (plainIdCard != null && plainIdCard.length() >= 14) {
|
if (plainIdCard != null && plainIdCard.length() >= 14) {
|
||||||
|
|
@ -990,51 +989,51 @@ public class UserAddExe {
|
||||||
userExpandInfoRepository.updateByPhone(userE.getPhone(),userE.getFlowFlag());
|
userExpandInfoRepository.updateByPhone(userE.getPhone(),userE.getFlowFlag());
|
||||||
}
|
}
|
||||||
|
|
||||||
// ========== 相关方用户同步大华(新增场景跳过,修改场景同步;重复信息返回false直接跳过不影响本地)==========
|
// ========== 相关方用户同步大华(仅修改场景调大华,新增场景跳过)==========
|
||||||
if (addFlag) {
|
Long xgfUserId = addFlag ? userE.getId() : userDOUpdate.getId();
|
||||||
log.info("相关方用户新增场景,跳过大华同步");
|
if (xgfUserId == null) {
|
||||||
|
log.warn("相关方用户保存后未获取到userId,跳过大华同步及dahua信息写回, addFlag={}", addFlag);
|
||||||
} else {
|
} else {
|
||||||
Long xgfUserId = userDOUpdate.getId();
|
DaHuaSyncResult xgfSyncResult = null;
|
||||||
if (xgfUserId == null) {
|
if (!addFlag) {
|
||||||
log.warn("相关方用户修改后未获取到userId,跳过大华同步及dahua信息写回");
|
|
||||||
} else {
|
|
||||||
Object xgfAvatarSource = cmd.getUserImg();
|
Object xgfAvatarSource = cmd.getUserImg();
|
||||||
if (xgfAvatarSource == null) {
|
if (xgfAvatarSource == null) {
|
||||||
xgfAvatarSource = cmd.getUserAvatarUrl();
|
xgfAvatarSource = cmd.getUserAvatarUrl();
|
||||||
}
|
}
|
||||||
DaHuaSyncResult xgfSyncResult = null;
|
|
||||||
try {
|
try {
|
||||||
xgfSyncResult = syncDaHuaPerson(userE, xgfAvatarSource, false);
|
xgfSyncResult = syncDaHuaPerson(userE, xgfAvatarSource, false);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("相关方用户同步大华异常(不影响本地保存,继续执行写回身份证号为dahuaCode), userId={}, error={}",
|
log.error("相关方用户同步大华异常(不影响本地保存,继续执行写回身份证号为dahuaCode), userId={}, addFlag={}, error={}",
|
||||||
xgfUserId, e.getMessage(), e);
|
xgfUserId, addFlag, e.getMessage(), e);
|
||||||
}
|
}
|
||||||
Integer xgfDahuaId = xgfSyncResult != null ? xgfSyncResult.dahuaId : null;
|
} else {
|
||||||
String xgfDahuaCode = xgfSyncResult != null ? xgfSyncResult.dahuaCode : null;
|
log.info("相关方用户新增场景,跳过大华同步, userId={}", xgfUserId);
|
||||||
if ((xgfDahuaCode == null || xgfDahuaCode.trim().isEmpty()) && userE.getUserIdCard() != null && !userE.getUserIdCard().trim().isEmpty()) {
|
}
|
||||||
String idCardRaw = userE.getUserIdCard().trim();
|
Integer xgfDahuaId = xgfSyncResult != null ? xgfSyncResult.dahuaId : null;
|
||||||
try {
|
String xgfDahuaCode = xgfSyncResult != null ? xgfSyncResult.dahuaCode : null;
|
||||||
xgfDahuaCode = new String(java.util.Base64.getDecoder().decode(idCardRaw), java.nio.charset.StandardCharsets.UTF_8);
|
if ((xgfDahuaCode == null || xgfDahuaCode.trim().isEmpty()) && userE.getUserIdCard() != null && !userE.getUserIdCard().trim().isEmpty()) {
|
||||||
} catch (Exception e) {
|
String idCardRaw = userE.getUserIdCard().trim();
|
||||||
xgfDahuaCode = idCardRaw;
|
try {
|
||||||
}
|
xgfDahuaCode = new String(java.util.Base64.getDecoder().decode(idCardRaw), java.nio.charset.StandardCharsets.UTF_8);
|
||||||
|
} catch (Exception e) {
|
||||||
|
xgfDahuaCode = idCardRaw;
|
||||||
}
|
}
|
||||||
if (xgfDahuaId != null || (xgfDahuaCode != null && !xgfDahuaCode.trim().isEmpty())) {
|
}
|
||||||
try {
|
if (xgfDahuaId != null || (xgfDahuaCode != null && !xgfDahuaCode.trim().isEmpty())) {
|
||||||
UserE updateDahua = new UserE();
|
try {
|
||||||
updateDahua.setId(xgfUserId);
|
UserE updateDahua = new UserE();
|
||||||
updateDahua.setDahuaId(xgfDahuaId);
|
updateDahua.setId(xgfUserId);
|
||||||
updateDahua.setDahuaCode(xgfDahuaCode);
|
updateDahua.setDahuaId(xgfDahuaId);
|
||||||
userRepository.updateDahuaInfo(updateDahua.getId(), updateDahua.getDahuaId(), updateDahua.getDahuaCode());
|
updateDahua.setDahuaCode(xgfDahuaCode);
|
||||||
log.info("相关方用户写回dahuaId/dahuaCode成功, userId={}, dahuaId={}, dahuaCode={}",
|
userRepository.updateDahuaInfo(updateDahua.getId(), updateDahua.getDahuaId(), updateDahua.getDahuaCode());
|
||||||
xgfUserId, xgfDahuaId, xgfDahuaCode);
|
log.info("相关方用户写回dahuaId/dahuaCode成功, userId={}, addFlag={}, dahuaId={}, dahuaCode={}",
|
||||||
} catch (Exception e) {
|
xgfUserId, addFlag, xgfDahuaId, xgfDahuaCode);
|
||||||
log.error("相关方用户写回dahuaId/dahuaCode失败, userId={}, dahuaId={}, dahuaCode={}",
|
} catch (Exception e) {
|
||||||
xgfUserId, xgfDahuaId, xgfDahuaCode, e);
|
log.error("相关方用户写回dahuaId/dahuaCode失败, userId={}, addFlag={}, dahuaId={}, dahuaCode={}",
|
||||||
}
|
xgfUserId, addFlag, xgfDahuaId, xgfDahuaCode, e);
|
||||||
} else {
|
|
||||||
log.warn("相关方用户既无dahuaId也无dahuaCode可写回,跳过update, userId={}", xgfUserId);
|
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
log.warn("相关方用户既无dahuaId也无dahuaCode可写回,跳过update, userId={}, addFlag={}", xgfUserId, addFlag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// =========================================================================
|
// =========================================================================
|
||||||
|
|
|
||||||
|
|
@ -21,9 +21,9 @@ import com.zcloud.basic.info.persistence.repository.UserCorpRecordRepository;
|
||||||
import com.zcloud.basic.info.persistence.repository.UserJobHandoverRepository;
|
import com.zcloud.basic.info.persistence.repository.UserJobHandoverRepository;
|
||||||
import com.zcloud.basic.info.persistence.repository.UserRepository;
|
import com.zcloud.basic.info.persistence.repository.UserRepository;
|
||||||
import com.zcloud.basic.info.domain.config.DaHuaConfig;
|
import com.zcloud.basic.info.domain.config.DaHuaConfig;
|
||||||
import com.zcloud.gbscommon.utils.ZcloudRedisUtil;
|
|
||||||
import com.zcloud.gbscommon.dahua.facade.ZcloudDaHuaFacade;
|
|
||||||
import com.zcloud.gbscommon.dahua.cmd.DaHuaPersonDeleteCmd;
|
import com.zcloud.gbscommon.dahua.cmd.DaHuaPersonDeleteCmd;
|
||||||
|
import com.zcloud.gbscommon.dahua.facade.ZcloudDaHuaFacade;
|
||||||
|
import com.zcloud.gbscommon.utils.ZcloudRedisUtil;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
|
|
@ -52,7 +52,7 @@ public class UserRemoveExe {
|
||||||
@DubboReference(check = false)
|
@DubboReference(check = false)
|
||||||
private UserFacade userFacade;
|
private UserFacade userFacade;
|
||||||
// @Autowired
|
// @Autowired
|
||||||
private ZcloudRedisUtil zcloudRedisUtil;
|
private final ZcloudRedisUtil zcloudRedisUtil;
|
||||||
private final UserCorpRecordRepository userCorpRecordRepository;
|
private final UserCorpRecordRepository userCorpRecordRepository;
|
||||||
private final DaHuaConfig daHuaConfig;
|
private final DaHuaConfig daHuaConfig;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
|
|
@ -81,16 +81,15 @@ public class UserRemoveExe {
|
||||||
// ② 本地操作完成后再删大华。若大华失败 → throw BizException → 本地全部回滚
|
// ② 本地操作完成后再删大华。若大华失败 → throw BizException → 本地全部回滚
|
||||||
if (needDeleteDaHua) {
|
if (needDeleteDaHua) {
|
||||||
if (daHuaConfig.getDockFlag() == null || daHuaConfig.getDockFlag() != 1) {
|
if (daHuaConfig.getDockFlag() == null || daHuaConfig.getDockFlag() != 1) {
|
||||||
log.info("大华对接未开启(dockFlag={}), 跳过删除大华人员, userId={}", daHuaConfig.getDockFlag(), id);
|
log.info("【单个删除-大华删除跳过】dockFlag未开启, userId={}", id);
|
||||||
} else {
|
} else {
|
||||||
DaHuaPersonDeleteCmd delCmd = new DaHuaPersonDeleteCmd();
|
DaHuaPersonDeleteCmd delCmd = new DaHuaPersonDeleteCmd();
|
||||||
delCmd.setIds(Collections.singletonList(dahuaId.longValue()));
|
delCmd.setIds(Collections.singletonList(dahuaId.longValue()));
|
||||||
log.info("Dubbo调用zcloudDaHuaFacade.deletePerson, dahuaId={}", dahuaId);
|
|
||||||
SingleResponse<Boolean> delResp = zcloudDaHuaFacade.deletePerson(delCmd);
|
SingleResponse<Boolean> delResp = zcloudDaHuaFacade.deletePerson(delCmd);
|
||||||
if (delResp == null || !delResp.isSuccess()) {
|
if (delResp == null || !delResp.isSuccess()) {
|
||||||
String errCode = delResp == null ? "" : delResp.getErrCode();
|
String errCode = delResp == null ? "" : delResp.getErrCode();
|
||||||
String errMessage = delResp == null ? "大华Dubbo返回为空" : delResp.getErrMessage();
|
String errMessage = delResp == null ? "大华Dubbo返回为空" : delResp.getErrMessage();
|
||||||
if (errMessage == null || errMessage.trim().isEmpty()) errMessage = "删除大华人员失败";
|
if (errMessage == null || errMessage.trim().isEmpty()) errMessage = "大华人员删除失败";
|
||||||
log.error("【单个删除-大华删除失败→触发本地回滚】userId={}, dahuaId={}, errCode={}, errMessage={}",
|
log.error("【单个删除-大华删除失败→触发本地回滚】userId={}, dahuaId={}, errCode={}, errMessage={}",
|
||||||
id, dahuaId, errCode, errMessage);
|
id, dahuaId, errCode, errMessage);
|
||||||
throw new BizException("删除大华平台人员失败:" + errMessage);
|
throw new BizException("删除大华平台人员失败:" + errMessage);
|
||||||
|
|
@ -219,16 +218,15 @@ public class UserRemoveExe {
|
||||||
// ② 本地成功后再删大华。大华失败→throw→本地回滚
|
// ② 本地成功后再删大华。大华失败→throw→本地回滚
|
||||||
if (!dahuaIds.isEmpty()) {
|
if (!dahuaIds.isEmpty()) {
|
||||||
if (daHuaConfig.getDockFlag() == null || daHuaConfig.getDockFlag() != 1) {
|
if (daHuaConfig.getDockFlag() == null || daHuaConfig.getDockFlag() != 1) {
|
||||||
log.info("大华对接未开启(dockFlag={}), 跳过批量删除大华人员, idList={}", daHuaConfig.getDockFlag(), idList);
|
log.info("【批量删除-大华删除跳过】dockFlag未开启, idList={}", idList);
|
||||||
} else {
|
} else {
|
||||||
DaHuaPersonDeleteCmd delCmd = new DaHuaPersonDeleteCmd();
|
DaHuaPersonDeleteCmd delCmd = new DaHuaPersonDeleteCmd();
|
||||||
delCmd.setIds(dahuaIds.stream().map(Long::longValue).collect(Collectors.toList()));
|
delCmd.setIds(dahuaIds.stream().map(Integer::longValue).collect(Collectors.toList()));
|
||||||
log.info("Dubbo调用zcloudDaHuaFacade.deletePerson, dahuaIds={}", dahuaIds);
|
|
||||||
SingleResponse<Boolean> delResp = zcloudDaHuaFacade.deletePerson(delCmd);
|
SingleResponse<Boolean> delResp = zcloudDaHuaFacade.deletePerson(delCmd);
|
||||||
if (delResp == null || !delResp.isSuccess()) {
|
if (delResp == null || !delResp.isSuccess()) {
|
||||||
String errCode = delResp == null ? "" : delResp.getErrCode();
|
String errCode = delResp == null ? "" : delResp.getErrCode();
|
||||||
String errMessage = delResp == null ? "大华Dubbo返回为空" : delResp.getErrMessage();
|
String errMessage = delResp == null ? "大华Dubbo返回为空" : delResp.getErrMessage();
|
||||||
if (errMessage == null || errMessage.trim().isEmpty()) errMessage = "删除大华人员失败";
|
if (errMessage == null || errMessage.trim().isEmpty()) errMessage = "大华人员删除失败";
|
||||||
log.error("【批量删除-大华删除失败→触发本地回滚】localIds={}, dahuaIds={}, errCode={}, errMessage={}",
|
log.error("【批量删除-大华删除失败→触发本地回滚】localIds={}, dahuaIds={}, errCode={}, errMessage={}",
|
||||||
idList, dahuaIds, errCode, errMessage);
|
idList, dahuaIds, errCode, errMessage);
|
||||||
throw new BizException("删除大华平台人员失败:" + errMessage);
|
throw new BizException("删除大华平台人员失败:" + errMessage);
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,9 @@ import com.zcloud.basic.info.domain.model.*;
|
||||||
import com.zcloud.basic.info.dto.*;
|
import com.zcloud.basic.info.dto.*;
|
||||||
import com.zcloud.basic.info.persistence.dataobject.*;
|
import com.zcloud.basic.info.persistence.dataobject.*;
|
||||||
import com.zcloud.basic.info.persistence.repository.*;
|
import com.zcloud.basic.info.persistence.repository.*;
|
||||||
|
import com.zcloud.gbscommon.dahua.cmd.DaHuaPersonDeleteCmd;
|
||||||
|
import com.zcloud.gbscommon.dahua.cmd.DaHuaPersonSyncCmd;
|
||||||
|
import com.zcloud.gbscommon.dahua.facade.ZcloudDaHuaFacade;
|
||||||
import com.zcloud.gbscommon.utils.Tools;
|
import com.zcloud.gbscommon.utils.Tools;
|
||||||
import com.zcloud.gbscommon.utils.ZcloudRedisUtil;
|
import com.zcloud.gbscommon.utils.ZcloudRedisUtil;
|
||||||
import com.zcloud.gbscommon.zcloudhidden.face.ZcloudHiddenFacade;
|
import com.zcloud.gbscommon.zcloudhidden.face.ZcloudHiddenFacade;
|
||||||
|
|
@ -28,9 +31,6 @@ import com.zcloud.gbscommon.zcloudhidden.request.HiddenStatisticsListQry;
|
||||||
import com.zcloud.gbscommon.zcloudhidden.request.HiddenUpdateCmd;
|
import com.zcloud.gbscommon.zcloudhidden.request.HiddenUpdateCmd;
|
||||||
import com.zcloud.gbscommon.zcloudhidden.response.HiddenListByUserCO;
|
import com.zcloud.gbscommon.zcloudhidden.response.HiddenListByUserCO;
|
||||||
import com.zcloud.gbscommon.zcloudrisk.facade.ZcloudRiskFacade;
|
import com.zcloud.gbscommon.zcloudrisk.facade.ZcloudRiskFacade;
|
||||||
import com.zcloud.gbscommon.dahua.facade.ZcloudDaHuaFacade;
|
|
||||||
import com.zcloud.gbscommon.dahua.cmd.DaHuaPersonSyncCmd;
|
|
||||||
import com.zcloud.gbscommon.dahua.cmd.DaHuaPersonDeleteCmd;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
|
|
@ -38,10 +38,7 @@ import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.ObjectUtils;
|
import org.springframework.util.ObjectUtils;
|
||||||
import org.springframework.web.context.request.RequestContextHolder;
|
|
||||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -80,9 +77,9 @@ public class UserUpdateExe {
|
||||||
private ZcloudHiddenFacade zcloudHiddenFacade;
|
private ZcloudHiddenFacade zcloudHiddenFacade;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
private ZcloudRiskFacade zcloudRiskFacade;
|
private ZcloudRiskFacade zcloudRiskFacade;
|
||||||
|
private final DaHuaConfig daHuaConfig;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
private ZcloudDaHuaFacade zcloudDaHuaFacade;
|
private ZcloudDaHuaFacade zcloudDaHuaFacade;
|
||||||
private final DaHuaConfig daHuaConfig;
|
|
||||||
|
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
|
@ -457,7 +454,7 @@ public class UserUpdateExe {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (daHuaConfig.getDockFlag() == null || daHuaConfig.getDockFlag() != 1) {
|
if (daHuaConfig.getDockFlag() == null || daHuaConfig.getDockFlag() != 1) {
|
||||||
log.info("大华对接未开启(dockFlag={}), 跳过同步人员更新到大华", daHuaConfig.getDockFlag());
|
log.info("大华对接未开启(dockFlag={}), 跳过更新大华人员", daHuaConfig.getDockFlag());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -468,8 +465,8 @@ public class UserUpdateExe {
|
||||||
List<DaHuaPersonSyncCmd.PersonBiosignature> bioList = (List<DaHuaPersonSyncCmd.PersonBiosignature>) biosObj;
|
List<DaHuaPersonSyncCmd.PersonBiosignature> bioList = (List<DaHuaPersonSyncCmd.PersonBiosignature>) biosObj;
|
||||||
cmd.setPersonBiosignatures(bioList);
|
cmd.setPersonBiosignatures(bioList);
|
||||||
}
|
}
|
||||||
log.info("Dubbo调用zcloudDaHuaFacade.updatePerson, id={}, name={}, departmentId(corpId)={}",
|
log.info("Dubbo调用primeport.zcloudDaHuaFacade.updatePerson, name={}, departmentId(corpId)={}",
|
||||||
cmd.getId(), cmd.getName(), cmd.getDepartmentId());
|
cmd.getName(), cmd.getDepartmentId());
|
||||||
SingleResponse<Boolean> updateResp = zcloudDaHuaFacade.updatePerson(cmd);
|
SingleResponse<Boolean> updateResp = zcloudDaHuaFacade.updatePerson(cmd);
|
||||||
String maskedIdCard = plainIdCard;
|
String maskedIdCard = plainIdCard;
|
||||||
if (plainIdCard != null && plainIdCard.length() >= 14) {
|
if (plainIdCard != null && plainIdCard.length() >= 14) {
|
||||||
|
|
@ -770,16 +767,15 @@ public class UserUpdateExe {
|
||||||
if (dahuaId != null) {
|
if (dahuaId != null) {
|
||||||
log.info("【离职-同步删除大华人员】userId={}, name={}, dahuaId={}", userDO.getId(), userDO.getName(), dahuaId);
|
log.info("【离职-同步删除大华人员】userId={}, name={}, dahuaId={}", userDO.getId(), userDO.getName(), dahuaId);
|
||||||
if (daHuaConfig.getDockFlag() == null || daHuaConfig.getDockFlag() != 1) {
|
if (daHuaConfig.getDockFlag() == null || daHuaConfig.getDockFlag() != 1) {
|
||||||
log.info("大华对接未开启(dockFlag={}), 跳过删除大华人员, dahuaId={}", daHuaConfig.getDockFlag(), dahuaId);
|
log.info("【离职-大华删除跳过】dockFlag未开启, userId={}", userDO.getId());
|
||||||
} else {
|
} else {
|
||||||
DaHuaPersonDeleteCmd delCmd = new DaHuaPersonDeleteCmd();
|
DaHuaPersonDeleteCmd delCmd = new DaHuaPersonDeleteCmd();
|
||||||
delCmd.setIds(Collections.singletonList(dahuaId.longValue()));
|
delCmd.setIds(Collections.singletonList(dahuaId.longValue()));
|
||||||
log.info("Dubbo调用zcloudDaHuaFacade.deletePerson, dahuaId={}", dahuaId);
|
|
||||||
SingleResponse<Boolean> delResp = zcloudDaHuaFacade.deletePerson(delCmd);
|
SingleResponse<Boolean> delResp = zcloudDaHuaFacade.deletePerson(delCmd);
|
||||||
if (delResp == null || !delResp.isSuccess()) {
|
if (delResp == null || !delResp.isSuccess()) {
|
||||||
String errCode = delResp == null ? "" : delResp.getErrCode();
|
String errCode = delResp == null ? "" : delResp.getErrCode();
|
||||||
String errMessage = delResp == null ? "大华Dubbo返回为空" : delResp.getErrMessage();
|
String errMessage = delResp == null ? "大华Dubbo返回为空" : delResp.getErrMessage();
|
||||||
if (errMessage == null || errMessage.trim().isEmpty()) errMessage = "删除大华人员失败";
|
if (errMessage == null || errMessage.trim().isEmpty()) errMessage = "大华人员删除失败";
|
||||||
log.error("【离职-大华删除失败→触发本地回滚】userId={}, dahuaId={}, errCode={}, errMessage={}",
|
log.error("【离职-大华删除失败→触发本地回滚】userId={}, dahuaId={}, errCode={}, errMessage={}",
|
||||||
userDO.getId(), dahuaId, errCode, errMessage);
|
userDO.getId(), dahuaId, errCode, errMessage);
|
||||||
throw new BizException("同步大华平台删除离职人员失败:" + errMessage);
|
throw new BizException("同步大华平台删除离职人员失败:" + errMessage);
|
||||||
|
|
@ -1013,6 +1009,10 @@ public class UserUpdateExe {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<UserJobHandoverDO> collectUserJob(Long userId, Long departmentId, Long corpinfoId, String userChangeRecordId) {
|
||||||
|
return getUserJob(userId, corpinfoId, userChangeRecordId);
|
||||||
|
}
|
||||||
|
|
||||||
private List<UserJobHandoverDO> getUserJob(Long userId, Long corpinfoId, String userChangeRecordId) {
|
private List<UserJobHandoverDO> getUserJob(Long userId, Long corpinfoId, String userChangeRecordId) {
|
||||||
List<UserJobHandoverDO> allJob = new ArrayList<>();
|
List<UserJobHandoverDO> allJob = new ArrayList<>();
|
||||||
//隐患id
|
//隐患id
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue