bug修改
This commit is contained in:
parent
680651b0fc
commit
76d244fdb6
@ -242,7 +242,7 @@ public class AsyncHikvision {
|
|||||||
* @param projectVideoConfig
|
* @param projectVideoConfig
|
||||||
* @param indexCodes
|
* @param indexCodes
|
||||||
*/
|
*/
|
||||||
private void addVqdForHikvisionBatch(ProjectVideoConfig projectVideoConfig, ArrayList<String> indexCodes) {
|
private void addVqdForHikvisionBatch(ProjectVideoConfig projectVideoConfig, ArrayList<String> indexCodes) throws Exception {
|
||||||
JSONObject requestParam = new JSONObject();
|
JSONObject requestParam = new JSONObject();
|
||||||
requestParam.put("pageNo", 1);
|
requestParam.put("pageNo", 1);
|
||||||
requestParam.put("pageSize", 20);
|
requestParam.put("pageSize", 20);
|
||||||
@ -264,14 +264,82 @@ public class AsyncHikvision {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Async
|
@Async
|
||||||
public void addPersonAuth(WorkerInfo workerInfo, ProjectUfaceConfig tempProjectUfaceConfig, String devSn) {
|
public void addPersonAuth(WorkerInfo workerInfo, String devSn) {
|
||||||
try {
|
try {
|
||||||
if (StringUtils.isBlank(devSn)) {
|
if (StringUtils.isBlank(devSn)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
StringBuilder sucSb = new StringBuilder();
|
||||||
|
StringBuilder failSb = new StringBuilder();
|
||||||
String[] devSnArr = StringUtils.split(devSn, ",");
|
String[] devSnArr = StringUtils.split(devSn, ",");
|
||||||
for (String ds : devSnArr) {
|
try {
|
||||||
hikvisionCall.addPersonAuth(workerInfo, tempProjectUfaceConfig, ds);
|
for (String ds : devSnArr) {
|
||||||
|
hikvisionCall.updatePersonAuth(workerInfo, ds, sucSb, failSb, 0);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), e.getMessage(), "人员下发设备提醒", "1");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (SecurityUtils.getUser().getUserId() != null) {
|
||||||
|
String title = "人员下发设备提醒";
|
||||||
|
String type = "1";
|
||||||
|
String msg = "";
|
||||||
|
String sucSbStr = sucSb.toString();
|
||||||
|
if (StringUtils.isNotBlank(sucSbStr)) {
|
||||||
|
sucSbStr += "下发成功:";
|
||||||
|
msg += sucSbStr + ",";
|
||||||
|
}
|
||||||
|
String failSbStr = failSb.toString();
|
||||||
|
if (StringUtils.isNotBlank(failSbStr)) {
|
||||||
|
failSbStr += "下发失败:";
|
||||||
|
msg += failSbStr + ",";
|
||||||
|
}
|
||||||
|
noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), msg, title, type);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("海康:", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除
|
||||||
|
*
|
||||||
|
* @param workerInfo
|
||||||
|
* @param devSn
|
||||||
|
*/
|
||||||
|
@Async
|
||||||
|
public void deletePersonAuth(WorkerInfo workerInfo, String devSn) {
|
||||||
|
try {
|
||||||
|
if (StringUtils.isBlank(devSn)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
StringBuilder sucSb = new StringBuilder();
|
||||||
|
StringBuilder failSb = new StringBuilder();
|
||||||
|
String[] devSnArr = StringUtils.split(devSn, ",");
|
||||||
|
try {
|
||||||
|
for (String ds : devSnArr) {
|
||||||
|
hikvisionCall.updatePersonAuth(workerInfo, ds, sucSb, failSb, 2);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), e.getMessage(), "人员下发设备提醒", "1");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (SecurityUtils.getUser().getUserId() != null) {
|
||||||
|
String title = "人员下发设备提醒";
|
||||||
|
String type = "1";
|
||||||
|
String msg = "";
|
||||||
|
String sucSbStr = sucSb.toString();
|
||||||
|
if (StringUtils.isNotBlank(sucSbStr)) {
|
||||||
|
sucSbStr += "下发成功:";
|
||||||
|
msg += sucSbStr + ",";
|
||||||
|
}
|
||||||
|
String failSbStr = failSb.toString();
|
||||||
|
if (StringUtils.isNotBlank(failSbStr)) {
|
||||||
|
failSbStr += "下发失败:";
|
||||||
|
msg += failSbStr + ",";
|
||||||
|
}
|
||||||
|
noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), msg, title, type);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("海康:", e);
|
log.error("海康:", e);
|
||||||
|
|||||||
@ -22,7 +22,6 @@ import com.zhgd.xmgl.modules.car.mapper.CarInfoMapper;
|
|||||||
import com.zhgd.xmgl.modules.car.mapper.CarPassRecordMapper;
|
import com.zhgd.xmgl.modules.car.mapper.CarPassRecordMapper;
|
||||||
import com.zhgd.xmgl.modules.car.mapper.CarTypeMapper;
|
import com.zhgd.xmgl.modules.car.mapper.CarTypeMapper;
|
||||||
import com.zhgd.xmgl.modules.project.entity.Project;
|
import com.zhgd.xmgl.modules.project.entity.Project;
|
||||||
import com.zhgd.xmgl.modules.project.entity.ProjectUfaceConfig;
|
|
||||||
import com.zhgd.xmgl.modules.project.entity.ProjectVideoConfig;
|
import com.zhgd.xmgl.modules.project.entity.ProjectVideoConfig;
|
||||||
import com.zhgd.xmgl.modules.project.mapper.ProjectMapper;
|
import com.zhgd.xmgl.modules.project.mapper.ProjectMapper;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.*;
|
import com.zhgd.xmgl.modules.worker.entity.*;
|
||||||
@ -265,7 +264,7 @@ public class HikvisionCall {
|
|||||||
|
|
||||||
@ApiOperation(value = "按事件类型订阅事件", notes = "按事件类型订阅事件", httpMethod = "POST")
|
@ApiOperation(value = "按事件类型订阅事件", notes = "按事件类型订阅事件", httpMethod = "POST")
|
||||||
@PostMapping(value = "/subscribeEvent")
|
@PostMapping(value = "/subscribeEvent")
|
||||||
public Result subscribeEvent(@ApiIgnore @RequestBody SubscribeEventQo qo) {
|
public Result subscribeEvent(@ApiIgnore @RequestBody SubscribeEventQo qo) throws Exception {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/eventService/v1/eventSubscriptionByEventTypes";
|
final String path = ARTEMIS_PATH + "/api/eventService/v1/eventSubscriptionByEventTypes";
|
||||||
String host = "https://" + qo.getArtemisConfigHost();
|
String host = "https://" + qo.getArtemisConfigHost();
|
||||||
@ -311,7 +310,13 @@ public class HikvisionCall {
|
|||||||
Integer total = 0;
|
Integer total = 0;
|
||||||
JSONArray listJa = new JSONArray();
|
JSONArray listJa = new JSONArray();
|
||||||
do {
|
do {
|
||||||
String rs = getDoorEventsForHttp(project, param);
|
String rs = null;
|
||||||
|
try {
|
||||||
|
rs = getDoorEventsForHttp(project, param);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("err:", e);
|
||||||
|
return;
|
||||||
|
}
|
||||||
JSONObject joData = HikvisionUtil.getJSONObjectData(rs);
|
JSONObject joData = HikvisionUtil.getJSONObjectData(rs);
|
||||||
if (joData != null) {
|
if (joData != null) {
|
||||||
total = joData.getInteger("total");
|
total = joData.getInteger("total");
|
||||||
@ -426,7 +431,13 @@ public class HikvisionCall {
|
|||||||
CompletableFuture.runAsync(() -> {
|
CompletableFuture.runAsync(() -> {
|
||||||
for (Project project : projects) {
|
for (Project project : projects) {
|
||||||
param.put("pageNo", 1);
|
param.put("pageNo", 1);
|
||||||
String projectParkCode = getProjectParkCode(project);
|
String projectParkCode = null;
|
||||||
|
try {
|
||||||
|
projectParkCode = getProjectParkCode(project);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("err:", e);
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (StringUtils.isBlank(projectParkCode)) {
|
if (StringUtils.isBlank(projectParkCode)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -434,7 +445,13 @@ public class HikvisionCall {
|
|||||||
Integer total = 0;
|
Integer total = 0;
|
||||||
JSONArray listJa = new JSONArray();
|
JSONArray listJa = new JSONArray();
|
||||||
do {
|
do {
|
||||||
String rs = getCrossRecordsForHttp(project, param);
|
String rs = null;
|
||||||
|
try {
|
||||||
|
rs = getCrossRecordsForHttp(project, param);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("err:", e);
|
||||||
|
return;
|
||||||
|
}
|
||||||
JSONObject joData = HikvisionUtil.getJSONObjectData(rs);
|
JSONObject joData = HikvisionUtil.getJSONObjectData(rs);
|
||||||
if (joData != null) {
|
if (joData != null) {
|
||||||
total = joData.getInteger("total");
|
total = joData.getInteger("total");
|
||||||
@ -525,7 +542,7 @@ public class HikvisionCall {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/getOrg")
|
@GetMapping("/getOrg")
|
||||||
public Result getOrg() {
|
public Result getOrg() throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947"));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947"));
|
||||||
getOrg(project);
|
getOrg(project);
|
||||||
return null;
|
return null;
|
||||||
@ -537,7 +554,7 @@ public class HikvisionCall {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/getPark")
|
@GetMapping("/getPark")
|
||||||
public Result getParkList() {
|
public Result getParkList() throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947"));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947"));
|
||||||
JSONArray parkList = getParkList(project);
|
JSONArray parkList = getParkList(project);
|
||||||
return null;
|
return null;
|
||||||
@ -549,7 +566,7 @@ public class HikvisionCall {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/getCarList")
|
@GetMapping("/getCarList")
|
||||||
public Result getCarList() {
|
public Result getCarList() throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947"));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947"));
|
||||||
getCarList(project);
|
getCarList(project);
|
||||||
return null;
|
return null;
|
||||||
@ -561,7 +578,7 @@ public class HikvisionCall {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/getPic")
|
@GetMapping("/getPic")
|
||||||
public Result getPic() {
|
public Result getPic() throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947"));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947"));
|
||||||
String svrIndex = null;
|
String svrIndex = null;
|
||||||
String platePicUrl = null;
|
String platePicUrl = null;
|
||||||
@ -575,7 +592,7 @@ public class HikvisionCall {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/getWorkInfo")
|
@GetMapping("/getWorkInfo")
|
||||||
public Result getWorkInfo() {
|
public Result getWorkInfo() throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947"));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947"));
|
||||||
String svrIndex = null;
|
String svrIndex = null;
|
||||||
String platePicUrl = null;
|
String platePicUrl = null;
|
||||||
@ -590,7 +607,7 @@ public class HikvisionCall {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/categorySearch")
|
@GetMapping("/categorySearch")
|
||||||
public Result categorySearch() {
|
public Result categorySearch() throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947"));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947"));
|
||||||
String svrIndex = null;
|
String svrIndex = null;
|
||||||
String platePicUrl = null;
|
String platePicUrl = null;
|
||||||
@ -694,7 +711,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param workerInfo
|
* @param workerInfo
|
||||||
*/
|
*/
|
||||||
public void addWorkerForHikvision(WorkerInfo workerInfo) {
|
public void addWorkerForHikvision(WorkerInfo workerInfo) throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, workerInfo.getProjectSn()));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, workerInfo.getProjectSn()));
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
@ -702,7 +719,7 @@ public class HikvisionCall {
|
|||||||
addWorkerFromHttp(workerInfo, project);
|
addWorkerFromHttp(workerInfo, project);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addWorkerFromHttp(WorkerInfo workerInfo, Project project) {
|
private void addWorkerFromHttp(WorkerInfo workerInfo, Project project) throws Exception {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/resource/v2/person/single/add";
|
final String path = ARTEMIS_PATH + "/api/resource/v2/person/single/add";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
@ -754,7 +771,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param workerInfo
|
* @param workerInfo
|
||||||
*/
|
*/
|
||||||
public void editWorkerForHikvision(WorkerInfo workerInfo) {
|
public void editWorkerForHikvision(WorkerInfo workerInfo) throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, workerInfo.getProjectSn()));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, workerInfo.getProjectSn()));
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
@ -769,7 +786,7 @@ public class HikvisionCall {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void editWorkerFromHttp(WorkerInfo workerInfo, Project project) {
|
private void editWorkerFromHttp(WorkerInfo workerInfo, Project project) throws Exception {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/resource/v1/person/single/update";
|
final String path = ARTEMIS_PATH + "/api/resource/v1/person/single/update";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
@ -784,7 +801,7 @@ public class HikvisionCall {
|
|||||||
* @param workerInfo
|
* @param workerInfo
|
||||||
* @param project
|
* @param project
|
||||||
*/
|
*/
|
||||||
private void addWorkerFace(WorkerInfo workerInfo, Project project) {
|
private void addWorkerFace(WorkerInfo workerInfo, Project project) throws Exception {
|
||||||
String fieldAcquisitionUrl = workerInfo.getFieldAcquisitionUrl();
|
String fieldAcquisitionUrl = workerInfo.getFieldAcquisitionUrl();
|
||||||
if (StringUtils.isNotBlank(fieldAcquisitionUrl)) {
|
if (StringUtils.isNotBlank(fieldAcquisitionUrl)) {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
@ -861,7 +878,7 @@ public class HikvisionCall {
|
|||||||
* @param workerInfo
|
* @param workerInfo
|
||||||
* @param project
|
* @param project
|
||||||
*/
|
*/
|
||||||
private void editWorkerFace(WorkerInfo workerInfo, Project project) {
|
private void editWorkerFace(WorkerInfo workerInfo, Project project) throws Exception {
|
||||||
ArrayList<String> workerFaceIds = getWorkerFaceIds(workerInfo, project);
|
ArrayList<String> workerFaceIds = getWorkerFaceIds(workerInfo, project);
|
||||||
if (CollUtil.isNotEmpty(workerFaceIds)) {
|
if (CollUtil.isNotEmpty(workerFaceIds)) {
|
||||||
String workerFaceId = workerFaceIds.get(0);
|
String workerFaceId = workerFaceIds.get(0);
|
||||||
@ -883,7 +900,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param workerInfo
|
* @param workerInfo
|
||||||
*/
|
*/
|
||||||
public void deleteWorkerForHikvision(WorkerInfo workerInfo) {
|
public void deleteWorkerForHikvision(WorkerInfo workerInfo) throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, workerInfo.getProjectSn()));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, workerInfo.getProjectSn()));
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
@ -893,7 +910,7 @@ public class HikvisionCall {
|
|||||||
deleteWorkerFromHttp(workerInfo, project);
|
deleteWorkerFromHttp(workerInfo, project);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void deleteWorkerFromHttp(WorkerInfo workerInfo, Project project) {
|
private void deleteWorkerFromHttp(WorkerInfo workerInfo, Project project) throws Exception {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/resource/v1/person/batch/delete";
|
final String path = ARTEMIS_PATH + "/api/resource/v1/person/batch/delete";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
@ -904,7 +921,7 @@ public class HikvisionCall {
|
|||||||
sendNoticeForWorker("删除人员到海康isc", rs, workerInfo);
|
sendNoticeForWorker("删除人员到海康isc", rs, workerInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void deleteWorkerFace(WorkerInfo workerInfo, Project project) {
|
private void deleteWorkerFace(WorkerInfo workerInfo, Project project) throws Exception {
|
||||||
ArrayList<String> workerFaceIds = getWorkerFaceIds(workerInfo, project);
|
ArrayList<String> workerFaceIds = getWorkerFaceIds(workerInfo, project);
|
||||||
if (CollUtil.isNotEmpty(workerFaceIds)) {
|
if (CollUtil.isNotEmpty(workerFaceIds)) {
|
||||||
for (String workerFaceId : workerFaceIds) {
|
for (String workerFaceId : workerFaceIds) {
|
||||||
@ -919,7 +936,7 @@ public class HikvisionCall {
|
|||||||
* @param project
|
* @param project
|
||||||
* @param workerFaceId
|
* @param workerFaceId
|
||||||
*/
|
*/
|
||||||
private void sendDeleteWorkerFace(Project project, String workerFaceId) {
|
private void sendDeleteWorkerFace(Project project, String workerFaceId) throws Exception {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/resource/v1/face/single/delete";
|
final String path = ARTEMIS_PATH + "/api/resource/v1/face/single/delete";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
@ -935,7 +952,7 @@ public class HikvisionCall {
|
|||||||
* @param project
|
* @param project
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private ArrayList<String> getWorkerFaceIds(WorkerInfo workerInfo, Project project) {
|
private ArrayList<String> getWorkerFaceIds(WorkerInfo workerInfo, Project project) throws Exception {
|
||||||
JSONObject joData = getWorkerInfo(workerInfo, project);
|
JSONObject joData = getWorkerInfo(workerInfo, project);
|
||||||
ArrayList<String> ids = new ArrayList<>();
|
ArrayList<String> ids = new ArrayList<>();
|
||||||
if (joData != null) {
|
if (joData != null) {
|
||||||
@ -957,7 +974,7 @@ public class HikvisionCall {
|
|||||||
* @param project
|
* @param project
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private JSONObject getWorkerInfo(WorkerInfo workerInfo, Project project) {
|
private JSONObject getWorkerInfo(WorkerInfo workerInfo, Project project) throws Exception {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/resource/v1/person/condition/personInfo";
|
final String path = ARTEMIS_PATH + "/api/resource/v1/person/condition/personInfo";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
@ -988,7 +1005,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param carInfo
|
* @param carInfo
|
||||||
*/
|
*/
|
||||||
public void addCarInfoFromHttp(CarInfo carInfo) {
|
public void addCarInfoFromHttp(CarInfo carInfo) throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, carInfo.getProjectSn()));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, carInfo.getProjectSn()));
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
@ -1008,7 +1025,7 @@ public class HikvisionCall {
|
|||||||
ifReservationCar(project, carInfo);
|
ifReservationCar(project, carInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addCarInfoFromHttp(CarInfo carInfo, Project project) {
|
private void addCarInfoFromHttp(CarInfo carInfo, Project project) throws Exception {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/resource/v1/vehicle/batch/add";
|
final String path = ARTEMIS_PATH + "/api/resource/v1/vehicle/batch/add";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
@ -1019,7 +1036,7 @@ public class HikvisionCall {
|
|||||||
sendNoticeForCarInfo("添加车辆白名单到海康isc", rs, carInfo);
|
sendNoticeForCarInfo("添加车辆白名单到海康isc", rs, carInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getCarInfoListFromHttp(String carNumber, Project project) {
|
private String getCarInfoListFromHttp(String carNumber, Project project) throws Exception {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/resource/v2/vehicle/advance/vehicleList";
|
final String path = ARTEMIS_PATH + "/api/resource/v2/vehicle/advance/vehicleList";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
@ -1133,7 +1150,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param carInfo
|
* @param carInfo
|
||||||
*/
|
*/
|
||||||
public void editCarInfoForHikvision(CarInfo carInfo) {
|
public void editCarInfoForHikvision(CarInfo carInfo) throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, carInfo.getProjectSn()));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, carInfo.getProjectSn()));
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
@ -1163,7 +1180,7 @@ public class HikvisionCall {
|
|||||||
ifReservationCar(project, carInfo);
|
ifReservationCar(project, carInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void editCarInfoFromHttp(CarInfo carInfo, Project project) {
|
private void editCarInfoFromHttp(CarInfo carInfo, Project project) throws Exception {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/resource/v1/vehicle/single/update";
|
final String path = ARTEMIS_PATH + "/api/resource/v1/vehicle/single/update";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
@ -1172,7 +1189,7 @@ public class HikvisionCall {
|
|||||||
sendNoticeForCarInfo("更新车辆白名单到海康isc", rs, carInfo);
|
sendNoticeForCarInfo("更新车辆白名单到海康isc", rs, carInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ifBindGroup(Project project, int operation, CarInfo carInfo) {
|
private void ifBindGroup(Project project, int operation, CarInfo carInfo) throws Exception {
|
||||||
JSONArray ja = categorySearch(project);
|
JSONArray ja = categorySearch(project);
|
||||||
String categoryCode = getFixedCarGroupName(ja);
|
String categoryCode = getFixedCarGroupName(ja);
|
||||||
if (StringUtils.isBlank(categoryCode)) {
|
if (StringUtils.isBlank(categoryCode)) {
|
||||||
@ -1203,7 +1220,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param carInfo
|
* @param carInfo
|
||||||
*/
|
*/
|
||||||
public void deleteCarInfoForHikvision(CarInfo carInfo) {
|
public void deleteCarInfoForHikvision(CarInfo carInfo) throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, carInfo.getProjectSn()));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, carInfo.getProjectSn()));
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
@ -1213,7 +1230,7 @@ public class HikvisionCall {
|
|||||||
deleteReservationCarInfo(carInfo, project);
|
deleteReservationCarInfo(carInfo, project);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void deleteCarInfoForHikvision(CarInfo carInfo, Project project) {
|
private void deleteCarInfoForHikvision(CarInfo carInfo, Project project) throws Exception {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/resource/v1/vehicle/batch/delete";
|
final String path = ARTEMIS_PATH + "/api/resource/v1/vehicle/batch/delete";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
@ -1259,7 +1276,7 @@ public class HikvisionCall {
|
|||||||
* @param carInfo
|
* @param carInfo
|
||||||
* @param project
|
* @param project
|
||||||
*/
|
*/
|
||||||
private JSONArray getReservationCarInfoList(CarInfo carInfo, Project project) {
|
private JSONArray getReservationCarInfoList(CarInfo carInfo, Project project) throws Exception {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/pms/v2/reserveRecord/page";
|
final String path = ARTEMIS_PATH + "/api/pms/v2/reserveRecord/page";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
@ -1274,7 +1291,7 @@ public class HikvisionCall {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private HikvisionReservationCarInfo getHikvisionReservationCarInfoObj(CarInfo carInfo, Project project) {
|
private HikvisionReservationCarInfo getHikvisionReservationCarInfoObj(CarInfo carInfo, Project project) throws Exception {
|
||||||
JSONArray parkList = getParkList(project);
|
JSONArray parkList = getParkList(project);
|
||||||
HikvisionReservationCarInfo hikvisionReservationCarInfo = new HikvisionReservationCarInfo();
|
HikvisionReservationCarInfo hikvisionReservationCarInfo = new HikvisionReservationCarInfo();
|
||||||
if (parkList != null && parkList.size() > 0) {
|
if (parkList != null && parkList.size() > 0) {
|
||||||
@ -1305,7 +1322,7 @@ public class HikvisionCall {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static String getHikvisionEventsPicture(HikvisionEventsPictureRq rq, String artemisConfigHost, String
|
public static String getHikvisionEventsPicture(HikvisionEventsPictureRq rq, String artemisConfigHost, String
|
||||||
artemisConfigAppKey, String artemisConfigAppSecret) {//获取视频事件的图片
|
artemisConfigAppKey, String artemisConfigAppSecret) throws Exception {//获取视频事件的图片
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/video/v1/events/picture";
|
final String path = ARTEMIS_PATH + "/api/video/v1/events/picture";
|
||||||
String host = "https://" + artemisConfigHost;
|
String host = "https://" + artemisConfigHost;
|
||||||
@ -1327,7 +1344,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param enterpriseInfo
|
* @param enterpriseInfo
|
||||||
*/
|
*/
|
||||||
public void addEnterpriseInfoForHikvision(EnterpriseInfo enterpriseInfo) {
|
public void addEnterpriseInfoForHikvision(EnterpriseInfo enterpriseInfo) throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, enterpriseInfo.getProjectSn()));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, enterpriseInfo.getProjectSn()));
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
@ -1350,7 +1367,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param enterpriseInfo
|
* @param enterpriseInfo
|
||||||
*/
|
*/
|
||||||
public void editEnterpriseInfoForHikvision(EnterpriseInfo enterpriseInfo) {
|
public void editEnterpriseInfoForHikvision(EnterpriseInfo enterpriseInfo) throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, enterpriseInfo.getProjectSn()));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, enterpriseInfo.getProjectSn()));
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
@ -1369,7 +1386,7 @@ public class HikvisionCall {
|
|||||||
* @param enterpriseId
|
* @param enterpriseId
|
||||||
* @param projectSn
|
* @param projectSn
|
||||||
*/
|
*/
|
||||||
public void deleteEnterpriseInfoForHikvision(String enterpriseId, String projectSn) {
|
public void deleteEnterpriseInfoForHikvision(String enterpriseId, String projectSn) throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, projectSn));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, projectSn));
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
@ -1391,7 +1408,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param teamInfo
|
* @param teamInfo
|
||||||
*/
|
*/
|
||||||
public void addTeamInfoForHikvision(TeamInfo teamInfo) {
|
public void addTeamInfoForHikvision(TeamInfo teamInfo) throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, teamInfo.getProjectSn()));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, teamInfo.getProjectSn()));
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
@ -1414,7 +1431,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param teamInfo
|
* @param teamInfo
|
||||||
*/
|
*/
|
||||||
public void editTeamInfoForHikvision(TeamInfo teamInfo) {
|
public void editTeamInfoForHikvision(TeamInfo teamInfo) throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, teamInfo.getProjectSn()));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, teamInfo.getProjectSn()));
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
@ -1427,7 +1444,7 @@ public class HikvisionCall {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void editOrgFromHttp(Project project, HikvisionOrganization hikvisionOrganization) {
|
private void editOrgFromHttp(Project project, HikvisionOrganization hikvisionOrganization) throws Exception {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/resource/v1/org/single/update";
|
final String path = ARTEMIS_PATH + "/api/resource/v1/org/single/update";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
@ -1435,7 +1452,7 @@ public class HikvisionCall {
|
|||||||
sendNoticeForOrg("更新组织到海康isc", rs, hikvisionOrganization.getOrgName());
|
sendNoticeForOrg("更新组织到海康isc", rs, hikvisionOrganization.getOrgName());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void deleteOrgFromHttp(Project project, List<Long> idList, String orgName) {
|
private void deleteOrgFromHttp(Project project, List<Long> idList, String orgName) throws Exception {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/resource/v1/org/batch/delete";
|
final String path = ARTEMIS_PATH + "/api/resource/v1/org/batch/delete";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
@ -1445,7 +1462,7 @@ public class HikvisionCall {
|
|||||||
sendNoticeForOrg("删除组织到海康isc", rs, orgName);
|
sendNoticeForOrg("删除组织到海康isc", rs, orgName);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addOrgFromHttp(Project project, HikvisionOrganization hikvisionOrganization) {
|
private void addOrgFromHttp(Project project, HikvisionOrganization hikvisionOrganization) throws Exception {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/resource/v1/org/batch/add";
|
final String path = ARTEMIS_PATH + "/api/resource/v1/org/batch/add";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
@ -1460,7 +1477,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param teamInfo
|
* @param teamInfo
|
||||||
*/
|
*/
|
||||||
public void deleteTeamInfoForHikvision(TeamInfo teamInfo) {
|
public void deleteTeamInfoForHikvision(TeamInfo teamInfo) throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, teamInfo.getProjectSn()));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, teamInfo.getProjectSn()));
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
@ -1473,7 +1490,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param departmentInfo
|
* @param departmentInfo
|
||||||
*/
|
*/
|
||||||
public void addDepartmentInfoForHikvision(DepartmentInfo departmentInfo) {
|
public void addDepartmentInfoForHikvision(DepartmentInfo departmentInfo) throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, departmentInfo.getProjectSn()));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, departmentInfo.getProjectSn()));
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
@ -1496,7 +1513,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param departmentInfo
|
* @param departmentInfo
|
||||||
*/
|
*/
|
||||||
public void editDepartmentInfoForHikvision(DepartmentInfo departmentInfo) {
|
public void editDepartmentInfoForHikvision(DepartmentInfo departmentInfo) throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, departmentInfo.getProjectSn()));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, departmentInfo.getProjectSn()));
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
@ -1515,7 +1532,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param departmentInfo
|
* @param departmentInfo
|
||||||
*/
|
*/
|
||||||
public void deleteDepartmentInfoForHikvision(DepartmentInfo departmentInfo) {
|
public void deleteDepartmentInfoForHikvision(DepartmentInfo departmentInfo) throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, departmentInfo.getProjectSn()));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, departmentInfo.getProjectSn()));
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
@ -1528,7 +1545,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param project
|
* @param project
|
||||||
*/
|
*/
|
||||||
public void editProjectForHikvision(Project project) {
|
public void editProjectForHikvision(Project project) throws Exception {
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1541,7 +1558,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param project
|
* @param project
|
||||||
*/
|
*/
|
||||||
public void getOrg(Project project) {
|
public void getOrg(Project project) throws Exception {
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1561,7 +1578,7 @@ public class HikvisionCall {
|
|||||||
* @param project
|
* @param project
|
||||||
* @param orgIndex
|
* @param orgIndex
|
||||||
*/
|
*/
|
||||||
public String getOrgV2(Project project, String orgIndex) {
|
public String getOrgV2(Project project, String orgIndex) throws Exception {
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -1587,7 +1604,7 @@ public class HikvisionCall {
|
|||||||
* @param orgIndex
|
* @param orgIndex
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public boolean existOrg(Project project, String orgIndex) {
|
public boolean existOrg(Project project, String orgIndex) throws Exception {
|
||||||
String rs = getOrgV2(project, orgIndex);
|
String rs = getOrgV2(project, orgIndex);
|
||||||
JSONObject jo = HikvisionUtil.getJSONObjectData(rs);
|
JSONObject jo = HikvisionUtil.getJSONObjectData(rs);
|
||||||
return jo.getJSONArray("list").size() > 0;
|
return jo.getJSONArray("list").size() > 0;
|
||||||
@ -1598,7 +1615,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param project
|
* @param project
|
||||||
*/
|
*/
|
||||||
public JSONArray getParkList(Project project) {
|
public JSONArray getParkList(Project project) throws Exception {
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -1644,7 +1661,7 @@ public class HikvisionCall {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void reservationCarFromHttp(Project project, CarInfo carInfo) {
|
private void reservationCarFromHttp(Project project, CarInfo carInfo) throws Exception {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
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();
|
||||||
@ -1655,7 +1672,7 @@ public class HikvisionCall {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private ParkReservation getParkReservation(Project project, CarInfo carInfo) {
|
private ParkReservation getParkReservation(Project project, CarInfo carInfo) throws Exception {
|
||||||
String parkIndexCode = getProjectParkCode(project);
|
String parkIndexCode = getProjectParkCode(project);
|
||||||
if (StringUtils.isNotBlank(parkIndexCode)) {
|
if (StringUtils.isNotBlank(parkIndexCode)) {
|
||||||
WorkerInfo workerInfo = workerInfoMapper.selectById(carInfo.getDriverWorkerId());
|
WorkerInfo workerInfo = workerInfoMapper.selectById(carInfo.getDriverWorkerId());
|
||||||
@ -1681,7 +1698,7 @@ public class HikvisionCall {
|
|||||||
* @param project
|
* @param project
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public String getProjectParkCode(Project project) {
|
public String getProjectParkCode(Project project) throws Exception {
|
||||||
JSONArray parkList = getParkList(project);
|
JSONArray parkList = getParkList(project);
|
||||||
if (parkList != null && parkList.size() > 0) {
|
if (parkList != null && parkList.size() > 0) {
|
||||||
for (int i = 0; i < parkList.size(); i++) {
|
for (int i = 0; i < parkList.size(); i++) {
|
||||||
@ -1701,7 +1718,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param project
|
* @param project
|
||||||
*/
|
*/
|
||||||
public void getCarList(Project project) {
|
public void getCarList(Project project) throws Exception {
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1739,7 +1756,7 @@ public class HikvisionCall {
|
|||||||
* @param vehicleIds
|
* @param vehicleIds
|
||||||
* @param carInfo
|
* @param carInfo
|
||||||
*/
|
*/
|
||||||
public void carCategoryBind(Project project, Integer operation, String categoryCode, String vehicleIds, CarInfo carInfo) {
|
public void carCategoryBind(Project project, Integer operation, String categoryCode, String vehicleIds, CarInfo carInfo) throws Exception {
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1761,7 +1778,7 @@ public class HikvisionCall {
|
|||||||
/**
|
/**
|
||||||
* 查询车辆分类
|
* 查询车辆分类
|
||||||
*/
|
*/
|
||||||
public JSONArray categorySearch(Project project) {
|
public JSONArray categorySearch(Project project) throws Exception {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/pms/v1/car/category/search";
|
final String path = ARTEMIS_PATH + "/api/pms/v1/car/category/search";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
@ -1776,7 +1793,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param project
|
* @param project
|
||||||
*/
|
*/
|
||||||
public JSONObject getCameraOnline(Project project) {
|
public JSONObject getCameraOnline(Project project) throws Exception {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/nms/v1/online/camera/get";
|
final String path = ARTEMIS_PATH + "/api/nms/v1/online/camera/get";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
@ -1797,7 +1814,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param project
|
* @param project
|
||||||
*/
|
*/
|
||||||
public JSONObject getEncodeDeviceOnline(Project project) {
|
public JSONObject getEncodeDeviceOnline(Project project) throws Exception {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/nms/v1/online/encode_device/get";
|
final String path = ARTEMIS_PATH + "/api/nms/v1/online/encode_device/get";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
@ -1818,7 +1835,7 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param config
|
* @param config
|
||||||
*/
|
*/
|
||||||
public JSONObject getVqdForHikvision(ProjectVideoConfig config, JSONObject requestParam) {
|
public JSONObject getVqdForHikvision(ProjectVideoConfig config, JSONObject requestParam) throws Exception {
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/nms/v1/vqd/list";
|
final String path = ARTEMIS_PATH + "/api/nms/v1/vqd/list";
|
||||||
String host = "https://" + config.getAccount() + ":" + config.getPassword();
|
String host = "https://" + config.getAccount() + ":" + config.getPassword();
|
||||||
@ -1839,7 +1856,7 @@ public class HikvisionCall {
|
|||||||
* @param project
|
* @param project
|
||||||
* @param param
|
* @param param
|
||||||
*/
|
*/
|
||||||
public String getDoorEventsForHttp(Project project, JSONObject param) {
|
public String getDoorEventsForHttp(Project project, JSONObject param) throws Exception {
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -1862,7 +1879,7 @@ public class HikvisionCall {
|
|||||||
* @param project
|
* @param project
|
||||||
* @param param
|
* @param param
|
||||||
*/
|
*/
|
||||||
public String getCrossRecordsForHttp(Project project, JSONObject param) {
|
public String getCrossRecordsForHttp(Project project, JSONObject param) throws Exception {
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -1884,37 +1901,44 @@ public class HikvisionCall {
|
|||||||
*
|
*
|
||||||
* @param project
|
* @param project
|
||||||
* @param param
|
* @param param
|
||||||
|
* @return
|
||||||
*/
|
*/
|
||||||
public String doorSearchV2ForHttp(Project project, JSONObject param) {
|
public JSONObject doorSearchV2ForHttp(Project project, JSONObject param) throws Exception {
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/resource/v2/door/search";
|
final String path = ARTEMIS_PATH + "/api/resource/v2/door/search";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
return HikvisionUtil.doPost(host, path, param.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
return JSON.parseObject(HikvisionUtil.doPost(host, path, param.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 简单同步权限下载_根据人员与设备通道指定下载
|
* 简单同步权限下载_根据人员与设备通道指定下载
|
||||||
*
|
*
|
||||||
* @param project
|
* @param project
|
||||||
|
* @return
|
||||||
*/
|
*/
|
||||||
public String simpleDownload(Project project, String param) {
|
public JSONObject simpleDownload(Project project, String param) throws Exception {
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final String ARTEMIS_PATH = "/artemis";
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
final String path = ARTEMIS_PATH + "/api/acps/v1/authDownload/task/simpleDownload";
|
final String path = ARTEMIS_PATH + "/api/acps/v1/authDownload/task/simpleDownload";
|
||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
return HikvisionUtil.doPost(host, path, param, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
return JSON.parseObject(HikvisionUtil.doPost(host, path, param, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addPersonAuth(WorkerInfo workerInfo, ProjectUfaceConfig tempProjectUfaceConfig, String devSn) {
|
/**
|
||||||
|
* @param i 0新增,2删除
|
||||||
|
*/
|
||||||
|
public void updatePersonAuth(WorkerInfo workerInfo, String devSn, StringBuilder sucSb, StringBuilder failSb, int i) throws Exception {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, workerInfo.getProjectSn()));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, workerInfo.getProjectSn()));
|
||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
UfaceDev dev = ufaceDevMapper.selectOne(new LambdaQueryWrapper<UfaceDev>()
|
||||||
|
.eq(UfaceDev::getDevSn, devSn));
|
||||||
String json = "{\n" +
|
String json = "{\n" +
|
||||||
" \"pageNo\": 1,\n" +
|
" \"pageNo\": 1,\n" +
|
||||||
" \"pageSize\": 1,\n" +
|
" \"pageSize\": 1,\n" +
|
||||||
@ -1928,13 +1952,15 @@ public class HikvisionCall {
|
|||||||
" }\n" +
|
" }\n" +
|
||||||
" ],\n" +
|
" ],\n" +
|
||||||
"}";
|
"}";
|
||||||
String rs = doorSearchV2ForHttp(project, JSONObject.parseObject(json));
|
JSONObject rs = doorSearchV2ForHttp(project, JSONObject.parseObject(json));
|
||||||
if (rs == null) {
|
if (HikvisionUtil.isFail(rs)) {
|
||||||
throw new OpenAlertException("添加人员权限网络超时,name:" + workerInfo.getWorkerName() + ",devSn:" + devSn);
|
failSb.append(workerInfo.getWorkerName() + " " + dev.getDevName() + " fail:" + rs.toJSONString() + ",");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
JSONObject jo = HikvisionUtil.getJSONObjectData(rs);
|
JSONObject jo = HikvisionUtil.getJSONObjectData(rs);
|
||||||
JSONArray listJa = jo.getJSONArray("list");
|
JSONArray listJa = jo.getJSONArray("list");
|
||||||
if (CollUtil.isEmpty(listJa)) {
|
if (CollUtil.isEmpty(listJa)) {
|
||||||
|
failSb.append(workerInfo.getWorkerName() + " " + dev.getDevName() + " fail:isc不存在该设备,");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
String channelNo = listJa.getJSONObject(0).getString("channelNo");
|
String channelNo = listJa.getJSONObject(0).getString("channelNo");
|
||||||
@ -1947,14 +1973,21 @@ public class HikvisionCall {
|
|||||||
"\t},\n" +
|
"\t},\n" +
|
||||||
"\t\"personInfo\": {\n" +
|
"\t\"personInfo\": {\n" +
|
||||||
"\t\t\"personId\": \"" + workerInfo.getId() + "\",\n" +
|
"\t\t\"personId\": \"" + workerInfo.getId() + "\",\n" +
|
||||||
"\t\t\"operatorType\": 0\n" +
|
"\t\t\"operatorType\": " + i + "\n" +
|
||||||
"\t}\n" +
|
"\t}\n" +
|
||||||
"}";
|
"}";
|
||||||
String sdRs = simpleDownload(project, sdStr);
|
JSONObject sdRs = simpleDownload(project, sdStr);
|
||||||
if (sdRs == null) {
|
if (HikvisionUtil.isFail(sdRs)) {
|
||||||
throw new OpenAlertException("添加人员权限网络超时,name:" + workerInfo.getWorkerName() + ",devSn:" + devSn);
|
failSb.append(workerInfo.getWorkerName() + " " + dev.getDevName() + " fail:" + sdRs.toJSONString() + ",");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
JSONObject sdRsJo = HikvisionUtil.getJSONObjectData(sdRs);
|
||||||
|
Integer downloadResult = sdRsJo.getJSONObject("resourceDownloadResult").getInteger("downloadResult");
|
||||||
|
if (downloadResult == 0) {
|
||||||
|
sucSb.append(workerInfo.getWorkerName() + " " + dev.getDevName() + ",");
|
||||||
|
} else {
|
||||||
|
failSb.append(workerInfo.getWorkerName() + " " + dev.getDevName() + ",fail:" + sdRsJo.toJSONString());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package com.zhgd.xmgl.modules.project.service.impl;
|
package com.zhgd.xmgl.modules.project.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
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.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@ -137,6 +138,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
|||||||
if (Objects.equals(workerInfo.getDevType(), 1)) {
|
if (Objects.equals(workerInfo.getDevType(), 1)) {
|
||||||
param.put("devIds", workerInfo.getUfaceDevId());
|
param.put("devIds", workerInfo.getUfaceDevId());
|
||||||
} else if (Objects.equals(workerInfo.getDevType(), 2)) {
|
} else if (Objects.equals(workerInfo.getDevType(), 2)) {
|
||||||
|
//设备分组情况!
|
||||||
String ufaceDevGroupId = workerInfo.getUfaceDevGroupId();
|
String ufaceDevGroupId = workerInfo.getUfaceDevGroupId();
|
||||||
if (StringUtils.isEmpty(ufaceDevGroupId)) {
|
if (StringUtils.isEmpty(ufaceDevGroupId)) {
|
||||||
ufaceDevGroupId = "0";
|
ufaceDevGroupId = "0";
|
||||||
@ -222,9 +224,6 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
|||||||
param.put("devIds", workerInfo.getUfaceDevId());
|
param.put("devIds", workerInfo.getUfaceDevId());
|
||||||
}
|
}
|
||||||
List<UfaceDev> list = ufaceDevMapper.selectUserUfaceDevList(param);
|
List<UfaceDev> list = ufaceDevMapper.selectUserUfaceDevList(param);
|
||||||
/*QueryWrapper<UfaceDev> qw =new QueryWrapper<>();
|
|
||||||
qw.lambda().eq(UfaceDev::getProjectSn, workerInfo.getProjectSn());
|
|
||||||
List<UfaceDev> list=ufaceDevMapper.selectList(qw);*/
|
|
||||||
if (list != null && list.size() > 0) {
|
if (list != null && list.size() > 0) {
|
||||||
StringBuilder devBuilder = new StringBuilder();
|
StringBuilder devBuilder = new StringBuilder();
|
||||||
StringBuilder devIdBuilder = new StringBuilder();
|
StringBuilder devIdBuilder = new StringBuilder();
|
||||||
@ -273,6 +272,64 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (tempProjectUfaceConfig.getSupplierType() == 9) {
|
||||||
|
//海康门禁isc
|
||||||
|
String devSns = "";
|
||||||
|
String notDevSns = "";
|
||||||
|
if (Objects.equals(workerInfo.getDevType(), 1)) {
|
||||||
|
devSns = workerInfo.getUfaceDevId();
|
||||||
|
if (StrUtil.isNotBlank(devSns)) {
|
||||||
|
List<UfaceDev> existList = ufaceDevMapper.selectList(new LambdaQueryWrapper<UfaceDev>()
|
||||||
|
.eq(UfaceDev::getProjectSn, workerInfo.getProjectSn())
|
||||||
|
.in(UfaceDev::getId, StrUtil.split(devSns, ","))
|
||||||
|
);
|
||||||
|
List<UfaceDev> notExistList = ufaceDevMapper.selectList(new LambdaQueryWrapper<UfaceDev>()
|
||||||
|
.eq(UfaceDev::getProjectSn, workerInfo.getProjectSn())
|
||||||
|
.notIn(UfaceDev::getId, StrUtil.split(devSns, ","))
|
||||||
|
);
|
||||||
|
if (CollUtil.isNotEmpty(notExistList)) {
|
||||||
|
notDevSns = StrUtil.join(",", notExistList.stream().map(UfaceDev::getDevSn).collect(Collectors.toList()));
|
||||||
|
asyncHikvision.deletePersonAuth(workerInfo, notDevSns);
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(existList)) {
|
||||||
|
devSns = StrUtil.join(",", existList.stream().map(UfaceDev::getDevSn).collect(Collectors.toList()));
|
||||||
|
asyncHikvision.addPersonAuth(workerInfo, devSns);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//只删除
|
||||||
|
List<UfaceDev> notExistList = ufaceDevMapper.selectList(new LambdaQueryWrapper<UfaceDev>()
|
||||||
|
.eq(UfaceDev::getProjectSn, workerInfo.getProjectSn()));
|
||||||
|
if (CollUtil.isNotEmpty(notExistList)) {
|
||||||
|
notDevSns = StrUtil.join(",", notExistList.stream().map(UfaceDev::getDevSn).collect(Collectors.toList()));
|
||||||
|
asyncHikvision.deletePersonAuth(workerInfo, notDevSns);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (Objects.equals(workerInfo.getDevType(), 2)) {
|
||||||
|
//设备分组情况!
|
||||||
|
String ufaceDevGroupId = workerInfo.getUfaceDevGroupId();
|
||||||
|
if (StrUtil.isNotBlank(ufaceDevGroupId)) {
|
||||||
|
List<UfaceDev> listForIsc = ufaceDevMapper.getUfaceDevListForIsc(StrUtil.split(ufaceDevGroupId, ","), workerInfo.getProjectSn());
|
||||||
|
List<UfaceDev> notExistList = ufaceDevMapper.getUfaceDevListForIscNotExist(StrUtil.split(ufaceDevGroupId, ","), workerInfo.getProjectSn());
|
||||||
|
if (CollUtil.isNotEmpty(notExistList)) {
|
||||||
|
notDevSns = StrUtil.join(",", notExistList.stream().map(UfaceDev::getDevSn).collect(Collectors.toList()));
|
||||||
|
asyncHikvision.deletePersonAuth(workerInfo, notDevSns);
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(listForIsc)) {
|
||||||
|
devSns = StrUtil.join(",", listForIsc.stream().map(UfaceDev::getDevSn).collect(Collectors.toList()));
|
||||||
|
asyncHikvision.addPersonAuth(workerInfo, devSns);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//只删除
|
||||||
|
List<UfaceDev> notExistList = ufaceDevMapper.getUfaceDevListForIscNotExist(StrUtil.split(ufaceDevGroupId, ","), workerInfo.getProjectSn());
|
||||||
|
if (CollUtil.isNotEmpty(notExistList)) {
|
||||||
|
notDevSns = StrUtil.join(",", notExistList.stream().map(UfaceDev::getDevSn).collect(Collectors.toList()));
|
||||||
|
asyncHikvision.deletePersonAuth(workerInfo, notDevSns);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -314,10 +371,43 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
|||||||
String devSn = devBuilder.toString();
|
String devSn = devBuilder.toString();
|
||||||
String devId = devIdBuilder.toString();
|
String devId = devIdBuilder.toString();
|
||||||
log.info("准备下发人员名称:{},devSn:{},devId:{}", workerInfo.getWorkerName(), devSn, devId);
|
log.info("准备下发人员名称:{},devSn:{},devId:{}", workerInfo.getWorkerName(), devSn, devId);
|
||||||
sendDev(projectUfaceConfig, workerInfo, devSn, devId);
|
if (Objects.equals(workerInfo.getDevType(), 1)) {
|
||||||
|
sendDev(projectUfaceConfig, workerInfo, devSn, devId);
|
||||||
|
} else if (Objects.equals(workerInfo.getDevType(), 2)) {
|
||||||
|
//设备分组情况!
|
||||||
|
String ufaceDevGroupId = workerInfo.getUfaceDevGroupId();
|
||||||
|
if (StringUtils.isEmpty(ufaceDevGroupId)) {
|
||||||
|
ufaceDevGroupId = "0";
|
||||||
|
}
|
||||||
|
List<Long> ufaceIds = ufaceDevToGroupMapper.selectList(new LambdaQueryWrapper<UfaceDevToGroup>()
|
||||||
|
.in(UfaceDevToGroup::getUfaceDevGroupId, Arrays.asList(StringUtils.split(ufaceDevGroupId, ",")))).stream().map(UfaceDevToGroup::getUfaceDevId).collect(Collectors.toList());
|
||||||
|
if (CollUtil.isEmpty(ufaceIds)) {
|
||||||
|
ufaceIds.add(0L);
|
||||||
|
}
|
||||||
|
ufaceIds.stream().distinct();
|
||||||
|
Map<String, Object> param = new HashMap<>();
|
||||||
|
param.put("projectSn", workerInfo.getProjectSn());
|
||||||
|
param.put("devIds", StringUtils.join(ufaceIds, ","));
|
||||||
|
List<UfaceDev> list1 = ufaceDevMapper.selectUserUfaceDevList(param);
|
||||||
|
if (list1 != null && list1.size() > 0) {
|
||||||
|
StringBuilder devBuilder1 = new StringBuilder();
|
||||||
|
StringBuilder devIdBuilder1 = new StringBuilder();
|
||||||
|
for (UfaceDev dev : list1) {
|
||||||
|
if (devBuilder1.length() > 0) {
|
||||||
|
devBuilder1.append(",");
|
||||||
|
}
|
||||||
|
if (devIdBuilder1.length() > 0) {
|
||||||
|
devIdBuilder1.append(",");
|
||||||
|
}
|
||||||
|
devBuilder1.append(dev.getDevSn());
|
||||||
|
devIdBuilder1.append(dev.getDeviceId());
|
||||||
|
}
|
||||||
|
sendDev(projectUfaceConfig, workerInfo, devBuilder1.toString(), devIdBuilder1.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendDev(ProjectUfaceConfig tempProjectUfaceConfig, WorkerInfo workerInfo, String devSn, String devId) {
|
public void sendDev(ProjectUfaceConfig tempProjectUfaceConfig, WorkerInfo workerInfo, String devSns, String devIds) {
|
||||||
log.info("supplierType:{}", tempProjectUfaceConfig.getSupplierType());
|
log.info("supplierType:{}", tempProjectUfaceConfig.getSupplierType());
|
||||||
//1杭州宇泛智能科技,2用jdpush推送,3.mqtt,4.芊熠智能,5佳信捷,6佳信捷新设备
|
//1杭州宇泛智能科技,2用jdpush推送,3.mqtt,4.芊熠智能,5佳信捷,6佳信捷新设备
|
||||||
if (tempProjectUfaceConfig.getSupplierType() == 1) {
|
if (tempProjectUfaceConfig.getSupplierType() == 1) {
|
||||||
@ -329,22 +419,22 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
|||||||
}
|
}
|
||||||
UniUbiUtil.addPerson(tempProjectUfaceConfig.getAppId(), tempProjectUfaceConfig.getAppKey(), tempProjectUfaceConfig.getAppSecret(),
|
UniUbiUtil.addPerson(tempProjectUfaceConfig.getAppId(), tempProjectUfaceConfig.getAppKey(), tempProjectUfaceConfig.getAppSecret(),
|
||||||
workerInfo.getWorkerName(), workerInfo.getAttendanceNumber(), workerInfo.getIdCard(),
|
workerInfo.getWorkerName(), workerInfo.getAttendanceNumber(), workerInfo.getIdCard(),
|
||||||
image, devSn);
|
image, devSns);
|
||||||
} else if (tempProjectUfaceConfig.getSupplierType() == 4) {
|
} else if (tempProjectUfaceConfig.getSupplierType() == 4) {
|
||||||
QYUfaceUtil.addOrUpdatePerson(tempProjectUfaceConfig.getAppId(), tempProjectUfaceConfig.getAppSecret(), 1, workerInfo.getIdCard(), workerInfo.getWorkerName(),
|
QYUfaceUtil.addOrUpdatePerson(tempProjectUfaceConfig.getAppId(), tempProjectUfaceConfig.getAppSecret(), 1, workerInfo.getIdCard(), workerInfo.getWorkerName(),
|
||||||
"", workerInfo.getPhoneNumber(), workerInfo.getIdCard(), workerInfo.getAttendanceNumber(), workerInfo.getNation(), workerInfo.getSex(), workerInfo.getBirthday(), devId.split(","), basePath + "/" + workerInfo.getFieldAcquisitionUrl());
|
"", workerInfo.getPhoneNumber(), workerInfo.getIdCard(), workerInfo.getAttendanceNumber(), workerInfo.getNation(), workerInfo.getSex(), workerInfo.getBirthday(), devIds.split(","), basePath + "/" + workerInfo.getFieldAcquisitionUrl());
|
||||||
} else if (tempProjectUfaceConfig.getSupplierType() == 5) {
|
} else if (tempProjectUfaceConfig.getSupplierType() == 5) {
|
||||||
//佳信捷设备
|
//佳信捷设备
|
||||||
JxjUfaceUtil.addWorkerInfo(workerInfo, tempProjectUfaceConfig, serverUrl + "/image/");
|
JxjUfaceUtil.addWorkerInfo(workerInfo, tempProjectUfaceConfig, serverUrl + "/image/");
|
||||||
} else if (tempProjectUfaceConfig.getSupplierType() == 6) {
|
} else if (tempProjectUfaceConfig.getSupplierType() == 6) {
|
||||||
//佳信捷新设备
|
//佳信捷新设备
|
||||||
JxjNewUfaceDevUtil.addOrUpdatePerson(workerInfo, tempProjectUfaceConfig, basePath, devSn, jxjDevImageType);
|
JxjNewUfaceDevUtil.addOrUpdatePerson(workerInfo, tempProjectUfaceConfig, basePath, devSns, jxjDevImageType);
|
||||||
} else if (tempProjectUfaceConfig.getSupplierType() == 7) {
|
} else if (tempProjectUfaceConfig.getSupplierType() == 7) {
|
||||||
//海康门禁sdk
|
//海康门禁sdk
|
||||||
HikvisionUfaceSDKUtil.addOrUpdatePerson(workerInfo, tempProjectUfaceConfig, devSn);
|
HikvisionUfaceSDKUtil.addOrUpdatePerson(workerInfo, tempProjectUfaceConfig, devSns);
|
||||||
} else if (tempProjectUfaceConfig.getSupplierType() == 9) {
|
} else if (tempProjectUfaceConfig.getSupplierType() == 9) {
|
||||||
//海康门禁isc
|
//海康门禁isc
|
||||||
asyncHikvision.addPersonAuth(workerInfo, tempProjectUfaceConfig, devSn);
|
asyncHikvision.addPersonAuth(workerInfo, devSns);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -62,7 +62,6 @@ public class UfaceDevGroupController {
|
|||||||
@ApiOperation(value = "列表查询门禁设备-分组信息", notes = "列表查询门禁设备-分组信息", httpMethod = "GET")
|
@ApiOperation(value = "列表查询门禁设备-分组信息", notes = "列表查询门禁设备-分组信息", httpMethod = "GET")
|
||||||
@GetMapping(value = "/list")
|
@GetMapping(value = "/list")
|
||||||
public Result<List<UfaceDevGroup>> queryList(@ApiIgnore @RequestParam HashMap<String, Object> paramMap) {
|
public Result<List<UfaceDevGroup>> queryList(@ApiIgnore @RequestParam HashMap<String, Object> paramMap) {
|
||||||
int i = 1 / 0;
|
|
||||||
return Result.success(ufaceDevGroupService.queryList(paramMap));
|
return Result.success(ufaceDevGroupService.queryList(paramMap));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -38,4 +38,8 @@ public interface UfaceDevMapper extends BaseMapper<UfaceDev> {
|
|||||||
HashMap<String, Object> countUfaceDevOnOffline(String projectSn);
|
HashMap<String, Object> countUfaceDevOnOffline(String projectSn);
|
||||||
|
|
||||||
List<UfaceDev> getUfaceDevList(@Param(Constants.WRAPPER) QueryWrapper<UfaceDev> qw);
|
List<UfaceDev> getUfaceDevList(@Param(Constants.WRAPPER) QueryWrapper<UfaceDev> qw);
|
||||||
|
|
||||||
|
List<UfaceDev> getUfaceDevListForIsc(@Param("list") List<String> groupIdList, @Param("projectSn") String projectSn);
|
||||||
|
|
||||||
|
List<UfaceDev> getUfaceDevListForIscNotExist(@Param("list") List<String> groupIdList, @Param("projectSn") String projectSn);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -126,4 +126,28 @@
|
|||||||
from uface_dev ud
|
from uface_dev ud
|
||||||
${ew.customSqlSegment}
|
${ew.customSqlSegment}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getUfaceDevListForIsc" resultType="com.zhgd.xmgl.modules.worker.entity.UfaceDev">
|
||||||
|
select distinct ud.* from uface_dev ud
|
||||||
|
join uface_dev_to_group udtg on ud.id = udtg.uface_dev_id
|
||||||
|
where udtg.uface_dev_group_id in
|
||||||
|
<foreach collection="list" item="item" index="index"
|
||||||
|
separator="," open="(" close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</select>
|
||||||
|
<select id="getUfaceDevListForIscNotExist" resultType="com.zhgd.xmgl.modules.worker.entity.UfaceDev">
|
||||||
|
select distinct ud.* from uface_dev ud
|
||||||
|
LEFT join uface_dev_to_group udtg on ud.id = udtg.uface_dev_id
|
||||||
|
where (1=1
|
||||||
|
<if test="list != null">
|
||||||
|
and udtg.uface_dev_group_id not in
|
||||||
|
<foreach collection="list" item="item" index="index"
|
||||||
|
separator="," open="(" close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
OR udtg.id is null)
|
||||||
|
and ud.project_sn =#{projectSn}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@ -21,8 +21,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 门禁设备-分组
|
* @Description: 门禁设备-分组
|
||||||
@ -64,9 +66,15 @@ public class UfaceDevGroupServiceImpl extends ServiceImpl<UfaceDevGroupMapper, U
|
|||||||
|
|
||||||
private List<UfaceDevGroup> dealList(List<UfaceDevGroup> list) {
|
private List<UfaceDevGroup> dealList(List<UfaceDevGroup> list) {
|
||||||
for (UfaceDevGroup group : list) {
|
for (UfaceDevGroup group : list) {
|
||||||
Integer i = ufaceDevToGroupMapper.selectCount(new LambdaQueryWrapper<UfaceDevToGroup>()
|
List<UfaceDevToGroup> toList = ufaceDevToGroupMapper.selectList(new LambdaQueryWrapper<UfaceDevToGroup>()
|
||||||
.eq(UfaceDevToGroup::getUfaceDevGroupId, group.getId()));
|
.eq(UfaceDevToGroup::getUfaceDevGroupId, group.getId()));
|
||||||
group.setDevCount(i);
|
group.setDevCount(toList.size());
|
||||||
|
List<UfaceDev> ufaceDevs = new ArrayList<>();
|
||||||
|
if (toList.size() != 0) {
|
||||||
|
ufaceDevs = ufaceDevMapper.selectList(new LambdaQueryWrapper<UfaceDev>()
|
||||||
|
.in(UfaceDev::getId, toList.stream().map(UfaceDevToGroup::getUfaceDevId).collect(Collectors.toList())));
|
||||||
|
}
|
||||||
|
group.setUfaceDevList(ufaceDevs);
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
package com.zhgd.xmgl.util;
|
package com.zhgd.xmgl.util;
|
||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.hikvision.artemis.sdk.Client;
|
import com.hikvision.artemis.sdk.Client;
|
||||||
@ -9,9 +8,7 @@ import com.hikvision.artemis.sdk.Request;
|
|||||||
import com.hikvision.artemis.sdk.Response;
|
import com.hikvision.artemis.sdk.Response;
|
||||||
import com.hikvision.artemis.sdk.constant.Constants;
|
import com.hikvision.artemis.sdk.constant.Constants;
|
||||||
import com.hikvision.artemis.sdk.enums.Method;
|
import com.hikvision.artemis.sdk.enums.Method;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.HikvisionRequestRetry;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -25,31 +22,20 @@ import java.util.Objects;
|
|||||||
@Component
|
@Component
|
||||||
public class HikvisionUtil {
|
public class HikvisionUtil {
|
||||||
|
|
||||||
public static String doPost(String host, String path, String body, Map<String, String> querys, String appKey, String appSecret) {
|
public static String doPost(String host, String path, String body, Map<String, String> querys, String appKey, String appSecret) throws Exception {
|
||||||
return doPost(host, path, body, querys, appKey, appSecret, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String doPost(String host, String path, String body, Map<String, String> querys, String appKey, String appSecret, Long hikvisionRequestRetryId) {
|
|
||||||
log.info("HikvisionUtil#doPost.url:{}", host + path);
|
log.info("HikvisionUtil#doPost.url:{}", host + path);
|
||||||
log.info("HikvisionUtil#doPost.body:{}", body);
|
log.info("HikvisionUtil#doPost.body:{}", body);
|
||||||
String responseStr = null;
|
Map<String, String> headers = new HashMap();
|
||||||
boolean isException = false;
|
headers.put("Accept", "*/*");
|
||||||
try {
|
headers.put("Content-Type", "application/json");
|
||||||
Map<String, String> headers = new HashMap();
|
//Request request = new Request(Method.POST_STRING, host, path, appKey, appSecret, Constants.DEFAULT_TIMEOUT);
|
||||||
headers.put("Accept", "*/*");
|
Request request = new Request(Method.POST_STRING, host, path, appKey, appSecret, Constants.DEFAULT_TIMEOUT * 10);
|
||||||
headers.put("Content-Type", "application/json");
|
request.setHeaders(headers);
|
||||||
//Request request = new Request(Method.POST_STRING, host, path, appKey, appSecret, Constants.DEFAULT_TIMEOUT);
|
request.setQuerys(querys);
|
||||||
Request request = new Request(Method.POST_STRING, host, path, appKey, appSecret, Constants.DEFAULT_TIMEOUT * 10);
|
request.setStringBody(body);
|
||||||
request.setHeaders(headers);
|
Response response = Client.execute(request);
|
||||||
request.setQuerys(querys);
|
String responseStr = getResponseResult(response);
|
||||||
request.setStringBody(body);
|
log.info("HikvisionUtil#doPost.getResponseResult:{}", responseStr);
|
||||||
Response response = Client.execute(request);
|
|
||||||
responseStr = getResponseResult(response);
|
|
||||||
log.info("HikvisionUtil#doPost.getResponseResult:{}", responseStr);
|
|
||||||
} catch (Exception var10) {
|
|
||||||
isException = true;
|
|
||||||
log.error("HikvisionUtil#doPost.error:{}", var10.getMessage(), var10);
|
|
||||||
}
|
|
||||||
return responseStr;
|
return responseStr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,15 +52,12 @@ public class HikvisionUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取data结果
|
* 成功后,获取data结果
|
||||||
*
|
*
|
||||||
* @param rs
|
* @param rs
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static JSONObject getJSONObjectData(String rs) {
|
public static JSONObject getJSONObjectData(String rs) {
|
||||||
if (StrUtil.isBlank(rs)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
JSONObject rsJo = JSONObject.parseObject(rs);
|
JSONObject rsJo = JSONObject.parseObject(rs);
|
||||||
String code = rsJo.getString("code");
|
String code = rsJo.getString("code");
|
||||||
if (Objects.equals(code, "0")) {
|
if (Objects.equals(code, "0")) {
|
||||||
@ -85,6 +68,22 @@ public class HikvisionUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 成功后,获取data结果
|
||||||
|
*
|
||||||
|
* @param rsJo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static JSONObject getJSONObjectData(JSONObject rsJo) {
|
||||||
|
String code = rsJo.getString("code");
|
||||||
|
if (Objects.equals(code, "0")) {
|
||||||
|
return rsJo.getJSONObject("data");
|
||||||
|
} else {
|
||||||
|
log.error("海康解析结果失败:{}", rsJo.toJSONString());
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static JSONArray getJSONArrayData(String rs) {
|
public static JSONArray getJSONArrayData(String rs) {
|
||||||
if (StrUtil.isBlank(rs)) {
|
if (StrUtil.isBlank(rs)) {
|
||||||
return null;
|
return null;
|
||||||
@ -115,5 +114,35 @@ public class HikvisionUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否请求成功
|
||||||
|
*
|
||||||
|
* @param rsJo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static boolean isSuccess(JSONObject rsJo) {
|
||||||
|
String code = rsJo.getString("code");
|
||||||
|
if (Objects.equals(code, "0")) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否请求成功
|
||||||
|
*
|
||||||
|
* @param rsJo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static boolean isFail(JSONObject rsJo) {
|
||||||
|
String code = rsJo.getString("code");
|
||||||
|
if (Objects.equals(code, "0")) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user