临时车辆审批修改
parent
5ea394a7b4
commit
3274e7e1bd
|
|
@ -5,39 +5,38 @@ 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.gbscommon.dahua.cmd.DaHuaCarAddCmd;
|
import com.zcloud.gbscommon.dahua.cmd.DaHuaCarAddCmd;
|
||||||
|
import com.zcloud.gbscommon.dahua.cmd.DaHuaTempVehicleSaveCmd;
|
||||||
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;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
|
||||||
* 相关方车辆同步大华平台。
|
|
||||||
*/
|
|
||||||
@Component
|
@Component
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
@Slf4j
|
||||||
public class DaHuaVehicleSyncExe {
|
public class DaHuaVehicleSyncExe {
|
||||||
|
|
||||||
private final DaHuaGateway daHuaGateway;
|
private final DaHuaGateway daHuaGateway;
|
||||||
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 (!isRelatedPartyVehicle(vehicle)) {
|
if (vehicle == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (isRelatedPartyVehicle(vehicle)) {
|
||||||
syncAddedVehicle(vehicle);
|
syncAddedVehicle(vehicle);
|
||||||
|
} else if (isTempVehicle(vehicle)) {
|
||||||
|
syncTempVehicle(vehicle);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除相关方车辆时,同步删除对应的大华车辆。
|
|
||||||
*/
|
|
||||||
public void syncDeletedVehicles(List<VehicleApplyE> vehicles) {
|
public void syncDeletedVehicles(List<VehicleApplyE> vehicles) {
|
||||||
if (vehicles == null || vehicles.isEmpty()) {
|
if (vehicles == null || vehicles.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
|
|
@ -57,22 +56,54 @@ public class DaHuaVehicleSyncExe {
|
||||||
checkResult(daHuaGateway.addCar(buildCarCmd(vehicle)), "新增大华车辆失败");
|
checkResult(daHuaGateway.addCar(buildCarCmd(vehicle)), "新增大华车辆失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void syncTempVehicle(VehicleApplyE vehicle) {
|
||||||
|
log.info("同步临时车辆到大华平台: licenceNo={}, vehicleApplyId={}", vehicle.getLicenceNo(), vehicle.getId());
|
||||||
|
Map<String, Object> result = daHuaGateway.saveTempVehicle(buildTempVehicleCmd(vehicle));
|
||||||
|
checkResult(result, "同步临时车辆到大华失败");
|
||||||
|
log.info("临时车辆同步成功: licenceNo={}", vehicle.getLicenceNo());
|
||||||
|
}
|
||||||
|
|
||||||
private DaHuaCarAddCmd buildCarCmd(VehicleApplyE vehicle) {
|
private DaHuaCarAddCmd buildCarCmd(VehicleApplyE vehicle) {
|
||||||
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()));
|
||||||
// 大华车辆类型与本地字典不一致,该字段可选,不能直接透传本地 vehicleType。
|
|
||||||
cmd.setDepartmentId(1L);
|
cmd.setDepartmentId(1L);
|
||||||
cmd.setDepartmentName(vehicle.getVehicleDepartmentName());
|
cmd.setDepartmentName(vehicle.getVehicleDepartmentName());
|
||||||
cmd.setService("evo-thirdParty");
|
cmd.setService("evo-thirdParty");
|
||||||
return cmd;
|
return cmd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private DaHuaTempVehicleSaveCmd buildTempVehicleCmd(VehicleApplyE vehicle) {
|
||||||
|
DaHuaTempVehicleSaveCmd cmd = new DaHuaTempVehicleSaveCmd();
|
||||||
|
cmd.setName(vehicle.getEmployeeVehicleUserName());
|
||||||
|
cmd.setCode(vehicle.getLsUserIdcard());
|
||||||
|
cmd.setPaperNumber(vehicle.getLsUserIdcard());
|
||||||
|
cmd.setPhone(vehicle.getLsUserPhone());
|
||||||
|
cmd.setService("evo-thirdParty");
|
||||||
|
cmd.setValidStartTime(vehicle.getVisitStartTime());
|
||||||
|
cmd.setValidEndTime(vehicle.getVisitEndTime());
|
||||||
|
if (vehicle.getVehicleCorpId() != null) {
|
||||||
|
cmd.setDepartmentId(vehicle.getVehicleCorpId());
|
||||||
|
}
|
||||||
|
DaHuaTempVehicleSaveCmd.CarItem carItem = new DaHuaTempVehicleSaveCmd.CarItem();
|
||||||
|
carItem.setCarNum(vehicle.getLicenceNo());
|
||||||
|
carItem.setCarNumColor(CarEnum.getMenuKeyByPath(vehicle.getLicenceType()));
|
||||||
|
carItem.setDepartmentId(vehicle.getVehicleCorpId());
|
||||||
|
carItem.setDepartmentName(vehicle.getVehicleDepartmentName());
|
||||||
|
cmd.setCars(Collections.singletonList(carItem));
|
||||||
|
return cmd;
|
||||||
|
}
|
||||||
|
|
||||||
private boolean isRelatedPartyVehicle(VehicleApplyE vehicle) {
|
private boolean isRelatedPartyVehicle(VehicleApplyE vehicle) {
|
||||||
return vehicle != null
|
return vehicle != null
|
||||||
&& VehicleBelongTypeEnum.XGF_VEHICLES.getCode().equals(vehicle.getVehicleBelongType());
|
&& VehicleBelongTypeEnum.XGF_VEHICLES.getCode().equals(vehicle.getVehicleBelongType());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isTempVehicle(VehicleApplyE vehicle) {
|
||||||
|
return vehicle != null
|
||||||
|
&& VehicleBelongTypeEnum.TEMP_VEHICLES.getCode().equals(vehicle.getVehicleBelongType());
|
||||||
|
}
|
||||||
|
|
||||||
private void checkResult(Map<String, Object> result, String message) {
|
private void checkResult(Map<String, Object> result, String message) {
|
||||||
if (result == null || !Boolean.TRUE.equals(result.get("passed"))) {
|
if (result == null || !Boolean.TRUE.equals(result.get("passed"))) {
|
||||||
Object errorMessage = result == null ? null : result.get("errMsg");
|
Object errorMessage = result == null ? null : result.get("errMsg");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue