bug修复
This commit is contained in:
parent
2c47db34f5
commit
294db15d20
90
src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java
Normal file
90
src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
package com.zhgd.xmgl.async;
|
||||||
|
|
||||||
|
import com.zhgd.xmgl.call.HikvisionCall;
|
||||||
|
import com.zhgd.xmgl.call.HousingDataCall;
|
||||||
|
import com.zhgd.xmgl.call.WkServiceuCall;
|
||||||
|
import com.zhgd.xmgl.modules.basicdata.service.INoticeService;
|
||||||
|
import com.zhgd.xmgl.modules.car.entity.CarInfo;
|
||||||
|
import com.zhgd.xmgl.modules.project.service.IProjectUfaceConfigService;
|
||||||
|
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
||||||
|
import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
public class AsyncHikvision {
|
||||||
|
@Autowired
|
||||||
|
private WorkerInfoMapper workerInfoMapper;
|
||||||
|
@Autowired
|
||||||
|
private HousingDataCall housingDataCall;
|
||||||
|
@Autowired
|
||||||
|
private INoticeService noticeService;
|
||||||
|
@Autowired
|
||||||
|
private IProjectUfaceConfigService projectUfaceConfigService;
|
||||||
|
@Autowired
|
||||||
|
private WkServiceuCall wkServiceuCall;
|
||||||
|
@Autowired
|
||||||
|
HikvisionCall hikvisionCall;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加劳务人员-海康
|
||||||
|
*
|
||||||
|
* @param workerInfo
|
||||||
|
*/
|
||||||
|
@Async
|
||||||
|
public void addWorkerForHikvision(WorkerInfo workerInfo) {
|
||||||
|
try {
|
||||||
|
hikvisionCall.addWorkerForHikvision(workerInfo);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Async
|
||||||
|
public void editWorkerForHikvision(WorkerInfo workerInfo) {
|
||||||
|
try {
|
||||||
|
hikvisionCall.editWorkerForHikvision(workerInfo);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Async
|
||||||
|
public void deleteWorkerForHikvision(WorkerInfo workerInfo) {
|
||||||
|
try {
|
||||||
|
hikvisionCall.deleteWorkerForHikvision(workerInfo);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Async
|
||||||
|
public void addCarInfoForHikvision(CarInfo carInfo) {
|
||||||
|
try {
|
||||||
|
hikvisionCall.addCarInfoForHikvision(carInfo);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Async
|
||||||
|
public void editCarInfoForHikvision(CarInfo carInfo) {
|
||||||
|
try {
|
||||||
|
hikvisionCall.editCarInfoForHikvision(carInfo);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Async
|
||||||
|
public void deleteCarInfoForHikvision(CarInfo carInfo) {
|
||||||
|
try {
|
||||||
|
hikvisionCall.deleteCarInfoForHikvision(carInfo);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -5,6 +5,7 @@ import com.zhgd.xmgl.call.HousingDataCall;
|
|||||||
import com.zhgd.xmgl.call.WkServiceuCall;
|
import com.zhgd.xmgl.call.WkServiceuCall;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.Notice;
|
import com.zhgd.xmgl.modules.basicdata.entity.Notice;
|
||||||
import com.zhgd.xmgl.modules.basicdata.service.INoticeService;
|
import com.zhgd.xmgl.modules.basicdata.service.INoticeService;
|
||||||
|
import com.zhgd.xmgl.modules.car.entity.CarInfo;
|
||||||
import com.zhgd.xmgl.modules.project.entity.ProjectEnterprise;
|
import com.zhgd.xmgl.modules.project.entity.ProjectEnterprise;
|
||||||
import com.zhgd.xmgl.modules.project.entity.ProjectUfaceConfig;
|
import com.zhgd.xmgl.modules.project.entity.ProjectUfaceConfig;
|
||||||
import com.zhgd.xmgl.modules.project.service.IProjectUfaceConfigService;
|
import com.zhgd.xmgl.modules.project.service.IProjectUfaceConfigService;
|
||||||
@ -210,25 +211,4 @@ public class AsyncWorker {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 添加劳务人员-海康
|
|
||||||
*
|
|
||||||
* @param workerInfo
|
|
||||||
*/
|
|
||||||
@Async
|
|
||||||
public void addWorkerForHikvision(WorkerInfo workerInfo) {
|
|
||||||
//try {
|
|
||||||
// hikvisionCall.addWorkerForHikvision(workerInfo);
|
|
||||||
//} catch (Exception e) {
|
|
||||||
// e.printStackTrace();
|
|
||||||
//}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void editWorkerForHikvision(WorkerInfo workerInfo) {
|
|
||||||
//try {
|
|
||||||
// hikvisionCall.editWorkerForHikvision(workerInfo);
|
|
||||||
//} catch (Exception e) {
|
|
||||||
// e.printStackTrace();
|
|
||||||
//}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
26
src/main/java/com/zhgd/xmgl/base/HikvisionCarInfo.java
Normal file
26
src/main/java/com/zhgd/xmgl/base/HikvisionCarInfo.java
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
package com.zhgd.xmgl.base;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class HikvisionCarInfo {
|
||||||
|
|
||||||
|
@JsonProperty("clientId")
|
||||||
|
private Long clientId;
|
||||||
|
@JsonProperty("plateNo")
|
||||||
|
private String plateNo;
|
||||||
|
@JsonProperty("personId")
|
||||||
|
private String personId;
|
||||||
|
@JsonProperty("plateType")
|
||||||
|
private String plateType;
|
||||||
|
@JsonProperty("plateColor")
|
||||||
|
private String plateColor;
|
||||||
|
@JsonProperty("vehicleType")
|
||||||
|
private String vehicleType;
|
||||||
|
@JsonProperty("vehicleColor")
|
||||||
|
private String vehicleColor;
|
||||||
|
@JsonProperty("description")
|
||||||
|
private String description;
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,19 +1,27 @@
|
|||||||
package com.zhgd.xmgl.call;
|
package com.zhgd.xmgl.call;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.google.gson.JsonArray;
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
import com.hikvision.artemis.sdk.ArtemisHttpUtil;
|
import com.hikvision.artemis.sdk.ArtemisHttpUtil;
|
||||||
import com.hikvision.artemis.sdk.config.ArtemisConfig;
|
import com.hikvision.artemis.sdk.config.ArtemisConfig;
|
||||||
|
import com.zhgd.xmgl.base.HikvisionCarInfo;
|
||||||
|
import com.zhgd.xmgl.modules.car.entity.CarInfo;
|
||||||
|
import com.zhgd.xmgl.modules.project.entity.Project;
|
||||||
|
import com.zhgd.xmgl.modules.project.mapper.ProjectMapper;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
||||||
import com.zhgd.xmgl.util.Base64Util;
|
import com.zhgd.xmgl.util.Base64Util;
|
||||||
import com.zhgd.xmgl.util.HikvisionUtil;
|
import com.zhgd.xmgl.util.HikvisionUtil;
|
||||||
import com.zhgd.xmgl.util.PathUtil;
|
import com.zhgd.xmgl.util.PathUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
@ -21,6 +29,9 @@ public class HikvisionCall {
|
|||||||
@Value("${upload.image.url.prefix:}")
|
@Value("${upload.image.url.prefix:}")
|
||||||
private String imageUrlPrefix;
|
private String imageUrlPrefix;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ProjectMapper projectMapper;
|
||||||
|
|
||||||
public static String GetCameraPreviewURL() {
|
public static String GetCameraPreviewURL() {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -68,37 +79,18 @@ public class HikvisionCall {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void addWorkerForHikvision(WorkerInfo workerInfo) {
|
public void addWorkerForHikvision(WorkerInfo workerInfo) {
|
||||||
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, workerInfo.getProjectSn()));
|
||||||
/**
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
* STEP1:设置平台参数,根据实际情况,设置host appkey appsecret 三个参数.
|
return;
|
||||||
*/
|
}
|
||||||
ArtemisConfig.host = "127.0.0.1:443"; // 平台的ip端口
|
|
||||||
ArtemisConfig.appKey = "29180881"; // 密钥appkey
|
|
||||||
ArtemisConfig.appSecret = "XO0wCAYGi4KV70ybjznx";// 密钥appSecret
|
|
||||||
|
|
||||||
/**
|
|
||||||
* STEP2:设置OpenAPI接口的上下文
|
|
||||||
*/
|
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
|
final String path = ARTEMIS_PATH + "/api/resource/v2/person/single/add";
|
||||||
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
|
String body = getWorkerJson(workerInfo);
|
||||||
|
HikvisionUtil.doPost(host, path, body, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
private String getWorkerJson(WorkerInfo workerInfo) {
|
||||||
* STEP3:设置接口的URI地址
|
|
||||||
*/
|
|
||||||
final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v2/person/single/add";
|
|
||||||
Map<String, String> path = new HashMap<String, String>(2) {
|
|
||||||
{
|
|
||||||
put("https://", previewURLsApi);//根据现场环境部署确认是http还是https
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* STEP4:设置参数提交方式
|
|
||||||
*/
|
|
||||||
String contentType = "application/json";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* STEP5:组装请求参数
|
|
||||||
*/
|
|
||||||
JSONObject jsonBody = new JSONObject();
|
JSONObject jsonBody = new JSONObject();
|
||||||
jsonBody.put("personId", workerInfo.getId());
|
jsonBody.put("personId", workerInfo.getId());
|
||||||
jsonBody.put("personName", workerInfo.getWorkerName());
|
jsonBody.put("personName", workerInfo.getWorkerName());
|
||||||
@ -116,69 +108,135 @@ public class HikvisionCall {
|
|||||||
faceList.add(faceMap);
|
faceList.add(faceMap);
|
||||||
jsonBody.put("faces", faceList);
|
jsonBody.put("faces", faceList);
|
||||||
String body = jsonBody.toJSONString();
|
String body = jsonBody.toJSONString();
|
||||||
/**
|
return body;
|
||||||
* STEP6:调用接口
|
|
||||||
*/
|
|
||||||
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType, null);// post请求application/json类型参数
|
|
||||||
log.info("海康rs:{}", result);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void editWorkerForHikvision(WorkerInfo workerInfo) {
|
public void editWorkerForHikvision(WorkerInfo workerInfo) {
|
||||||
/**
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, workerInfo.getProjectSn()));
|
||||||
* STEP1:设置平台参数,根据实际情况,设置host appkey appsecret 三个参数.
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
*/
|
return;
|
||||||
ArtemisConfig.host = "127.0.0.1:443"; // 平台的ip端口
|
}
|
||||||
ArtemisConfig.appKey = "29180881"; // 密钥appkey
|
|
||||||
ArtemisConfig.appSecret = "XO0wCAYGi4KV70ybjznx";// 密钥appSecret
|
|
||||||
|
|
||||||
/**
|
|
||||||
* STEP2:设置OpenAPI接口的上下文
|
|
||||||
*/
|
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
|
final String path = ARTEMIS_PATH + "/api/resource/v1/person/single/update";
|
||||||
/**
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
* STEP3:设置接口的URI地址
|
String body = getWorkerJson(workerInfo);
|
||||||
*/
|
HikvisionUtil.doPost(host, path, body, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v1/person/single/update";
|
|
||||||
Map<String, String> path = new HashMap<String, String>(2) {
|
|
||||||
{
|
|
||||||
put("https://", previewURLsApi);//根据现场环境部署确认是http还是https
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* STEP4:设置参数提交方式
|
|
||||||
*/
|
|
||||||
String contentType = "application/json";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* STEP5:组装请求参数
|
|
||||||
*/
|
|
||||||
JSONObject jsonBody = new JSONObject();
|
|
||||||
jsonBody.put("personId", workerInfo.getId());
|
|
||||||
jsonBody.put("personName", workerInfo.getWorkerName());
|
|
||||||
jsonBody.put("gender", workerInfo.getSex());
|
|
||||||
jsonBody.put("orgIndexCode", "todo");//todo
|
|
||||||
jsonBody.put("birthday", workerInfo.getBirthday());
|
|
||||||
jsonBody.put("phoneNo", workerInfo.getPhoneNumber());
|
|
||||||
jsonBody.put("email", workerInfo.getPersonMail());
|
|
||||||
jsonBody.put("certificateType", "111");
|
|
||||||
jsonBody.put("certificateNo", workerInfo.getIdCard());
|
|
||||||
jsonBody.put("jobNo", workerInfo.getPersonSn());
|
|
||||||
ArrayList<HashMap<String, String>> faceList = new ArrayList<>();
|
|
||||||
HashMap<String, String> faceMap = new HashMap<>();
|
|
||||||
faceMap.put("faceData", Base64Util.convertFileToBase64(PathUtil.reviseSlash(imageUrlPrefix + "/" + workerInfo.getFieldAcquisitionUrl())));
|
|
||||||
faceList.add(faceMap);
|
|
||||||
jsonBody.put("faces", faceList);
|
|
||||||
String body = jsonBody.toJSONString();
|
|
||||||
/**
|
|
||||||
* STEP6:调用接口
|
|
||||||
*/
|
|
||||||
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType, null);// post请求application/json类型参数
|
|
||||||
//HikvisionUtil.doPost("https://"+previewURLsApi,)
|
|
||||||
log.info("海康rs:{}", result);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void deleteWorkerForHikvision(WorkerInfo workerInfo) {
|
||||||
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, workerInfo.getProjectSn()));
|
||||||
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
|
final String path = ARTEMIS_PATH + "/api/resource/v1/person/batch/delete";
|
||||||
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
|
JSONObject jsonBody = new JSONObject();
|
||||||
|
jsonBody.put("personIds", Arrays.asList(workerInfo.getId()));
|
||||||
|
String body = jsonBody.toJSONString();
|
||||||
|
HikvisionUtil.doPost(host, path, body, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addCarInfoForHikvision(CarInfo carInfo) {
|
||||||
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, carInfo.getProjectSn()));
|
||||||
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
|
final String path = ARTEMIS_PATH + "/api/resource/v1/vehicle/batch/add";
|
||||||
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
|
HikvisionCarInfo hikvisionCarInfo = getHikvisionCarInfo(carInfo);
|
||||||
|
JsonArray array = new JsonArray();
|
||||||
|
array.add(BeanUtil.toBean(hikvisionCarInfo, JsonObject.class));
|
||||||
|
String body = array.toString();
|
||||||
|
HikvisionUtil.doPost(host, path, body, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
|
}
|
||||||
|
|
||||||
|
private HikvisionCarInfo getHikvisionCarInfo(CarInfo carInfo) {
|
||||||
|
HikvisionCarInfo hikvisionCarInfo = new HikvisionCarInfo();
|
||||||
|
hikvisionCarInfo.setClientId(carInfo.getId());
|
||||||
|
hikvisionCarInfo.setPlateNo(carInfo.getCarNumber());
|
||||||
|
hikvisionCarInfo.setPersonId(carInfo.getDriverName());
|
||||||
|
hikvisionCarInfo.setPlateType(null);
|
||||||
|
hikvisionCarInfo.setPlateColor(null);
|
||||||
|
hikvisionCarInfo.setVehicleType(null);
|
||||||
|
hikvisionCarInfo.setVehicleColor(getVehicleColor(carInfo.getCarColor()));
|
||||||
|
hikvisionCarInfo.setDescription(null);
|
||||||
|
return hikvisionCarInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getVehicleColor(String carColor) {
|
||||||
|
if (StringUtils.isBlank(carColor)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
switch (carColor) {
|
||||||
|
case "其他颜色":
|
||||||
|
return "0";
|
||||||
|
case "白色":
|
||||||
|
return "1";
|
||||||
|
case "银色":
|
||||||
|
return "2";
|
||||||
|
case "灰色":
|
||||||
|
return "3";
|
||||||
|
case "黑色":
|
||||||
|
return "4";
|
||||||
|
case "红色":
|
||||||
|
return "5";
|
||||||
|
case "深蓝色":
|
||||||
|
return "6";
|
||||||
|
case "蓝色":
|
||||||
|
return "7";
|
||||||
|
case "黄色":
|
||||||
|
return "8";
|
||||||
|
case "绿色":
|
||||||
|
return "9";
|
||||||
|
case "棕色":
|
||||||
|
return "10";
|
||||||
|
case "粉色":
|
||||||
|
return "11";
|
||||||
|
case "紫色":
|
||||||
|
return "12";
|
||||||
|
case "深灰":
|
||||||
|
return "13";
|
||||||
|
case "杏色":
|
||||||
|
return "14";
|
||||||
|
case "未识别的车辆颜色":
|
||||||
|
return "255";
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void editCarInfoForHikvision(CarInfo carInfo) {
|
||||||
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, carInfo.getProjectSn()));
|
||||||
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
|
final String path = ARTEMIS_PATH + "/api/resource/v1/vehicle/single/update";
|
||||||
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
|
HikvisionCarInfo hikvisionCarInfo = getHikvisionCarInfo(carInfo);
|
||||||
|
JsonArray array = new JsonArray();
|
||||||
|
array.add(BeanUtil.toBean(hikvisionCarInfo, JsonObject.class));
|
||||||
|
String body = array.toString();
|
||||||
|
HikvisionUtil.doPost(host, path, body, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deleteCarInfoForHikvision(CarInfo carInfo) {
|
||||||
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, carInfo.getProjectSn()));
|
||||||
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
|
final String path = ARTEMIS_PATH + "/api/resource/v1/vehicle/single/update";
|
||||||
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
|
JSONObject jo = new JSONObject();
|
||||||
|
JsonArray array = new JsonArray();
|
||||||
|
String body = array.toString();
|
||||||
|
array.add(carInfo.getId());
|
||||||
|
jo.put("vehicleIds", array);
|
||||||
|
HikvisionUtil.doPost(host, path, body, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,8 +2,8 @@ package com.zhgd.xmgl.modules.basicdata.controller;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.zhgd.jeecg.common.api.vo.Result;
|
import com.zhgd.jeecg.common.api.vo.Result;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.dto.ModuleListPageDto;
|
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.BaseModule;
|
import com.zhgd.xmgl.modules.basicdata.entity.BaseModule;
|
||||||
|
import com.zhgd.xmgl.modules.basicdata.entity.dto.ModuleListPageDto;
|
||||||
import com.zhgd.xmgl.modules.basicdata.service.IBaseModuleService;
|
import com.zhgd.xmgl.modules.basicdata.service.IBaseModuleService;
|
||||||
import com.zhgd.xmgl.util.MessageUtil;
|
import com.zhgd.xmgl.util.MessageUtil;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
@ -13,10 +13,7 @@ import io.swagger.annotations.ApiOperation;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections.MapUtils;
|
import org.apache.commons.collections.MapUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -177,5 +174,12 @@ public class BaseModuleController {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 复制模块和菜单(copy一份模块系统版本)
|
||||||
|
*/
|
||||||
|
@GetMapping("copyModuleAndMenu")
|
||||||
|
public void copyModuleAndMenu() {
|
||||||
|
baseModuleService.copyModuleAndMenu();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -25,4 +25,6 @@ public interface IBaseModuleService extends IService<BaseModule> {
|
|||||||
List<BaseModule> getModuleList(Map<String, Object> map);
|
List<BaseModule> getModuleList(Map<String, Object> map);
|
||||||
|
|
||||||
Page<BaseModule> getModuleListByPage(ModuleListPageDto dto);
|
Page<BaseModule> getModuleListByPage(ModuleListPageDto dto);
|
||||||
|
|
||||||
|
void copyModuleAndMenu();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,13 +1,17 @@
|
|||||||
package com.zhgd.xmgl.modules.basicdata.service.impl;
|
package com.zhgd.xmgl.modules.basicdata.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.dto.ModuleListPageDto;
|
import com.zhgd.xmgl.modules.basicdata.entity.BaseMenu;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.BaseModule;
|
import com.zhgd.xmgl.modules.basicdata.entity.BaseModule;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.CompanyConfig;
|
import com.zhgd.xmgl.modules.basicdata.entity.CompanyConfig;
|
||||||
|
import com.zhgd.xmgl.modules.basicdata.entity.dto.ModuleListPageDto;
|
||||||
|
import com.zhgd.xmgl.modules.basicdata.mapper.BaseMenuMapper;
|
||||||
import com.zhgd.xmgl.modules.basicdata.mapper.BaseModuleMapper;
|
import com.zhgd.xmgl.modules.basicdata.mapper.BaseModuleMapper;
|
||||||
import com.zhgd.xmgl.modules.basicdata.mapper.CompanyConfigMapper;
|
import com.zhgd.xmgl.modules.basicdata.mapper.CompanyConfigMapper;
|
||||||
|
import com.zhgd.xmgl.modules.basicdata.service.IBaseAuthorityService;
|
||||||
import com.zhgd.xmgl.modules.basicdata.service.IBaseModuleService;
|
import com.zhgd.xmgl.modules.basicdata.service.IBaseModuleService;
|
||||||
import org.apache.commons.collections.MapUtils;
|
import org.apache.commons.collections.MapUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@ -16,6 +20,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.function.Function;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 模块
|
* @Description: 模块
|
||||||
@ -29,7 +35,11 @@ public class BaseModuleServiceImpl extends ServiceImpl<BaseModuleMapper, BaseMod
|
|||||||
@Autowired
|
@Autowired
|
||||||
private BaseModuleMapper baseModuleMapper;
|
private BaseModuleMapper baseModuleMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
private BaseMenuMapper baseMenuMapper;
|
||||||
|
@Autowired
|
||||||
private CompanyConfigMapper companyConfigMapper;
|
private CompanyConfigMapper companyConfigMapper;
|
||||||
|
@Autowired
|
||||||
|
private IBaseAuthorityService baseAuthorityService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<BaseModule> getCompanyModuleList(Map<String, Object> map) {
|
public List<BaseModule> getCompanyModuleList(Map<String, Object> map) {
|
||||||
@ -75,4 +85,26 @@ public class BaseModuleServiceImpl extends ServiceImpl<BaseModuleMapper, BaseMod
|
|||||||
}
|
}
|
||||||
return baseModuleMapper.getModuleListByPage(page, dto);
|
return baseModuleMapper.getModuleListByPage(page, dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void copyModuleAndMenu() {
|
||||||
|
List<BaseModule> baseModules = baseModuleMapper.selectList(new LambdaQueryWrapper<BaseModule>().eq(BaseModule::getStyleType, 1));
|
||||||
|
List<BaseMenu> baseMenus = baseMenuMapper.selectList(new LambdaQueryWrapper<BaseMenu>().in(BaseMenu::getModuleId, baseModules.stream().map(BaseModule::getModuleId).collect(Collectors.toList())));
|
||||||
|
Map<Long, List<BaseMenu>> moduleIdMap = baseMenus.stream().collect(Collectors.groupingBy(BaseMenu::getModuleId));
|
||||||
|
for (BaseModule baseModule : baseModules) {
|
||||||
|
List<BaseMenu> baseMenuList = moduleIdMap.get(baseModule.getModuleId());
|
||||||
|
baseModule.setStyleType(7);
|
||||||
|
baseModule.setModuleId(null);
|
||||||
|
baseModuleMapper.insert(baseModule);
|
||||||
|
if (baseMenuList != null) {
|
||||||
|
for (BaseMenu baseMenu : baseMenuList) {
|
||||||
|
baseMenu.setMenuId(null);
|
||||||
|
baseMenu.setModuleId(baseModule.getModuleId());
|
||||||
|
baseMenuMapper.insert(baseMenu);
|
||||||
|
// 同步权限表里的信息
|
||||||
|
baseAuthorityService.saveOrUpdateAuthority(baseMenu.getMenuId(), "menu");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -91,18 +91,8 @@ public class CarInfoController {
|
|||||||
@ApiImplicitParam(name = "id", value = "车辆黑白名单管理ID", paramType = "body", required = true, dataType = "Integer")
|
@ApiImplicitParam(name = "id", value = "车辆黑白名单管理ID", paramType = "body", required = true, dataType = "Integer")
|
||||||
@PostMapping(value = "/delete")
|
@PostMapping(value = "/delete")
|
||||||
public Result<CarInfo> delete(@RequestBody Map<String,Object> map) {
|
public Result<CarInfo> delete(@RequestBody Map<String,Object> map) {
|
||||||
Result<CarInfo> result = new Result<CarInfo>();
|
carInfoService.delete(map);
|
||||||
CarInfo carInfo = carInfoService.getById(MapUtils.getString(map,"id"));
|
return Result.ok();
|
||||||
if(carInfo==null) {
|
|
||||||
result.error500(MessageUtil.get("notFindErr"));
|
|
||||||
}else {
|
|
||||||
boolean ok = carInfoService.removeById(MapUtils.getString(map,"id"));
|
|
||||||
if(ok) {
|
|
||||||
result.successMsg(MessageUtil.get("deleteSucess"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -24,4 +24,6 @@ public interface ICarInfoService extends IService<CarInfo> {
|
|||||||
void deleteProjectCarData(String projectSn);
|
void deleteProjectCarData(String projectSn);
|
||||||
|
|
||||||
Map<String, Object> selectCarTypeCount(Map<String, Object> map);
|
Map<String, Object> selectCarTypeCount(Map<String, Object> map);
|
||||||
|
|
||||||
|
void delete(Map<String, Object> map);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,8 +4,11 @@ import cn.hutool.core.date.DateUtil;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||||
|
import com.zhgd.xmgl.async.AsyncHikvision;
|
||||||
|
import com.zhgd.xmgl.async.AsyncWorker;
|
||||||
import com.zhgd.xmgl.modules.car.entity.*;
|
import com.zhgd.xmgl.modules.car.entity.*;
|
||||||
import com.zhgd.xmgl.modules.car.mapper.*;
|
import com.zhgd.xmgl.modules.car.mapper.*;
|
||||||
import com.zhgd.xmgl.modules.car.service.ICarInfoService;
|
import com.zhgd.xmgl.modules.car.service.ICarInfoService;
|
||||||
@ -15,8 +18,6 @@ import org.apache.commons.collections.MapUtils;
|
|||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -26,7 +27,7 @@ import java.util.Map;
|
|||||||
/**
|
/**
|
||||||
* @Description: 车辆黑白名单管理
|
* @Description: 车辆黑白名单管理
|
||||||
* @author: pds
|
* @author: pds
|
||||||
* @date: 2020-09-29
|
* @date: 2020-09-29
|
||||||
* @version: V1.0
|
* @version: V1.0
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@ -48,22 +49,26 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
|
|||||||
private CarWashCurrentDataMapper carWashCurrentDataMapper;
|
private CarWashCurrentDataMapper carWashCurrentDataMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private WorkerInfoMapper workerInfoMapper;
|
private WorkerInfoMapper workerInfoMapper;
|
||||||
|
@Autowired
|
||||||
|
private AsyncWorker asyncWorker;
|
||||||
|
@Autowired
|
||||||
|
private AsyncHikvision asyncHikvision;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<EntityMap> selectCarList(Map<String, Object> map) {
|
public IPage<EntityMap> selectCarList(Map<String, Object> map) {
|
||||||
int pageNo = Integer.parseInt(map.getOrDefault("pageNo", 1).toString());
|
int pageNo = Integer.parseInt(map.getOrDefault("pageNo", 1).toString());
|
||||||
int pageSize = Integer.parseInt(map.getOrDefault("pageSize", 10).toString());
|
int pageSize = Integer.parseInt(map.getOrDefault("pageSize", 10).toString());
|
||||||
if(StringUtils.isEmpty(MapUtils.getString(map,"isBlack"))){
|
if (StringUtils.isEmpty(MapUtils.getString(map, "isBlack"))) {
|
||||||
map.remove("isBlack");
|
map.remove("isBlack");
|
||||||
}
|
}
|
||||||
Page<EntityMap> page = new Page<>(pageNo, pageSize);
|
Page<EntityMap> page = new Page<>(pageNo, pageSize);
|
||||||
List<EntityMap> list=carInfoMapper.selectCarList(page, map);
|
List<EntityMap> list = carInfoMapper.selectCarList(page, map);
|
||||||
if(list!=null&&list.size()>0){
|
if (list != null && list.size() > 0) {
|
||||||
for(EntityMap entityMap:list){
|
for (EntityMap entityMap : list) {
|
||||||
String workerName=workerInfoMapper.selectCarDriverNameByWorkerId(MapUtils.getString(entityMap,"driverWorkerId"));
|
String workerName = workerInfoMapper.selectCarDriverNameByWorkerId(MapUtils.getString(entityMap, "driverWorkerId"));
|
||||||
entityMap.put("driver_worker_name",workerName);
|
entityMap.put("driver_worker_name", workerName);
|
||||||
if (StringUtils.isBlank(workerName)) {
|
if (StringUtils.isBlank(workerName)) {
|
||||||
entityMap.put("driver_worker_name",MapUtils.getString(entityMap,"driverName"));
|
entityMap.put("driver_worker_name", MapUtils.getString(entityMap, "driverName"));
|
||||||
}
|
}
|
||||||
String addTime = MapUtils.getString(entityMap, "addTime");
|
String addTime = MapUtils.getString(entityMap, "addTime");
|
||||||
if (StringUtils.isNotBlank(addTime)) {
|
if (StringUtils.isNotBlank(addTime)) {
|
||||||
@ -77,84 +82,103 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addCarInfo(CarInfo carInfo) {
|
public void addCarInfo(CarInfo carInfo) {
|
||||||
QueryWrapper<CarInfo> queryWrapper=new QueryWrapper<>();
|
QueryWrapper<CarInfo> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.lambda().eq(CarInfo::getProjectSn,carInfo.getProjectSn())
|
queryWrapper.lambda().eq(CarInfo::getProjectSn, carInfo.getProjectSn())
|
||||||
.eq(CarInfo::getCarNumber,carInfo.getCarNumber());
|
.eq(CarInfo::getCarNumber, carInfo.getCarNumber());
|
||||||
int count=carInfoMapper.selectCount(queryWrapper);
|
int count = carInfoMapper.selectCount(queryWrapper);
|
||||||
if(count>0){
|
if (count > 0) {
|
||||||
throw new OpenAlertException(MessageUtil.get("carNumberExistErr"));
|
throw new OpenAlertException(MessageUtil.get("carNumberExistErr"));
|
||||||
}
|
}
|
||||||
carInfoMapper.insert(carInfo);
|
carInfoMapper.insert(carInfo);
|
||||||
|
|
||||||
|
//同步海康
|
||||||
|
asyncHikvision.addCarInfoForHikvision(carInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void editCarInfo(CarInfo carInfo) {
|
public void editCarInfo(CarInfo carInfo) {
|
||||||
QueryWrapper<CarInfo> queryWrapper=new QueryWrapper<>();
|
QueryWrapper<CarInfo> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.lambda().eq(CarInfo::getProjectSn,carInfo.getProjectSn())
|
queryWrapper.lambda().eq(CarInfo::getProjectSn, carInfo.getProjectSn())
|
||||||
.eq(CarInfo::getCarNumber,carInfo.getCarNumber())
|
.eq(CarInfo::getCarNumber, carInfo.getCarNumber())
|
||||||
.ne(CarInfo::getId,carInfo.getId());
|
.ne(CarInfo::getId, carInfo.getId());
|
||||||
int count=carInfoMapper.selectCount(queryWrapper);
|
int count = carInfoMapper.selectCount(queryWrapper);
|
||||||
if(count>0){
|
if (count > 0) {
|
||||||
throw new OpenAlertException(MessageUtil.get("carNumberExistErr"));
|
throw new OpenAlertException(MessageUtil.get("carNumberExistErr"));
|
||||||
}
|
}
|
||||||
carInfoMapper.updateById(carInfo);
|
carInfoMapper.updateById(carInfo);
|
||||||
|
|
||||||
|
//同步海康
|
||||||
|
asyncHikvision.editCarInfoForHikvision(carInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteProjectCarData(String projectSn) {
|
public void deleteProjectCarData(String projectSn) {
|
||||||
//删除车辆黑白名单
|
//删除车辆黑白名单
|
||||||
QueryWrapper<CarInfo> queryWrapper=new QueryWrapper<>();
|
QueryWrapper<CarInfo> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.lambda().eq(CarInfo::getProjectSn,projectSn);
|
queryWrapper.lambda().eq(CarInfo::getProjectSn, projectSn);
|
||||||
carInfoMapper.delete(queryWrapper);
|
carInfoMapper.delete(queryWrapper);
|
||||||
//删除车辆相机
|
//删除车辆相机
|
||||||
QueryWrapper<CarCamera> queryWrapper2=new QueryWrapper<>();
|
QueryWrapper<CarCamera> queryWrapper2 = new QueryWrapper<>();
|
||||||
queryWrapper2.lambda().eq(CarCamera::getProjectSn,projectSn);
|
queryWrapper2.lambda().eq(CarCamera::getProjectSn, projectSn);
|
||||||
carCameraMapper.delete(queryWrapper2);
|
carCameraMapper.delete(queryWrapper2);
|
||||||
//删除车辆进出闸门
|
//删除车辆进出闸门
|
||||||
QueryWrapper<CarPassGate> queryWrapper3=new QueryWrapper<>();
|
QueryWrapper<CarPassGate> queryWrapper3 = new QueryWrapper<>();
|
||||||
queryWrapper3.lambda().eq(CarPassGate::getProjectSn,projectSn);
|
queryWrapper3.lambda().eq(CarPassGate::getProjectSn, projectSn);
|
||||||
carPassGateMapper.delete(queryWrapper3);
|
carPassGateMapper.delete(queryWrapper3);
|
||||||
//删除车辆通行记录
|
//删除车辆通行记录
|
||||||
QueryWrapper<CarPassRecord> queryWrapper4=new QueryWrapper<>();
|
QueryWrapper<CarPassRecord> queryWrapper4 = new QueryWrapper<>();
|
||||||
queryWrapper4.lambda().eq(CarPassRecord::getProjectSn,projectSn);
|
queryWrapper4.lambda().eq(CarPassRecord::getProjectSn, projectSn);
|
||||||
carPassRecordMapper.delete(queryWrapper4);
|
carPassRecordMapper.delete(queryWrapper4);
|
||||||
//删除车辆类型
|
//删除车辆类型
|
||||||
QueryWrapper<CarType> queryWrapper5=new QueryWrapper<>();
|
QueryWrapper<CarType> queryWrapper5 = new QueryWrapper<>();
|
||||||
queryWrapper5.lambda().eq(CarType::getProjectSn,projectSn);
|
queryWrapper5.lambda().eq(CarType::getProjectSn, projectSn);
|
||||||
carTypeMapper.delete(queryWrapper5);
|
carTypeMapper.delete(queryWrapper5);
|
||||||
//删除车辆冲洗设备
|
//删除车辆冲洗设备
|
||||||
QueryWrapper<CarWashDev> queryWrapper6=new QueryWrapper<>();
|
QueryWrapper<CarWashDev> queryWrapper6 = new QueryWrapper<>();
|
||||||
queryWrapper6.lambda().eq(CarWashDev::getProjectSn,projectSn);
|
queryWrapper6.lambda().eq(CarWashDev::getProjectSn, projectSn);
|
||||||
carWashDevMapper.delete(queryWrapper6);
|
carWashDevMapper.delete(queryWrapper6);
|
||||||
//删除车辆冲洗实时数据
|
//删除车辆冲洗实时数据
|
||||||
QueryWrapper<CarWashCurrentData> queryWrapper7=new QueryWrapper<>();
|
QueryWrapper<CarWashCurrentData> queryWrapper7 = new QueryWrapper<>();
|
||||||
queryWrapper7.lambda().eq(CarWashCurrentData::getProjectSn,projectSn);
|
queryWrapper7.lambda().eq(CarWashCurrentData::getProjectSn, projectSn);
|
||||||
carWashCurrentDataMapper.delete(queryWrapper7);
|
carWashCurrentDataMapper.delete(queryWrapper7);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> selectCarTypeCount(Map<String, Object> map) {
|
public Map<String, Object> selectCarTypeCount(Map<String, Object> map) {
|
||||||
Map<String, Object> data=new HashMap<>();
|
Map<String, Object> data = new HashMap<>();
|
||||||
//查询项目下各种车辆类型的车辆数、黑名单和白名单数
|
//查询项目下各种车辆类型的车辆数、黑名单和白名单数
|
||||||
List<Map<String, Object>> list=carInfoMapper.selectCarTypeCount(map);
|
List<Map<String, Object>> list = carInfoMapper.selectCarTypeCount(map);
|
||||||
//总数
|
//总数
|
||||||
Integer totalCar=0;
|
Integer totalCar = 0;
|
||||||
//白名单车辆总数
|
//白名单车辆总数
|
||||||
Integer totalBlackNum=0;
|
Integer totalBlackNum = 0;
|
||||||
//黑名单车辆总数
|
//黑名单车辆总数
|
||||||
Integer totalWhiteNum=0;
|
Integer totalWhiteNum = 0;
|
||||||
if(list!=null&&list.size()>0){
|
if (list != null && list.size() > 0) {
|
||||||
for (Map<String, Object> carData:list){
|
for (Map<String, Object> carData : list) {
|
||||||
totalCar=totalCar+MapUtils.getInteger(carData,"carTypeNum",0);
|
totalCar = totalCar + MapUtils.getInteger(carData, "carTypeNum", 0);
|
||||||
totalBlackNum=totalBlackNum+MapUtils.getInteger(carData,"blackNum",0);
|
totalBlackNum = totalBlackNum + MapUtils.getInteger(carData, "blackNum", 0);
|
||||||
totalWhiteNum=totalWhiteNum+MapUtils.getInteger(carData,"whiteNum",0);
|
totalWhiteNum = totalWhiteNum + MapUtils.getInteger(carData, "whiteNum", 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
data.put("totalCar",totalCar);
|
data.put("totalCar", totalCar);
|
||||||
data.put("totalBlackNum",totalBlackNum);
|
data.put("totalBlackNum", totalBlackNum);
|
||||||
data.put("totalWhiteNum",totalWhiteNum);
|
data.put("totalWhiteNum", totalWhiteNum);
|
||||||
data.put("list",list);
|
data.put("list", list);
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void delete(Map<String, Object> map) {
|
||||||
|
CarInfo carInfo = getById(MapUtils.getString(map, "id"));
|
||||||
|
if (carInfo == null) {
|
||||||
|
throw new OpenAlertException(MessageUtil.get("notFindErr"));
|
||||||
|
}
|
||||||
|
String id = MapUtils.getString(map, "id");
|
||||||
|
carInfoMapper.deleteById(id);
|
||||||
|
|
||||||
|
//同步海康
|
||||||
|
asyncHikvision.deleteCarInfoForHikvision(carInfo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -310,6 +310,16 @@ public class Project implements Serializable {
|
|||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
@ApiModelProperty(value = "是否同步到海康")
|
@ApiModelProperty(value = "是否同步到海康")
|
||||||
private Integer syncHikvision;
|
private Integer syncHikvision;
|
||||||
|
@JsonIgnore
|
||||||
|
@ApiModelProperty(value = "海康host")
|
||||||
|
private String artemisConfigHost;
|
||||||
|
@JsonIgnore
|
||||||
|
@ApiModelProperty(value = "海康appKey")
|
||||||
|
private String artemisConfigAppKey;
|
||||||
|
@JsonIgnore
|
||||||
|
@ApiModelProperty(value = "海康appSecret")
|
||||||
|
private String artemisConfigAppSecret;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* runde平台token
|
* runde平台token
|
||||||
|
|||||||
@ -19,6 +19,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
import com.zhgd.jeecg.common.api.vo.Result;
|
import com.zhgd.jeecg.common.api.vo.Result;
|
||||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||||
|
import com.zhgd.xmgl.async.AsyncHikvision;
|
||||||
import com.zhgd.xmgl.async.AsyncJiLianDa;
|
import com.zhgd.xmgl.async.AsyncJiLianDa;
|
||||||
import com.zhgd.xmgl.async.AsyncWorker;
|
import com.zhgd.xmgl.async.AsyncWorker;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
||||||
@ -117,6 +118,8 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
|||||||
@Autowired
|
@Autowired
|
||||||
private AsyncWorker asyncWorker;
|
private AsyncWorker asyncWorker;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
private AsyncHikvision asyncHikvision;
|
||||||
|
@Autowired
|
||||||
private IWorkerPhotoFeaturesService workerPhotoFeaturesService;
|
private IWorkerPhotoFeaturesService workerPhotoFeaturesService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private GovtOpenApiService govtOpenApiService;
|
private GovtOpenApiService govtOpenApiService;
|
||||||
@ -313,7 +316,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
|||||||
.eq(WorkerInfoDelete::getIdCard, workerInfo.getIdCard())
|
.eq(WorkerInfoDelete::getIdCard, workerInfo.getIdCard())
|
||||||
);
|
);
|
||||||
//同步海康
|
//同步海康
|
||||||
asyncWorker.editWorkerForHikvision(workerInfo);
|
asyncHikvision.addWorkerForHikvision(workerInfo);
|
||||||
|
|
||||||
return workerInfo;
|
return workerInfo;
|
||||||
}
|
}
|
||||||
@ -372,6 +375,8 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
|||||||
}
|
}
|
||||||
asyncJiLianDa.saveWorkerInfo(workerInfo);
|
asyncJiLianDa.saveWorkerInfo(workerInfo);
|
||||||
|
|
||||||
|
//同步海康
|
||||||
|
asyncHikvision.editWorkerForHikvision(workerInfo);
|
||||||
|
|
||||||
return workerInfo;
|
return workerInfo;
|
||||||
}
|
}
|
||||||
@ -403,6 +408,10 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
|||||||
WorkerInfoDelete entity = new WorkerInfoDelete();
|
WorkerInfoDelete entity = new WorkerInfoDelete();
|
||||||
BeanUtil.copyProperties(workerInfo, entity);
|
BeanUtil.copyProperties(workerInfo, entity);
|
||||||
workerInfoDeleteMapper.insert(entity);
|
workerInfoDeleteMapper.insert(entity);
|
||||||
|
|
||||||
|
//同步海康
|
||||||
|
asyncHikvision.deleteWorkerForHikvision(workerInfo);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkExistAccount(String id) {
|
private void checkExistAccount(String id) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user