Commit 410a48a6cd0261bbbd8f41125375b37e1773ae42
1 parent
9df247c3
Exists in
master
考勤设备ID获取
Showing
3 changed files
with
107 additions
and
84 deletions
 
Show diff stats
cloud/dahua/src/main/java/com/example/dahua/MyTask.java
| @@ -74,11 +74,6 @@ public class MyTask implements ApplicationRunner { | @@ -74,11 +74,6 @@ public class MyTask implements ApplicationRunner { | ||
| 74 | //自注册 | 74 | //自注册 | 
| 75 | autoRegister(); | 75 | autoRegister(); | 
| 76 | 76 | ||
| 77 | - /** | ||
| 78 | - * 考勤监听 | ||
| 79 | - */ | ||
| 80 | - kaoQinRecord(); | ||
| 81 | - | ||
| 82 | // System.out.println(" sendRecordDao:"+sendRecordDao.getSenSuccess()); | 77 | // System.out.println(" sendRecordDao:"+sendRecordDao.getSenSuccess()); | 
| 83 | } | 78 | } | 
| 84 | 79 | ||
| @@ -105,8 +100,6 @@ public class MyTask implements ApplicationRunner { | @@ -105,8 +100,6 @@ public class MyTask implements ApplicationRunner { | ||
| 105 | if (!StringUtils.isEmpty(deviceId)) { | 100 | if (!StringUtils.isEmpty(deviceId)) { | 
| 106 | attendanceService.updateConnectStateWithDevid(0, deviceId); | 101 | attendanceService.updateConnectStateWithDevid(0, deviceId); | 
| 107 | GateModule.stopRealLoadPic(lLongMap.get(deviceId)); | 102 | GateModule.stopRealLoadPic(lLongMap.get(deviceId)); | 
| 108 | - //人脸识别、人脸检测事件 | ||
| 109 | - FaceRecognitionModule.stopRealLoadPicture(lLongMap.get(deviceId)); | ||
| 110 | lLongMap.remove(deviceId); | 103 | lLongMap.remove(deviceId); | 
| 111 | // devMap.remove(deviceId); | 104 | // devMap.remove(deviceId); | 
| 112 | removeDevice(deviceId); | 105 | removeDevice(deviceId); | 
| @@ -249,7 +242,7 @@ public class MyTask implements ApplicationRunner { | @@ -249,7 +242,7 @@ public class MyTask implements ApplicationRunner { | ||
| 249 | for (DeviceInfoBean dev : | 242 | for (DeviceInfoBean dev : | 
| 250 | deviceInfoBeans) { | 243 | deviceInfoBeans) { | 
| 251 | if (lLongMap.get(dev.getDevcieId()).intValue() > 0) { | 244 | if (lLongMap.get(dev.getDevcieId()).intValue() > 0) { | 
| 252 | - NetSDKLib.LLong lLong = GateModule.realLoadPic(0, analyzerCallback, lLongMap.get(dev.getDevcieId())); | 245 | + NetSDKLib.LLong lLong = GateModule.realLoadPic2(0, analyzerCallback, lLongMap.get(dev.getDevcieId()),dev.getDevcieId()); | 
| 253 | // System.out.println("监听成功:"+dev.getDevcieId()); | 246 | // System.out.println("监听成功:"+dev.getDevcieId()); | 
| 254 | // if (lLong.intValue() != -1) { | 247 | // if (lLong.intValue() != -1) { | 
| 255 | // //deviceInfoBeans.remove(dev); | 248 | // //deviceInfoBeans.remove(dev); | 
| @@ -260,22 +253,6 @@ public class MyTask implements ApplicationRunner { | @@ -260,22 +253,6 @@ public class MyTask implements ApplicationRunner { | ||
| 260 | } | 253 | } | 
| 261 | } | 254 | } | 
| 262 | 255 | ||
| 263 | - /** | ||
| 264 | - * 考勤监听 | ||
| 265 | - */ | ||
| 266 | - public synchronized void kaoQinRecord() { | ||
| 267 | - isHasNewDevice = false; | ||
| 268 | - if (null != deviceInfoBeans && deviceInfoBeans.size() > 0) { | ||
| 269 | - for (DeviceInfoBean dev : | ||
| 270 | - deviceInfoBeans) { | ||
| 271 | - if (lLongMap.get(dev.getDevcieId()).intValue() > 0) { | ||
| 272 | - //人脸识别、人脸检测事件监听 | ||
| 273 | - NetSDKLib.LLong lLong = FaceRecognitionModule.realLoadPicture(0, analyzerCallback); | ||
| 274 | - } | ||
| 275 | - } | ||
| 276 | - } | ||
| 277 | - } | ||
| 278 | - | ||
| 279 | 256 | ||
| 280 | //智能订阅 | 257 | //智能订阅 | 
| 281 | private AnalyzerDataCB analyzerCallback = new AnalyzerDataCB(); | 258 | private AnalyzerDataCB analyzerCallback = new AnalyzerDataCB(); | 
| @@ -300,12 +277,19 @@ public class MyTask implements ApplicationRunner { | @@ -300,12 +277,19 @@ public class MyTask implements ApplicationRunner { | ||
| 300 | path.mkdir(); | 277 | path.mkdir(); | 
| 301 | } | 278 | } | 
| 302 | 279 | ||
| 280 | + //设备ID获取 | ||
| 281 | + NetSDKLib.NET_DEVICEINFO_Ex deviceInfo = new NetSDKLib.NET_DEVICEINFO_Ex(); | ||
| 282 | + ToolKits.GetPointerData(dwUser, deviceInfo); | ||
| 283 | + | ||
| 284 | + String szSn = new String(deviceInfo.sSerialNumber).trim(); | ||
| 285 | + | ||
| 303 | ///< 门禁事件 | 286 | ///< 门禁事件 | 
| 304 | if (dwAlarmType == NetSDKLib.EVENT_IVS_ACCESS_CTL) { | 287 | if (dwAlarmType == NetSDKLib.EVENT_IVS_ACCESS_CTL) { | 
| 305 | NetSDKLib.DEV_EVENT_ACCESS_CTL_INFO msg = new NetSDKLib.DEV_EVENT_ACCESS_CTL_INFO(); | 288 | NetSDKLib.DEV_EVENT_ACCESS_CTL_INFO msg = new NetSDKLib.DEV_EVENT_ACCESS_CTL_INFO(); | 
| 306 | ToolKits.GetPointerData(pAlarmInfo, msg); | 289 | ToolKits.GetPointerData(pAlarmInfo, msg); | 
| 307 | //卡号 | 290 | //卡号 | 
| 308 | String card = new String(msg.szCardNo).trim(); | 291 | String card = new String(msg.szCardNo).trim(); | 
| 292 | + | ||
| 309 | System.out.println("sda:" + card + " 抓拍照片存储地址:"); | 293 | System.out.println("sda:" + card + " 抓拍照片存储地址:"); | 
| 310 | 294 | ||
| 311 | try { | 295 | try { | 
| @@ -329,11 +313,11 @@ public class MyTask implements ApplicationRunner { | @@ -329,11 +313,11 @@ public class MyTask implements ApplicationRunner { | ||
| 329 | if (null != cardBean && cardBean.getType() == 0) { | 313 | if (null != cardBean && cardBean.getType() == 0) { | 
| 330 | //老师人脸信息,保存人脸记录表 | 314 | //老师人脸信息,保存人脸记录表 | 
| 331 | TeacherBean teacherBean = userDao.getTeacherWithId(cardBean.getUser_id()); | 315 | TeacherBean teacherBean = userDao.getTeacherWithId(cardBean.getUser_id()); | 
| 332 | - sendRecordDao.addFaceRecoder("", teacherBean.getUser_id(), teacherBean.getName(), snapPicPath, 1, time, card,""); | 316 | + sendRecordDao.addFaceRecoder(szSn, teacherBean.getUser_id(), teacherBean.getName(), snapPicPath, 1, time, card,""); | 
| 333 | } else if (null != cardBean && cardBean.getType() == 2) { | 317 | } else if (null != cardBean && cardBean.getType() == 2) { | 
| 334 | //学生人脸信息,保存人脸记录表 | 318 | //学生人脸信息,保存人脸记录表 | 
| 335 | UserInfoBean userInfoBean = userDao.getStudentWithid(cardBean.getUser_id()); | 319 | UserInfoBean userInfoBean = userDao.getStudentWithid(cardBean.getUser_id()); | 
| 336 | - sendRecordDao.addFaceRecoder("", userInfoBean.getUser_id(), userInfoBean.getName(), snapPicPath, 1, time, card,""); | 320 | + sendRecordDao.addFaceRecoder(szSn, userInfoBean.getUser_id(), userInfoBean.getName(), snapPicPath, 1, time, card,""); | 
| 337 | } | 321 | } | 
| 338 | 322 | ||
| 339 | // TODO 考勤记录 | 323 | // TODO 考勤记录 | 
| @@ -344,7 +328,7 @@ public class MyTask implements ApplicationRunner { | @@ -344,7 +328,7 @@ public class MyTask implements ApplicationRunner { | ||
| 344 | //刷卡时间 | 328 | //刷卡时间 | 
| 345 | String eventTime = msg.UTC.toStringTime(); | 329 | String eventTime = msg.UTC.toStringTime(); | 
| 346 | //保存考勤记录 | 330 | //保存考勤记录 | 
| 347 | - kaoQinRecord(status,eventType,card,"",eventTime,snapPicPath); | 331 | + kaoQinRecord(status,eventType,card,szSn,eventTime,snapPicPath); | 
| 348 | } | 332 | } | 
| 349 | 333 | ||
| 350 | } catch (IOException e2) { | 334 | } catch (IOException e2) { | 
cloud/dahua/src/main/java/com/example/dahua/module/GateModule.java
| @@ -18,10 +18,12 @@ import com.example.dahua.lib.NetSDKLib.*; | @@ -18,10 +18,12 @@ import com.example.dahua.lib.NetSDKLib.*; | ||
| 18 | import com.example.dahua.lib.ToolKits; | 18 | import com.example.dahua.lib.ToolKits; | 
| 19 | import com.sun.jna.Memory; | 19 | import com.sun.jna.Memory; | 
| 20 | import com.sun.jna.ptr.IntByReference; | 20 | import com.sun.jna.ptr.IntByReference; | 
| 21 | +import lombok.extern.slf4j.Slf4j; | ||
| 21 | 22 | ||
| 22 | import javax.imageio.ImageIO; | 23 | import javax.imageio.ImageIO; | 
| 23 | 24 | ||
| 24 | 25 | ||
| 26 | +@Slf4j | ||
| 25 | public class GateModule { | 27 | public class GateModule { | 
| 26 | // 查询句柄 | 28 | // 查询句柄 | 
| 27 | private static LLong m_lFindHandle = new LLong(0); | 29 | private static LLong m_lFindHandle = new LLong(0); | 
| @@ -50,6 +52,33 @@ public class GateModule { | @@ -50,6 +52,33 @@ public class GateModule { | ||
| 50 | return m_hAttachHandle; | 52 | return m_hAttachHandle; | 
| 51 | } | 53 | } | 
| 52 | 54 | ||
| 55 | + public static LLong realLoadPic2(int ChannelId, NetSDKLib.fAnalyzerDataCallBack m_AnalyzerDataCB, LLong lLong,String devcieId) { | ||
| 56 | + | ||
| 57 | + final NetSDKLib.NET_DEVICEINFO_Ex deviceInfo = new NetSDKLib.NET_DEVICEINFO_Ex(); | ||
| 58 | + | ||
| 59 | + // 设备ID | ||
| 60 | + System.arraycopy(devcieId.getBytes(), 0, deviceInfo.sSerialNumber, 0, devcieId.getBytes().length); | ||
| 61 | + | ||
| 62 | + /** | ||
| 63 | + * 说明: | ||
| 64 | + * 通道数可以在有登录是返回的信息 m_stDeviceInfo.byChanNum 获取 | ||
| 65 | + * 下列仅订阅了0通道的智能事件. | ||
| 66 | + */ | ||
| 67 | + int bNeedPicture = 1; // 是否需要图片 | ||
| 68 | + deviceInfo.write(); | ||
| 69 | + LLong m_hAttachHandle = LoginModule.netsdk.CLIENT_RealLoadPictureEx(lLong, ChannelId, NetSDKLib.EVENT_IVS_ALL, | ||
| 70 | + bNeedPicture, m_AnalyzerDataCB, deviceInfo.getPointer(), null); | ||
| 71 | + deviceInfo.read(); | ||
| 72 | + if (m_hAttachHandle.longValue() != 0) { | ||
| 73 | + System.out.println("CLIENT_RealLoadPictureEx Success ChannelId : \n" + ChannelId); | ||
| 74 | + } else { | ||
| 75 | + System.err.println("CLIENT_RealLoadPictureEx Failed!" + ToolKits.getErrorCodePrint()); | ||
| 76 | + return null; | ||
| 77 | + } | ||
| 78 | + | ||
| 79 | + return m_hAttachHandle; | ||
| 80 | + } | ||
| 81 | + | ||
| 53 | /** | 82 | /** | 
| 54 | * 停止上传智能分析数据-图片 | 83 | * 停止上传智能分析数据-图片 | 
| 55 | */ | 84 | */ | 
| @@ -169,6 +198,7 @@ public class GateModule { | @@ -169,6 +198,7 @@ public class GateModule { | ||
| 169 | // return true; | 198 | // return true; | 
| 170 | } | 199 | } | 
| 171 | 200 | ||
| 201 | + | ||
| 172 | public static synchronized int insertCard(String cardNo, String userId, String cardName, String cardPwd, | 202 | public static synchronized int insertCard(String cardNo, String userId, String cardName, String cardPwd, | 
| 173 | int cardStatus, int cardType, int useTimes, int isFirstEnter, | 203 | int cardStatus, int cardType, int useTimes, int isFirstEnter, | 
| 174 | int isValid, String startValidTime, String endValidTime, LLong lLong,String userType) { | 204 | int isValid, String startValidTime, String endValidTime, LLong lLong,String userType) { | 
| @@ -254,24 +284,25 @@ public class GateModule { | @@ -254,24 +284,25 @@ public class GateModule { | ||
| 254 | accessCardInfo.read(); | 284 | accessCardInfo.read(); | 
| 255 | 285 | ||
| 256 | if(!bRet) { | 286 | if(!bRet) { | 
| 257 | - //System.err.println("添加卡信息失败." + ToolKits.getErrorCodePrint()); | ||
| 258 | String ret=ToolKits.getErrorCodePrint(); | 287 | String ret=ToolKits.getErrorCodePrint(); | 
| 259 | - System.err.println("添加卡信息失败." + ret); | ||
| 260 | String number = ret.substring(ret.indexOf("|") + 1, ret.indexOf(")")); | 288 | String number = ret.substring(ret.indexOf("|") + 1, ret.indexOf(")")); | 
| 261 | - if(number.equals("21")||number.equals("146"))//146用户已存在,21对返回数据的校验出错,1162未知错误 number.equals("1162")|| | ||
| 262 | - { | 289 | + log.info("添加卡信息失败,错误信息:{} ,错误码:{} ",ret,number); | 
| 290 | + //146用户已存在,21对返回数据的校验出错,1162未知错误 number.equals("1162")|| | ||
| 291 | + if(number.equals("21")||number.equals("146")) { | ||
| 292 | + //用户已存在/返回数据校验出错时,执行删除用户 | ||
| 263 | deleteUser( userId, lLong); | 293 | deleteUser( userId, lLong); | 
| 294 | + //重新下发卡至设备 | ||
| 264 | return insertCard( cardNo, userId, cardName, cardPwd, | 295 | return insertCard( cardNo, userId, cardName, cardPwd, | 
| 265 | cardStatus, cardType, useTimes, isFirstEnter, | 296 | cardStatus, cardType, useTimes, isFirstEnter, | 
| 266 | isValid, startValidTime, endValidTime, lLong, userType); | 297 | isValid, startValidTime, endValidTime, lLong, userType); | 
| 267 | } | 298 | } | 
| 299 | + //其他错误码,返回-1 | ||
| 268 | return -1; | 300 | return -1; | 
| 269 | } else { | 301 | } else { | 
| 270 | - System.out.println("添加卡信息成功,卡信息记录集编号 : " + insert.stuCtrlRecordSetResult.nRecNo); | 302 | + log.info("添加卡信息成功,卡信息记录集编号 : "+ insert.stuCtrlRecordSetResult.nRecNo); | 
| 271 | return insert.stuCtrlRecordSetResult.nRecNo; | 303 | return insert.stuCtrlRecordSetResult.nRecNo; | 
| 272 | } | 304 | } | 
| 273 | 305 | ||
| 274 | - | ||
| 275 | // return true; | 306 | // return true; | 
| 276 | } | 307 | } | 
| 277 | 308 | ||
| @@ -378,7 +409,8 @@ public class GateModule { | @@ -378,7 +409,8 @@ public class GateModule { | ||
| 378 | 409 | ||
| 379 | CFG_ACCESS_TIMESCHEDULE_INFO msg = new CFG_ACCESS_TIMESCHEDULE_INFO(); | 410 | CFG_ACCESS_TIMESCHEDULE_INFO msg = new CFG_ACCESS_TIMESCHEDULE_INFO(); | 
| 380 | String strCmd = NetSDKLib.CFG_CMD_ACCESSTIMESCHEDULE; | 411 | String strCmd = NetSDKLib.CFG_CMD_ACCESSTIMESCHEDULE; | 
| 381 | - int nChannel = 120; // 通道号 | 412 | + // 通道号 | 
| 413 | + int nChannel = 120; | ||
| 382 | // msg.stuTimeWeekDay[0].stuTimeSection[0].dwRecordMask | 414 | // msg.stuTimeWeekDay[0].stuTimeSection[0].dwRecordMask | 
| 383 | String name = "3"; | 415 | String name = "3"; | 
| 384 | System.arraycopy(name.getBytes(), 0, msg.szName, 0, name.getBytes().length); | 416 | System.arraycopy(name.getBytes(), 0, msg.szName, 0, name.getBytes().length); | 
| @@ -387,13 +419,11 @@ public class GateModule { | @@ -387,13 +419,11 @@ public class GateModule { | ||
| 387 | List<WeekDay> weekDays = permissionBean.getWeekDays(); | 419 | List<WeekDay> weekDays = permissionBean.getWeekDays(); | 
| 388 | Map<Integer, List<WeekTime>> map = new HashMap<>(); | 420 | Map<Integer, List<WeekTime>> map = new HashMap<>(); | 
| 389 | 421 | ||
| 390 | - for (WeekDay weekDay : | ||
| 391 | - weekDays) { | 422 | + for (WeekDay weekDay : weekDays) { | 
| 392 | //整理时间 | 423 | //整理时间 | 
| 393 | initWeedayAndTimes(weekDay, map); | 424 | initWeedayAndTimes(weekDay, map); | 
| 394 | //设置周计划信息 | 425 | //设置周计划信息 | 
| 395 | - for (Map.Entry<Integer, List<WeekTime>> entry : | ||
| 396 | - map.entrySet()) { | 426 | + for (Map.Entry<Integer, List<WeekTime>> entry : map.entrySet()) { | 
| 397 | 427 | ||
| 398 | int weekDayIndex = entry.getKey(); | 428 | int weekDayIndex = entry.getKey(); | 
| 399 | 429 | ||
| @@ -632,7 +662,25 @@ public class GateModule { | @@ -632,7 +662,25 @@ public class GateModule { | ||
| 632 | return true; | 662 | return true; | 
| 633 | } | 663 | } | 
| 634 | 664 | ||
| 635 | - public static int modifyCard(int recordNo, String cardNo, String userId, String cardName, String cardPwd, | 665 | + /** | 
| 666 | + * 修改设备卡信息 | ||
| 667 | + * @param recordNo | ||
| 668 | + * @param cardNo | ||
| 669 | + * @param userId | ||
| 670 | + * @param cardName | ||
| 671 | + * @param cardPwd | ||
| 672 | + * @param cardStatus | ||
| 673 | + * @param cardType | ||
| 674 | + * @param useTimes | ||
| 675 | + * @param isFirstEnter | ||
| 676 | + * @param isValid | ||
| 677 | + * @param startValidTime | ||
| 678 | + * @param endValidTime | ||
| 679 | + * @param lLong | ||
| 680 | + * @param userType | ||
| 681 | + * @return | ||
| 682 | + */ | ||
| 683 | + public static boolean modifyCard(int recordNo, String cardNo, String userId, String cardName, String cardPwd, | ||
| 636 | int cardStatus, int cardType, int useTimes, int isFirstEnter, | 684 | int cardStatus, int cardType, int useTimes, int isFirstEnter, | 
| 637 | int isValid, String startValidTime, String endValidTime, LLong lLong,String userType) { | 685 | int isValid, String startValidTime, String endValidTime, LLong lLong,String userType) { | 
| 638 | /** | 686 | /** | 
| @@ -717,28 +765,24 @@ public class GateModule { | @@ -717,28 +765,24 @@ public class GateModule { | ||
| 717 | CtrlType.CTRLTYPE_CTRL_RECORDSET_UPDATE, update.getPointer(), 5000); | 765 | CtrlType.CTRLTYPE_CTRL_RECORDSET_UPDATE, update.getPointer(), 5000); | 
| 718 | update.read(); | 766 | update.read(); | 
| 719 | accessCardInfo.read(); | 767 | accessCardInfo.read(); | 
| 720 | - | 768 | + // 返回值:1成功,否则返回 | 
| 721 | if (!bRet) { | 769 | if (!bRet) { | 
| 722 | - //System.err.println("修改卡信息失败." + ToolKits.getErrorCodePrint()); | ||
| 723 | String ret=ToolKits.getErrorCodePrint(); | 770 | String ret=ToolKits.getErrorCodePrint(); | 
| 724 | - System.err.println("修改卡信息失败." + ret); | 771 | + //结果码 | 
| 725 | String number = ret.substring(ret.indexOf("|") + 1, ret.indexOf(")")); | 772 | String number = ret.substring(ret.indexOf("|") + 1, ret.indexOf(")")); | 
| 726 | - if(number.equals("21")||number.equals("147"))//147用户不存在,21对返回数据的校验出错 | ||
| 727 | - { | ||
| 728 | -// newRecordNo= insertCard( cardNo, userId, cardName, cardPwd, | ||
| 729 | -// cardStatus, cardType, useTimes, isFirstEnter, | ||
| 730 | -// isValid, startValidTime, endValidTime, lLong, userType); | ||
| 731 | - } | ||
| 732 | - if(number.equals("1091")||number.equals("1147"))//未知错误 | ||
| 733 | - { | ||
| 734 | - return Integer.parseInt(number); | ||
| 735 | - } | ||
| 736 | - return 0; | ||
| 737 | - } else { | ||
| 738 | - System.out.println("修改卡信息成功 "); | 773 | + //147用户不存在,21对返回数据的校验出错 | 
| 774 | +// if(number.equals("21")||number.equals("147")) { | ||
| 775 | +// | ||
| 776 | +// } | ||
| 777 | +// if(number.equals("1091")||number.equals("1147"))//未知错误 | ||
| 778 | +// { | ||
| 779 | +// return Integer.parseInt(number); | ||
| 780 | +// } | ||
| 781 | + log.error("修改卡信息失败,错误信息:{} ,错误码:{} ",ret,number); | ||
| 782 | + return false; | ||
| 739 | } | 783 | } | 
| 740 | - | ||
| 741 | - return 1; | 784 | + log.info("修改卡信息成功!"); | 
| 785 | + return true; | ||
| 742 | } | 786 | } | 
| 743 | 787 | ||
| 744 | /** | 788 | /** | 
| @@ -778,8 +822,7 @@ public class GateModule { | @@ -778,8 +822,7 @@ public class GateModule { | ||
| 778 | msg.pBuf = new IntByReference(recordNo).getPointer(); | 822 | msg.pBuf = new IntByReference(recordNo).getPointer(); | 
| 779 | 823 | ||
| 780 | msg.write(); | 824 | msg.write(); | 
| 781 | - boolean bRet = LoginModule.netsdk.CLIENT_ControlDevice(lLong, | ||
| 782 | - CtrlType.CTRLTYPE_CTRL_RECORDSET_REMOVE, msg.getPointer(), 5000); | 825 | + boolean bRet = LoginModule.netsdk.CLIENT_ControlDevice(lLong, CtrlType.CTRLTYPE_CTRL_RECORDSET_REMOVE, msg.getPointer(), 5000); | 
| 783 | msg.read(); | 826 | msg.read(); | 
| 784 | 827 | ||
| 785 | if (!bRet) { | 828 | if (!bRet) { | 
| @@ -1035,12 +1078,10 @@ public class GateModule { | @@ -1035,12 +1078,10 @@ public class GateModule { | ||
| 1035 | * 打印具体的信息 | 1078 | * 打印具体的信息 | 
| 1036 | */ | 1079 | */ | 
| 1037 | for (int i = 0; i < nMaxNum; i++) { | 1080 | for (int i = 0; i < nMaxNum; i++) { | 
| 1038 | - System.out.println("[" + i + "]删除用户结果:" | ||
| 1039 | - + failCodes[i].nFailCode); | 1081 | + log.info("[" + i + "]删除用户结果:" + failCodes[i].nFailCode); | 
| 1040 | } | 1082 | } | 
| 1041 | } else { | 1083 | } else { | 
| 1042 | - //System.err.println("删除用户失败, " + getErrorCode()); | ||
| 1043 | - System.err.println("删除用户失败, " + ToolKits.getErrorCodePrint()); | 1084 | + log.error("添加卡信息失败"+ ToolKits.getErrorCodePrint()); | 
| 1044 | } | 1085 | } | 
| 1045 | 1086 | ||
| 1046 | stIn.read(); | 1087 | stIn.read(); | 
| @@ -1128,23 +1169,21 @@ public class GateModule { | @@ -1128,23 +1169,21 @@ public class GateModule { | ||
| 1128 | stIn.read(); | 1169 | stIn.read(); | 
| 1129 | stOut.read(); | 1170 | stOut.read(); | 
| 1130 | if (bRet) { | 1171 | if (bRet) { | 
| 1131 | - System.out.println("添加人脸成功!"); | 1172 | + log.info("添加人脸成功!"); | 
| 1132 | } else { | 1173 | } else { | 
| 1133 | -// System.err.println("添加人脸失败!" + ToolKits.getErrorCodePrint()); | ||
| 1134 | String ret=ToolKits.getErrorCodePrint(); | 1174 | String ret=ToolKits.getErrorCodePrint(); | 
| 1135 | - System.err.println("添加人脸失败!" + ret); | ||
| 1136 | String number = ret.substring(ret.indexOf("|") + 1, ret.indexOf(")")); | 1175 | String number = ret.substring(ret.indexOf("|") + 1, ret.indexOf(")")); | 
| 1137 | - if(number.equals("1031"))//照片已存在 | ||
| 1138 | - { | ||
| 1139 | - return modifyFaceInfo( userId, memory, lLong)==1?true:false; | 1176 | + log.error("修改卡信息失败,错误信息:{} ,错误码:{} ",ret,number); | 
| 1177 | + //number = 1031:照片已存在;number = 1029 :用户ID不存在 | ||
| 1178 | + if(number.equals("1031")){ | ||
| 1179 | + return modifyFaceInfo( userId, memory, lLong); | ||
| 1140 | } | 1180 | } | 
| 1141 | - if(number.equals("1029"))//照片已存在 | 1181 | + if(number.equals("1029")) | 
| 1142 | { | 1182 | { | 
| 1143 | return addFaceInfo( userId, memory, lLong); | 1183 | return addFaceInfo( userId, memory, lLong); | 
| 1144 | } | 1184 | } | 
| 1145 | return false; | 1185 | return false; | 
| 1146 | } | 1186 | } | 
| 1147 | - | ||
| 1148 | return true; | 1187 | return true; | 
| 1149 | } | 1188 | } | 
| 1150 | 1189 | ||
| @@ -1186,7 +1225,7 @@ public class GateModule { | @@ -1186,7 +1225,7 @@ public class GateModule { | ||
| 1186 | stIn.read(); | 1225 | stIn.read(); | 
| 1187 | stOut.read(); | 1226 | stOut.read(); | 
| 1188 | if (bRet) { | 1227 | if (bRet) { | 
| 1189 | - System.out.println("修改人脸成功!"); | 1228 | + log.info("修改人脸成功!"); | 
| 1190 | } else { | 1229 | } else { | 
| 1191 | // System.err.println("修改人脸失败!" + ToolKits.getErrorCodePrint()); | 1230 | // System.err.println("修改人脸失败!" + ToolKits.getErrorCodePrint()); | 
| 1192 | String ret=ToolKits.getErrorCodePrint(); | 1231 | String ret=ToolKits.getErrorCodePrint(); | 
| @@ -1199,7 +1238,7 @@ public class GateModule { | @@ -1199,7 +1238,7 @@ public class GateModule { | ||
| 1199 | } | 1238 | } | 
| 1200 | 1239 | ||
| 1201 | 1240 | ||
| 1202 | - public static int modifyFaceInfo(String userId, Memory memory, LLong lLong) { | 1241 | + public static boolean modifyFaceInfo(String userId, Memory memory, LLong lLong) { | 
| 1203 | int emType = EM_FACEINFO_OPREATE_TYPE.EM_FACEINFO_OPREATE_UPDATE; // 修改 | 1242 | int emType = EM_FACEINFO_OPREATE_TYPE.EM_FACEINFO_OPREATE_UPDATE; // 修改 | 
| 1204 | 1243 | ||
| 1205 | /** | 1244 | /** | 
| @@ -1229,22 +1268,16 @@ public class GateModule { | @@ -1229,22 +1268,16 @@ public class GateModule { | ||
| 1229 | boolean bRet = LoginModule.netsdk.CLIENT_FaceInfoOpreate(lLong, emType, stIn.getPointer(), stOut.getPointer(), 5000); | 1268 | boolean bRet = LoginModule.netsdk.CLIENT_FaceInfoOpreate(lLong, emType, stIn.getPointer(), stOut.getPointer(), 5000); | 
| 1230 | stIn.read(); | 1269 | stIn.read(); | 
| 1231 | stOut.read(); | 1270 | stOut.read(); | 
| 1271 | + | ||
| 1232 | if (bRet) { | 1272 | if (bRet) { | 
| 1233 | - System.out.println("修改人脸成功!"); | 1273 | + log.info("修改人脸成功!"); | 
| 1234 | } else { | 1274 | } else { | 
| 1235 | -// System.err.println("修改人脸失败!" + ToolKits.getErrorCodePrint()); | ||
| 1236 | String ret=ToolKits.getErrorCodePrint(); | 1275 | String ret=ToolKits.getErrorCodePrint(); | 
| 1237 | - System.err.println("修改人脸失败!" + ret); | ||
| 1238 | String number = ret.substring(ret.indexOf("|") + 1, ret.indexOf(")")); | 1276 | String number = ret.substring(ret.indexOf("|") + 1, ret.indexOf(")")); | 
| 1239 | - if(number.equals("1029"))//1029用户ID不存在 | ||
| 1240 | - { | ||
| 1241 | - //return addFaceInfo(userId, memory, lLong); | ||
| 1242 | - return Integer.parseInt(number); | ||
| 1243 | - } | ||
| 1244 | - return 0; | 1277 | + log.error("修改人脸失败,错误信息:{} ,错误码:{} ",ret,number); | 
| 1278 | + return false; | ||
| 1245 | } | 1279 | } | 
| 1246 | - | ||
| 1247 | - return 1; | 1280 | + return true; | 
| 1248 | } | 1281 | } | 
| 1249 | 1282 | ||
| 1250 | /** | 1283 | /** | 
cloud/dahua/src/main/java/com/example/dahua/service/UserService.java
| @@ -54,6 +54,12 @@ public interface UserService { | @@ -54,6 +54,12 @@ public interface UserService { | ||
| 54 | */ | 54 | */ | 
| 55 | boolean sendPermission(PermissionBean permissionBean); | 55 | boolean sendPermission(PermissionBean permissionBean); | 
| 56 | 56 | ||
| 57 | + /** | ||
| 58 | + * 根据学籍号、学校id获取用户id | ||
| 59 | + * @param code | ||
| 60 | + * @param schoolId | ||
| 61 | + * @return | ||
| 62 | + */ | ||
| 57 | String getUserId(String code,String schoolId); | 63 | String getUserId(String code,String schoolId); | 
| 58 | 64 | ||
| 59 | 65 |