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); hikvisionCall.addCarInfoFromHttp(carInfo);
} catch (Exception e) { } catch (Exception e) {
log.error("海康:", 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); hikvisionCall.editCarInfoForHikvision(carInfo);
} catch (Exception e) { } catch (Exception e) {
log.error("海康:", e); log.error("海康:", e);
sendNoticeForCar(carInfo, e, "编辑");
} }
} }
@ -113,6 +124,7 @@ public class AsyncHikvision {
hikvisionCall.deleteCarInfoForHikvision(carInfo); hikvisionCall.deleteCarInfoForHikvision(carInfo);
} catch (Exception e) { } catch (Exception e) {
log.error("海康:", e); log.error("海康:", e);
sendNoticeForCar(carInfo, e, "删除");
} }
} }

View File

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