lishuai
2023-12-26 70577a6d6cf2bded29e71dcad11a0c2605193d20
server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -1,29 +1,19 @@
package com.doumee.core.haikang.service;
import com.alibaba.fastjson.JSONObject;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.haikang.model.param.request.*;
import com.doumee.core.haikang.model.param.respose.*;
import com.doumee.core.utils.Constants;
import com.alibaba.fastjson.TypeReference;
import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.haikang.model.HKTools;
import com.doumee.core.haikang.model.param.BaseRequst;
import com.doumee.core.haikang.model.param.BaseResponse;
import com.doumee.dao.business.model.InterfaceLog;
import com.doumee.service.business.InterfaceLogService;
import com.hikvision.artemis.sdk.config.ArtemisConfig;
import com.doumee.core.haikang.model.param.request.*;
import com.doumee.core.haikang.model.param.respose.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import com.alibaba.fastjson.TypeReference;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
@Slf4j
@@ -73,7 +63,6 @@
    public  static  BaseResponse<OrgOrUserAddResponse>  addBatchOrg(List<OrgAddRequest> param){
        log.info("【海康新增组织】================开始===="+JSONObject.toJSONString(param));
        try {
            String res = HKTools.addBatchOrg(JSONObject.toJSONString(param));
            TypeReference typeReference =
                    new TypeReference< BaseResponse<OrgOrUserAddResponse>>(){};
@@ -89,14 +78,14 @@
     *批量删除组织数据
     * @return
     */
    public  static  BaseResponse   delBatchOrg(OrgDelRequest param){
    public  static  BaseResponse<List<OrgUpdateFailureResponse>>   delBatchOrg(OrgDelRequest param){
        log.info("【海康删除组织】================开始===="+JSONObject.toJSONString(param));
        try {
            String res = HKTools.delOrg(JSONObject.toJSONString(param));
            TypeReference typeReference =
                    new TypeReference< BaseResponse >(){};
            BaseResponse result = JSONObject.parseObject(res, typeReference.getType());
            BaseResponse<List<OrgUpdateFailureResponse>>   result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康删除组织");
            return  result;
        }catch (Exception e){
@@ -162,13 +151,13 @@
     *批量删除人员信息
     * @return
     */
    public  static  BaseResponse<OrgOrUserAddFailureResponse>  delBatchUser(List<UserAddRequest> param){
    public  static  BaseResponse<List<UserDelResponse>>  delBatchUser(UserDelRequest param){
        log.info("【海康批量新增人员】================开始===="+JSONObject.toJSONString(param));
        try {
            String res = HKTools.delBatchUser(JSONObject.toJSONString(param));
            TypeReference typeReference =
                    new TypeReference< BaseResponse<OrgOrUserAddFailureResponse>>(){};
            BaseResponse<OrgOrUserAddFailureResponse> result = JSONObject.parseObject(res, typeReference.getType());
            BaseResponse<List<UserDelResponse >> result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康批量新增人员");
            return  result;
        }catch (Exception e){
@@ -180,7 +169,7 @@
     *添加人脸信息
     * @return
     */
    public  static  BaseResponse<FaceAddOrEditesponse>  addFace(List<FaceAddRequest> param){
    public  static  BaseResponse<FaceAddOrEditesponse>  addFace( FaceAddRequest  param){
        log.info("【海康添加人脸信息】================开始===="+JSONObject.toJSONString(param));
        try {
            String res = HKTools.addFace(JSONObject.toJSONString(param));
@@ -198,7 +187,7 @@
     *编辑人脸信息
     * @return
     */
    public  static  BaseResponse<FaceAddOrEditesponse>  editFace(List<FaceEditRequest> param){
    public  static  BaseResponse<FaceAddOrEditesponse>  editFace( FaceEditRequest  param){
        log.info("【海康编辑人脸信息】================开始===="+JSONObject.toJSONString(param));
        try {
            String res = HKTools.editFace(JSONObject.toJSONString(param));
@@ -245,13 +234,58 @@
        }
        return  null;
    }
    /**
     * 获取访客记录中的图片
     * @return
     */
    public static InputStream getVisitPicture(VisitPictureRequest param) {
        log.info("【海康访客图片流】================开始===="+JSONObject.toJSONString(param));
        try {
            InputStream res = HKTools.getVisitPicture(JSONObject.toJSONString(param));
            log.error("【海康访客图片流】================成功====\n");
            return  res;
        }catch (Exception e){
            log.error("【海康访客图片流】================失败====:\n"+ e.getMessage());
        }
        return  null;
    }
    /**
     * 获取门禁事件的图片
     * @return
     */
    public static InputStream getDevicePicture(DevicePictureRequest param) {
        log.info("【海康门禁事件图片流】================开始===="+JSONObject.toJSONString(param));
        try {
            InputStream res = HKTools.getDevicePicture(JSONObject.toJSONString(param));
            log.error("【海康门禁事件图片流】================成功====\n");
            return  res;
        }catch (Exception e){
            log.error("【海康门禁事件图片流】================失败====:\n"+ e.getMessage());
        }
        return  null;
    }
    /**
     * 查询车辆抓拍图片
     * @return
     */
    public static InputStream getCarPicture(CarPictureRequest param) {
        log.info("【海康车辆抓拍图片图片流】================开始===="+JSONObject.toJSONString(param));
        try {
            InputStream res = HKTools.getCarPicture(JSONObject.toJSONString(param));
            log.error("【海康车辆抓拍图片图片流】================成功====\n");
            return  res;
        }catch (Exception e){
            log.error("【海康车辆抓拍图片图片流】================失败====:\n"+ e.getMessage());
        }
        return  null;
    }
    /**
     *获取车库列表数据(全量)
     * @return
     */
    public  static  BaseResponse<List<ParkListResponse>>   parkList(ParkListRequest param){
        log.info("【海获取车库列表数据】================开始===="+JSONObject.toJSONString(param));
        log.info("【海康获取车库列表数据】================开始===="+JSONObject.toJSONString(param));
        try {
            String res = HKTools.parkList(JSONObject.toJSONString(param));
            TypeReference typeReference =
@@ -412,13 +446,13 @@
     *访客免登记预约
     * @return
     */
    public  static  BaseResponse<VisitAppointmentVistorResponse>   visitAppiontmentMDJ(VisitAppointmentMDJRequest param){
    public  static  BaseResponse<VisitAppointmentMDJResponse>   visitAppiontmentMDJ(VisitAppointmentMDJRequest param){
        log.info("【海康访客免登记预约】================开始===="+JSONObject.toJSONString(param));
        try {
            String res = HKTools.visitAppiontmentMDJ(JSONObject.toJSONString(param));
            TypeReference typeReference =
                    new TypeReference< BaseResponse<VisitAppointmentVistorResponse> >(){};
            BaseResponse<VisitAppointmentVistorResponse>   result = JSONObject.parseObject(res, typeReference.getType());
                    new TypeReference< BaseResponse<VisitAppointmentMDJResponse> >(){};
            BaseResponse<VisitAppointmentMDJResponse>   result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康访客免登记预约");
            return  result;
        }catch (Exception e){
@@ -501,6 +535,153 @@
        }
        return  null;
    }
    /**
     *事件订阅
     * @return
     */
    public  static  BaseResponse   cancelEventSub(EventSubRequest param){
        log.info("【海康取消事件订阅】================开始===="+JSONObject.toJSONString(param));
        String res = null;
        try {
            res = HKTools.cancelEventSub(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<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<TaskProgressNumResponse>    taskProgressNum(TaskProgressRequest param){
        log.info("【海康一卡通任务进度查询】================开始===="+JSONObject.toJSONString(param));
        String res = null;
        try {
            res = HKTools.taskProgressNum(JSONObject.toJSONString(param));
            TypeReference typeReference =
                    new TypeReference< BaseResponse<TaskProgressNumResponse> >(){};
            BaseResponse<TaskProgressNumResponse>   result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康一卡通任务进度查询");
            return  result;
        }catch (Exception e){
            log.error("【海康一卡通任务进度查询】================失败====:\n"+ e.getMessage());
        }finally {
           // saveInterfaceLog(param,res);
        }
        return  null;
    }
    /**
     *海康一卡通设备通道的人员权限下载详情总数v2
     * @return
     */
    public  static  BaseResponse<TaskProgressResponse>    taskProgress(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<AuthItemListResponse>    authItemList(AuthItemListRequest param){
        log.info("【海康查询权限条目列表】================开始===="+JSONObject.toJSONString(param));
        String res = null;
        try {
            res = HKTools.authItemList(JSONObject.toJSONString(param));
            TypeReference typeReference =
                    new TypeReference< BaseResponse<AuthItemListResponse> >(){};
            BaseResponse<AuthItemListResponse>   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)){