jiangping
2023-12-22 72b4263800a376a998455d4ef11ed2321282a1e9
海康接口对接开发
已修改8个文件
64 ■■■■ 文件已修改
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/AuthItemListRequest.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Device.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberRole.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/openapi/src/main/java/com/doumee/api/web/ErpResourceController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -518,12 +518,11 @@
     */
    public static String authItemList(String body) {
        Map<String, String> path = getPath(HKConstants.InterfacePath.authItemList);
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
        Map<String, String> header = new HashMap<>();
        header.put("tagId", UUID.randomUUID().toString().replace("-", ""));
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", header);// post请求application/json类型参数
        saveInterfaceLog(body,result,path);
        return  result;
    }
}
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/AuthItemListRequest.java
@@ -7,8 +7,9 @@
@Data
public class AuthItemListRequest {
   private List<AuthItemListPersonRequest> personIds;//string    True
   private TaskDataAdditionResourceRequest resourceInfos;//    object[]    False    资源设备对象信息
//   private List<AuthItemListPersonRequest> personIds;//string    True
   private String[] personIds;//string    True
   private List<TaskDataAdditionResourceRequest> resourceInfos;//    object[]    False    资源设备对象信息
   private String queryType    ;//string    True    查询资源类型,参考附录A.50 设备通道类型
   private Integer[]   personStatus;//    number[]    False    人员状态0:已配置未下载1:更新待下载2:更新待删除3:已下载4:未配置
   private Integer[]   cardStatus;//    number[]    False    卡片状态0:已配置未下载1:更新待下载2:更新待删除3:已下载4:未配置
server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -84,7 +84,7 @@
            String res = HKTools.delOrg(JSONObject.toJSONString(param));
            TypeReference typeReference =
                    new TypeReference<  BaseResponse<List<OrgUpdateFailureResponse>>   >(){};
                    new TypeReference< BaseResponse >(){};
            BaseResponse<List<OrgUpdateFailureResponse>>   result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康删除组织");
            return  result;
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Device.java
@@ -88,6 +88,9 @@
    @ApiModelProperty(value = "通道号")
    @ExcelColumn(name="通道号")
    private String channelNo;
    @ApiModelProperty(value = "通道名称集合")
    @ExcelColumn(name="通道名称集合")
    private String channelInfo;
    @ApiModelProperty(value = "设备类型编码")
    @ExcelColumn(name="设备类型编码")
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberRole.java
@@ -59,16 +59,5 @@
    @ExcelColumn(name="角色编码(关联door_role)")
    private String roleId;
    @ApiModelProperty(value = "海康标识")
    @ExcelColumn(name="海康标识")
    private String hkId;
    @ApiModelProperty(value = "海康同步状态 0未同步 1已同步")
    @ExcelColumn(name="海康同步状态 0未同步 1已同步")
    private Integer hkStatus;
    @ApiModelProperty(value = "海康最近同步时间")
    @ExcelColumn(name="海康最近同步时间")
    private Date hkDate;
}
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java
@@ -179,7 +179,7 @@
        model.setManufature(device.getManufacturer());
        model.setType(Constants.ZERO);
//        model.setNo(device.getDevSerialNum());
        model.setChannelNo(getChannelNo(device.getIndexCode(),hkDoorList));
        model.setChannelNo(getChannelNo(device.getIndexCode(),hkDoorList,model));
        model.setResourceType(device.getResourceType());
        model.setDevTypeCode(device.getDevTypeCode());
        model.setManufature(device.getManufacturer());
@@ -188,8 +188,9 @@
        return  model;
    }
    private String getChannelNo(String indexCode, List<DoorsInfoResponse> hkDoorList) {
    private String getChannelNo(String indexCode, List<DoorsInfoResponse> hkDoorList,Device model ) {
        String str = "";
        String names = "";
        if(hkDoorList!=null && hkDoorList.size()>0){
            for(DoorsInfoResponse info : hkDoorList){
                if(StringUtils.equals(indexCode,info.getParentIndexCode())){
@@ -198,11 +199,15 @@
                    }
                    if(StringUtils.isNotBlank(str)){
                        str += ",";
                        names += ",";
                    }
                    str+=info.getChannelNo();
                    names+=info.getName();
                }
            }
        }
        model.setChannelNo(str);
        model.setChannelInfo(names);
        return str;
    }
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
@@ -60,17 +60,21 @@
               AuthItemListRequest param = new AuthItemListRequest();
               param.setPageNo(1);
               param.setPageSize(100);
               param.setPersonIds(new ArrayList<>());
               AuthItemListPersonRequest p = new AuthItemListPersonRequest();
               p.setPersonIds(c.getMemberHkId());
               param.getPersonIds().add(p);
//               param.setPersonIds(new ArrayList<>());
//               AuthItemListPersonRequest p = new AuthItemListPersonRequest();
//               p.setPersonIds(c.getMemberHkId());
               param.setPersonIds(new String[]{c.getMemberHkId()});
                param.setQueryType(c.getDeviceType());
               TaskDataAdditionResourceRequest rec = new TaskDataAdditionResourceRequest();
               rec.setResourceIndexCode(c.getDeviceIndexCode());
               rec.setResourceType(c.getDeviceType());
               rec.setChannelNos(c.getDeviceChannelNo().split(","));
               param.setResourceInfos(rec);
               List<TaskDataAdditionResourceRequest> resourceRequests = new ArrayList<>();
               resourceRequests.add(rec);
//               param.setResourceInfos(resourceRequests);
               //查询已下载
               param.setPersonStatus(new Integer[]{3});
//               param.setPersonStatus(new Integer[]{3});
               //查询下发状态
               BaseResponse<AuthItemListResponse> response = HKService.authItemList(param);
               if(response!=null
@@ -184,9 +188,10 @@
                update.setSendDate(date);
                update.setEditDate(date);
                update.setHkId(taskId);
                update.setRemark(status?"下发任务成功":"下发任务失败");
                update.setRemark(status?"下发任务执行成功":"下发任务执行失败");
                //下发中
                update.setSendStatus(status?Constants.EmpowerStatus.ing:Constants.EmpowerStatus.fail);
                empowerMapper.updateById(update);
            }
        }
        for(Empower model : errorList){
@@ -196,7 +201,7 @@
            update.setEditDate(date);
            update.setHkId(taskId);
            update.setSendStatus(Constants.EmpowerStatus.fail);
            update.setRemark( "添加下发任务数据刪除授权失败");
//            update.setRemark( "添加下发任务数据刪除授权失败");
            empowerMapper.updateById(update);
        }
    }
@@ -268,6 +273,7 @@
                ||StringUtils.isBlank(c.getDeviceType())
                ||StringUtils.isBlank(c.getDeviceIndexCode())){
            //必填参数校验
            c.setRemark("设备信息不支持授权下发,检查人员是否已下发海康或者设备是否【设备类型、通道号】是否完善");
            return  false;
        }
        TaskDataAdditionRequest param = new TaskDataAdditionRequest();
@@ -285,6 +291,7 @@
        pinfo.setStartTime(DateUtil.getISO8601Timestamp(c.getStartTime()));
        pinfo.setOperatorType(type);
        pinfo.setPersonId(c.getMemberHkId());
        personInfos.add(pinfo);//
        param.setResourceInfos(resourceInfos);
        param.setPersonInfos(personInfos);
        BaseResponse response =  HKService.taskDataAddition(param);
@@ -292,6 +299,7 @@
                && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)){
            return true;
        }else{
            c.setRemark("添加人员、设备通道权限下发数据失败"+(response!=null?response.getMsg():""));
            return  false;
        }
    }
@@ -319,7 +327,7 @@
        queryWrapper.selectAs(Member::getHkId,Empower::getMemberHkId);
        queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId);
        queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode);
        queryWrapper.selectAs(Device::getDevTypeCode,Empower::getDeviceType);
        queryWrapper.selectAs(Device::getResourceType,Empower::getDeviceType);
        queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId);
        queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.downloaded);
        List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
server/openapi/src/main/java/com/doumee/api/web/ErpResourceController.java
@@ -76,6 +76,7 @@
            r.setIdNo("34112219880427042"+i);
            r.setPhone("1534569000"+i);
            r.setStatus(Constants.ZERO);
            r.setRoleIds(new Integer[]{21+(i%2)});
            r.setName(names[i]);
            r.setFaceImg("/20223402/"+r.getId()+".png");
            list.add(r);