Merge branch 'dev_dahua_department' into dev
commit
d4a7f92806
|
|
@ -1,10 +1,10 @@
|
||||||
package com.zcloud.primeport.command;
|
package com.zcloud.primeport.command;
|
||||||
|
|
||||||
import com.alibaba.cola.exception.BizException;
|
import com.alibaba.cola.exception.BizException;
|
||||||
import com.zcloud.gbscommon.dahua.cmd.DaHuaPersonSyncCmd;
|
|
||||||
import com.zcloud.gbscommon.utils.Base64Util;
|
import com.zcloud.gbscommon.utils.Base64Util;
|
||||||
import com.zcloud.primeport.domain.gateway.DaHuaGateway;
|
import com.zcloud.primeport.domain.gateway.DaHuaGateway;
|
||||||
import com.zcloud.primeport.domain.gateway.PersonApplyGateway;
|
import com.zcloud.primeport.domain.gateway.PersonApplyGateway;
|
||||||
|
import com.zcloud.primeport.domain.model.DaHuaPersonSyncCmd;
|
||||||
import com.zcloud.primeport.domain.model.PersonApplyE;
|
import com.zcloud.primeport.domain.model.PersonApplyE;
|
||||||
import com.zcloud.primeport.domain.model.XgfApplyPersonE;
|
import com.zcloud.primeport.domain.model.XgfApplyPersonE;
|
||||||
import com.zcloud.primeport.dto.PersonApplyUpdateCmd;
|
import com.zcloud.primeport.dto.PersonApplyUpdateCmd;
|
||||||
|
|
@ -53,7 +53,7 @@ public class DaHuaPersonSyncExe {
|
||||||
Long dahuaPersonId = daHuaGateway.findPersonIdByPaperNumber(paperNumber);
|
Long dahuaPersonId = daHuaGateway.findPersonIdByPaperNumber(paperNumber);
|
||||||
DaHuaPersonSyncCmd syncCmd = buildSyncCmd(dahuaPersonId, person.getEmployeePersonUserName(),
|
DaHuaPersonSyncCmd syncCmd = buildSyncCmd(dahuaPersonId, person.getEmployeePersonUserName(),
|
||||||
paperNumber, person.getUserPhone(), person.getUserFaceUrl(),
|
paperNumber, person.getUserPhone(), person.getUserFaceUrl(),
|
||||||
apply.getVisitStartTime(), apply.getVisitEndTime(), person.getPersonCorpId());
|
apply.getVisitStartTime(), apply.getVisitEndTime());
|
||||||
Map<String, Object> result;
|
Map<String, Object> result;
|
||||||
if (dahuaPersonId == null) {
|
if (dahuaPersonId == null) {
|
||||||
syncCmd.setId(daHuaGateway.generatePersonId());
|
syncCmd.setId(daHuaGateway.generatePersonId());
|
||||||
|
|
@ -80,7 +80,7 @@ public class DaHuaPersonSyncExe {
|
||||||
String updatedPaperNumber = decodeUserCard(updated.getUserCard());
|
String updatedPaperNumber = decodeUserCard(updated.getUserCard());
|
||||||
DaHuaPersonSyncCmd syncCmd = buildSyncCmd(dahuaPersonId, updated.getEmployeePersonUserName(),
|
DaHuaPersonSyncCmd syncCmd = buildSyncCmd(dahuaPersonId, updated.getEmployeePersonUserName(),
|
||||||
updatedPaperNumber, updated.getUserPhone(), updated.getUserFaceUrl(),
|
updatedPaperNumber, updated.getUserPhone(), updated.getUserFaceUrl(),
|
||||||
updated.getVisitStartTime(), updated.getVisitEndTime(), updated.getPersonCorpId());
|
updated.getVisitStartTime(), updated.getVisitEndTime());
|
||||||
checkResult(daHuaGateway.updatePerson(syncCmd), "修改大华人员失败");
|
checkResult(daHuaGateway.updatePerson(syncCmd), "修改大华人员失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -108,7 +108,7 @@ public class DaHuaPersonSyncExe {
|
||||||
}
|
}
|
||||||
|
|
||||||
private DaHuaPersonSyncCmd buildSyncCmd(Long id, String name, String paperNumber, String phone,
|
private DaHuaPersonSyncCmd buildSyncCmd(Long id, String name, String paperNumber, String phone,
|
||||||
String faceUrl, String startTime, String endTime, Long corpId) {
|
String faceUrl, String startTime, String endTime) {
|
||||||
DaHuaPersonSyncCmd cmd = new DaHuaPersonSyncCmd();
|
DaHuaPersonSyncCmd cmd = new DaHuaPersonSyncCmd();
|
||||||
cmd.setService("evo-thirdParty");
|
cmd.setService("evo-thirdParty");
|
||||||
cmd.setId(id);
|
cmd.setId(id);
|
||||||
|
|
@ -116,11 +116,7 @@ public class DaHuaPersonSyncExe {
|
||||||
cmd.setCode("hbqa" + paperNumber);
|
cmd.setCode("hbqa" + paperNumber);
|
||||||
cmd.setPaperType(111);
|
cmd.setPaperType(111);
|
||||||
cmd.setPaperNumber(paperNumber);
|
cmd.setPaperNumber(paperNumber);
|
||||||
Long dahuaDeptId = daHuaGateway.findDahuaDepartmentIdByCorpId(corpId);
|
cmd.setDepartmentId(1L);
|
||||||
if (dahuaDeptId == null) {
|
|
||||||
throw new BizException("未找到大华部门映射配置, corpId=" + corpId);
|
|
||||||
}
|
|
||||||
cmd.setDepartmentId(dahuaDeptId);
|
|
||||||
cmd.setDepartmentType(2);
|
cmd.setDepartmentType(2);
|
||||||
cmd.setType(3);
|
cmd.setType(3);
|
||||||
cmd.setPhone(phone);
|
cmd.setPhone(phone);
|
||||||
|
|
@ -130,6 +126,7 @@ public class DaHuaPersonSyncExe {
|
||||||
DaHuaPersonSyncCmd.PersonBiosignature face = new DaHuaPersonSyncCmd.PersonBiosignature();
|
DaHuaPersonSyncCmd.PersonBiosignature face = new DaHuaPersonSyncCmd.PersonBiosignature();
|
||||||
face.setType(3);
|
face.setType(3);
|
||||||
face.setIndex(1);
|
face.setIndex(1);
|
||||||
|
// userFaceUrl 是文件服务器相对路径,读取图片并转换为 Base64 后交给大华网关。
|
||||||
face.setBase64Data(resolveFaceBase64(faceUrl));
|
face.setBase64Data(resolveFaceBase64(faceUrl));
|
||||||
cmd.setPersonBiosignatures(Collections.singletonList(face));
|
cmd.setPersonBiosignatures(Collections.singletonList(face));
|
||||||
return cmd;
|
return cmd;
|
||||||
|
|
@ -188,4 +185,4 @@ public class DaHuaPersonSyncExe {
|
||||||
throw new BizException(message + (errorMessage == null ? "" : ": " + errorMessage));
|
throw new BizException(message + (errorMessage == null ? "" : ": " + errorMessage));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
package com.zcloud.primeport.command;
|
package com.zcloud.primeport.command;
|
||||||
|
|
||||||
import com.alibaba.cola.exception.BizException;
|
import com.alibaba.cola.exception.BizException;
|
||||||
import com.zcloud.gbscommon.dahua.cmd.DaHuaCarAddCmd;
|
|
||||||
import com.zcloud.primeport.domain.enums.VehicleBelongTypeEnum;
|
import com.zcloud.primeport.domain.enums.VehicleBelongTypeEnum;
|
||||||
import com.zcloud.primeport.domain.gateway.DaHuaGateway;
|
import com.zcloud.primeport.domain.gateway.DaHuaGateway;
|
||||||
import com.zcloud.primeport.domain.gateway.VehicleApplyGateway;
|
import com.zcloud.primeport.domain.gateway.VehicleApplyGateway;
|
||||||
|
import com.zcloud.primeport.domain.model.DaHuaCarAddCmd;
|
||||||
import com.zcloud.primeport.domain.model.VehicleApplyE;
|
import com.zcloud.primeport.domain.model.VehicleApplyE;
|
||||||
import com.zcloud.primeport.plan.mjDevice.dto.CarEnum;
|
import com.zcloud.primeport.plan.mjDevice.dto.CarEnum;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
|
|
@ -25,18 +25,18 @@ public class DaHuaVehicleSyncExe {
|
||||||
private final VehicleApplyGateway vehicleApplyGateway;
|
private final VehicleApplyGateway vehicleApplyGateway;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 车辆审核通过后,同步新增大华车辆(所有车辆类型均同步)。
|
* 相关方车辆审核通过后,同步新增大华车辆。
|
||||||
*/
|
*/
|
||||||
public void syncApprovedVehicle(Long vehicleApplyId) {
|
public void syncApprovedVehicle(Long vehicleApplyId) {
|
||||||
VehicleApplyE vehicle = vehicleApplyGateway.getById(vehicleApplyId);
|
VehicleApplyE vehicle = vehicleApplyGateway.getById(vehicleApplyId);
|
||||||
if (vehicle == null) {
|
if (!isRelatedPartyVehicle(vehicle)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
syncAddedVehicle(vehicle);
|
syncAddedVehicle(vehicle);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除车辆时,同步删除对应的大华车辆(所有车辆类型均同步)。
|
* 删除相关方车辆时,同步删除对应的大华车辆。
|
||||||
*/
|
*/
|
||||||
public void syncDeletedVehicles(List<VehicleApplyE> vehicles) {
|
public void syncDeletedVehicles(List<VehicleApplyE> vehicles) {
|
||||||
if (vehicles == null || vehicles.isEmpty()) {
|
if (vehicles == null || vehicles.isEmpty()) {
|
||||||
|
|
@ -44,7 +44,7 @@ public class DaHuaVehicleSyncExe {
|
||||||
}
|
}
|
||||||
List<String> carNumList = new ArrayList<>();
|
List<String> carNumList = new ArrayList<>();
|
||||||
for (VehicleApplyE vehicle : vehicles) {
|
for (VehicleApplyE vehicle : vehicles) {
|
||||||
if (vehicle != null && vehicle.getLicenceNo() != null) {
|
if (isRelatedPartyVehicle(vehicle)) {
|
||||||
carNumList.add(vehicle.getLicenceNo());
|
carNumList.add(vehicle.getLicenceNo());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -61,11 +61,8 @@ public class DaHuaVehicleSyncExe {
|
||||||
DaHuaCarAddCmd cmd = new DaHuaCarAddCmd();
|
DaHuaCarAddCmd cmd = new DaHuaCarAddCmd();
|
||||||
cmd.setCarNum(vehicle.getLicenceNo());
|
cmd.setCarNum(vehicle.getLicenceNo());
|
||||||
cmd.setCarNumColor(CarEnum.getMenuKeyByPath(vehicle.getLicenceType()));
|
cmd.setCarNumColor(CarEnum.getMenuKeyByPath(vehicle.getLicenceType()));
|
||||||
Long dahuaDeptId = daHuaGateway.findDahuaDepartmentIdByCorpId(vehicle.getVehicleCorpId());
|
// 大华车辆类型与本地字典不一致,该字段可选,不能直接透传本地 vehicleType。
|
||||||
if (dahuaDeptId == null) {
|
cmd.setDepartmentId(1L);
|
||||||
throw new BizException("未找到大华部门映射配置, corpId=" + vehicle.getVehicleCorpId());
|
|
||||||
}
|
|
||||||
cmd.setDepartmentId(dahuaDeptId);
|
|
||||||
cmd.setDepartmentName(vehicle.getVehicleDepartmentName());
|
cmd.setDepartmentName(vehicle.getVehicleDepartmentName());
|
||||||
cmd.setService("evo-thirdParty");
|
cmd.setService("evo-thirdParty");
|
||||||
return cmd;
|
return cmd;
|
||||||
|
|
@ -82,4 +79,4 @@ public class DaHuaVehicleSyncExe {
|
||||||
throw new BizException(message + (errorMessage == null ? "" : ": " + errorMessage));
|
throw new BizException(message + (errorMessage == null ? "" : ": " + errorMessage));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,9 @@
|
||||||
package com.zcloud.primeport.domain.gateway;
|
package com.zcloud.primeport.domain.gateway;
|
||||||
|
|
||||||
import com.zcloud.gbscommon.dahua.cmd.DaHuaAccessRecordCmd;
|
import com.zcloud.primeport.domain.model.DaHuaAccessRecordCmd;
|
||||||
import com.zcloud.gbscommon.dahua.cmd.DaHuaCarAddCmd;
|
import com.zcloud.primeport.domain.model.DaHuaCarAddCmd;
|
||||||
import com.zcloud.gbscommon.dahua.cmd.DaHuaCarPageCmd;
|
import com.zcloud.primeport.domain.model.DaHuaCarPageCmd;
|
||||||
import com.zcloud.gbscommon.dahua.cmd.DaHuaPersonSyncCmd;
|
import com.zcloud.primeport.domain.model.DaHuaPersonSyncCmd;
|
||||||
import com.zcloud.gbscommon.dahua.cmd.DaHuaTempVehicleSaveCmd;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -30,10 +29,4 @@ public interface DaHuaGateway {
|
||||||
Map<String, Object> deleteCar(List<String> carNumList);
|
Map<String, Object> deleteCar(List<String> carNumList);
|
||||||
|
|
||||||
Map<String, Object> queryAccessRecord(DaHuaAccessRecordCmd cmd);
|
Map<String, Object> queryAccessRecord(DaHuaAccessRecordCmd cmd);
|
||||||
|
}
|
||||||
String uploadPersonImg(String imageBase64);
|
|
||||||
|
|
||||||
Map<String, Object> saveTempVehicle(DaHuaTempVehicleSaveCmd cmd);
|
|
||||||
|
|
||||||
Long findDahuaDepartmentIdByCorpId(Long corpId);
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -25,9 +25,6 @@ public class DaHuaPersonApi {
|
||||||
private static final String CAR_PAGE_URL = "/evo-apigw/evo-brm/1.2.0/car/subsystem/page";
|
private static final String CAR_PAGE_URL = "/evo-apigw/evo-brm/1.2.0/car/subsystem/page";
|
||||||
private static final String CAR_DELETE_URL = "/evo-apigw/evo-brm/1.0.0/car/delete";
|
private static final String CAR_DELETE_URL = "/evo-apigw/evo-brm/1.0.0/car/delete";
|
||||||
private static final String ACCESS_RECORD_URL = "/evo-apigw/evo-accesscontrol/1.0.0/card/accessControl/swingCardRecord/bycondition/combined";
|
private static final String ACCESS_RECORD_URL = "/evo-apigw/evo-accesscontrol/1.0.0/card/accessControl/swingCardRecord/bycondition/combined";
|
||||||
private static final String PERSON_UPLOAD_IMG_URL = "/evo-apigw/evo-brm/1.0.0/person/subsystem/third/upload/img";
|
|
||||||
private static final String PERSON_SAVE_ALL_URL = "/evo-apigw/evo-brm/1.2.0/person/subsystem/save-person-all";
|
|
||||||
private static final String TEMP_VEHICLE_AUDIT_SAVE_URL = "/evo-apigw/evo-brm/1.2.0/person/subsystem/temp-vehicle/audit-save";
|
|
||||||
|
|
||||||
public boolean isConfigured() {
|
public boolean isConfigured() {
|
||||||
return daHuaApiClient != null;
|
return daHuaApiClient != null;
|
||||||
|
|
@ -134,36 +131,4 @@ public class DaHuaPersonApi {
|
||||||
headers.put("Authorization", "bearer " + token);
|
headers.put("Authorization", "bearer " + token);
|
||||||
return daHuaApiClient.postJson(ACCESS_RECORD_URL, body, headers);
|
return daHuaApiClient.postJson(ACCESS_RECORD_URL, body, headers);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
public GeneralResponse uploadPersonImg(String imageBase64) throws ClientException {
|
|
||||||
if (daHuaApiClient == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
String token = daHuaApiClient.getToken();
|
|
||||||
Map<String, String> headers = new HashMap<>();
|
|
||||||
headers.put("Authorization", "bearer " + token);
|
|
||||||
Map<String, Object> body = new HashMap<>();
|
|
||||||
body.put("imageBase64", imageBase64);
|
|
||||||
return daHuaApiClient.postJson(PERSON_UPLOAD_IMG_URL, body, headers);
|
|
||||||
}
|
|
||||||
|
|
||||||
public GeneralResponse savePersonAll(Map<String, Object> body) throws ClientException {
|
|
||||||
if (daHuaApiClient == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
String token = daHuaApiClient.getToken();
|
|
||||||
Map<String, String> headers = new HashMap<>();
|
|
||||||
headers.put("Authorization", "bearer " + token);
|
|
||||||
return daHuaApiClient.postJson(PERSON_SAVE_ALL_URL, body, headers);
|
|
||||||
}
|
|
||||||
|
|
||||||
public GeneralResponse saveTempVehicleAudit(Map<String, Object> body) throws ClientException {
|
|
||||||
if (daHuaApiClient == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
String token = daHuaApiClient.getToken();
|
|
||||||
Map<String, String> headers = new HashMap<>();
|
|
||||||
headers.put("Authorization", "bearer " + token);
|
|
||||||
return daHuaApiClient.postJson(TEMP_VEHICLE_AUDIT_SAVE_URL, body, headers);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue