绑定车辆群组修改

This commit is contained in:
guoshengxiong 2024-06-26 15:49:13 +08:00
parent 1f4cdade53
commit 54091015f8
2 changed files with 54 additions and 17 deletions

View File

@ -919,8 +919,8 @@ public class HikvisionCall {
// 新增
JSONObject wiJo = HikvisionUtil.getWorkerInfoByCertificateNo(workerInfo, project);
if (wiJo != null) {
Long iscPersonId = wiJo.getLong("personId");
if (Objects.equals(iscPersonId, workerInfo.getId())) {
String iscPersonId = wiJo.getString("personId");
if (Objects.equals(iscPersonId, workerInfo.getId() + "")) {
if (isSaveWorker) {
editWorkerFromHttp(workerInfo, project);
}
@ -2123,6 +2123,18 @@ public class HikvisionCall {
* @param carInfo
*/
public void bindOrNotCarCategory(Project project, Integer operation, String categoryCode, CarInfo carInfo) throws Exception {
if (Objects.equals(operation, 1)) {
//绑定
Set<String> ids = getHkCarIds(project, carInfo);
JSONObject bindParam = new JSONObject();
bindParam.put("vehicleIds", StrUtil.join(",", ids));
bindParam.put("operation", 1);
bindParam.put("categoryCode", categoryCode);
JSONObject jo = HikvisionUtil.bindCarCategory(project, bindParam);
String rs = jo.toJSONString();
sendNoticeAndSetStatusForCarInfo("绑定" + FIXED_CAR_GROUP_NAME + "到海康isc", rs, carInfo, 5, 1, null, true);
} else if (Objects.equals(operation, 2)) {
//解绑
String carId = this.getRemoteCarIdByCarNumber(carInfo.getCarNumber(), project);
JSONObject param = new JSONObject();
Object vehicleIds = carId == null ? carInfo.getId() : carId;
@ -2130,17 +2142,45 @@ public class HikvisionCall {
return;
}
param.put("vehicleIds", vehicleIds);
param.put("operation", operation);
param.put("operation", 2);
param.put("categoryCode", categoryCode);
JSONObject jo = HikvisionUtil.bindCarCategory(project, param);
String rs = jo.toJSONString();
if (Objects.equals(operation, 1)) {
sendNoticeAndSetStatusForCarInfo("绑定" + FIXED_CAR_GROUP_NAME + "到海康isc", rs, carInfo, 5, 1, null, true);
} else if (Objects.equals(operation, 2)) {
sendNoticeAndSetStatusForCarInfo("解绑" + FIXED_CAR_GROUP_NAME + "到海康isc", rs, carInfo, 5, 3, null, true);
}
}
@NotNull
private Set<String> getHkCarIds(Project project, CarInfo carInfo) throws Exception {
JSONObject param = new JSONObject();
param.putIfAbsent("pageNo", 0);
param.putIfAbsent("pageSize", 1000);
JSONArray listJa = new JSONArray();
int total = 0;
do {
param.put("pageNo", param.getInteger("pageNo") + 1);
JSONObject hkFixCars = HikvisionUtil.getFixCarList(project, param);
JSONObject jo = HikvisionUtil.getJSONObjectData(hkFixCars);
total = jo.getInteger("total");
JSONArray oneList = jo.getJSONArray("list");
listJa.addAll(oneList);
} while (total > param.getInteger(Cts.PAGE_NO) * 1000);
List<CarInfo> myFixCars = carInfoMapper.selectList(new LambdaQueryWrapper<CarInfo>()
.eq(CarInfo::getProjectSn, project.getProjectSn())
.eq(CarInfo::getCarModuleType, 1)
);
Set<String> ids = new HashSet<>();
Set<String> carNumSet = myFixCars.stream().map(CarInfo::getCarNumber).collect(Collectors.toSet());
for (int i = 0; i < listJa.size(); i++) {
JSONObject jo = listJa.getJSONObject(i);
if (carNumSet.contains(jo.getString("plateNo"))) {
ids.add(jo.getString("vehicleId"));
}
}
ids.add(carInfo.getId() + "");
return ids;
}
/**
* 人脸评分
*/

View File

@ -183,15 +183,12 @@ public class HikvisionUtil {
* @throws Exception
*/
public static JSONObject getFixCarListByCarNumber(String carNumber, Project project, Integer pageNo) throws Exception {
final String ARTEMIS_PATH = "/artemis";
final String path = ARTEMIS_PATH + "/api/resource/v2/vehicle/advance/vehicleList";
String host = "https://" + project.getArtemisConfigHost();
JSONObject jo = new JSONObject();
//模糊查询
jo.put("plateNo", carNumber);
jo.put("pageNo", pageNo);
jo.put("pageSize", 1000);
return doPostRtObj(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
return getFixCarList(project, jo);
}
/**