车辆修改
This commit is contained in:
parent
753321e26e
commit
147e5bbbcb
@ -982,45 +982,71 @@ public class HikvisionCall {
|
||||
}
|
||||
|
||||
private void sendNoticeAndSetStatusForCarInfo(String title, String rs, CarInfo carInfo, Integer type, Integer operate) {
|
||||
boolean callSuc = HikvisionUtil.isSuccess(rs);
|
||||
sendNoticeAndSetStatusForCarInfo(title, rs, carInfo, type, operate, callSuc);
|
||||
sendNoticeAndSetStatusForCarInfo(title, rs, carInfo, type, operate, null);
|
||||
}
|
||||
|
||||
public void sendNoticeAndSetStatusForCarInfo(String title, String rs, CarInfo carInfo, Integer type, Integer operate, boolean callSuc) {
|
||||
public void sendNoticeAndSetStatusForCarInfo(String title, String rs, CarInfo carInfo, Integer type, Integer operate, Boolean success) {
|
||||
String msg;
|
||||
boolean success = false;
|
||||
if (callSuc) {
|
||||
msg = "同步成功,车牌号码:" + carInfo.getCarNumber();
|
||||
title += "成功";
|
||||
success = true;
|
||||
} else {
|
||||
if (success == null) {
|
||||
boolean callSuc = HikvisionUtil.isSuccess(rs);
|
||||
success = false;
|
||||
JSONObject jo = JSONObject.parseObject(rs);
|
||||
String code = jo.getString("code");
|
||||
if (Objects.equals(code, "0x00072202")) {
|
||||
msg = "同步成功,车牌号码:" + carInfo.getCarNumber();
|
||||
title += "成功";
|
||||
success = true;
|
||||
} else if (Objects.equals(code, "0x02e33900")) {
|
||||
String msg1 = jo.getString("msg");
|
||||
if (Objects.equals(msg1, "reservation record not existed or overdued!")) {
|
||||
if (callSuc) {
|
||||
JSONObject dataJo = jo.getJSONObject("data");
|
||||
Optional<JSONArray> fOp = Optional.ofNullable(dataJo).map(o -> o.getJSONArray("failures"));
|
||||
if (fOp.isPresent() && fOp.get().size() != 0) {
|
||||
if ("0x00052102".equals(fOp.get().getJSONObject(0).getString("code"))) {
|
||||
msg = "同步失败,车牌号码:" + carInfo.getCarNumber() + "。失败原因:车辆绑定的人员在isc不存在";
|
||||
title += "失败";
|
||||
} else {
|
||||
msg = "同步失败,车牌号码:" + carInfo.getCarNumber() + "。失败原因:下发异常";
|
||||
title += "失败";
|
||||
}
|
||||
} else {
|
||||
msg = "同步成功,车牌号码:" + carInfo.getCarNumber();
|
||||
title += "成功";
|
||||
success = true;
|
||||
}
|
||||
} else {
|
||||
if (Objects.equals(code, "0x00072202")) {
|
||||
msg = "同步成功,车牌号码:" + carInfo.getCarNumber();
|
||||
title += "成功";
|
||||
success = true;
|
||||
} else if (Objects.equals(code, "0x02e33900")) {
|
||||
String msg1 = jo.getString("msg");
|
||||
if (Objects.equals(msg1, "reservation record not existed or overdued!")) {
|
||||
msg = "同步成功,车牌号码:" + carInfo.getCarNumber();
|
||||
title += "成功";
|
||||
success = true;
|
||||
} else if (Objects.equals(msg1, "Car reservation failed! The plateNo has reserved in the parking!")) {
|
||||
msg = "同步失败,车牌号码:" + carInfo.getCarNumber() + "。失败原因:车辆预约记录已存在";
|
||||
title += "失败";
|
||||
} else {
|
||||
msg = "同步失败,车牌号码:" + carInfo.getCarNumber() + "。失败原因:下发异常";
|
||||
title += "失败";
|
||||
}
|
||||
} else if (Objects.equals(code, "0x02e33400")) {
|
||||
msg = "同步失败,车牌号码:" + carInfo.getCarNumber() + "。失败原因:车辆属于黑名单内不能下发预约车";
|
||||
title += "失败";
|
||||
} else if (Objects.equals(code, "0x00072003")) {
|
||||
msg = "同步失败,车牌号码:" + carInfo.getCarNumber() + "。失败原因:车牌格式不正确!";
|
||||
title += "失败";
|
||||
} else {
|
||||
msg = "同步失败,车牌号码:" + carInfo.getCarNumber() + "。失败原因:下发异常";
|
||||
title += "失败";
|
||||
}
|
||||
} else if (Objects.equals(code, "0x02e33400")) {
|
||||
msg = "同步失败,车牌号码:" + carInfo.getCarNumber() + "。失败原因:车辆属于黑名单内不能下发预约车";
|
||||
title += "失败";
|
||||
} else if (Objects.equals(code, "0x00072003")) {
|
||||
msg = "同步失败,车牌号码:" + carInfo.getCarNumber() + "。失败原因:车牌格式不正确!";
|
||||
title += "失败";
|
||||
}
|
||||
} else {
|
||||
if (success) {
|
||||
msg = "同步成功,车牌号码:" + carInfo.getCarNumber();
|
||||
title += "成功";
|
||||
} else {
|
||||
msg = "同步失败,车牌号码:" + carInfo.getCarNumber() + "。失败原因:下发异常";
|
||||
title += "失败";
|
||||
}
|
||||
}
|
||||
|
||||
if (success) {
|
||||
updateSuccessStatusByNow(carInfo.getProjectSn(), carInfo.getId(), type, operate, ThreadLocalUtil.getNotNull().getDate("now"), null);
|
||||
} else {
|
||||
|
||||
@ -84,7 +84,8 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
|
||||
@Override
|
||||
@DistributedLock(keyPrefix = "car_info:", key = "#c.carNumber", tryLok = true, lockTime = 0)
|
||||
public void addCarInfo(CarInfo c) {
|
||||
checkTime(c);
|
||||
c.setCarNumber(c.getCarNumber().toUpperCase(Locale.ROOT));
|
||||
validTime(c);
|
||||
QueryWrapper<CarInfo> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(CarInfo::getProjectSn, c.getProjectSn())
|
||||
.eq(CarInfo::getCarNumber, c.getCarNumber());
|
||||
@ -99,22 +100,19 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
|
||||
if (project == null) {
|
||||
return;
|
||||
}
|
||||
carInfoMapper.update(null, new LambdaUpdateWrapper<CarInfo>()
|
||||
.set(CarInfo::getIsBlack, c.getIsBlack())
|
||||
.eq(CarInfo::getId, old.getId())
|
||||
);
|
||||
old.setIsBlack(c.getIsBlack());
|
||||
CarInfo updateCar = new CarInfo();
|
||||
BeanUtil.copyProperties(c, updateCar);
|
||||
updateCar.setId(old.getId());
|
||||
updateCar.setReserveStartTime(old.getReserveStartTime());
|
||||
updateCar.setReserveEndTime(old.getReserveEndTime());
|
||||
carInfoMapper.updateById(updateCar);
|
||||
if (c.getIsBlack() == 1) {
|
||||
asyncHikvision.deleteCarInfoForHikvision(old, true);
|
||||
} else {
|
||||
if (old.getIsBlack() == 1) {
|
||||
deleteOrUpdateCar(project, old, true);
|
||||
if (old.getIsBlack() == 0 && DateUtil.compare(old.getReserveStartTime(), now) < 0 && DateUtil.compare(old.getReserveEndTime(), now) > 0) {
|
||||
log.info("车辆在有效期内,不需要更新,车牌号:{}", c.getCarNumber());
|
||||
} else {
|
||||
if (DateUtil.compare(old.getReserveStartTime(), now) < 0 && DateUtil.compare(old.getReserveEndTime(), now) > 0) {
|
||||
log.info("车辆在有效期内,不需要更新,车牌号:{}", c.getCarNumber());
|
||||
} else {
|
||||
deleteOrUpdateCar(project, old, false);
|
||||
}
|
||||
deleteOrUpdateCar(project, old, true);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -125,7 +123,7 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
|
||||
}
|
||||
}
|
||||
|
||||
private void checkTime(CarInfo c) {
|
||||
private void validTime(CarInfo c) {
|
||||
if (isReservationType(c) && DateUtil.compare(c.getReserveEndTime(), new Date()) < 0) {
|
||||
throw new OpenAlertException("预约时间已过期");
|
||||
}
|
||||
@ -167,7 +165,10 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
|
||||
if (notEqTime || mustUpdate) {
|
||||
car.setReserveEndTime(fit.getReserveEndTime());
|
||||
car.setReserveStartTime(fit.getReserveStartTime());
|
||||
this.editCarInfo(car);
|
||||
CarInfo insertCar = new CarInfo();
|
||||
BeanUtil.copyProperties(fit, insertCar);
|
||||
insertCar.setId(car.getId());
|
||||
this.editCarInfo(insertCar);
|
||||
}
|
||||
} else {
|
||||
deleteCar(car);
|
||||
@ -176,7 +177,8 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
|
||||
|
||||
@Override
|
||||
public void editCarInfo(CarInfo carInfo) {
|
||||
checkTime(carInfo);
|
||||
carInfo.setCarNumber(carInfo.getCarNumber().toUpperCase(Locale.ROOT));
|
||||
validTime(carInfo);
|
||||
QueryWrapper<CarInfo> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(CarInfo::getProjectSn, carInfo.getProjectSn())
|
||||
.eq(CarInfo::getCarNumber, carInfo.getCarNumber())
|
||||
@ -196,20 +198,14 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
|
||||
.eq(CarInfo::getId, carInfo.getId()));
|
||||
|
||||
if (isReservationType(old)) {
|
||||
boolean notEqTime = DateUtil.compare(carInfo.getReserveStartTime(), old.getReserveStartTime()) != 0 || DateUtil.compare(carInfo.getReserveEndTime(), old.getReserveEndTime()) != 0;
|
||||
if (notEqTime) {
|
||||
CarInfoApprovalFlow flow = new CarInfoApprovalFlow();
|
||||
BeanUtil.copyProperties(carInfo, flow);
|
||||
carInfoApprovalFlowMapper.update(null, new LambdaUpdateWrapper<CarInfoApprovalFlow>()
|
||||
.set(CarInfoApprovalFlow::getReserveStartTime, carInfo.getReserveStartTime())
|
||||
.set(CarInfoApprovalFlow::getReserveEndTime, carInfo.getReserveEndTime())
|
||||
.set(CarInfoApprovalFlow::getCarNumber, carInfo.getCarNumber())
|
||||
.eq(CarInfoApprovalFlow::getReserveStartTime, old.getReserveStartTime())
|
||||
.eq(CarInfoApprovalFlow::getReserveEndTime, old.getReserveEndTime())
|
||||
.eq(CarInfoApprovalFlow::getCarNumber, old.getCarNumber())
|
||||
.eq(CarInfoApprovalFlow::getProjectSn, old.getProjectSn())
|
||||
);
|
||||
}
|
||||
CarInfoApprovalFlow flow = new CarInfoApprovalFlow();
|
||||
BeanUtil.copyProperties(carInfo, flow);
|
||||
carInfoApprovalFlowMapper.update(flow, new LambdaUpdateWrapper<CarInfoApprovalFlow>()
|
||||
.eq(CarInfoApprovalFlow::getReserveStartTime, old.getReserveStartTime())
|
||||
.eq(CarInfoApprovalFlow::getReserveEndTime, old.getReserveEndTime())
|
||||
.eq(CarInfoApprovalFlow::getCarNumber, old.getCarNumber())
|
||||
.eq(CarInfoApprovalFlow::getProjectSn, old.getProjectSn())
|
||||
);
|
||||
}
|
||||
|
||||
//同步海康
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user