Commit f62edc6a authored by 赵啸非's avatar 赵啸非

添加海康部分接口实现类

parent a425dbbd
......@@ -5,8 +5,8 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.mortals.framework.common.Rest;
import com.mortals.framework.util.DateUtils;
import com.mortals.xhx.module.hik.door.model.req.DoorEventReq;
import com.mortals.xhx.module.hik.door.model.rsp.DoorEventDataInfo;
import com.mortals.xhx.module.hik.door.model.req.door.DoorEventReq;
import com.mortals.xhx.module.hik.door.model.rsp.door.DoorEventDataInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
......
package com.mortals.xhx.module.hik.camera.model.req;
import lombok.Data;
import java.util.List;
@Data
public class CameraListReq {
private int pageNo;
private int pageSize;
}
\ No newline at end of file
package com.mortals.xhx.module.hik.camera.model.rsp;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
@Data
public class CameraDataInfo{
private String regionIndexCode;
private String altitude;
private String capabilitySetName;
private String channelNo;
private String latitude;
private String channelType;
private String keyBoardCode;
private String ptzControllerName;
private String viewshed;
private String cameraIndexCode;
private String recordLocation;
private String cameraTypeName;
private String intelligentSet;
private String encodeDevResourceType;
private String statusName;
private String encodeDevResourceTypeName;
private String recordLocationName;
private String treatyTypeName;
private String channelTypeName;
private String transTypeName;
private int pixel;
private String cameraName;
private String longitude;
private String installLocation;
private String ptzName;
@JSONField(format = "yyyy-MM-dd'T'HH:mm:ssXXX")
private Data updateTime;
private String gbIndexCode;
private int ptzController;
private int cameraType;
private String treatyType;
private String intelligentSetName;
private int transType;
@JSONField(format = "yyyy-MM-dd'T'HH:mm:ssXXX")
private Data createTime;
private int ptz;
private String capabilitySet;
private String encodeDevIndexCode;
private int status;
}
\ No newline at end of file
package com.mortals.xhx.module.hik.camera.service;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.module.hik.camera.model.req.CameraListReq;
import com.mortals.xhx.module.hik.camera.model.rsp.CameraDataInfo;
import com.mortals.xhx.module.hik.face.model.req.plan.PlanRecognBlackListReq;
import com.mortals.xhx.module.hik.face.model.rsp.plan.PlanRecognBlackInfo;
import java.util.List;
/**
* 海康人员接口对接类
* @author:
* @date: 2023/4/12 17:47
*/
public interface IHikCameraService {
/**
* 查询监控资源点
* @param cameraListReq
* @return
*/
Rest<List<CameraDataInfo>> findPlanRecognBlackList(CameraListReq cameraListReq);
}
package com.mortals.xhx.module.hik.camera.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.hikvision.artemis.sdk.ArtemisHttpUtil;
import com.hikvision.artemis.sdk.config.ArtemisConfig;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.module.hik.AbstractHikService;
import com.mortals.xhx.module.hik.camera.model.req.CameraListReq;
import com.mortals.xhx.module.hik.camera.model.rsp.CameraDataInfo;
import com.mortals.xhx.module.hik.camera.service.IHikCameraService;
import com.mortals.xhx.module.hik.face.model.rsp.plan.PlanRecognBlackInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 海康视频接口类
*
* @author: zxfei
* @date: 2023/4/12 17:51
*/
@Service("hikCameraService")
@Slf4j
public class HikCameraServiceImpl extends AbstractHikService implements IHikCameraService {
@Override
public Rest<List<CameraDataInfo>> findPlanRecognBlackList(CameraListReq cameraListReq) {
ArtemisConfig config = getArtemisConfig();
String getCamsApi = ARTEMIS_PATH + "/api/frs/v1/plan/recognition/black";
path.put(protocol, getCamsApi);
try {
String respJson = ArtemisHttpUtil.doPostStringArtemis(config, path, JSON.toJSONString(cameraListReq), null, null, "application/json");
Rest<List<CameraDataInfo>> rest = JSON.parseObject(respJson, new TypeReference<Rest<List<CameraDataInfo>>>() {
});
if (rest.getCode() == 0) {
return Rest.ok(rest.getData());
} else {
log.info("camera list error resp=>", respJson);
return Rest.fail(rest.getMsg());
}
} catch (Exception e) {
log.error("camera list error异常", e);
return Rest.fail(e.getMessage());
}
}
}
package com.mortals.xhx.module.hik.door.model.req;
package com.mortals.xhx.module.hik.door.model.req.door;
import com.alibaba.fastjson.annotation.JSONField;
import com.mortals.xhx.module.hik.BaseReq;
......
package com.mortals.xhx.module.hik.door.model.rsp;
package com.mortals.xhx.module.hik.door.model.rsp.door;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
......
......@@ -2,8 +2,8 @@ package com.mortals.xhx.module.hik.door.service;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.module.hik.door.model.req.DoorEventReq;
import com.mortals.xhx.module.hik.door.model.rsp.DoorEventDataInfo;
import com.mortals.xhx.module.hik.door.model.req.door.DoorEventReq;
import com.mortals.xhx.module.hik.door.model.rsp.door.DoorEventDataInfo;
/**
* 海康门禁接口对接类
......
......@@ -6,8 +6,8 @@ import com.hikvision.artemis.sdk.ArtemisHttpUtil;
import com.hikvision.artemis.sdk.config.ArtemisConfig;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.module.hik.AbstractHikService;
import com.mortals.xhx.module.hik.door.model.req.DoorEventReq;
import com.mortals.xhx.module.hik.door.model.rsp.DoorEventDataInfo;
import com.mortals.xhx.module.hik.door.model.req.door.DoorEventReq;
import com.mortals.xhx.module.hik.door.model.rsp.door.DoorEventDataInfo;
import com.mortals.xhx.module.hik.door.service.IHikDoorService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
......
package com.mortals.xhx.module.hik.face.model.req.face;
import java.util.List;
import lombok.Data;
/**
* 人脸资源
*/
@Data
public class ResRecognReq{
private String name;
private String recognitionResourceType;
private List<String> indexCodes;
}
\ No newline at end of file
package com.mortals.xhx.module.hik.face.model.rsp.face;
import lombok.Data;
@Data
public class ResRecognDataInfo{
private String name;
private String indexCode;
private String recognitionResourceType;
}
\ No newline at end of file
......@@ -4,8 +4,10 @@ package com.mortals.xhx.module.hik.face.service;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.module.hik.face.model.req.face.FaceListReq;
import com.mortals.xhx.module.hik.face.model.req.face.FaceReq;
import com.mortals.xhx.module.hik.face.model.req.face.ResRecognReq;
import com.mortals.xhx.module.hik.face.model.req.group.FaceGroupReq;
import com.mortals.xhx.module.hik.face.model.rsp.face.FaceDataInfo;
import com.mortals.xhx.module.hik.face.model.rsp.face.ResRecognDataInfo;
import com.mortals.xhx.module.hik.face.model.rsp.group.FaceGroupDataInfo;
import java.util.List;
......@@ -68,4 +70,13 @@ public interface IHikFaceService {
*/
Rest<Boolean> faceGroupSingleDel(FaceGroupReq faceGroupReq);
/**
* 查询人脸资源
* @param recognReq
* @return
*/
Rest<List<ResRecognDataInfo>> findResRecognList(ResRecognReq recognReq);
}
......@@ -8,8 +8,10 @@ import com.mortals.framework.common.Rest;
import com.mortals.xhx.module.hik.AbstractHikService;
import com.mortals.xhx.module.hik.face.model.req.face.FaceListReq;
import com.mortals.xhx.module.hik.face.model.req.face.FaceReq;
import com.mortals.xhx.module.hik.face.model.req.face.ResRecognReq;
import com.mortals.xhx.module.hik.face.model.req.group.FaceGroupReq;
import com.mortals.xhx.module.hik.face.model.rsp.face.FaceDataInfo;
import com.mortals.xhx.module.hik.face.model.rsp.face.ResRecognDataInfo;
import com.mortals.xhx.module.hik.face.model.rsp.group.FaceGroupDataInfo;
import com.mortals.xhx.module.hik.face.service.IHikFaceService;
import lombok.extern.slf4j.Slf4j;
......@@ -158,4 +160,30 @@ public class HikFaceServiceImpl extends AbstractHikService implements IHikFaceSe
return Rest.fail(e.getMessage());
}
}
/**
* 识别计划需要人脸资源
* @param recognReq
* @return
*/
@Override
public Rest<List<ResRecognDataInfo>> findResRecognList(ResRecognReq recognReq) {
ArtemisConfig config = getArtemisConfig();
String getCamsApi = ARTEMIS_PATH + "/api/frs/v1/resource/recognition";
path.put(protocol, getCamsApi);
try {
String respJson = ArtemisHttpUtil.doPostStringArtemis(config, path, JSON.toJSONString(recognReq), null, null, "application/json");
Rest<List<ResRecognDataInfo>> rest = JSON.parseObject(respJson, new TypeReference<Rest<List<ResRecognDataInfo>>>() {
});
if (rest.getCode() == 0) {
return Rest.ok(rest.getData());
} else {
log.info("face res list error resp=>", respJson);
return Rest.fail(rest.getMsg());
}
} catch (Exception e) {
log.error("face res list error异常", e);
return Rest.fail(e.getMessage());
}
}
}
package com.mortals.xhx.module.hik.person.model.req.org;
import lombok.Data;
@Data
public class OrgListReq{
private String orgName;
private String orgIndexCodes;
private int pageNo;
private int pageSize;
}
\ No newline at end of file
package com.mortals.xhx.module.hik.person.model.req;
package com.mortals.xhx.module.hik.person.model.req.person;
import com.mortals.xhx.module.hik.BaseReq;
import lombok.Data;
......
package com.mortals.xhx.module.hik.person.model.rsp.org;
import lombok.Data;
import java.util.List;
@Data
public class OrgDataInfo {
private List<OrgInfo> list;
private Integer total;
private Integer totalPage;
private Integer pageNo;
}
package com.mortals.xhx.module.hik.person.model.rsp.org;
import lombok.Data;
@Data
public class OrgInfo {
private String orgName;
private String orgNo;
private String orgPath;
private String parentOrgIndexCode;
private String orgIndexCode;
private String updateTime;
private String parentOrgName;
}
\ No newline at end of file
package com.mortals.xhx.module.hik.person.model.rsp;
package com.mortals.xhx.module.hik.person.model.rsp.person;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import java.util.Date;
@Data
public class PersonInfo{
private int gender;
private String orgPath;
private String orgPathName;
private String orgIndexCode;
private String updateTime;
@JSONField(format = "yyyy-MM-dd'T'HH:mm:ssXXX")
private Date updateTime;
private String certificateNo;
private String phoneNo;
private String personName;
private PersonPhoto personPhoto;
private String createTime;
@JSONField(format = "yyyy-MM-dd'T'HH:mm:ssXXX")
private Date createTime;
private String jobNo;
private String personId;
private int certificateType;
......
......@@ -2,20 +2,50 @@ package com.mortals.xhx.module.hik.person.model.service;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.module.hik.person.model.req.PersonReq;
import com.mortals.xhx.module.hik.person.model.rsp.PersonDataInfo;
import com.mortals.xhx.module.hik.person.model.req.org.OrgListReq;
import com.mortals.xhx.module.hik.person.model.req.person.PersonReq;
import com.mortals.xhx.module.hik.person.model.rsp.person.PersonDataInfo;
/**
* 海康人员接口对接类
*
* @author:
* @date: 2023/4/12 17:47
*/
public interface IHikPersonService {
/**
* 获取人员接口
* 获取人员接口
*
* @param personReq
* @return
*/
Rest<PersonDataInfo> getPersonList(PersonReq personReq);
/**
* 获取人员接口透传
*
* @param personReq
* @return
*/
String getPersonListTrans(PersonReq personReq);
/**
* 获取组织接口
*
* @param orgListReq
* @return
*/
Rest<PersonDataInfo> getOrgList(OrgListReq orgListReq);
/**
* 透传原始数据
*
* @param orgListReq
* @return
*/
String getOrgListTrans(OrgListReq orgListReq);
}
......@@ -6,8 +6,9 @@ import com.hikvision.artemis.sdk.ArtemisHttpUtil;
import com.hikvision.artemis.sdk.config.ArtemisConfig;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.module.hik.AbstractHikService;
import com.mortals.xhx.module.hik.person.model.req.PersonReq;
import com.mortals.xhx.module.hik.person.model.rsp.PersonDataInfo;
import com.mortals.xhx.module.hik.person.model.req.org.OrgListReq;
import com.mortals.xhx.module.hik.person.model.req.person.PersonReq;
import com.mortals.xhx.module.hik.person.model.rsp.person.PersonDataInfo;
import com.mortals.xhx.module.hik.person.model.service.IHikPersonService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
......@@ -33,12 +34,11 @@ public class HikPersonServiceImpl extends AbstractHikService implements IHikPers
path.put(protocol, getCamsApi);
try {
String respJson = ArtemisHttpUtil.doPostStringArtemis(config, path, JSON.toJSONString(personReq), null, null, "application/json");
Rest<PersonDataInfo> rest = JSON.parseObject(respJson, new TypeReference<Rest<PersonDataInfo>>() {
});
if(rest.getCode()==0){
if (rest.getCode() == 0) {
return Rest.ok(rest.getData());
}else{
} else {
log.info("person error resp=>", respJson);
return Rest.fail(rest.getMsg());
}
......@@ -47,4 +47,54 @@ public class HikPersonServiceImpl extends AbstractHikService implements IHikPers
return Rest.fail(e.getMessage());
}
}
@Override
public String getPersonListTrans(PersonReq personReq) {
ArtemisConfig config = getArtemisConfig();
String getCamsApi = ARTEMIS_PATH + "/api/resource/v1/person/personList";
Map<String, String> path = new HashMap<>(2);
path.put(protocol, getCamsApi);
try {
return ArtemisHttpUtil.doPostStringArtemis(config, path, JSON.toJSONString(personReq), null, null, "application/json");
} catch (Exception e) {
log.error("获取人员异常", e);
return JSON.toJSONString(Rest.fail(e.getMessage()));
}
}
@Override
public Rest<PersonDataInfo> getOrgList(OrgListReq orgListReq) {
ArtemisConfig config = getArtemisConfig();
String getCamsApi = ARTEMIS_PATH + "/api/resource/v1/org/orgList";
Map<String, String> path = new HashMap<>(2);
path.put(protocol, getCamsApi);
try {
String respJson = ArtemisHttpUtil.doPostStringArtemis(config, path, JSON.toJSONString(orgListReq), null, null, "application/json");
Rest<PersonDataInfo> rest = JSON.parseObject(respJson, new TypeReference<Rest<PersonDataInfo>>() {
});
if (rest.getCode() == 0) {
return Rest.ok(rest.getData());
} else {
log.info("org list error resp=>", respJson);
return Rest.fail(rest.getMsg());
}
} catch (Exception e) {
log.error("org list error ", e);
return Rest.fail(e.getMessage());
}
}
@Override
public String getOrgListTrans(OrgListReq orgListReq) {
ArtemisConfig config = getArtemisConfig();
String getCamsApi = ARTEMIS_PATH + "/api/resource/v1/org/orgList";
Map<String, String> path = new HashMap<>(2);
path.put(protocol, getCamsApi);
try {
return ArtemisHttpUtil.doPostStringArtemis(config, path, JSON.toJSONString(orgListReq), null, null, "application/json");
} catch (Exception e) {
log.error("org list error ", e);
return JSON.toJSONString(Rest.fail(e.getMessage()));
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment