Merge branch 'dev'
commit
2b6aeb7685
|
|
@ -142,22 +142,12 @@ public class DaHuaVehicleSyncExe {
|
|||
cmd.setValidStartTime(vehicle.getVisitStartTime());
|
||||
cmd.setValidEndTime(vehicle.getVisitEndTime());
|
||||
|
||||
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);
|
||||
cmd.setDepartmentId(1L);
|
||||
|
||||
DaHuaTempVehicleSaveCmd.CarItem carItem = new DaHuaTempVehicleSaveCmd.CarItem();
|
||||
carItem.setCarNum(vehicle.getLicenceNo());
|
||||
carItem.setCarNumColor(CarEnum.getMenuKeyByPath(vehicle.getLicenceType()));
|
||||
carItem.setDepartmentId(departmentId);
|
||||
carItem.setDepartmentId(1L);
|
||||
carItem.setDepartmentName(vehicle.getVehicleDepartmentName());
|
||||
cmd.setCars(Collections.singletonList(carItem));
|
||||
return cmd;
|
||||
|
|
|
|||
|
|
@ -43,6 +43,23 @@ public class DaHuaServiceImpl implements ZcloudDaHuaFacade {
|
|||
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
|
||||
public SingleResponse<Object> syncPerson(DaHuaPersonSyncCmd cmd) {
|
||||
cmd.setDepartmentId(resolveDahuaDeptId(cmd.getDepartmentId()));
|
||||
|
|
@ -190,20 +207,20 @@ public class DaHuaServiceImpl implements ZcloudDaHuaFacade {
|
|||
|
||||
@Override
|
||||
public SingleResponse<Object> saveTempVehicle(DaHuaTempVehicleSaveCmd cmd) {
|
||||
cmd.setDepartmentId(resolveDahuaDeptId(cmd.getDepartmentId()));
|
||||
cmd.setDepartmentId(1L);
|
||||
if (cmd.getDepartmentList() != null) {
|
||||
for (DaHuaTempVehicleSaveCmd.DepartmentItem item : cmd.getDepartmentList()) {
|
||||
item.setDepartmentId(resolveDahuaDeptId(item.getDepartmentId()));
|
||||
item.setDepartmentId(1L);
|
||||
}
|
||||
}
|
||||
if (cmd.getCards() != null) {
|
||||
for (DaHuaTempVehicleSaveCmd.CardItem card : cmd.getCards()) {
|
||||
card.setDepartmentId(resolveDahuaDeptId(card.getDepartmentId()));
|
||||
card.setDepartmentId(1L);
|
||||
}
|
||||
}
|
||||
if (cmd.getCars() != null) {
|
||||
for (DaHuaTempVehicleSaveCmd.CarItem car : cmd.getCars()) {
|
||||
car.setDepartmentId(resolveDahuaDeptId(car.getDepartmentId()));
|
||||
car.setDepartmentId(1L);
|
||||
}
|
||||
}
|
||||
Map<String, Object> saveResult = daHuaGateway.saveTempVehicle(cmd);
|
||||
|
|
|
|||
|
|
@ -41,4 +41,6 @@ public interface DaHuaServiceI {
|
|||
SingleResponse<Object> saveTempVehicle(DaHuaTempVehicleSaveCmd cmd);
|
||||
|
||||
SingleResponse<DaHuaResourceSyncResultCO> syncResources(DaHuaResourceSyncCmd cmd);
|
||||
}
|
||||
|
||||
SingleResponse<Map<String, Object>> findPersonByPaperNumber(String paperNumber);
|
||||
}
|
||||
|
|
@ -24,9 +24,9 @@ public class VideoAddCmd extends Command {
|
|||
@ApiModelProperty(value = "口门/闸机id 外键id ", name = "foreignId", required = true)
|
||||
@NotNull(message = "口门/闸机id 外键id 不能为空")
|
||||
private Long foreignId;
|
||||
@ApiModelProperty(value = "设备类型(1-口门 2-闸机)", name = "deviceType", required = true)
|
||||
@NotNull(message = "设备类型(1-口门 2-闸机)不能为空")
|
||||
private Integer deviceType;
|
||||
// @ApiModelProperty(value = "设备类型(1-口门 2-闸机)", name = "deviceType", required = true)
|
||||
// @NotNull(message = "设备类型(1-口门 2-闸机)不能为空")
|
||||
// private Integer deviceType;
|
||||
@ApiModelProperty(value = "摄像头id", name = "videoResourceId", required = true)
|
||||
@NotEmpty(message = "摄像头id不能为空")
|
||||
private String videoResourceId;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@ public interface DaHuaGateway {
|
|||
|
||||
Long findPersonIdByPaperNumber(String paperNumber);
|
||||
|
||||
Map<String, Object> findPersonByPaperNumber(String paperNumber);
|
||||
|
||||
Map<String, Object> syncPerson(DaHuaPersonSyncCmd cmd);
|
||||
|
||||
Map<String, Object> updatePerson(DaHuaPersonSyncCmd cmd);
|
||||
|
|
@ -38,4 +40,4 @@ public interface DaHuaGateway {
|
|||
Map<String, Object> saveTempVehicle(DaHuaTempVehicleSaveCmd cmd);
|
||||
|
||||
Long findDahuaDepartmentIdByCorpId(Long corpId);
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
||||
public Map<String, Object> syncPerson(DaHuaPersonSyncCmd cmd) {
|
||||
if (daHuaPersonApi == null || !daHuaPersonApi.isConfigured()) {
|
||||
|
|
@ -1237,4 +1277,4 @@ public class DaHuaGatewayImpl implements DaHuaGateway {
|
|||
}
|
||||
return mapping.getDahuaDepartmentId();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -120,16 +120,15 @@
|
|||
corp_info c
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
COUNT( u.id ) user_count,
|
||||
u.corpinfo_id
|
||||
COUNT( r.id ) user_count,
|
||||
r.corp_id
|
||||
FROM
|
||||
`user` u
|
||||
dahua_access_record r
|
||||
WHERE
|
||||
u.delete_enum = 'FALSE'
|
||||
AND u.main_corp_flag = 0
|
||||
r.open_type = 3
|
||||
GROUP BY
|
||||
u.corpinfo_id
|
||||
) utmp ON c.id = utmp.corpinfo_id
|
||||
r.corp_id
|
||||
) utmp ON c.id = utmp.corp_id
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
u.corpinfo_id,
|
||||
|
|
@ -148,16 +147,15 @@
|
|||
) prtmp ON c.id = prtmp.corpinfo_id
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
va.vehicle_corp_id,
|
||||
COUNT(va.id) pub_car_count
|
||||
r.corp_id,
|
||||
COUNT(r.id) pub_car_count
|
||||
FROM
|
||||
`vehicle_apply` va WHERE va.delete_enum = 'FALSE'
|
||||
<if test="params.corpType != null">
|
||||
<if test="params.corpType == 1"> and va.vehicle_belong_type in (2,4) </if>
|
||||
<if test="params.corpType == 2"> and va.vehicle_belong_type = 8 </if>
|
||||
</if>
|
||||
dahua_vehicle_access_record r
|
||||
WHERE
|
||||
r.exit_time IS NOT NULL
|
||||
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
|
||||
c.delete_enum = 'FALSE'
|
||||
<if test="params.corpType != null">
|
||||
|
|
@ -235,5 +233,4 @@
|
|||
</foreach>
|
||||
ORDER BY id DESC
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue