Преглед изворни кода

更新海康SDK获取人员信息的接口

Signed-off-by: haidong <chenloveguitar@qq.com>
doorRight设置
haidong пре 2 година
родитељ
комит
f6eab6a44b
6 измењених фајлова са 40 додато и 8 уклоњено
  1. +1
    -1
      pom.xml
  2. +3
    -3
      src/main/java/com/hkversion/Acs/AcsMain.java
  3. +7
    -4
      src/main/java/com/hkversion/Acs/UserManage.java
  4. +2
    -0
      src/main/java/com/yzx/IHardwareEquipment.java
  5. +5
    -0
      src/main/java/com/yzx/impl/DaHua.java
  6. +22
    -0
      src/main/java/com/yzx/impl/HKVersion.java

+ 1
- 1
pom.xml Прегледај датотеку

@@ -6,7 +6,7 @@


<groupId>com.yzx.hardware-access</groupId> <groupId>com.yzx.hardware-access</groupId>
<artifactId>hardware-access</artifactId> <artifactId>hardware-access</artifactId>
<version>2.0.0</version>
<version>2.0.1</version>


<properties> <properties>
<maven.compiler.source>8</maven.compiler.source> <maven.compiler.source>8</maven.compiler.source>


+ 3
- 3
src/main/java/com/hkversion/Acs/AcsMain.java Прегледај датотеку

@@ -91,12 +91,12 @@ public class AcsMain {
//开启SDK日志打印 //开启SDK日志打印
boolean i= hCNetSDK.NET_DVR_SetLogToFile(3, "./sdklog", false); boolean i= hCNetSDK.NET_DVR_SetLogToFile(3, "./sdklog", false);


login_V40("118.122.89.90","admin","yzx123456",(short) 7713); //登陆设备
login_V40("175.155.64.18","admin","kdsy2009",(short) 50106); //登陆设备
// login_V40("175.155.64.18","admin","ADMIN12345",(short) 50030); //登陆设备 // login_V40("175.155.64.18","admin","ADMIN12345",(short) 50030); //登陆设备
/** /**
* 人员管理模块 * 人员管理模块
*/ */
UserManage.searchUserInfo(lUserID,"s4775"); //查询所有人员
UserManage.searchUserInfo(lUserID,"s1718"); //查询所有人员
// UserManage.deleteUserInfo(lUserID); // UserManage.deleteUserInfo(lUserID);
// UserManage.addUserInfo(lUserID,"test20221122"); //添加人员 // UserManage.addUserInfo(lUserID,"test20221122"); //添加人员
// UserManage.modifyUserInfo(lUserID,"u461",1); // UserManage.modifyUserInfo(lUserID,"u461",1);
@@ -143,7 +143,7 @@ public class AcsMain {
//计划模板 //计划模板
// UserManage.setCardTemplate(lUserID,1,2); // UserManage.setCardTemplate(lUserID,1,2);
//获取计划模板 //获取计划模板
UserManage.getCardTemplate(lUserID,2);
// UserManage.getCardTemplate(lUserID,2);


//设备能力获取 //设备能力获取
// DeviceAbility.getDeviceAbility(lUserID,0x01); // DeviceAbility.getDeviceAbility(lUserID,0x01);


+ 7
- 4
src/main/java/com/hkversion/Acs/UserManage.java Прегледај датотеку

@@ -215,7 +215,8 @@ public class UserManage {
* @param userID * @param userID
* @throws JSONException * @throws JSONException
*/ */
public static void searchUserInfo(int userID,String...employeeNo) throws JSONException {
public static String searchUserInfo(int userID,String...employeeNo) throws JSONException {
String result = null;
HCNetSDK.BYTE_ARRAY ptrByteArray = new HCNetSDK.BYTE_ARRAY(1024); //数组 HCNetSDK.BYTE_ARRAY ptrByteArray = new HCNetSDK.BYTE_ARRAY(1024); //数组
String strInBuffer = "POST /ISAPI/AccessControl/UserInfo/Search?format=json"; String strInBuffer = "POST /ISAPI/AccessControl/UserInfo/Search?format=json";
System.arraycopy(strInBuffer.getBytes(), 0, ptrByteArray.byValue, 0, strInBuffer.length());//字符串拷贝到数组中 System.arraycopy(strInBuffer.getBytes(), 0, ptrByteArray.byValue, 0, strInBuffer.length());//字符串拷贝到数组中
@@ -224,7 +225,7 @@ public class UserManage {
int lHandler = HKVersion.hCNetSDK.NET_DVR_StartRemoteConfig(userID, HCNetSDK.NET_DVR_JSON_CONFIG, ptrByteArray.getPointer(), strInBuffer.length(), null, null); int lHandler = HKVersion.hCNetSDK.NET_DVR_StartRemoteConfig(userID, HCNetSDK.NET_DVR_JSON_CONFIG, ptrByteArray.getPointer(), strInBuffer.length(), null, null);
if (lHandler < 0) { if (lHandler < 0) {
System.out.println("SearchUserInfo NET_DVR_StartRemoteConfig 失败,错误码为" + HKVersion.hCNetSDK.NET_DVR_GetLastError()); System.out.println("SearchUserInfo NET_DVR_StartRemoteConfig 失败,错误码为" + HKVersion.hCNetSDK.NET_DVR_GetLastError());
return;
return result;
} else { } else {
//组装查询的JSON报文,这边查询的是所有的人员 //组装查询的JSON报文,这边查询的是所有的人员
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
@@ -284,7 +285,9 @@ public class UserManage {
break; break;
} else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_SUCCESS) { } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_SUCCESS) {
ptrOutuff.read(); ptrOutuff.read();
System.out.println("查询人员成功, json:" + new String(ptrOutuff.byValue).trim());
String trim = new String(ptrOutuff.byValue).trim();
System.out.println("查询人员成功, json:" + trim);
result = trim;
break; break;
} else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_FINISH) { } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_FINISH) {
System.out.println("获取人员完成"); System.out.println("获取人员完成");
@@ -300,7 +303,7 @@ public class UserManage {
} }
} }


return result;
} }


