Merge branch 'dev'

dev_km_logs
zhaokai 2026-08-11 18:57:38 +08:00
commit 2b6aeb7685
7 changed files with 87 additions and 39 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

@ -24,9 +24,9 @@ public class VideoAddCmd extends Command {
@ApiModelProperty(value = "口门/闸机id 外键id ", name = "foreignId", required = true) @ApiModelProperty(value = "口门/闸机id 外键id ", name = "foreignId", required = true)
@NotNull(message = "口门/闸机id 外键id 不能为空") @NotNull(message = "口门/闸机id 外键id 不能为空")
private Long foreignId; private Long foreignId;
@ApiModelProperty(value = "设备类型1-口门 2-闸机)", name = "deviceType", required = true) // @ApiModelProperty(value = "设备类型1-口门 2-闸机)", name = "deviceType", required = true)
@NotNull(message = "设备类型1-口门 2-闸机)不能为空") // @NotNull(message = "设备类型1-口门 2-闸机)不能为空")
private Integer deviceType; // private Integer deviceType;
@ApiModelProperty(value = "摄像头id", name = "videoResourceId", required = true) @ApiModelProperty(value = "摄像头id", name = "videoResourceId", required = true)
@NotEmpty(message = "摄像头id不能为空") @NotEmpty(message = "摄像头id不能为空")
private String videoResourceId; private String videoResourceId;

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()) {

View File

@ -120,16 +120,15 @@
corp_info c corp_info c
LEFT JOIN ( LEFT JOIN (
SELECT SELECT
COUNT( u.id ) user_count, COUNT( r.id ) user_count,
u.corpinfo_id r.corp_id
FROM FROM
`user` u dahua_access_record r
WHERE WHERE
u.delete_enum = 'FALSE' r.open_type = 3
AND u.main_corp_flag = 0
GROUP BY GROUP BY
u.corpinfo_id r.corp_id
) utmp ON c.id = utmp.corpinfo_id ) utmp ON c.id = utmp.corp_id
LEFT JOIN ( LEFT JOIN (
SELECT SELECT
u.corpinfo_id, u.corpinfo_id,
@ -148,16 +147,15 @@
) prtmp ON c.id = prtmp.corpinfo_id ) prtmp ON c.id = prtmp.corpinfo_id
LEFT JOIN ( LEFT JOIN (
SELECT SELECT
va.vehicle_corp_id, r.corp_id,
COUNT(va.id) pub_car_count COUNT(r.id) pub_car_count
FROM FROM
`vehicle_apply` va WHERE va.delete_enum = 'FALSE' dahua_vehicle_access_record r
<if test="params.corpType != null"> WHERE
<if test="params.corpType == 1"> and va.vehicle_belong_type in (2,4) </if> r.exit_time IS NOT NULL
<if test="params.corpType == 2"> and va.vehicle_belong_type = 8 </if>
</if>
GROUP BY 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 WHERE
c.delete_enum = 'FALSE' c.delete_enum = 'FALSE'
<if test="params.corpType != null"> <if test="params.corpType != null">
@ -236,4 +234,3 @@
ORDER BY id DESC ORDER BY id DESC
</select> </select>
</mapper> </mapper>