jiangping
2023-12-19 c45a2129b51276efd8d290c44e2943e5d3a764e7
海康接口对接开发
已添加11个文件
已修改1个文件
237 ■■■■■ 文件已修改
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskAdditionRequest.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionCardRequest.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionFaceRequest.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionPersonRequest.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionRequest.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionResourceRequest.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskProgressRequest.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskAdditionResponse.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskProgressResourceInfoResponse.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskProgressResourceResponse.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskProgressResponse.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskAdditionRequest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
package com.doumee.core.haikang.model.param.request;
import lombok.Data;
@Data
public class TaskAdditionRequest {
   private Integer taskType;//s    number    True    ä¸‹è½½ä»»åŠ¡ç±»åž‹1:卡片4:人脸    å…¶ä»–参考附录A.53 ä»»åŠ¡ä¸‹è½½ç±»åž‹è¯´æ˜Ž
}
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionCardRequest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
package com.doumee.core.haikang.model.param.request;
import lombok.Data;
@Data
public class TaskDataAdditionCardRequest {
   private String   card    ;//    string    True    å¡å·ï¼Œæ”¯æŒ8-20位数字+大写字母的卡号;请根据设备实际能力填写卡号
   private Integer status        ;//number    True    çŠ¶æ€0: æ–°å¢ž1: ä¿®æ”¹2:删除
   private Integer cardType        ;//number    False    å¡ç±»åž‹ï¼Œä¸ºç©ºæ—¶é»˜è®¤æ­£å¸¸æ™®é€šå¡1: æ™®é€šå¡2: æ®‹éšœäººå£«å¡3: é»‘名单卡4:巡查卡5:胁迫卡6:超级卡
}
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionFaceRequest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
package com.doumee.core.haikang.model.param.request;
import lombok.Data;
import java.util.Map;
@Data
public class TaskDataAdditionFaceRequest {
   private String card    ;//string    False    æ”¯æŒ8-20位数字+大写字母的卡号;以卡为中心设备必填,请根据设备实际能力填写
   private Map<String,String> data    ;//object    True    äººè„¸æ•°æ®ï¼ŒKey:为人脸编号 Value:为人脸图片https下载的URL,图片要求浏览器可以直接打开,不支持重定向
}
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionPersonRequest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
package com.doumee.core.haikang.model.param.request;
import lombok.Data;
@Data
public class TaskDataAdditionPersonRequest {
   private String  personId    ;//string    True    äººå‘˜Id,系统内人员从获取人员列表v2 æŽ¥å£èŽ·å–è¿”å›žå‚æ•°ä¸­personId,系统外人员,人员Id由调用方指定,作为人员唯一标志,最大长度为64,包含数字、字母(小写)和中划线(-)
   private String operatorType    ;//number    True    æ“ä½œç±»åž‹ï¼Œ0新增;1修改;2删除
   private String  startTime    ;//string    False    å¼€å§‹æ—¥æœŸï¼Œé…ç½®äººå‘˜æƒé™çš„æœ‰æ•ˆæœŸï¼Œä¸ºç©ºæ—¶é»˜è®¤é•¿æœŸæœ‰æ•ˆã€‚采用ISO8601时间格式,最大长度32个字符,如2018-09-03T17:30:08.000+08:00
   private String endTime;//    string    False    ç»“束日期,配置人员权限的有效期,为空时默认长期有效。采用ISO8601时间格式,最大长度32个字符,如2018-09-03T17:30:08.000+08:00
   private String personType;//    number    False    äººå‘˜ç±»åž‹ï¼Œé»˜è®¤ä¸º11. ç³»ç»Ÿå†…人员2. ç³»ç»Ÿå¤–人员           ä¸‹è½½ç³»ç»Ÿå¤–人员时必填
   private String name;//    string    False    äººå‘˜å§“名,系统外人员时必填
   private String cards    ;//object[]    False    å¡ç‰‡ä¿¡æ¯ï¼Œä¸‹è½½ç³»ç»Ÿå¤–人员卡片权限时必填
}
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionRequest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.doumee.core.haikang.model.param.request;
import lombok.Data;
import java.util.List;
@Data
public class TaskDataAdditionRequest {
   private String taskId;//string    True    ä¸‹è½½ä»»åŠ¡å”¯ä¸€æ ‡è¯†
   private List<TaskDataAdditionResourceRequest> resourceInfos;//    object[]    True    èµ„源对象
   private List<TaskDataAdditionPersonRequest> personInfos;//        object[]    True    äººå‘˜ä¿¡æ¯
   private  List<TaskDataAdditionCardRequest> cards;//        object[]    True    äººå‘˜ä¿¡æ¯
   private TaskDataAdditionFaceRequest face;//    object    False    äººè„¸ä¿¡æ¯ï¼Œä¸‹è½½ç³»ç»Ÿå¤–人员人脸权限时必填
}
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionResourceRequest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
package com.doumee.core.haikang.model.param.request;
import lombok.Data;
@Data
public class TaskDataAdditionResourceRequest {
   private String resourceIndexCode;//    string    True    èµ„源的唯一标识,32位数字+字母(小写)字符串,资源为设备,根据获取资源列表v2接口获取返回参数indexCode
   private String  resourceType;//    string    True    èµ„源类型,参考附录A.50 è®¾å¤‡é€šé“类型
   private Integer[] channelNos    ;//number[]    True    èµ„源通道号
}
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskProgressRequest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
package com.doumee.core.haikang.model.param.request;
import lombok.Data;
import java.util.List;
@Data
public class TaskProgressRequest {
   private String taskId;//string    True    ä¸‹è½½ä»»åŠ¡å”¯ä¸€æ ‡è¯†
}
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskAdditionResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
package com.doumee.core.haikang.model.param.respose;
import lombok.Data;
@Data
public class TaskAdditionResponse {
   private String taskId    ;//string    False    ä¸‹è½½ä»»åŠ¡å”¯ä¸€æ ‡è¯†ï¼Œ32位数字+字母字符串
}
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskProgressResourceInfoResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.doumee.core.haikang.model.param.respose;
import lombok.Data;
@Data
public class TaskProgressResourceInfoResponse {
   private String  resourceIndexCode;//    string    False    èµ„源的唯一标识
   private String resourceType;//    string    False    èµ„源类型,参考附录A.50 è®¾å¤‡é€šé“类型
   private Integer[] channelNos;//    number[]    False    èµ„源通道号
   private String[] channelIndexCodes;//    string[]    False    èµ„源通道唯一标识(在权限下载和配置接口入参时对应查询接口会返回,不作为查询接口的查询条件)
}
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskProgressResourceResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
package com.doumee.core.haikang.model.param.respose;
import lombok.Data;
@Data
public class TaskProgressResourceResponse {
   private TaskProgressResourceInfoResponse resourceInfo;//    object    False    èµ„源对象
   private String startTime;//    string    False    ä¸‹è½½å¼€å§‹æ—¶é—´ é‡‡ç”¨ISO8601时间格式,最大长度32个字符,如2018-09-03T17:30:08.000+08:00
   private String updateTime;//    string    False    ä¸‹è½½è¿›åº¦æ›´æ–°æ—¶é—´ é‡‡ç”¨ISO8601时间格式,最大长度32个字符,如2018-09-03T17:30:08.000+08:00
   private String endTime;//    string    False    ä¸‹è½½ç»“束时间 é‡‡ç”¨ISO8601时间格式,最大长度32个字符,如2018-09-03T17:30:08.000+08:00
   private Integer leftTime;//    number    False    ä¸‹è½½å‰©ä½™æ—¶é—´ï¼Œå•位:秒
   private String errorCode;//    string    False    ä¸‹è½½é”™è¯¯ç ï¼Œå‚考附录E.2.3 å‡ºå…¥æŽ§åˆ¶æƒé™é”™è¯¯ç 
   private Integer downloadResult;//    number    False    ä¸‹è½½ç»“果(当下载结束时有值,0:成功,1:失败,2:部分失败)
   private Integer consumeTime;//    number    False    ä¸‹è½½ç”¨æ—¶ï¼Œå•位:秒
    private String downloadStatus;//    string    False    ä¸‹è½½çŠ¶æ€
    private Boolean isDownloadFinished;//    boolean    False    æ˜¯å¦ä¸‹è½½ç»“束
    private Integer downloadPercent;//    number    False    ä¸‹è½½ç™¾åˆ†æ¯”
    private Integer totalPersonCount;//    number    False    ä¸‹è½½æ€»äººæ•°
    private Integer downloadPersonCount;//    number    False    å·²ä¸‹å‘人员数量
    private Integer successedPersonCount;//    number    False    ä¸‹è½½æˆåŠŸäººå‘˜æ•°é‡
    private Integer failedPersonCount;//    number    False    ä¸‹è½½å¤±è´¥äººå‘˜æ•°é‡
}
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskProgressResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.doumee.core.haikang.model.param.respose;
import lombok.Data;
@Data
public class TaskProgressResponse {
   private String taskId    ;//string    False    ä¸‹è½½ä»»åŠ¡å”¯ä¸€æ ‡è¯†ï¼Œ32位数字+字母字符串
   private String tagId;//    string    False    æ ‡ç­¾,用于区分不同业务组件,建议使用组件标识。只支持1-32个数字和小写字母。
   private Integer  taskType;//    number    False    ä¸‹è½½ä»»åŠ¡ç±»åž‹ ,参考附录A.53 ä»»åŠ¡ä¸‹è½½ç±»åž‹è¯´æ˜Ž
   private Integer taskOptType;//number    False    ä»»åŠ¡æ“ä½œç±»åž‹0:初始化下载,、1:异动下载,  2:指定下载-普通任务, 3:指定下载-快速任务,4自动下载, 5:同步下载
   private String startTime    ;//string    False    ä¸‹è½½å¼€å§‹æ—¶é—´ é‡‡ç”¨ISO8601时间格式,最大长度32个字符,如2018-09-03T17:30:08.000+08:00
   private Integer totalPercent    ;//number    False    ä¸‹è½½æ€»è¿›åº¦
   private Integer leftTime;//    number    False    ä¸‹è½½å‰©ä½™æ—¶é—´
   private Integer consumeTime    ;//number    False    ä¸‹è½½æ€»ç”¨æ—¶
   private Boolean isDownloadFinished;//    boolean    False    ä¸‹è½½æ˜¯å¦ç»“束
   private String resourceDownloadProgress;//    object[]    False    èµ„源下载详情
}
server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -556,6 +556,90 @@
        }
        return  null;
    }
    /**
     *海康创建一卡通下载任务
     * @return
     */
    public  static  BaseResponse<TaskAdditionResponse>   taskAddition(TaskAdditionRequest param){
        log.info("【海康创建一卡通下载任务】================开始===="+JSONObject.toJSONString(param));
        String res = null;
        try {
            res = HKTools.taskAddition(JSONObject.toJSONString(param));
            TypeReference typeReference =
                    new TypeReference< BaseResponse<TaskAdditionResponse>>(){};
            BaseResponse<TaskAdditionResponse>      result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康创建一卡通下载任务");
            return  result;
        }catch (Exception e){
            log.error("【海康创建一卡通下载任务】================失败====:\n"+ e.getMessage());
        }finally {
           // saveInterfaceLog(param,res);
        }
        return  null;
    }
    /**
     *海康一卡通任务添加数据
     * @return
     */
    public  static  BaseResponse    taskDataAddition(TaskDataAdditionRequest param){
        log.info("【海康一卡通任务添加数据】================开始===="+JSONObject.toJSONString(param));
        String res = null;
        try {
            res = HKTools.taskDataAddition(JSONObject.toJSONString(param));
            TypeReference typeReference =
                    new TypeReference< BaseResponse >(){};
            BaseResponse   result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康一卡通任务添加数据");
            return  result;
        }catch (Exception e){
            log.error("【海康一卡通任务添加数据】================失败====:\n"+ e.getMessage());
        }finally {
           // saveInterfaceLog(param,res);
        }
        return  null;
    }
    /**
     *海康一卡通任务进度查询
     * @return
     */
    public  static  BaseResponse<TaskProgressResponse>    taskDataAddition(TaskProgressRequest param){
        log.info("【海康一卡通任务进度查询】================开始===="+JSONObject.toJSONString(param));
        String res = null;
        try {
            res = HKTools.taskProgress(JSONObject.toJSONString(param));
            TypeReference typeReference =
                    new TypeReference< BaseResponse<TaskProgressResponse> >(){};
            BaseResponse<TaskProgressResponse>   result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康一卡通任务进度查询");
            return  result;
        }catch (Exception e){
            log.error("【海康一卡通任务进度查询】================失败====:\n"+ e.getMessage());
        }finally {
           // saveInterfaceLog(param,res);
        }
        return  null;
    }
    /**
     *海康一卡通任务开始执行
     * @return
     */
    public  static  BaseResponse     taskStart(TaskProgressRequest param){
        log.info("【海康一卡通任务开始执行】================开始===="+JSONObject.toJSONString(param));
        String res = null;
        try {
            res = HKTools.taskStart(JSONObject.toJSONString(param));
            TypeReference typeReference =
                    new TypeReference< BaseResponse >(){};
            BaseResponse  result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康一卡通任务开始执行");
            return  result;
        }catch (Exception e){
            log.error("【海康一卡通任务开始执行】================失败====:\n"+ e.getMessage());
        }finally {
           // saveInterfaceLog(param,res);
        }
        return  null;
    }
    private static void logResult(BaseResponse res,String name) {
        if(StringUtils.equals(res.getCode(),HKConstants.RESPONSE_SUCCEE)){