public static void deleteUserInfo(int userID) throws JSONException { public static void deleteUserInfo(int userID) throws JSONException {


+ 2
- 0
src/main/java/com/yzx/IHardwareEquipment.java Прегледај датотеку

@@ -21,4 +21,6 @@ public interface IHardwareEquipment {


void modifyUserInfo(List<UserFaceInfo> userFaceInfos); void modifyUserInfo(List<UserFaceInfo> userFaceInfos);


UserFaceInfo searchUserInfo(String employeeNo);

} }

+ 5
- 0
src/main/java/com/yzx/impl/DaHua.java Прегледај датотеку

@@ -503,4 +503,9 @@ public class DaHua implements IHardwareEquipment {
public void modifyUserInfo(List<UserFaceInfo> userFaceInfos) { public void modifyUserInfo(List<UserFaceInfo> userFaceInfos) {


} }

@Override
public UserFaceInfo searchUserInfo(String employeeNo) {
return null;
}
} }

+ 22
- 0
src/main/java/com/yzx/impl/HKVersion.java Прегледај датотеку

@@ -1,5 +1,7 @@
package com.yzx.impl; package com.yzx.impl;


import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.common.osSelect; import com.common.osSelect;
import com.hkversion.Acs.UserManage; import com.hkversion.Acs.UserManage;
import com.hkversion.FMSGCallBack; import com.hkversion.FMSGCallBack;
@@ -247,6 +249,26 @@ public class HKVersion implements IHardwareEquipment {
} }
} }


@Override
public UserFaceInfo searchUserInfo(String employeeNo) {
UserFaceInfo userFaceInfo = null;
String result = UserManage.searchUserInfo(lUserID, employeeNo);
JSONObject json = JSONObject.parseObject(result);
if(json.containsKey("UserInfoSearch")){
JSONObject userInfoSearch = json.getJSONObject("UserInfoSearch");
if(userInfoSearch.containsKey("responseStatusStrg") && userInfoSearch.getString("responseStatusStrg").equals("OK")){
JSONArray userInfoList = userInfoSearch.getJSONArray("UserInfo");
JSONObject userInfo = userInfoList.getJSONObject(0);
Integer template_id = userInfo.getJSONArray("RightPlan").getJSONObject(0).getInteger("planTemplateNo");
userFaceInfo = new UserFaceInfo();
userFaceInfo.setTemplateId(template_id);
userFaceInfo.setEmployeeNo(employeeNo);
}
}

return userFaceInfo;
}

/** /**
* 动态库加载 * 动态库加载
* *


Loading…
Откажи
Сачувај