bug修复
This commit is contained in:
parent
079a7ef249
commit
eced94a9ef
@ -2,10 +2,14 @@ package com.zhgd.xmgl.async;
|
|||||||
|
|
||||||
import com.zhgd.xmgl.call.HikvisionCall;
|
import com.zhgd.xmgl.call.HikvisionCall;
|
||||||
import com.zhgd.xmgl.modules.car.entity.CarInfo;
|
import com.zhgd.xmgl.modules.car.entity.CarInfo;
|
||||||
|
import com.zhgd.xmgl.modules.project.entity.Project;
|
||||||
|
import com.zhgd.xmgl.modules.worker.entity.DepartmentInfo;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
|
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 com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@ -13,6 +17,7 @@ import org.springframework.stereotype.Component;
|
|||||||
@Component
|
@Component
|
||||||
public class AsyncHikvision {
|
public class AsyncHikvision {
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@Lazy
|
||||||
HikvisionCall hikvisionCall;
|
HikvisionCall hikvisionCall;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -100,4 +105,67 @@ public class AsyncHikvision {
|
|||||||
e.printStackTrace();
|
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();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class HikvisionEnterpriseInfo {
|
public class HikvisionOrganization {
|
||||||
|
|
||||||
@JsonProperty("clientId")
|
@JsonProperty("clientId")
|
||||||
private Long clientId;
|
private Long clientId;
|
||||||
@ -9,15 +9,17 @@ import com.google.gson.JsonArray;
|
|||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.zhgd.jeecg.common.api.vo.Result;
|
import com.zhgd.jeecg.common.api.vo.Result;
|
||||||
import com.zhgd.xmgl.base.HikvisionCarInfo;
|
import com.zhgd.xmgl.base.HikvisionCarInfo;
|
||||||
import com.zhgd.xmgl.base.HikvisionEnterpriseInfo;
|
|
||||||
import com.zhgd.xmgl.base.HikvisionEventsPictureRq;
|
import com.zhgd.xmgl.base.HikvisionEventsPictureRq;
|
||||||
|
import com.zhgd.xmgl.base.HikvisionOrganization;
|
||||||
import com.zhgd.xmgl.base.SubscribeEventQo;
|
import com.zhgd.xmgl.base.SubscribeEventQo;
|
||||||
import com.zhgd.xmgl.modules.car.entity.CarInfo;
|
import com.zhgd.xmgl.modules.car.entity.CarInfo;
|
||||||
import com.zhgd.xmgl.modules.car.entity.CarPassRecord;
|
import com.zhgd.xmgl.modules.car.entity.CarPassRecord;
|
||||||
import com.zhgd.xmgl.modules.car.mapper.CarPassRecordMapper;
|
import com.zhgd.xmgl.modules.car.mapper.CarPassRecordMapper;
|
||||||
import com.zhgd.xmgl.modules.project.entity.Project;
|
import com.zhgd.xmgl.modules.project.entity.Project;
|
||||||
import com.zhgd.xmgl.modules.project.mapper.ProjectMapper;
|
import com.zhgd.xmgl.modules.project.mapper.ProjectMapper;
|
||||||
|
import com.zhgd.xmgl.modules.worker.entity.DepartmentInfo;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
|
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 com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
||||||
import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper;
|
import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper;
|
||||||
import com.zhgd.xmgl.modules.worker.service.IWorkerAttendanceService;
|
import com.zhgd.xmgl.modules.worker.service.IWorkerAttendanceService;
|
||||||
@ -29,6 +31,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
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.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
@ -47,12 +50,16 @@ public class HikvisionCall {
|
|||||||
@Value("${upload.image.url.prefix:}")
|
@Value("${upload.image.url.prefix:}")
|
||||||
private String imageUrlPrefix;
|
private String imageUrlPrefix;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@Lazy
|
||||||
private ProjectMapper projectMapper;
|
private ProjectMapper projectMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@Lazy
|
||||||
private IWorkerAttendanceService workerAttendanceService;
|
private IWorkerAttendanceService workerAttendanceService;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@Lazy
|
||||||
private WorkerInfoMapper workerInfoMapper;
|
private WorkerInfoMapper workerInfoMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@Lazy
|
||||||
private CarPassRecordMapper carPassRecordMapper;
|
private CarPassRecordMapper carPassRecordMapper;
|
||||||
|
|
||||||
public void addWorkerForHikvision(WorkerInfo workerInfo) {
|
public void addWorkerForHikvision(WorkerInfo workerInfo) {
|
||||||
@ -72,7 +79,7 @@ public class HikvisionCall {
|
|||||||
jsonBody.put("personId", workerInfo.getId());
|
jsonBody.put("personId", workerInfo.getId());
|
||||||
jsonBody.put("personName", workerInfo.getWorkerName());
|
jsonBody.put("personName", workerInfo.getWorkerName());
|
||||||
jsonBody.put("gender", workerInfo.getSex());
|
jsonBody.put("gender", workerInfo.getSex());
|
||||||
jsonBody.put("orgIndexCode", "todo");//todo
|
jsonBody.put("orgIndexCode", getOrgIndexCode(workerInfo));
|
||||||
jsonBody.put("birthday", workerInfo.getBirthday());
|
jsonBody.put("birthday", workerInfo.getBirthday());
|
||||||
jsonBody.put("phoneNo", workerInfo.getPhoneNumber());
|
jsonBody.put("phoneNo", workerInfo.getPhoneNumber());
|
||||||
jsonBody.put("email", workerInfo.getPersonMail());
|
jsonBody.put("email", workerInfo.getPersonMail());
|
||||||
@ -88,6 +95,20 @@ public class HikvisionCall {
|
|||||||
return body;
|
return body;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getOrgIndexCode(WorkerInfo workerInfo) {
|
||||||
|
if (workerInfo == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (Objects.equals(workerInfo.getPersonType(), 1)) {
|
||||||
|
return String.valueOf(workerInfo.getTeamId());
|
||||||
|
} else if (Objects.equals(workerInfo.getPersonType(), 2)) {
|
||||||
|
return String.valueOf(workerInfo.getDepartmentId());
|
||||||
|
} else if (Objects.equals(workerInfo.getPersonType(), 3)) {
|
||||||
|
return String.valueOf(workerInfo.getProjectSn());
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void editWorkerForHikvision(WorkerInfo workerInfo) {
|
public void editWorkerForHikvision(WorkerInfo workerInfo) {
|
||||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, workerInfo.getProjectSn()));
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, workerInfo.getProjectSn()));
|
||||||
@ -341,20 +362,20 @@ public class HikvisionCall {
|
|||||||
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();
|
||||||
HikvisionEnterpriseInfo hikvisionEnterpriseInfo = getHikvisionEnterpriseInfo(enterpriseInfo);
|
HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(enterpriseInfo);
|
||||||
JsonArray array = new JsonArray();
|
JsonArray array = new JsonArray();
|
||||||
array.add(BeanUtil.toBean(hikvisionEnterpriseInfo, JsonObject.class));
|
array.add(BeanUtil.toBean(hikvisionOrganization, JsonObject.class));
|
||||||
String body = array.toString();
|
String body = array.toString();
|
||||||
HikvisionUtil.doPost(host, path, body, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
HikvisionUtil.doPost(host, path, body, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
}
|
}
|
||||||
|
|
||||||
private HikvisionEnterpriseInfo getHikvisionEnterpriseInfo(EnterpriseInfo enterpriseInfo) {
|
private HikvisionOrganization getHikvisionOrganization(EnterpriseInfo enterpriseInfo) {
|
||||||
HikvisionEnterpriseInfo hikvisionEnterpriseInfo = new HikvisionEnterpriseInfo();
|
HikvisionOrganization hikvisionOrganization = new HikvisionOrganization();
|
||||||
hikvisionEnterpriseInfo.setClientId(null);
|
hikvisionOrganization.setClientId(null);
|
||||||
hikvisionEnterpriseInfo.setOrgIndexCode(String.valueOf(enterpriseInfo.getId()));
|
hikvisionOrganization.setOrgIndexCode(String.valueOf(enterpriseInfo.getId()));
|
||||||
hikvisionEnterpriseInfo.setOrgName(enterpriseInfo.getEnterpriseName());
|
hikvisionOrganization.setOrgName(enterpriseInfo.getEnterpriseName());
|
||||||
hikvisionEnterpriseInfo.setParentIndexCode(null);
|
hikvisionOrganization.setParentIndexCode(enterpriseInfo.getProjectSn());
|
||||||
return hikvisionEnterpriseInfo;
|
return hikvisionOrganization;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void editEnterpriseInfoForHikvision(EnterpriseInfo enterpriseInfo) {
|
public void editEnterpriseInfoForHikvision(EnterpriseInfo enterpriseInfo) {
|
||||||
@ -365,8 +386,8 @@ public class HikvisionCall {
|
|||||||
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();
|
||||||
HikvisionEnterpriseInfo hikvisionEnterpriseInfo = getHikvisionEnterpriseInfo(enterpriseInfo);
|
HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(enterpriseInfo);
|
||||||
HikvisionUtil.doPost(host, path, JSONArray.toJSONString(hikvisionEnterpriseInfo), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
HikvisionUtil.doPost(host, path, JSONArray.toJSONString(hikvisionOrganization), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -383,4 +404,125 @@ public class HikvisionCall {
|
|||||||
HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void addTeamInfoForHikvision(TeamInfo teamInfo) {
|
||||||
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, teamInfo.getProjectSn()));
|
||||||
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
|
final String path = ARTEMIS_PATH + "/api/resource/v1/org/batch/add";
|
||||||
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
|
HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(teamInfo);
|
||||||
|
JsonArray array = new JsonArray();
|
||||||
|
array.add(BeanUtil.toBean(hikvisionOrganization, JsonObject.class));
|
||||||
|
String body = array.toString();
|
||||||
|
HikvisionUtil.doPost(host, path, body, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
|
}
|
||||||
|
|
||||||
|
private HikvisionOrganization getHikvisionOrganization(TeamInfo teamInfo) {
|
||||||
|
HikvisionOrganization hikvisionOrganization = new HikvisionOrganization();
|
||||||
|
hikvisionOrganization.setClientId(null);
|
||||||
|
hikvisionOrganization.setOrgIndexCode(String.valueOf(teamInfo.getId()));
|
||||||
|
hikvisionOrganization.setOrgName(teamInfo.getTeamName());
|
||||||
|
hikvisionOrganization.setParentIndexCode(String.valueOf(teamInfo.getEnterpriseId()));
|
||||||
|
return hikvisionOrganization;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void editTeamInfoForHikvision(TeamInfo teamInfo) {
|
||||||
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, teamInfo.getProjectSn()));
|
||||||
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
|
final String path = ARTEMIS_PATH + "/api/resource/v1/org/single/update";
|
||||||
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
|
HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(teamInfo);
|
||||||
|
HikvisionUtil.doPost(host, path, JSONArray.toJSONString(hikvisionOrganization), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deleteTeamInfoForHikvision(TeamInfo teamInfo) {
|
||||||
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, teamInfo.getProjectSn()));
|
||||||
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
|
final String path = ARTEMIS_PATH + "/api/resource/v1/org/batch/delete";
|
||||||
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
|
JSONObject jo = new JSONObject();
|
||||||
|
jo.put("indexCodes", Arrays.asList(teamInfo.getId()));
|
||||||
|
HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addDepartmentInfoForHikvision(DepartmentInfo departmentInfo) {
|
||||||
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, departmentInfo.getProjectSn()));
|
||||||
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
|
final String path = ARTEMIS_PATH + "/api/resource/v1/org/batch/add";
|
||||||
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
|
HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(departmentInfo);
|
||||||
|
JsonArray array = new JsonArray();
|
||||||
|
array.add(BeanUtil.toBean(hikvisionOrganization, JsonObject.class));
|
||||||
|
String body = array.toString();
|
||||||
|
HikvisionUtil.doPost(host, path, body, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
|
}
|
||||||
|
|
||||||
|
private HikvisionOrganization getHikvisionOrganization(DepartmentInfo departmentInfo) {
|
||||||
|
HikvisionOrganization hikvisionOrganization = new HikvisionOrganization();
|
||||||
|
hikvisionOrganization.setClientId(null);
|
||||||
|
hikvisionOrganization.setOrgIndexCode(String.valueOf(departmentInfo.getId()));
|
||||||
|
hikvisionOrganization.setOrgName(departmentInfo.getDepartmentName());
|
||||||
|
hikvisionOrganization.setParentIndexCode(String.valueOf(departmentInfo.getEnterpriseId()));
|
||||||
|
return hikvisionOrganization;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void editDepartmentInfoForHikvision(DepartmentInfo departmentInfo) {
|
||||||
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, departmentInfo.getProjectSn()));
|
||||||
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
|
final String path = ARTEMIS_PATH + "/api/resource/v1/org/single/update";
|
||||||
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
|
HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(departmentInfo);
|
||||||
|
HikvisionUtil.doPost(host, path, JSONArray.toJSONString(hikvisionOrganization), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deleteDepartmentInfoForHikvision(DepartmentInfo departmentInfo) {
|
||||||
|
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, departmentInfo.getProjectSn()));
|
||||||
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
|
final String path = ARTEMIS_PATH + "/api/resource/v1/org/batch/delete";
|
||||||
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
|
JSONObject jo = new JSONObject();
|
||||||
|
jo.put("indexCodes", Arrays.asList(departmentInfo.getId()));
|
||||||
|
HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void editProjectForHikvision(Project project) {
|
||||||
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final String ARTEMIS_PATH = "/artemis";
|
||||||
|
final String path = ARTEMIS_PATH + "/api/resource/v1/org/batch/add";
|
||||||
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
|
HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(project);
|
||||||
|
JsonArray array = new JsonArray();
|
||||||
|
array.add(BeanUtil.toBean(hikvisionOrganization, JsonObject.class));
|
||||||
|
String body = array.toString();
|
||||||
|
HikvisionUtil.doPost(host, path, body, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||||
|
}
|
||||||
|
|
||||||
|
private HikvisionOrganization getHikvisionOrganization(Project project) {
|
||||||
|
HikvisionOrganization hikvisionOrganization = new HikvisionOrganization();
|
||||||
|
hikvisionOrganization.setClientId(null);
|
||||||
|
hikvisionOrganization.setOrgIndexCode(project.getProjectSn());
|
||||||
|
hikvisionOrganization.setOrgName(project.getProjectName());
|
||||||
|
hikvisionOrganization.setParentIndexCode(null);
|
||||||
|
return hikvisionOrganization;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -193,28 +193,8 @@ public class ProjectController {
|
|||||||
@ApiOperation(value = "编辑项目信息", notes = "编辑项目信息", httpMethod = "POST")
|
@ApiOperation(value = "编辑项目信息", notes = "编辑项目信息", httpMethod = "POST")
|
||||||
@PostMapping(value = "/edit")
|
@PostMapping(value = "/edit")
|
||||||
public Result<Project> edit(@RequestBody Project project) {
|
public Result<Project> edit(@RequestBody Project project) {
|
||||||
Result<Project> result = new Result<Project>();
|
projectService.edit(project);
|
||||||
String projectSn = project.getProjectSn();
|
return Result.ok();
|
||||||
LambdaQueryWrapper<Project> queryWrapper = null;
|
|
||||||
if (StringUtils.isNotBlank(projectSn)) {
|
|
||||||
queryWrapper = new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, projectSn);
|
|
||||||
} else if (project.getProjectId() != null) {
|
|
||||||
queryWrapper = new LambdaQueryWrapper<Project>().eq(Project::getProjectId, project.getProjectId());
|
|
||||||
} else {
|
|
||||||
throw new RuntimeException("请求参数异常");
|
|
||||||
}
|
|
||||||
Project projectEntity = projectService.getOne(queryWrapper);
|
|
||||||
if (projectEntity == null) {
|
|
||||||
result.error500(MessageUtil.get("notFindErr"));
|
|
||||||
} else {
|
|
||||||
boolean ok = projectService.update(project, queryWrapper);
|
|
||||||
redisRepository.del("projectInfoBySn:" + projectEntity.getProjectSn());
|
|
||||||
if (ok) {
|
|
||||||
result.successMsg(MessageUtil.get("editSucess"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -83,4 +83,6 @@ public interface IProjectService extends IService<Project> {
|
|||||||
void saveProjectExtendInfo(ProjectExtDto map);
|
void saveProjectExtendInfo(ProjectExtDto map);
|
||||||
|
|
||||||
Project getProjectExtendInfo(Map<String, Object> map);
|
Project getProjectExtendInfo(Map<String, Object> map);
|
||||||
|
|
||||||
|
void edit(Project project);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,8 +16,8 @@ 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.redis.lock.RedisRepository;
|
import com.zhgd.redis.lock.RedisRepository;
|
||||||
|
import com.zhgd.xmgl.async.AsyncHikvision;
|
||||||
import com.zhgd.xmgl.entity.vo.ZwProjectDataVo;
|
import com.zhgd.xmgl.entity.vo.ZwProjectDataVo;
|
||||||
import com.zhgd.xmgl.enums.ParamEnum;
|
|
||||||
import com.zhgd.xmgl.modules.basicdata.constant.DictionaryConstant;
|
import com.zhgd.xmgl.modules.basicdata.constant.DictionaryConstant;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.*;
|
import com.zhgd.xmgl.modules.basicdata.entity.*;
|
||||||
import com.zhgd.xmgl.modules.basicdata.mapper.BaseModuleProjectMapper;
|
import com.zhgd.xmgl.modules.basicdata.mapper.BaseModuleProjectMapper;
|
||||||
@ -99,6 +99,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|||||||
@Autowired
|
@Autowired
|
||||||
private BimfaceConfigMapper bimfaceConfigMapper;
|
private BimfaceConfigMapper bimfaceConfigMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
private AsyncHikvision asyncHikvision;
|
||||||
|
@Autowired
|
||||||
private SystemProvincesServiceImpl systemProvincesService;
|
private SystemProvincesServiceImpl systemProvincesService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemAreasMapper systemAreasMapper;
|
private SystemAreasMapper systemAreasMapper;
|
||||||
@ -333,6 +335,28 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|||||||
return project;
|
return project;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void edit(Project project) {
|
||||||
|
String projectSn = project.getProjectSn();
|
||||||
|
LambdaQueryWrapper<Project> queryWrapper = null;
|
||||||
|
if (StringUtils.isNotBlank(projectSn)) {
|
||||||
|
queryWrapper = new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, projectSn);
|
||||||
|
} else if (project.getProjectId() != null) {
|
||||||
|
queryWrapper = new LambdaQueryWrapper<Project>().eq(Project::getProjectId, project.getProjectId());
|
||||||
|
} else {
|
||||||
|
throw new RuntimeException("请求参数异常");
|
||||||
|
}
|
||||||
|
Project projectEntity = baseMapper.selectOne(queryWrapper);
|
||||||
|
if (projectEntity == null) {
|
||||||
|
throw new OpenAlertException(MessageUtil.get("notFindErr"));
|
||||||
|
}
|
||||||
|
baseMapper.update(project, queryWrapper);
|
||||||
|
redisRepository.del("projectInfoBySn:" + projectEntity.getProjectSn());
|
||||||
|
|
||||||
|
//同步海康
|
||||||
|
asyncHikvision.editProjectForHikvision(project);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void saveZwProject(ZwProjectDataVo zwProjectDataVo) {
|
public void saveZwProject(ZwProjectDataVo zwProjectDataVo) {
|
||||||
Project project = new Project();
|
Project project = new Project();
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
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.AsyncJiLianDa;
|
import com.zhgd.xmgl.async.AsyncJiLianDa;
|
||||||
import com.zhgd.xmgl.async.AsyncWorker;
|
import com.zhgd.xmgl.async.AsyncWorker;
|
||||||
import com.zhgd.xmgl.modules.gt.entity.GtMaterialInOutWarehouse;
|
import com.zhgd.xmgl.modules.gt.entity.GtMaterialInOutWarehouse;
|
||||||
@ -38,6 +39,8 @@ public class DepartmentInfoServiceImpl extends ServiceImpl<DepartmentInfoMapper,
|
|||||||
private AsyncWorker asyncWorker;
|
private AsyncWorker asyncWorker;
|
||||||
@Autowired
|
@Autowired
|
||||||
private AsyncJiLianDa asyncJiLianDa;
|
private AsyncJiLianDa asyncJiLianDa;
|
||||||
|
@Autowired
|
||||||
|
private AsyncHikvision asyncHikvision;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removeDepartmentInfo(String id) {
|
public void removeDepartmentInfo(String id) {
|
||||||
@ -54,6 +57,9 @@ public class DepartmentInfoServiceImpl extends ServiceImpl<DepartmentInfoMapper,
|
|||||||
}
|
}
|
||||||
departmentInfoMapper.deleteById(id);
|
departmentInfoMapper.deleteById(id);
|
||||||
asyncJiLianDa.removeDepartmentInfo(departmentInfo);
|
asyncJiLianDa.removeDepartmentInfo(departmentInfo);
|
||||||
|
|
||||||
|
//同步海康
|
||||||
|
asyncHikvision.deleteDepartmentInfoForHikvision(departmentInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -90,6 +96,9 @@ public class DepartmentInfoServiceImpl extends ServiceImpl<DepartmentInfoMapper,
|
|||||||
//上传外部平台
|
//上传外部平台
|
||||||
asyncWorker.sendAddOrUpdateTeam(null, departmentInfo, 2);
|
asyncWorker.sendAddOrUpdateTeam(null, departmentInfo, 2);
|
||||||
asyncJiLianDa.saveDepartmentInfo(departmentInfo);
|
asyncJiLianDa.saveDepartmentInfo(departmentInfo);
|
||||||
|
|
||||||
|
//同步海康
|
||||||
|
asyncHikvision.addDepartmentInfoForHikvision(departmentInfo);
|
||||||
return departmentInfo;
|
return departmentInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -107,6 +116,9 @@ public class DepartmentInfoServiceImpl extends ServiceImpl<DepartmentInfoMapper,
|
|||||||
//上传外部平台
|
//上传外部平台
|
||||||
asyncWorker.sendAddOrUpdateTeam(null, departmentInfo, 2);
|
asyncWorker.sendAddOrUpdateTeam(null, departmentInfo, 2);
|
||||||
asyncJiLianDa.saveDepartmentInfo(departmentInfo);
|
asyncJiLianDa.saveDepartmentInfo(departmentInfo);
|
||||||
|
|
||||||
|
//同步海康
|
||||||
|
asyncHikvision.editDepartmentInfoForHikvision(departmentInfo);
|
||||||
return departmentInfo;
|
return departmentInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -7,6 +7,7 @@ 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.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.worker.entity.EnterpriseInfo;
|
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
|
||||||
@ -53,6 +54,8 @@ public class TeamInfoServiceImpl extends ServiceImpl<TeamInfoMapper, TeamInfo> i
|
|||||||
private EnterpriseInfoMapper enterpriseInfoMapper;
|
private EnterpriseInfoMapper enterpriseInfoMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private AsyncJiLianDa asyncJiLianDa;
|
private AsyncJiLianDa asyncJiLianDa;
|
||||||
|
@Autowired
|
||||||
|
private AsyncHikvision asyncHikvision;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removeTeamInfo(String id) {
|
public void removeTeamInfo(String id) {
|
||||||
@ -69,6 +72,9 @@ public class TeamInfoServiceImpl extends ServiceImpl<TeamInfoMapper, TeamInfo> i
|
|||||||
}
|
}
|
||||||
teamInfoMapper.deleteById(id);
|
teamInfoMapper.deleteById(id);
|
||||||
asyncJiLianDa.removeTeamInfo(teamInfo);
|
asyncJiLianDa.removeTeamInfo(teamInfo);
|
||||||
|
|
||||||
|
//同步海康
|
||||||
|
asyncHikvision.deleteTeamInfoForHikvision(teamInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -113,6 +119,9 @@ public class TeamInfoServiceImpl extends ServiceImpl<TeamInfoMapper, TeamInfo> i
|
|||||||
//上传外部平台
|
//上传外部平台
|
||||||
asyncWorker.sendAddOrUpdateTeam(teamInfo, null, 1);
|
asyncWorker.sendAddOrUpdateTeam(teamInfo, null, 1);
|
||||||
asyncJiLianDa.saveTeamInfo(teamInfo);
|
asyncJiLianDa.saveTeamInfo(teamInfo);
|
||||||
|
|
||||||
|
//同步海康
|
||||||
|
asyncHikvision.editTeamInfoForHikvision(teamInfo);
|
||||||
return teamInfo;
|
return teamInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -142,6 +151,9 @@ public class TeamInfoServiceImpl extends ServiceImpl<TeamInfoMapper, TeamInfo> i
|
|||||||
//上传外部平台
|
//上传外部平台
|
||||||
asyncWorker.sendAddOrUpdateTeam(teamInfo, null, 1);
|
asyncWorker.sendAddOrUpdateTeam(teamInfo, null, 1);
|
||||||
asyncJiLianDa.saveTeamInfo(teamInfo);
|
asyncJiLianDa.saveTeamInfo(teamInfo);
|
||||||
|
|
||||||
|
//同步海康
|
||||||
|
asyncHikvision.addTeamInfoForHikvision(teamInfo);
|
||||||
return teamInfo;
|
return teamInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user