车辆修改
This commit is contained in:
parent
269ed1dbe1
commit
59a999825b
@ -139,15 +139,19 @@ public class AsyncHikvision {
|
||||
|
||||
public void addCarInfoForHikvision(CarInfo carInfo) {
|
||||
Date now = new Date();
|
||||
if (carInfo.getIsBlack() == 1) {
|
||||
deleteCarInfoForHikvision(carInfo, true);
|
||||
} else {
|
||||
if (Objects.equals(carInfo.getCarModuleType(), 1)) {
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(4).setOperate(1).setWhoId(carInfo.getId()).setCreateDate(now));
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(5).setOperate(1).setWhoId(carInfo.getId()).setCreateDate(now));
|
||||
} else if (Objects.equals(carInfo.getCarModuleType(), 2) || Objects.equals(carInfo.getCarModuleType(), 3)) {
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(6).setOperate(1).setWhoId(carInfo.getId()).setCreateDate(now));
|
||||
}
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(7).setOperate(carInfo.getIsBlack() == 1 ? 1 : 3).setWhoId(carInfo.getId()).setCreateDate(now));
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(7).setOperate(3).setWhoId(carInfo.getId()).setCreateDate(now));
|
||||
asyncHikvision.addCarInfoForHikvisionAsyc(carInfo, now);
|
||||
}
|
||||
}
|
||||
|
||||
@Async("carInfoExecutor")
|
||||
public void addCarInfoForHikvisionAsyc(CarInfo carInfo, Date now) {
|
||||
@ -196,15 +200,19 @@ public class AsyncHikvision {
|
||||
|
||||
public void editCarInfoForHikvision(CarInfo carInfo, CarInfo old) {
|
||||
Date now = new Date();
|
||||
if (carInfo.getIsBlack() == 1) {
|
||||
deleteCarInfoForHikvision(carInfo, true);
|
||||
} else {
|
||||
if (Objects.equals(carInfo.getCarModuleType(), 1)) {
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(4).setOperate(2).setWhoId(carInfo.getId()).setCreateDate(now));
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(5).setOperate(1).setWhoId(carInfo.getId()).setCreateDate(now));
|
||||
} else if (Objects.equals(carInfo.getCarModuleType(), 2) || Objects.equals(carInfo.getCarModuleType(), 3)) {
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(6).setOperate(1).setWhoId(carInfo.getId()).setCreateDate(now));
|
||||
}
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(7).setOperate(carInfo.getIsBlack() == 1 ? 1 : 3).setWhoId(carInfo.getId()).setCreateDate(now));
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(7).setOperate(3).setWhoId(carInfo.getId()).setCreateDate(now));
|
||||
asyncHikvision.editCarInfoForHikvisionAsync(carInfo, old, now);
|
||||
}
|
||||
}
|
||||
|
||||
@Async("carInfoExecutor")
|
||||
public void editCarInfoForHikvisionAsync(CarInfo carInfo, CarInfo old, Date now) {
|
||||
@ -217,20 +225,20 @@ public class AsyncHikvision {
|
||||
}
|
||||
}
|
||||
|
||||
public void deleteCarInfoForHikvision(CarInfo carInfo) {
|
||||
public void deleteCarInfoForHikvision(CarInfo carInfo, boolean isSetBlack) {
|
||||
Date now = new Date();
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(4).setOperate(3).setWhoId(carInfo.getId()).setCreateDate(now));
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(5).setOperate(3).setWhoId(carInfo.getId()).setCreateDate(now));
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(6).setOperate(3).setWhoId(carInfo.getId()).setCreateDate(now));
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(7).setOperate(3).setWhoId(carInfo.getId()).setCreateDate(now));
|
||||
asyncHikvision.deleteCarInfoForHikvisionAsync(carInfo, now);
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(7).setOperate(isSetBlack ? 1 : 3).setWhoId(carInfo.getId()).setCreateDate(now));
|
||||
asyncHikvision.deleteCarInfoForHikvisionAsync(carInfo, now, isSetBlack);
|
||||
}
|
||||
|
||||
@Async("carInfoExecutor")
|
||||
public void deleteCarInfoForHikvisionAsync(CarInfo carInfo, Date now) {
|
||||
public void deleteCarInfoForHikvisionAsync(CarInfo carInfo, Date now, boolean isSetBlack) {
|
||||
try {
|
||||
ThreadLocalUtil.addInKey("now", now);
|
||||
hikvisionCall.deleteCarInfoForHikvision(carInfo);
|
||||
hikvisionCall.deleteCarInfoForHikvision(carInfo, isSetBlack);
|
||||
} catch (Exception e) {
|
||||
log.error("海康:", e);
|
||||
sendNoticeForCar(carInfo, e, "删除");
|
||||
|
||||
@ -881,7 +881,7 @@ public class HikvisionCall {
|
||||
// deleteWorkerFromHttp(deleteWorker, project);
|
||||
// }
|
||||
String rs = doAddWorkerFromHttp(workerInfo, project);
|
||||
sendNoticeForWorker("添加人员到海康isc", rs, workerInfo, 1, 1);
|
||||
sendNoticeAndSetStatusForWorker("添加人员到海康isc", rs, workerInfo, 1, 1);
|
||||
}
|
||||
|
||||
public String doAddWorkerFromHttp(WorkerInfo workerInfo, Project project) throws Exception {
|
||||
@ -944,7 +944,7 @@ public class HikvisionCall {
|
||||
|
||||
public void editWorkerFromHttp(WorkerInfo workerInfo, Project project) throws Exception {
|
||||
String rs = doEditWorkerFromHttp(workerInfo, project);
|
||||
sendNoticeForWorker("更新人员到海康isc", rs, workerInfo, 1, 2);
|
||||
sendNoticeAndSetStatusForWorker("更新人员到海康isc", rs, workerInfo, 1, 2);
|
||||
}
|
||||
|
||||
public String doEditWorkerFromHttp(WorkerInfo workerInfo, Project project) throws Exception {
|
||||
@ -966,7 +966,7 @@ public class HikvisionCall {
|
||||
String fieldAcquisitionUrl = workerInfo.getFieldAcquisitionUrl();
|
||||
if (StringUtils.isNotBlank(fieldAcquisitionUrl)) {
|
||||
String rs = doAddWorkerFace(workerInfo, project);
|
||||
sendNoticeForWorker("添加人员照片到海康isc", rs, workerInfo, 2, 1);
|
||||
sendNoticeAndSetStatusForWorker("添加人员照片到海康isc", rs, workerInfo, 2, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -981,12 +981,12 @@ public class HikvisionCall {
|
||||
return rs;
|
||||
}
|
||||
|
||||
private void sendNoticeForCarInfo(String title, String rs, CarInfo carInfo, Integer type, Integer operate) {
|
||||
private void sendNoticeAndSetStatusForCarInfo(String title, String rs, CarInfo carInfo, Integer type, Integer operate) {
|
||||
boolean callSuc = HikvisionUtil.isSuccess(rs);
|
||||
sendNoticeForCarInfo(title, rs, carInfo, type, operate, callSuc);
|
||||
sendNoticeAndSetStatusForCarInfo(title, rs, carInfo, type, operate, callSuc);
|
||||
}
|
||||
|
||||
public void sendNoticeForCarInfo(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 callSuc) {
|
||||
String msg;
|
||||
boolean success = false;
|
||||
if (callSuc) {
|
||||
@ -1056,7 +1056,7 @@ public class HikvisionCall {
|
||||
}
|
||||
}
|
||||
|
||||
private void sendNoticeForWorker(String title, String rs, WorkerInfo workerInfo, int type, int operate) {
|
||||
private void sendNoticeAndSetStatusForWorker(String title, String rs, WorkerInfo workerInfo, int type, int operate) {
|
||||
boolean callSuc = HikvisionUtil.isSuccess(rs);
|
||||
String msg = "";
|
||||
String noticeType = "23";
|
||||
@ -1121,7 +1121,7 @@ public class HikvisionCall {
|
||||
}
|
||||
}
|
||||
|
||||
public void updateAllFailStatusIfNullByNow(String projectSn, Long whoId, Integer type, Date now) {
|
||||
public void updateAllFailStatusIfNullByNow(String projectSn, Long whoId, Integer bigType, Date now) {
|
||||
xzHikvisionSyncMapper.update(null, new LambdaUpdateWrapper<XzHikvisionSync>()
|
||||
.set(XzHikvisionSync::getIsSuccess, 0)
|
||||
.isNull(XzHikvisionSync::getIsSuccess)
|
||||
@ -1129,7 +1129,7 @@ public class HikvisionCall {
|
||||
.eq(XzHikvisionSync::getWhoId, whoId)
|
||||
.eq(XzHikvisionSync::getCreateDate, now)
|
||||
);
|
||||
updateTotalStatus(projectSn, whoId, type, now);
|
||||
updateTotalStatus(projectSn, whoId, bigType, now);
|
||||
}
|
||||
|
||||
public void updateFailStatusByNow(String projectSn, Long whoId, Integer type, Date now, String deviceSn) {
|
||||
@ -1172,7 +1172,7 @@ public class HikvisionCall {
|
||||
updateTotalStatus(projectSn, whoId, type, now);
|
||||
}
|
||||
|
||||
private void updateTotalStatus(String projectSn, Long whoId, Integer type, Date now) {
|
||||
private void updateTotalStatus(String projectSn, Long whoId, Integer bigType, Date now) {
|
||||
List<XzHikvisionSync> xzHikvisionSyncs = xzHikvisionSyncMapper.selectList(new LambdaQueryWrapper<XzHikvisionSync>()
|
||||
.eq(XzHikvisionSync::getProjectSn, projectSn)
|
||||
.eq(XzHikvisionSync::getWhoId, whoId)
|
||||
@ -1188,7 +1188,7 @@ public class HikvisionCall {
|
||||
} else {
|
||||
sendSuccessStatus = 3;
|
||||
}
|
||||
if (type >= 4) {
|
||||
if (bigType >= 4) {
|
||||
carInfoMapper.update(null, new LambdaUpdateWrapper<CarInfo>()
|
||||
.eq(CarInfo::getId, whoId)
|
||||
.set(CarInfo::getSendSuccessStatus, sendSuccessStatus)
|
||||
@ -1218,7 +1218,7 @@ public class HikvisionCall {
|
||||
jo.put("faceId", workerFaceId);
|
||||
jo.put("faceData", Base64Util.convertFileToBase64(PathUtil.reviseSlash(basePath + "/" + workerInfo.getFieldAcquisitionUrl())));
|
||||
String rs = HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||
sendNoticeForWorker("更新人员照片到海康isc", rs, workerInfo, 2, 2);
|
||||
sendNoticeAndSetStatusForWorker("更新人员照片到海康isc", rs, workerInfo, 2, 2);
|
||||
} else {
|
||||
addWorkerFace(workerInfo, project);
|
||||
}
|
||||
@ -1241,7 +1241,7 @@ public class HikvisionCall {
|
||||
|
||||
public void deleteWorkerFromHttp(WorkerInfo workerInfo, Project project) throws Exception {
|
||||
String rs = doDeleteWorkerFromHttp(workerInfo, project);
|
||||
sendNoticeForWorker("删除人员到海康isc", rs, workerInfo, 1, 3);
|
||||
sendNoticeAndSetStatusForWorker("删除人员到海康isc", rs, workerInfo, 1, 3);
|
||||
}
|
||||
|
||||
public String doDeleteWorkerFromHttp(WorkerInfo workerInfo, Project project) throws Exception {
|
||||
@ -1260,7 +1260,7 @@ public class HikvisionCall {
|
||||
if (CollUtil.isNotEmpty(workerFaceIds)) {
|
||||
for (String workerFaceId : workerFaceIds) {
|
||||
JSONObject rsJo = sendDeleteWorkerFace(project, workerFaceId);
|
||||
sendNoticeForWorker("删除人员图片到海康isc", rsJo.toJSONString(), workerInfo, 2, 3);
|
||||
sendNoticeAndSetStatusForWorker("删除人员图片到海康isc", rsJo.toJSONString(), workerInfo, 2, 3);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1369,7 +1369,6 @@ public class HikvisionCall {
|
||||
return;
|
||||
}
|
||||
if (carInfo.getIsBlack() == 0) {
|
||||
//车辆布防
|
||||
handleAlarmCar(project, carInfo);
|
||||
}
|
||||
|
||||
@ -1384,15 +1383,10 @@ public class HikvisionCall {
|
||||
deleteFixedCarForHikvision(carInfo, project);
|
||||
saveReservationCar(project, carInfo);
|
||||
}
|
||||
|
||||
if (carInfo.getIsBlack() == 1) {
|
||||
//车辆布防
|
||||
handleAlarmCar(project, carInfo);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 车辆布防
|
||||
* 车辆取消布防/布防
|
||||
*
|
||||
* @param project
|
||||
* @param carInfo
|
||||
@ -1416,20 +1410,20 @@ public class HikvisionCall {
|
||||
addJo.put("driverPhone", c.getDriverTelephone());
|
||||
addJo.put("plateNo", carInfo.getCarNumber());
|
||||
JSONObject rs = addAlarmCarForHttp(project, addJo);
|
||||
sendNoticeForCarInfo("车辆布防(黑名单)到海康isc", rs.toJSONString(), carInfo, 7, null);
|
||||
sendNoticeAndSetStatusForCarInfo("车辆布防(黑名单)到海康isc", rs.toJSONString(), carInfo, 7, null);
|
||||
} else {
|
||||
sendNoticeForCarInfo("车辆取消布防(取消黑名单)到海康isc", null, carInfo, 7, null, true);
|
||||
sendNoticeAndSetStatusForCarInfo("车辆取消布防(取消黑名单)到海康isc", null, carInfo, 7, null, true);
|
||||
}
|
||||
} else {
|
||||
if (carInfo.getIsBlack() == 1) {
|
||||
sendNoticeForCarInfo("车辆布防(黑名单)到海康isc", null, carInfo, 7, null, true);
|
||||
sendNoticeAndSetStatusForCarInfo("车辆布防(黑名单)到海康isc", null, carInfo, 7, null, true);
|
||||
} else {
|
||||
JSONObject joOne = listJa.getJSONObject(0);
|
||||
String alarmSyscode = joOne.getString("alarmSyscode");
|
||||
JSONObject deleteJo = new JSONObject();
|
||||
deleteJo.put("alarmSyscodes", alarmSyscode);
|
||||
JSONObject rs = this.deletionAlarmCarForHttp(project, deleteJo);
|
||||
sendNoticeForCarInfo("车辆取消布防(取消黑名单)到海康isc", rs.toJSONString(), carInfo, 7, null);
|
||||
sendNoticeAndSetStatusForCarInfo("车辆取消布防(取消黑名单)到海康isc", rs.toJSONString(), carInfo, 7, null);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -1442,9 +1436,9 @@ public class HikvisionCall {
|
||||
|
||||
private void failAlarmNotice(CarInfo carInfo) {
|
||||
if (carInfo.getIsBlack() == 1) {
|
||||
sendNoticeForCarInfo("车辆布防(黑名单)到海康isc", new JSONObject().toJSONString(), carInfo, 7, null, false);
|
||||
sendNoticeAndSetStatusForCarInfo("车辆布防(黑名单)到海康isc", new JSONObject().toJSONString(), carInfo, 7, null, false);
|
||||
} else {
|
||||
sendNoticeForCarInfo("车辆取消布防(取消黑名单)到海康isc", new JSONObject().toJSONString(), carInfo, 7, null, false);
|
||||
sendNoticeAndSetStatusForCarInfo("车辆取消布防(取消黑名单)到海康isc", new JSONObject().toJSONString(), carInfo, 7, null, false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1550,7 +1544,7 @@ public class HikvisionCall {
|
||||
ArrayList<HikvisionCarInfo> list = new ArrayList<>();
|
||||
list.add(hikvisionCarInfo);
|
||||
String rs = HikvisionUtil.doPost(host, path, JSON.toJSONString(list), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||
sendNoticeForCarInfo("添加车辆白名单到海康isc", rs, carInfo, 4, 1);
|
||||
sendNoticeAndSetStatusForCarInfo("添加车辆白名单到海康isc", rs, carInfo, 4, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1683,7 +1677,7 @@ public class HikvisionCall {
|
||||
}
|
||||
if (!Objects.equals(carInfo.getCarNumber(), old.getCarNumber())) {
|
||||
//删除旧的车辆数据
|
||||
deleteCarInfoForHikvision(old);
|
||||
deleteCarInfoForHikvision(old, false);
|
||||
}
|
||||
saveCarInfoFromHikvision(carInfo);
|
||||
}
|
||||
@ -1701,7 +1695,7 @@ public class HikvisionCall {
|
||||
String host = "https://" + project.getArtemisConfigHost();
|
||||
HikvisionCarInfo hikvisionCarInfo = getHikvisionCarInfo(carInfo);
|
||||
String rs = HikvisionUtil.doPost(host, path, JSON.toJSONString(hikvisionCarInfo), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||
sendNoticeForCarInfo("更新车辆白名单到海康isc", rs, carInfo, 4, 2);
|
||||
sendNoticeAndSetStatusForCarInfo("更新车辆白名单到海康isc", rs, carInfo, 4, 2);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1739,8 +1733,9 @@ public class HikvisionCall {
|
||||
* 删除车辆
|
||||
*
|
||||
* @param carInfo
|
||||
* @param isSetBlack
|
||||
*/
|
||||
public void deleteCarInfoForHikvision(CarInfo carInfo) throws Exception {
|
||||
public void deleteCarInfoForHikvision(CarInfo carInfo, boolean isSetBlack) throws Exception {
|
||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, carInfo.getProjectSn()));
|
||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||
return;
|
||||
@ -1751,7 +1746,7 @@ public class HikvisionCall {
|
||||
deleteReservationCarFromHttp(carInfo, project);
|
||||
CarInfo c = new CarInfo();
|
||||
BeanUtil.copyProperties(carInfo, c);
|
||||
c.setIsBlack(0);
|
||||
c.setIsBlack(isSetBlack ? 1 : 0);
|
||||
handleAlarmCar(project, c);
|
||||
}
|
||||
|
||||
@ -1761,7 +1756,9 @@ public class HikvisionCall {
|
||||
if (oldCarInfo != null) {
|
||||
log.info("海康存在车辆,车牌号:{}", oldCarInfo.getString("plateNo"));
|
||||
String rs = deleteCarInfoByIdFromHttp(oldCarInfo.getString("vehicleId"), project);
|
||||
sendNoticeForCarInfo("删除车辆白名单到海康isc", rs, carInfo, 4, 3);
|
||||
sendNoticeAndSetStatusForCarInfo("删除车辆白名单到海康isc", rs, carInfo, 4, 3);
|
||||
} else {
|
||||
sendNoticeAndSetStatusForCarInfo("删除车辆白名单到海康isc", null, carInfo, 4, 3, true);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1812,19 +1809,17 @@ public class HikvisionCall {
|
||||
final String path = ARTEMIS_PATH + "/api/pms/v1/parkingSpace/reservations/deletion";
|
||||
String host = "https://" + project.getArtemisConfigHost();
|
||||
JSONArray reservationCarInfoList = getReservationCarInfoList(carInfo, project);
|
||||
if (reservationCarInfoList != null) {
|
||||
if (CollUtil.isNotEmpty(reservationCarInfoList)) {
|
||||
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());
|
||||
JSONObject rsJo = JSON.parseObject(rs);
|
||||
String code = rsJo.getString("code");
|
||||
sendNoticeForCarInfo("取消车位预约到海康isc", rs, carInfo, 6, 3);
|
||||
sendNoticeAndSetStatusForCarInfo("取消车位预约到海康isc", rs, carInfo, 6, 3);
|
||||
}
|
||||
} else {
|
||||
updateSuccessStatusByNow(carInfo.getProjectSn(), carInfo.getId(), 6, 3, ThreadLocalUtil.getNotNull().getDate("now"), null);
|
||||
sendNoticeAndSetStatusForCarInfo("取消车位预约到海康isc", null, carInfo, 6, 3, true);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2201,7 +2196,7 @@ public class HikvisionCall {
|
||||
String host = "https://" + project.getArtemisConfigHost();
|
||||
ParkReservation parkReservation = getParkReservation(project, carInfo);
|
||||
String rs = HikvisionUtil.doPost(host, path, JSON.toJSONString(parkReservation), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||
sendNoticeForCarInfo("添加预约车辆到海康isc", rs, carInfo, 6, 1);
|
||||
sendNoticeAndSetStatusForCarInfo("添加预约车辆到海康isc", rs, carInfo, 6, 1);
|
||||
}
|
||||
|
||||
private ParkReservation getParkReservation(Project project, CarInfo carInfo) throws Exception {
|
||||
@ -2314,9 +2309,9 @@ public class HikvisionCall {
|
||||
jo.put("categoryCode", categoryCode);
|
||||
String rs = HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||
if (Objects.equals(operation, 1)) {
|
||||
sendNoticeForCarInfo("绑定" + FIXED_CAR_GROUP_NAME + "到海康isc", rs, carInfo, 5, 1);
|
||||
sendNoticeAndSetStatusForCarInfo("绑定" + FIXED_CAR_GROUP_NAME + "到海康isc", rs, carInfo, 5, 1);
|
||||
} else if (Objects.equals(operation, 2)) {
|
||||
sendNoticeForCarInfo("解绑" + FIXED_CAR_GROUP_NAME + "到海康isc", rs, carInfo, 5, 3);
|
||||
sendNoticeAndSetStatusForCarInfo("解绑" + FIXED_CAR_GROUP_NAME + "到海康isc", rs, carInfo, 5, 3);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ public interface ICarInfoService extends IService<CarInfo> {
|
||||
|
||||
void addCarInfo(CarInfo carInfo);
|
||||
|
||||
void deleteOrUpdateCar(Project project, CarInfo carInfo);
|
||||
void deleteOrUpdateCar(Project project, CarInfo car, boolean mustUpdate);
|
||||
|
||||
void editCarInfo(CarInfo carInfo);
|
||||
|
||||
|
||||
@ -88,9 +88,9 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
|
||||
QueryWrapper<CarInfo> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(CarInfo::getProjectSn, c.getProjectSn())
|
||||
.eq(CarInfo::getCarNumber, c.getCarNumber());
|
||||
CarInfo carInfo = carInfoMapper.selectOne(queryWrapper);
|
||||
if (carInfo != null) {
|
||||
if (Objects.equals(carInfo.getCarModuleType(), 1)) {
|
||||
CarInfo old = carInfoMapper.selectOne(queryWrapper);
|
||||
if (old != null) {
|
||||
if (Objects.equals(old.getCarModuleType(), 1)) {
|
||||
throw new OpenAlertException("该车辆已添加,请勿重复添加!");
|
||||
}
|
||||
addCarInfoForApprovalFlowIf(c);
|
||||
@ -99,12 +99,24 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
|
||||
if (project == null) {
|
||||
return;
|
||||
}
|
||||
if (DateUtil.compare(carInfo.getReserveStartTime(), now) < 0 && DateUtil.compare(carInfo.getReserveEndTime(), now) > 0) {
|
||||
carInfoMapper.update(null, new LambdaUpdateWrapper<CarInfo>()
|
||||
.set(CarInfo::getIsBlack, c.getIsBlack())
|
||||
.eq(CarInfo::getId, old.getId())
|
||||
);
|
||||
old.setIsBlack(c.getIsBlack());
|
||||
if (c.getIsBlack() == 1) {
|
||||
asyncHikvision.deleteCarInfoForHikvision(old, true);
|
||||
} else {
|
||||
if (old.getIsBlack() == 1) {
|
||||
deleteOrUpdateCar(project, old, true);
|
||||
} else {
|
||||
if (DateUtil.compare(old.getReserveStartTime(), now) < 0 && DateUtil.compare(old.getReserveEndTime(), now) > 0) {
|
||||
log.info("车辆在有效期内,不需要更新,车牌号:{}", c.getCarNumber());
|
||||
asyncHikvision.handleAlarmCarForHikvision(carInfo);
|
||||
return;
|
||||
} else {
|
||||
deleteOrUpdateCar(project, old, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
deleteOrUpdateCar(project, carInfo);
|
||||
} else {
|
||||
carInfoMapper.insert(c);
|
||||
addCarInfoForApprovalFlowIf(c);
|
||||
@ -128,6 +140,7 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
|
||||
if (isReservationType(c)) {
|
||||
CarInfoApprovalFlow flow = new CarInfoApprovalFlow();
|
||||
BeanUtil.copyProperties(c, flow);
|
||||
flow.setIsBlack(0);
|
||||
carInfoApprovalFlowMapper.insert(flow);
|
||||
}
|
||||
}
|
||||
@ -137,9 +150,10 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
|
||||
*
|
||||
* @param project
|
||||
* @param car
|
||||
* @param mustUpdate
|
||||
*/
|
||||
@Override
|
||||
public void deleteOrUpdateCar(Project project, CarInfo car) {
|
||||
public void deleteOrUpdateCar(Project project, CarInfo car, boolean mustUpdate) {
|
||||
log.info("删除/更新过期或未来的车辆,并下发新的预约时间的车辆到海康,车牌号:{}", car.getCarNumber());
|
||||
CarInfoApprovalFlow fit = carInfoApprovalFlowMapper.selectOne(new LambdaQueryWrapper<CarInfoApprovalFlow>()
|
||||
.eq(CarInfoApprovalFlow::getCarNumber, car.getCarNumber())
|
||||
@ -150,7 +164,7 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
|
||||
);
|
||||
if (fit != null) {
|
||||
boolean notEqTime = DateUtil.compare(car.getReserveStartTime(), fit.getReserveStartTime()) != 0 || DateUtil.compare(car.getReserveEndTime(), fit.getReserveEndTime()) != 0;
|
||||
if (notEqTime) {
|
||||
if (notEqTime || mustUpdate) {
|
||||
car.setReserveEndTime(fit.getReserveEndTime());
|
||||
car.setReserveStartTime(fit.getReserveStartTime());
|
||||
this.editCarInfo(car);
|
||||
@ -276,14 +290,14 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
|
||||
} else {
|
||||
deleteFromApprovalFlowIf(carInfo);
|
||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getSyncHikvision, 1));
|
||||
deleteOrUpdateCar(project, carInfo);
|
||||
deleteOrUpdateCar(project, carInfo, false);
|
||||
}
|
||||
}
|
||||
|
||||
private void deleteCar(CarInfo carInfo) {
|
||||
carInfoMapper.deleteById(carInfo.getId());
|
||||
//同步海康
|
||||
asyncHikvision.deleteCarInfoForHikvision(carInfo);
|
||||
asyncHikvision.deleteCarInfoForHikvision(carInfo, false);
|
||||
}
|
||||
|
||||
private void deleteFromApprovalFlowIf(CarInfo carInfo) {
|
||||
|
||||
@ -193,7 +193,7 @@ public class XzHikvisionSyncServiceImpl extends ServiceImpl<XzHikvisionSyncMappe
|
||||
} else if (xzHikvisionSync.getOperate() == 2) {
|
||||
hikvisionCall.editCarInfoForHikvision(carInfo, carInfo);
|
||||
} else if (xzHikvisionSync.getOperate() == 3) {
|
||||
hikvisionCall.deleteCarInfoForHikvision(carInfo);
|
||||
hikvisionCall.deleteCarInfoForHikvision(carInfo, false);
|
||||
}
|
||||
} else {
|
||||
WorkerInfo workerInfo = workerInfoMapper.selectById(whoId);
|
||||
|
||||
@ -41,12 +41,15 @@ public class CarInfoTask {
|
||||
public void deleteOrUpdateExpiredCar() {
|
||||
//删除过期
|
||||
carInfoApprovalFlowMapper.delete(new LambdaQueryWrapper<CarInfoApprovalFlow>()
|
||||
.lt(CarInfoApprovalFlow::getReserveEndTime, DateUtil.now()));
|
||||
.lt(CarInfoApprovalFlow::getReserveEndTime, DateUtil.now())
|
||||
.eq(CarInfoApprovalFlow::getIsBlack, 0)
|
||||
);
|
||||
List<Project> projects = projectMapper.selectList(new LambdaQueryWrapper<Project>().eq(Project::getSyncHikvision, 1));
|
||||
for (Project project : projects) {
|
||||
//过期或者未来车
|
||||
List<CarInfo> cars = carInfoMapper.selectList(new LambdaQueryWrapper<CarInfo>()
|
||||
.ne(CarInfo::getCarModuleType, 1)
|
||||
.eq(CarInfo::getIsBlack, 0)
|
||||
.eq(CarInfo::getProjectSn, project.getProjectSn())
|
||||
.and(w -> w.lt(CarInfo::getReserveEndTime, DateUtil.now()).or().gt(CarInfo::getReserveStartTime, DateUtil.now()))
|
||||
);
|
||||
@ -54,7 +57,7 @@ public class CarInfoTask {
|
||||
return;
|
||||
}
|
||||
for (CarInfo carInfo : cars) {
|
||||
carInfoService.deleteOrUpdateCar(project, carInfo);
|
||||
carInfoService.deleteOrUpdateCar(project, carInfo, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -90,7 +90,7 @@ public class ExamTask {
|
||||
carInfoService.removeByIds(carInfos.stream().map(c -> c.getId()).collect(Collectors.toSet()));
|
||||
for (CarInfo carInfo : carInfos) {
|
||||
//同步海康
|
||||
asyncHikvision.deleteCarInfoForHikvision(carInfo);
|
||||
asyncHikvision.deleteCarInfoForHikvision(carInfo, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user