bug修改

This commit is contained in:
guoshengxiong 2024-04-17 18:16:10 +08:00
parent c72d566866
commit 1cd35fdc6e
2 changed files with 48 additions and 49 deletions

View File

@ -95,6 +95,16 @@ public class AsyncHikvision {
hikvisionCall.addCarInfoFromHttp(carInfo);
} catch (Exception e) {
log.error("海康:", e);
sendNoticeForCar(carInfo, e, "添加");
}
}
private void sendNoticeForCar(CarInfo carInfo, Exception e, String action) {
if (SecurityUtils.getUser().getUserId() != null) {
String title = action + "车辆到海康isc失败";
String type = "24";
String msg = "同步失败,车牌号:" + carInfo.getCarNumber() + "。失败原因:" + e.getMessage();
noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), msg, title, type);
}
}
@ -104,6 +114,7 @@ public class AsyncHikvision {
hikvisionCall.editCarInfoForHikvision(carInfo);
} catch (Exception e) {
log.error("海康:", e);
sendNoticeForCar(carInfo, e, "编辑");
}
}
@ -113,6 +124,7 @@ public class AsyncHikvision {
hikvisionCall.deleteCarInfoForHikvision(carInfo);
} catch (Exception e) {
log.error("海康:", e);
sendNoticeForCar(carInfo, e, "删除");
}
}

View File

@ -53,7 +53,7 @@ import java.util.concurrent.CompletableFuture;
@RestController
@RequestMapping("/xmgl/hikvision")
public class HikvisionCall {
private static String FIXED_CAR_GROUP_NAME = "固定车永久通行";
private static String FIXED_CAR_GROUP_NAME = "业主车辆";
@Value("${upload.image.url.prefix:}")
private String imageUrlPrefix;
@ -1248,26 +1248,21 @@ public class HikvisionCall {
* @param carInfo
* @param project
*/
private void deleteReservationCarInfo(CarInfo carInfo, Project project) {
try {
final String ARTEMIS_PATH = "/artemis";
final String path = ARTEMIS_PATH + "/api/pms/v1/parkingSpace/reservations/deletion";
String host = "https://" + project.getArtemisConfigHost();
JSONArray reservationCarInfoList = getReservationCarInfoList(carInfo, project);
if (reservationCarInfoList != null) {
for (int i = 0; i < reservationCarInfoList.size(); i++) {
JSONObject jsonObject = reservationCarInfoList.getJSONObject(i);
String reserveOrderNo = jsonObject.getString("reserveOrderNo");
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("reserveOrderNo", reserveOrderNo);
String rs = HikvisionUtil.doPost(host, path, jsonObject1.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
sendNoticeForCarInfo("取消车位预约到海康isc", rs, carInfo);
}
private void deleteReservationCarInfo(CarInfo carInfo, Project project) throws Exception {
final String ARTEMIS_PATH = "/artemis";
final String path = ARTEMIS_PATH + "/api/pms/v1/parkingSpace/reservations/deletion";
String host = "https://" + project.getArtemisConfigHost();
JSONArray reservationCarInfoList = getReservationCarInfoList(carInfo, project);
if (reservationCarInfoList != null) {
for (int i = 0; i < reservationCarInfoList.size(); i++) {
JSONObject jsonObject = reservationCarInfoList.getJSONObject(i);
String reserveOrderNo = jsonObject.getString("reserveOrderNo");
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("reserveOrderNo", reserveOrderNo);
String rs = HikvisionUtil.doPost(host, path, jsonObject1.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
sendNoticeForCarInfo("取消车位预约到海康isc", rs, carInfo);
}
} catch (Exception e) {
log.error("error", e);
}
}
/**
@ -1647,17 +1642,13 @@ public class HikvisionCall {
* @param project
* @param carInfo
*/
public void ifReservationCar(Project project, CarInfo carInfo) {
try {
//删除预约车辆
deleteReservationCarInfo(carInfo, project);
public void ifReservationCar(Project project, CarInfo carInfo) throws Exception {
//删除预约车辆
deleteReservationCarInfo(carInfo, project);
//临时车辆预约
if (Objects.equals(carInfo.getCarModuleType(), 2)) {
reservationCarFromHttp(project, carInfo);
}
} catch (Exception e) {
log.error("error", e);
//临时车辆预约
if (Objects.equals(carInfo.getCarModuleType(), 2)) {
reservationCarFromHttp(project, carInfo);
}
}
@ -1666,30 +1657,25 @@ public class HikvisionCall {
final String path = ARTEMIS_PATH + "/api/pms/v2/parkingSpace/reservations/addition";
String host = "https://" + project.getArtemisConfigHost();
ParkReservation parkReservation = getParkReservation(project, carInfo);
if (parkReservation != null) {
String rs = HikvisionUtil.doPost(host, path, JSON.toJSONString(parkReservation), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
sendNoticeForCarInfo("添加预约车辆到海康isc", rs, carInfo);
}
String rs = HikvisionUtil.doPost(host, path, JSON.toJSONString(parkReservation), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
sendNoticeForCarInfo("添加预约车辆到海康isc", rs, carInfo);
}
private ParkReservation getParkReservation(Project project, CarInfo carInfo) throws Exception {
String parkIndexCode = getProjectParkCode(project);
if (StringUtils.isNotBlank(parkIndexCode)) {
WorkerInfo workerInfo = workerInfoMapper.selectById(carInfo.getDriverWorkerId());
ParkReservation parkReservation = new ParkReservation();
parkReservation.setParkSyscode(parkIndexCode);
parkReservation.setPlateNo(carInfo.getCarNumber());
if (workerInfo != null) {
parkReservation.setPhoneNo(workerInfo.getPhoneNumber());
parkReservation.setOwner(workerInfo.getWorkerName());
}
parkReservation.setAllowTimes(Convert.toLong(carInfo.getEntryAndExitPermit()));
parkReservation.setIsCharge("0");
parkReservation.setStartTime(DateUtil.format(carInfo.getReserveStartTime(), "yyyy-MM-dd'T'HH:mm:ss") + "+08:00");
parkReservation.setEndTime(DateUtil.format(carInfo.getReserveEndTime(), "yyyy-MM-dd'T'HH:mm:ss") + "+08:00");
return parkReservation;
WorkerInfo workerInfo = workerInfoMapper.selectById(carInfo.getDriverWorkerId());
ParkReservation parkReservation = new ParkReservation();
parkReservation.setParkSyscode(parkIndexCode);
parkReservation.setPlateNo(carInfo.getCarNumber());
if (workerInfo != null) {
parkReservation.setPhoneNo(workerInfo.getPhoneNumber());
parkReservation.setOwner(workerInfo.getWorkerName());
}
return null;
parkReservation.setAllowTimes(Convert.toLong(carInfo.getEntryAndExitPermit()));
parkReservation.setIsCharge("0");
parkReservation.setStartTime(DateUtil.format(carInfo.getReserveStartTime(), "yyyy-MM-dd'T'HH:mm:ss") + "+08:00");
parkReservation.setEndTime(DateUtil.format(carInfo.getReserveEndTime(), "yyyy-MM-dd'T'HH:mm:ss") + "+08:00");
return parkReservation;
}
/**
@ -1709,8 +1695,9 @@ public class HikvisionCall {
}
//没有一样名字的就取第一个停车场
return parkList.getJSONObject(0).getString("parkIndexCode");
} else {
throw new OpenAlertException("未查询到停车场信息");
}
return null;
}
/**