From ad60d4e31e0a216dfde1495525108b50a9ad4cb1 Mon Sep 17 00:00:00 2001 From: haidong Date: Thu, 14 Sep 2023 20:04:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BF=9B=E5=87=BA=E6=97=B6?= =?UTF-8?q?=E9=97=B4,=E4=BA=BA=E5=91=98=E8=AE=BE=E7=BD=AE=E8=BF=9B?= =?UTF-8?q?=E5=87=BA=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: haidong --- src/main/java/com/hkversion/Acs/AcsMain.java | 8 +- .../java/com/hkversion/Acs/UserManage.java | 153 ++++++++++++++---- src/main/java/com/yzx/IHardwareEquipment.java | 9 ++ src/main/java/com/yzx/Main.java | 2 +- .../java/com/yzx/impl/CardTemplateInfo.java | 31 ++++ src/main/java/com/yzx/impl/HKVersion.java | 30 +++- src/main/java/com/yzx/pojo/UserFaceInfo.java | 11 ++ 7 files changed, 210 insertions(+), 34 deletions(-) create mode 100644 src/main/java/com/yzx/impl/CardTemplateInfo.java create mode 100644 src/main/java/com/yzx/pojo/UserFaceInfo.java diff --git a/src/main/java/com/hkversion/Acs/AcsMain.java b/src/main/java/com/hkversion/Acs/AcsMain.java index 0008f9b..6eebed8 100644 --- a/src/main/java/com/hkversion/Acs/AcsMain.java +++ b/src/main/java/com/hkversion/Acs/AcsMain.java @@ -91,14 +91,14 @@ public class AcsMain { //开启SDK日志打印 boolean i= hCNetSDK.NET_DVR_SetLogToFile(3, "./sdklog", false); - login_V40("175.155.64.18","admin","ADMIN12345",(short) 50021); //登陆设备 + login_V40("175.155.64.18","admin","ADMIN12345",(short) 50023); //登陆设备 /** * 人员管理模块 */ - UserManage.searchUserInfo(lUserID,"u10"); //查询所有人员 +// UserManage.searchUserInfo(lUserID,"s4775"); //查询所有人员 // UserManage.deleteUserInfo(lUserID); // UserManage.addUserInfo(lUserID,"test20221122"); //添加人员 -// UserManage.modifyUserInfo(lUserID,"s00001",9); + UserManage.modifyUserInfo(lUserID,"s4775",0); /** * 人脸管理模块 @@ -140,7 +140,7 @@ public class AcsMain { // MutilCard.setGroupCfg(lUserID); // MutilCard.setMultiCardCfg(lUserID); //计划模板 -// UserManage.setCardTemplate(lUserID,9); + UserManage.setCardTemplate(lUserID,1); //设备能力获取 // DeviceAbility.getDeviceAbility(lUserID,0x01); diff --git a/src/main/java/com/hkversion/Acs/UserManage.java b/src/main/java/com/hkversion/Acs/UserManage.java index 329f923..29cbc15 100644 --- a/src/main/java/com/hkversion/Acs/UserManage.java +++ b/src/main/java/com/hkversion/Acs/UserManage.java @@ -6,8 +6,12 @@ import com.alibaba.fastjson.JSONObject; import com.hkversion.HCNetSDK; import com.sun.jna.Pointer; import com.sun.jna.ptr.IntByReference; +import com.yzx.impl.CardTemplateInfo; import java.io.UnsupportedEncodingException; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 功能:人脸下发、查询、删除、人员计划模板配置 @@ -120,7 +124,7 @@ public class UserManage { } } - public static void modifyUserInfo(int lUserID, String employeeNo,int planTemplateNo) throws UnsupportedEncodingException, InterruptedException, JSONException { + public static int modifyUserInfo(int lUserID, String employeeNo,int planTemplateNo) throws InterruptedException, JSONException { HCNetSDK.BYTE_ARRAY ptrByteArray = new HCNetSDK.BYTE_ARRAY(1024); //数组 //"POST /ISAPI/AccessControl/UserInfo/Record?format=json" 此URL也是下发人员 String strInBuffer = "PUT /ISAPI/AccessControl/UserInfo/Modify?format=json"; @@ -130,7 +134,6 @@ public class UserManage { int lHandler = AcsMain.hCNetSDK.NET_DVR_StartRemoteConfig(lUserID, HCNetSDK.NET_DVR_JSON_CONFIG, ptrByteArray.getPointer(), strInBuffer.length(), null, null); if (lHandler < 0) { System.out.println("AddUserInfo NET_DVR_StartRemoteConfig 失败,错误码为" + AcsMain.hCNetSDK.NET_DVR_GetLastError()); - return; } else { System.out.println("AddUserInfo NET_DVR_StartRemoteConfig 成功!"); @@ -200,8 +203,10 @@ public class UserManage { System.out.println("NET_DVR_StopRemoteConfig接口调用失败,错误码:" + AcsMain.hCNetSDK.NET_DVR_GetLastError()); } else { System.out.println("NET_DVR_StopRemoteConfig接口成功"); + return 1; } } + return -1; } /** @@ -423,33 +428,33 @@ public class UserManage { for(int i=0;i<7;i++) { struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].byEnable = 1; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.byHour = 16; + struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.byHour = 0; struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.byMinute = 0; struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.bySecond = 0; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.byHour = 16; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.byMinute = 30; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.bySecond = 0; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].byEnable = 1; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struBeginTime.byHour = 17; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struBeginTime.byMinute = 5; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struBeginTime.bySecond = 0; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struEndTime.byHour = 17; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struEndTime.byMinute = 10; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struEndTime.bySecond = 0; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[2].byEnable = 1; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[2].struTimeSegment.struBeginTime.byHour = 18; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[2].struTimeSegment.struBeginTime.byMinute = 0; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[2].struTimeSegment.struBeginTime.bySecond = 0; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[2].struTimeSegment.struEndTime.byHour = 18; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[2].struTimeSegment.struEndTime.byMinute = 30; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[2].struTimeSegment.struEndTime.bySecond = 0; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[3].byEnable = 1; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[3].struTimeSegment.struBeginTime.byHour = 19; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[3].struTimeSegment.struBeginTime.byMinute = 0; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[3].struTimeSegment.struBeginTime.bySecond = 0; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[3].struTimeSegment.struEndTime.byHour = 19; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[3].struTimeSegment.struEndTime.byMinute = 30; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[3].struTimeSegment.struEndTime.bySecond = 0; + struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.byHour = 23; + struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.byMinute = 59; + struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.bySecond = 59; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].byEnable = 1; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struBeginTime.byHour = 17; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struBeginTime.byMinute = 5; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struBeginTime.bySecond = 0; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struEndTime.byHour = 17; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struEndTime.byMinute = 10; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struEndTime.bySecond = 0; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[2].byEnable = 1; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[2].struTimeSegment.struBeginTime.byHour = 18; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[2].struTimeSegment.struBeginTime.byMinute = 0; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[2].struTimeSegment.struBeginTime.bySecond = 0; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[2].struTimeSegment.struEndTime.byHour = 18; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[2].struTimeSegment.struEndTime.byMinute = 30; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[2].struTimeSegment.struEndTime.bySecond = 0; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[3].byEnable = 1; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[3].struTimeSegment.struBeginTime.byHour = 19; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[3].struTimeSegment.struBeginTime.byMinute = 0; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[3].struTimeSegment.struBeginTime.bySecond = 0; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[3].struTimeSegment.struEndTime.byHour = 19; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[3].struTimeSegment.struEndTime.byMinute = 30; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[3].struTimeSegment.struEndTime.bySecond = 0; } struWeekPlanCfg.write(); //设置卡权限周计划参数 @@ -459,4 +464,98 @@ public class UserManage { System.out.println("NET_DVR_SET_CARD_RIGHT_WEEK_PLAN_V50成功!"); } } + + + /** + * 人员计划模板配置 + * + * @param userID 用户登录句柄 + * @param info 计划模板编号,从1开始,最大值从门禁能力集获取 + */ + public static int setCardTemplate(int userID, CardTemplateInfo info) { + int iPlanTemplateNumber = info.getTemplateId(); + //设置卡权限计划模板参数 + HCNetSDK.NET_DVR_PLAN_TEMPLATE_COND struPlanCond = new HCNetSDK.NET_DVR_PLAN_TEMPLATE_COND(); + struPlanCond.dwSize = struPlanCond.size(); + struPlanCond.dwPlanTemplateNumber = iPlanTemplateNumber;//计划模板编号,从1开始,最大值从门禁能力集获取 + struPlanCond.wLocalControllerID = 0;//就地控制器序号[1,64],0表示门禁主机 + struPlanCond.write(); + HCNetSDK.NET_DVR_PLAN_TEMPLATE struPlanTemCfg = new HCNetSDK.NET_DVR_PLAN_TEMPLATE(); + struPlanTemCfg.dwSize = struPlanTemCfg.size(); + struPlanTemCfg.byEnable = info.getEnable(); //是否使能:0- 否,1- 是 + struPlanTemCfg.dwWeekPlanNo = 2;//周计划编号,0表示无效 + struPlanTemCfg.dwHolidayGroupNo[0] = 0;//假日组编号,按值表示,采用紧凑型排列,中间遇到0则后续无效 + byte[] byTemplateName; + try { + byTemplateName = info.getTemplateName().getBytes("GBK"); + //计划模板名称 + for (int i = 0; i < HCNetSDK.NAME_LEN; i++) { + struPlanTemCfg.byTemplateName[i] = 0; + } + System.arraycopy(byTemplateName, 0, struPlanTemCfg.byTemplateName, 0, byTemplateName.length); + } catch (UnsupportedEncodingException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + struPlanTemCfg.write(); + IntByReference pInt = new IntByReference(0); + Pointer lpStatusList = pInt.getPointer(); + if (false == AcsMain.hCNetSDK.NET_DVR_SetDeviceConfig(userID, HCNetSDK.NET_DVR_SET_CARD_RIGHT_PLAN_TEMPLATE_V50, 1, struPlanCond.getPointer(), struPlanCond.size(), lpStatusList, struPlanTemCfg.getPointer(), struPlanTemCfg.size())) { + System.out.println("NET_DVR_SET_CARD_RIGHT_PLAN_TEMPLATE_V50失败,错误号:" + AcsMain.hCNetSDK.NET_DVR_GetLastError()); + return -1; + } + System.out.println("NET_DVR_SET_CARD_RIGHT_PLAN_TEMPLATE_V50成功!"); + //获取卡权限周计划参数 + HCNetSDK.NET_DVR_WEEK_PLAN_COND struWeekPlanCond = new HCNetSDK.NET_DVR_WEEK_PLAN_COND(); + struWeekPlanCond.dwSize = struWeekPlanCond.size(); + struWeekPlanCond.dwWeekPlanNumber = 2; + struWeekPlanCond.wLocalControllerID = 0; + HCNetSDK.NET_DVR_WEEK_PLAN_CFG struWeekPlanCfg = new HCNetSDK.NET_DVR_WEEK_PLAN_CFG(); + struWeekPlanCond.write(); + struWeekPlanCfg.write(); + Pointer lpCond = struWeekPlanCond.getPointer(); + Pointer lpInbuferCfg = struWeekPlanCfg.getPointer(); + if (false == AcsMain.hCNetSDK.NET_DVR_GetDeviceConfig(userID, HCNetSDK.NET_DVR_GET_CARD_RIGHT_WEEK_PLAN_V50, 1, lpCond, struWeekPlanCond.size(), lpStatusList, lpInbuferCfg, struWeekPlanCfg.size())) { + System.out.println("NET_DVR_GET_CARD_RIGHT_WEEK_PLAN_V50失败,错误号:" + AcsMain.hCNetSDK.NET_DVR_GetLastError()); + return -1; + } + struWeekPlanCfg.read(); + struWeekPlanCfg.byEnable = info.getEnable(); //是否使能:0- 否,1- 是 + /**避免时间段交叉,先初始化, 七天八小时*/ + for (int i = 0; i < 7; i++) { + for (int j = 0; j < 8; j++) { + struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].byEnable = 0; + struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struBeginTime.byHour = 0; + struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struBeginTime.byMinute = 0; + struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struBeginTime.bySecond = 0; + struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struEndTime.byHour = 0; + struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struEndTime.byMinute = 0; + struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struEndTime.bySecond = 0; + } + } + List timeSegmentInfos = info.getTimeSegmentInfos(); + Map> timeSegmentInfoWeekDayMap = timeSegmentInfos.stream().collect(Collectors.groupingBy(i -> i.getWeekday())); + timeSegmentInfoWeekDayMap.forEach((k,v) ->{ + for (CardTemplateInfo.TimeSegmentInfo timeSegmentInfo : v) { + int timeSegment = timeSegmentInfo.getTimeSegment(); + struWeekPlanCfg.struPlanCfg[k].struPlanCfgDay[timeSegment].byEnable = timeSegmentInfo.getEnable(); + struWeekPlanCfg.struPlanCfg[k].struPlanCfgDay[timeSegment].struTimeSegment.struBeginTime.byHour = timeSegmentInfo.getBeginTimeHour(); + struWeekPlanCfg.struPlanCfg[k].struPlanCfgDay[timeSegment].struTimeSegment.struBeginTime.byMinute = timeSegmentInfo.getBeginTimeMinute(); + struWeekPlanCfg.struPlanCfg[k].struPlanCfgDay[timeSegment].struTimeSegment.struBeginTime.bySecond = timeSegmentInfo.getBeginTimeSecond(); + struWeekPlanCfg.struPlanCfg[k].struPlanCfgDay[timeSegment].struTimeSegment.struEndTime.byHour = timeSegmentInfo.getEndTimeHour(); + struWeekPlanCfg.struPlanCfg[k].struPlanCfgDay[timeSegment].struTimeSegment.struEndTime.byMinute = timeSegmentInfo.getEndTimeMinute(); + struWeekPlanCfg.struPlanCfg[k].struPlanCfgDay[timeSegment].struTimeSegment.struEndTime.bySecond = timeSegmentInfo.getEndTimeSecond(); + } + }); + + struWeekPlanCfg.write(); + //设置卡权限周计划参数 + if (false == AcsMain.hCNetSDK.NET_DVR_SetDeviceConfig(userID, HCNetSDK.NET_DVR_SET_CARD_RIGHT_WEEK_PLAN_V50, 1, lpCond, struWeekPlanCond.size(), lpStatusList, lpInbuferCfg, struWeekPlanCfg.size())) { + System.out.println("NET_DVR_SET_CARD_RIGHT_WEEK_PLAN_V50失败,错误号:" + AcsMain.hCNetSDK.NET_DVR_GetLastError()); + return -1; + } else { + System.out.println("NET_DVR_SET_CARD_RIGHT_WEEK_PLAN_V50成功!"); + return 1; + } + } } diff --git a/src/main/java/com/yzx/IHardwareEquipment.java b/src/main/java/com/yzx/IHardwareEquipment.java index 7670f92..b4d654a 100644 --- a/src/main/java/com/yzx/IHardwareEquipment.java +++ b/src/main/java/com/yzx/IHardwareEquipment.java @@ -1,5 +1,10 @@ package com.yzx; +import com.yzx.impl.CardTemplateInfo; +import com.yzx.pojo.UserFaceInfo; + +import java.util.List; + public interface IHardwareEquipment { /** @@ -12,4 +17,8 @@ public interface IHardwareEquipment { //获取状态 int getStatus(); + int setCardTemplate(CardTemplateInfo info); + + void modifyUserInfo(List userFaceInfos); + } diff --git a/src/main/java/com/yzx/Main.java b/src/main/java/com/yzx/Main.java index 917cf2b..1c34048 100644 --- a/src/main/java/com/yzx/Main.java +++ b/src/main/java/com/yzx/Main.java @@ -25,7 +25,7 @@ public class Main { //3.如果文件上传失败,需要重试,如果失败了,先存在本地,利用数据库的id作为标识,写一个定时任务,重新更新和上传. new Thread(() -> { - IHardwareEquipment hardwareEquipment1 = new HKVersion(new HardwareEquipmentInfo("192.168.69.64",(short) 8000,"admin","yzx123456.",alarmCallback)); + IHardwareEquipment hardwareEquipment1 = new HKVersion(new HardwareEquipmentInfo("192.168.69.64",(short) 8000,"admin","yzx123456.",alarmCallback),true); while (true){} // if(hardwareEquipment1.getStatus() == 1){ // String deployInfo1 = hardwareEquipment1.getDeployInfo(); diff --git a/src/main/java/com/yzx/impl/CardTemplateInfo.java b/src/main/java/com/yzx/impl/CardTemplateInfo.java new file mode 100644 index 0000000..14466db --- /dev/null +++ b/src/main/java/com/yzx/impl/CardTemplateInfo.java @@ -0,0 +1,31 @@ +package com.yzx.impl; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class CardTemplateInfo { + + private int templateId; + private String templateName; + private byte enable;//模板是否生效 1是 0否 + private List timeSegmentInfos = new ArrayList(); + + + @Data + public static class TimeSegmentInfo{ + private int weekday;//周几 + private int timeSegment;//时间段 0-7 八个时间段 + private byte enable;//是否有效 1 是 0 否 + private byte beginTimeHour;//开始小时 + private byte beginTimeMinute;//开始分钟 + private byte beginTimeSecond;//开始秒 + private byte endTimeHour;//开始小时 + private byte endTimeMinute;//开始分钟 + private byte endTimeSecond;//开始秒 + } + +} diff --git a/src/main/java/com/yzx/impl/HKVersion.java b/src/main/java/com/yzx/impl/HKVersion.java index 259ffb8..14a2448 100644 --- a/src/main/java/com/yzx/impl/HKVersion.java +++ b/src/main/java/com/yzx/impl/HKVersion.java @@ -1,6 +1,7 @@ package com.yzx.impl; import com.common.osSelect; +import com.hkversion.Acs.UserManage; import com.hkversion.FMSGCallBack; import com.hkversion.FMSGCallBack_V31; import com.hkversion.HCNetSDK; @@ -8,6 +9,9 @@ import com.sun.jna.Native; import com.sun.jna.Pointer; import com.yzx.IHardwareEquipment; import com.yzx.callback.AlarmCallback; +import com.yzx.pojo.UserFaceInfo; + +import java.util.List; public class HKVersion implements IHardwareEquipment { @@ -37,9 +41,11 @@ public class HKVersion implements IHardwareEquipment { hCNetSDK.NET_DVR_SetLogToFile(3, "../sdklog", false); } private HardwareEquipmentInfo info; - public HKVersion(HardwareEquipmentInfo info){ + public HKVersion(HardwareEquipmentInfo info,boolean deploy){ this.info = info; - this.alarm(info.getAlarmCallback()); + if(deploy){ + this.alarm(info.getAlarmCallback()); + } } private void alarm(AlarmCallback callback){ @@ -215,6 +221,26 @@ public class HKVersion implements IHardwareEquipment { return -1; } + + @Override + public int setCardTemplate(CardTemplateInfo cardTemplateInfo) { + this.Login_V40(this.info.getIp(),this.info.getPort(),this.info.getUsername(),this.info.getPassword()); + return UserManage.setCardTemplate(lUserID,cardTemplateInfo); + } + + @Override + public void modifyUserInfo(List userFaceInfos) { + for (UserFaceInfo userFaceInfo : userFaceInfos) { + try { + int i = UserManage.modifyUserInfo(lUserID, userFaceInfo.getEmployeeNo(), userFaceInfo.getTemplateId()); + userFaceInfo.setStatus(i); + } catch (InterruptedException e) { + e.printStackTrace(); + userFaceInfo.setStatus(-1); + } + } + } + /** * 动态库加载 * diff --git a/src/main/java/com/yzx/pojo/UserFaceInfo.java b/src/main/java/com/yzx/pojo/UserFaceInfo.java new file mode 100644 index 0000000..d5fe1d9 --- /dev/null +++ b/src/main/java/com/yzx/pojo/UserFaceInfo.java @@ -0,0 +1,11 @@ +package com.yzx.pojo; + +import lombok.Data; + +@Data +public class UserFaceInfo { + private int templateId; + private String employeeNo; + private int status;//状态 1 成功 -1失败 + private int person_id; +}