大华人员根据身份证查询信息

dev
zhangxiongfeng 2026-08-11 14:23:58 +08:00
parent 71e17af9b9
commit 55f4b32ef1
5 changed files with 70 additions and 19 deletions

View File

@ -142,22 +142,12 @@ public class DaHuaVehicleSyncExe {
cmd.setValidStartTime(vehicle.getVisitStartTime()); cmd.setValidStartTime(vehicle.getVisitStartTime());
cmd.setValidEndTime(vehicle.getVisitEndTime()); cmd.setValidEndTime(vehicle.getVisitEndTime());
Long departmentId = null; cmd.setDepartmentId(1L);
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(); DaHuaTempVehicleSaveCmd.CarItem carItem = new DaHuaTempVehicleSaveCmd.CarItem();
carItem.setCarNum(vehicle.getLicenceNo()); carItem.setCarNum(vehicle.getLicenceNo());
carItem.setCarNumColor(CarEnum.getMenuKeyByPath(vehicle.getLicenceType())); carItem.setCarNumColor(CarEnum.getMenuKeyByPath(vehicle.getLicenceType()));
carItem.setDepartmentId(departmentId); carItem.setDepartmentId(1L);
carItem.setDepartmentName(vehicle.getVehicleDepartmentName()); carItem.setDepartmentName(vehicle.getVehicleDepartmentName());
cmd.setCars(Collections.singletonList(carItem)); cmd.setCars(Collections.singletonList(carItem));
return cmd; return cmd;

View File

@ -43,6 +43,23 @@ public class DaHuaServiceImpl implements ZcloudDaHuaFacade {
return SingleResponse.of(id); return SingleResponse.of(id);
} }
@Override
public SingleResponse<Map<String, Object>> findPersonByPaperNumber(String paperNumber) {
Map<String, Object> 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<String, Object> dhData = (Map<String, Object>) queryResult.get("data");
SingleResponse<Map<String, Object>> resp = new SingleResponse<>();
resp.setSuccess(dhSuccess != null ? dhSuccess : passed);
resp.setErrCode(dhCode);
resp.setErrMessage(dhErrMsg);
resp.setData(dhData);
return resp;
}
@Override @Override
public SingleResponse<Object> syncPerson(DaHuaPersonSyncCmd cmd) { public SingleResponse<Object> syncPerson(DaHuaPersonSyncCmd cmd) {
cmd.setDepartmentId(resolveDahuaDeptId(cmd.getDepartmentId())); cmd.setDepartmentId(resolveDahuaDeptId(cmd.getDepartmentId()));
@ -190,20 +207,20 @@ public class DaHuaServiceImpl implements ZcloudDaHuaFacade {
@Override @Override
public SingleResponse<Object> saveTempVehicle(DaHuaTempVehicleSaveCmd cmd) { public SingleResponse<Object> saveTempVehicle(DaHuaTempVehicleSaveCmd cmd) {
cmd.setDepartmentId(resolveDahuaDeptId(cmd.getDepartmentId())); cmd.setDepartmentId(1L);
if (cmd.getDepartmentList() != null) { if (cmd.getDepartmentList() != null) {
for (DaHuaTempVehicleSaveCmd.DepartmentItem item : cmd.getDepartmentList()) { for (DaHuaTempVehicleSaveCmd.DepartmentItem item : cmd.getDepartmentList()) {
item.setDepartmentId(resolveDahuaDeptId(item.getDepartmentId())); item.setDepartmentId(1L);
} }
} }
if (cmd.getCards() != null) { if (cmd.getCards() != null) {
for (DaHuaTempVehicleSaveCmd.CardItem card : cmd.getCards()) { for (DaHuaTempVehicleSaveCmd.CardItem card : cmd.getCards()) {
card.setDepartmentId(resolveDahuaDeptId(card.getDepartmentId())); card.setDepartmentId(1L);
} }
} }
if (cmd.getCars() != null) { if (cmd.getCars() != null) {
for (DaHuaTempVehicleSaveCmd.CarItem car : cmd.getCars()) { for (DaHuaTempVehicleSaveCmd.CarItem car : cmd.getCars()) {
car.setDepartmentId(resolveDahuaDeptId(car.getDepartmentId())); car.setDepartmentId(1L);
} }
} }
Map<String, Object> saveResult = daHuaGateway.saveTempVehicle(cmd); Map<String, Object> saveResult = daHuaGateway.saveTempVehicle(cmd);

View File

@ -41,4 +41,6 @@ public interface DaHuaServiceI {
SingleResponse<Object> saveTempVehicle(DaHuaTempVehicleSaveCmd cmd); SingleResponse<Object> saveTempVehicle(DaHuaTempVehicleSaveCmd cmd);
SingleResponse<DaHuaResourceSyncResultCO> syncResources(DaHuaResourceSyncCmd cmd); SingleResponse<DaHuaResourceSyncResultCO> syncResources(DaHuaResourceSyncCmd cmd);
SingleResponse<Map<String, Object>> findPersonByPaperNumber(String paperNumber);
} }

View File

@ -15,6 +15,8 @@ public interface DaHuaGateway {
Long findPersonIdByPaperNumber(String paperNumber); Long findPersonIdByPaperNumber(String paperNumber);
Map<String, Object> findPersonByPaperNumber(String paperNumber);
Map<String, Object> syncPerson(DaHuaPersonSyncCmd cmd); Map<String, Object> syncPerson(DaHuaPersonSyncCmd cmd);
Map<String, Object> updatePerson(DaHuaPersonSyncCmd cmd); Map<String, Object> updatePerson(DaHuaPersonSyncCmd cmd);

View File

@ -107,6 +107,46 @@ public class DaHuaGatewayImpl implements DaHuaGateway {
} }
} }
@Override
public Map<String, Object> findPersonByPaperNumber(String paperNumber) {
if (daHuaPersonApi == null || !daHuaPersonApi.isConfigured()) {
throw new RuntimeException("大华服务未配置");
}
try {
GeneralResponse response = daHuaPersonApi.getPersonByPaperNumber(paperNumber);
Map<String, Object> 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<String, Object> errorResult = new HashMap<>();
errorResult.put("passed", false);
errorResult.put("success", false);
errorResult.put("errMsg", "查询大华人员异常: " + e.getMessage());
errorResult.put("data", new HashMap<>());
return errorResult;
}
}
@Override @Override
public Map<String, Object> syncPerson(DaHuaPersonSyncCmd cmd) { public Map<String, Object> syncPerson(DaHuaPersonSyncCmd cmd) {
if (daHuaPersonApi == null || !daHuaPersonApi.isConfigured()) { if (daHuaPersonApi == null || !daHuaPersonApi.isConfigured()) {