233 lines
7.2 KiB
Java
233 lines
7.2 KiB
Java
package com.zhgd.xmgl.async;
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.zhgd.xmgl.call.HikvisionCall;
|
|
import com.zhgd.xmgl.modules.car.entity.CarInfo;
|
|
import com.zhgd.xmgl.modules.project.entity.Project;
|
|
import com.zhgd.xmgl.modules.project.entity.ProjectVideoConfig;
|
|
import com.zhgd.xmgl.modules.video.entity.ProjectVideoHkVqd;
|
|
import com.zhgd.xmgl.modules.video.entity.VideoItem;
|
|
import com.zhgd.xmgl.modules.video.mapper.ProjectVideoHkVqdMapper;
|
|
import com.zhgd.xmgl.modules.video.mapper.VideoItemMapper;
|
|
import com.zhgd.xmgl.modules.worker.entity.DepartmentInfo;
|
|
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
|
|
import com.zhgd.xmgl.modules.worker.entity.TeamInfo;
|
|
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.context.annotation.Lazy;
|
|
import org.springframework.scheduling.annotation.Async;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
@Slf4j
|
|
@Component
|
|
public class AsyncHikvision {
|
|
@Autowired
|
|
@Lazy
|
|
HikvisionCall hikvisionCall;
|
|
@Autowired
|
|
VideoItemMapper videoItemMapper;
|
|
@Autowired
|
|
ProjectVideoHkVqdMapper projectVideoHkVqdMapper;
|
|
|
|
/**
|
|
* 添加劳务人员-海康
|
|
*
|
|
* @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.addCarInfoFromHttp(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();
|
|
}
|
|
}
|
|
|
|
@Async
|
|
public void addEnterpriseInfoForHikvision(EnterpriseInfo enterpriseInfo) {
|
|
try {
|
|
hikvisionCall.addEnterpriseInfoForHikvision(enterpriseInfo);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
@Async
|
|
public void editEnterpriseInfoForHikvision(EnterpriseInfo enterpriseInfo) {
|
|
try {
|
|
hikvisionCall.editEnterpriseInfoForHikvision(enterpriseInfo);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
@Async
|
|
public void deleteEnterpriseInfoForHikvision(String enterpriseInfo, String projectSn) {
|
|
try {
|
|
hikvisionCall.deleteEnterpriseInfoForHikvision(enterpriseInfo, projectSn);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
@Async
|
|
public void editTeamInfoForHikvision(TeamInfo teamInfo) {
|
|
try {
|
|
hikvisionCall.editTeamInfoForHikvision(teamInfo);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
@Async
|
|
public void deleteTeamInfoForHikvision(TeamInfo teamInfo) {
|
|
try {
|
|
hikvisionCall.deleteTeamInfoForHikvision(teamInfo);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
@Async
|
|
public void addTeamInfoForHikvision(TeamInfo teamInfo) {
|
|
try {
|
|
hikvisionCall.addTeamInfoForHikvision(teamInfo);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
@Async
|
|
public void editDepartmentInfoForHikvision(DepartmentInfo teamInfo) {
|
|
try {
|
|
hikvisionCall.editDepartmentInfoForHikvision(teamInfo);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
@Async
|
|
public void addDepartmentInfoForHikvision(DepartmentInfo teamInfo) {
|
|
try {
|
|
hikvisionCall.addDepartmentInfoForHikvision(teamInfo);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
@Async
|
|
public void deleteDepartmentInfoForHikvision(DepartmentInfo teamInfo) {
|
|
try {
|
|
hikvisionCall.deleteDepartmentInfoForHikvision(teamInfo);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
@Async
|
|
public void editProjectForHikvision(Project project) {
|
|
try {
|
|
hikvisionCall.editProjectForHikvision(project);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 添加视频质量诊断结果
|
|
*
|
|
* @param projectVideoConfig
|
|
*/
|
|
@Async
|
|
public void addVqdForHikvision(ProjectVideoConfig projectVideoConfig) {
|
|
try {
|
|
List<VideoItem> videoItems = videoItemMapper.selectList(new LambdaQueryWrapper<VideoItem>()
|
|
.eq(VideoItem::getVideoId, projectVideoConfig.getId()));
|
|
ArrayList<String> indexCodes = new ArrayList<>();
|
|
for (int i = 0; i < videoItems.size(); i++) {
|
|
VideoItem videoItem = videoItems.get(i);
|
|
indexCodes.add(videoItem.getSerialNumber());
|
|
if ((i + 1) % 20 == 0) {
|
|
//20一次发生http请求
|
|
JSONObject requestParam = new JSONObject();
|
|
requestParam.put("pageNo", 1);
|
|
requestParam.put("pageSize", 20);
|
|
requestParam.put("indexCodes", indexCodes);
|
|
JSONObject jo = hikvisionCall.getVqdForHikvision(projectVideoConfig, requestParam);
|
|
if (jo != null) {
|
|
//插入结果
|
|
JSONArray listJa = jo.getJSONArray("list");
|
|
if (CollUtil.isEmpty(listJa)) {
|
|
continue;
|
|
}
|
|
for (int j = 0; j < listJa.size(); j++) {
|
|
JSONObject lJo = listJa.getJSONObject(j);
|
|
ProjectVideoHkVqd vqd = new ProjectVideoHkVqd();
|
|
BeanUtil.copyProperties(lJo, vqd);
|
|
vqd.setProjectSn(projectVideoConfig.getProjectSn());
|
|
projectVideoHkVqdMapper.insert(vqd);
|
|
}
|
|
}
|
|
} else if (i == videoItems.size() - 1) {
|
|
|
|
}
|
|
}
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|