Commit 533102565aaa8093fc7bec7f246cba165b20cf5d
1 parent
4fd85d85
Exists in
master
大华项目代码提交
Showing
4 changed files
with
100 additions
and
78 deletions
Show diff stats
cloud/dahua/src/main/java/com/example/dahua/MyTask.java
| ... | ... | @@ -443,12 +443,13 @@ public class MyTask implements ApplicationRunner { |
| 443 | 443 | checkIn.setFlag(eventType == 2 ? 1 : 0); |
| 444 | 444 | checkIn.setCheckTime(eventTime); |
| 445 | 445 | searchMapper.checkIn(checkIn); |
| 446 | + | |
| 446 | 447 | if (checkIn.getIsSuccess() == 1) { |
| 447 | 448 | //考勤成功 |
| 448 | 449 | String content = "考勤成功!,设备:" + deviceId + "卡号:" + cardNo + "方向:" + (eventType == 1 ? "进门" : "出门") + "______" + eventTime; |
| 449 | 450 | |
| 450 | 451 | //开始推送看板 |
| 451 | - sendMQMess(content,deviceId,eventType); | |
| 452 | + sendMQMess(deviceId,cardNo,eventType); | |
| 452 | 453 | |
| 453 | 454 | //记录学生考勤签到记录 |
| 454 | 455 | FileUtils.getInstance().writeLogs(content, FileUtils.qiandaoSuccess); | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/async/SendUserInfoTask.java
| ... | ... | @@ -328,7 +328,7 @@ public class SendUserInfoTask { |
| 328 | 328 | |
| 329 | 329 | String studentType = userDao.getStudentType(attendanceBean.getSchool_id(),sendRecordBean.getCustomerid()); |
| 330 | 330 | //通道号 |
| 331 | - int channel = analysisPermission(Integer.parseInt(attendanceBean.getSchool_id()),studentType); | |
| 331 | + String channel = analysisPermission(Integer.parseInt(attendanceBean.getSchool_id()),studentType); | |
| 332 | 332 | |
| 333 | 333 | /** |
| 334 | 334 | * 注:用户下发逻辑 |
| ... | ... | @@ -370,10 +370,12 @@ public class SendUserInfoTask { |
| 370 | 370 | log.info("=================开始执行下发人脸及卡号任务================="); |
| 371 | 371 | //卡号取反 |
| 372 | 372 | String cardNum =""; |
| 373 | - if(attendanceBean.getClint_id().startsWith("ytj")&&Integer.parseInt(attendanceBean.getSchool_id())!=126&&Integer.parseInt(attendanceBean.getSchool_id())!=393) | |
| 374 | - {cardNum = student_num;} | |
| 375 | - else | |
| 376 | - {cardNum = cardNo(student_num);} | |
| 373 | + if(attendanceBean.getClint_id().startsWith("ytj")&&Integer.parseInt(attendanceBean.getSchool_id())!=126 | |
| 374 | + &&Integer.parseInt(attendanceBean.getSchool_id())!=393) { | |
| 375 | + cardNum = student_num; | |
| 376 | + } else { | |
| 377 | + cardNum = cardNo(student_num); | |
| 378 | + } | |
| 377 | 379 | //bCardFlags = true, 存在下发记录,则存在下发记录集编号,执行修改卡、人脸信息 |
| 378 | 380 | if (bCardFlags ==1) { |
| 379 | 381 | //修改设备卡信息 |
| ... | ... | @@ -510,7 +512,7 @@ public class SendUserInfoTask { |
| 510 | 512 | * @param studentType |
| 511 | 513 | * @return |
| 512 | 514 | */ |
| 513 | - private int analysisPermission(int schoolId, String studentType){ | |
| 515 | + private String analysisPermission(int schoolId, String studentType){ | |
| 514 | 516 | List<PermissionFaceBean> permissionFaceBeans = permissFaceService.getPermissionList(schoolId); |
| 515 | 517 | String channel =""; |
| 516 | 518 | if(permissionFaceBeans.size()>0){ |
| ... | ... | @@ -523,22 +525,24 @@ public class SendUserInfoTask { |
| 523 | 525 | channel= permissionFaceBean.getChannel(); |
| 524 | 526 | } |
| 525 | 527 | } |
| 528 | + if(StringUtils.isEmpty(channel)){ | |
| 529 | + log.warn("未获取到学校权限通道号!"); | |
| 530 | + return ""; | |
| 531 | + } | |
| 532 | + return channel; | |
| 526 | 533 | } |
| 527 | - if(StringUtils.isEmpty(channel)){ | |
| 528 | - log.warn("未获取到学校权限通道号!"); | |
| 529 | - return 0; | |
| 530 | - } | |
| 531 | - return Integer.parseInt(channel); | |
| 534 | + return channel; | |
| 532 | 535 | } |
| 533 | 536 | |
| 534 | - | |
| 535 | 537 | public static void main(String[] args) { |
| 536 | - String json ="{\"studentType\":\"1,2\",\"deviceIds\":[\"aaa\"],\"weekDays\":[{\"weekTimes\":[{\"startTime\":\"12:00\",\"endTime\":\"06:00\"}],\"sex\":\"1,2\",\"weekDay\":\"0,1,2\"}]}"; | |
| 537 | - PermissionBean permissionBean = objectMapper.fromJson(json,PermissionBean.class); | |
| 538 | - String studentType = permissionBean.getStudentType(); | |
| 539 | - if(studentType.indexOf("1")!=-1){ | |
| 540 | - System.out.println(true); | |
| 541 | - } | |
| 538 | +// String json ="{\"studentType\":\"1,2\",\"deviceIds\":[\"aaa\"],\"weekDays\":[{\"weekTimes\":[{\"startTime\":\"12:00\",\"endTime\":\"06:00\"}],\"sex\":\"1,2\",\"weekDay\":\"0,1,2\"}]}"; | |
| 539 | +// PermissionBean permissionBean = objectMapper.fromJson(json,PermissionBean.class); | |
| 540 | +// String studentType = permissionBean.getStudentType(); | |
| 541 | +// if(studentType.indexOf("1")!=-1){ | |
| 542 | +// System.out.println(true); | |
| 543 | +// } | |
| 544 | + String channel =""; | |
| 545 | + System.out.println(Integer.parseInt(channel)); | |
| 542 | 546 | } |
| 543 | 547 | |
| 544 | 548 | /** | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/enums/EnumSendFaceErrorType.java
| ... | ... | @@ -9,6 +9,7 @@ import org.apache.commons.lang.StringUtils; |
| 9 | 9 | */ |
| 10 | 10 | public enum EnumSendFaceErrorType { |
| 11 | 11 | |
| 12 | + CHECK_DATA_ERR_21("21", "对返回数据的校验出错"), | |
| 12 | 13 | EXCEED_SIZE_1028("1028", "图片大小超限"), |
| 13 | 14 | NOT_EXIST_USER_1029("1029", "用户ID不存在"), |
| 14 | 15 | EXTRACT_ERROR_1030("1030", "照片特征值提取失败"), | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/module/GateModule.java
| ... | ... | @@ -13,6 +13,7 @@ import com.sun.jna.Memory; |
| 13 | 13 | import com.sun.jna.Pointer; |
| 14 | 14 | import com.sun.jna.ptr.IntByReference; |
| 15 | 15 | import lombok.extern.slf4j.Slf4j; |
| 16 | +import org.springframework.util.StringUtils; | |
| 16 | 17 | |
| 17 | 18 | import javax.imageio.ImageIO; |
| 18 | 19 | import java.awt.image.BufferedImage; |
| ... | ... | @@ -202,91 +203,97 @@ public class GateModule { |
| 202 | 203 | // return true; |
| 203 | 204 | } |
| 204 | 205 | |
| 206 | + /** | |
| 207 | + * 门禁卡记录集信息 | |
| 208 | + */ | |
| 209 | + private static final NET_RECORDSET_ACCESS_CTL_CARD insertCardInfo = new NET_RECORDSET_ACCESS_CTL_CARD(); | |
| 210 | + /** | |
| 211 | + * 记录集操作 | |
| 212 | + */ | |
| 213 | + private static final NET_CTRL_RECORDSET_INSERT_PARAM insert = new NET_CTRL_RECORDSET_INSERT_PARAM(); | |
| 205 | 214 | |
| 206 | 215 | public static synchronized int insertCard(String cardNo, String userId, String cardName, String cardPwd, |
| 207 | 216 | int cardStatus, int cardType, int useTimes, int isFirstEnter, |
| 208 | 217 | int isValid, String startValidTime, String endValidTime, LLong lLong, |
| 209 | - String userType,int channel) { | |
| 210 | - /** | |
| 211 | - * 门禁卡记录集信息 | |
| 212 | - */ | |
| 213 | - NET_RECORDSET_ACCESS_CTL_CARD accessCardInfo = new NET_RECORDSET_ACCESS_CTL_CARD(); | |
| 214 | - | |
| 218 | + String userType,String channel) { | |
| 215 | 219 | // 卡号 |
| 216 | - System.arraycopy(cardNo.getBytes(), 0, accessCardInfo.szCardNo, 0, cardNo.getBytes().length); | |
| 220 | + System.arraycopy(cardNo.getBytes(), 0, insertCardInfo.szCardNo, 0, cardNo.getBytes().length); | |
| 217 | 221 | |
| 218 | 222 | // 用户ID |
| 219 | - System.arraycopy(userId.getBytes(), 0, accessCardInfo.szUserID, 0, userId.getBytes().length); | |
| 223 | + System.arraycopy(userId.getBytes(), 0, insertCardInfo.szUserID, 0, userId.getBytes().length); | |
| 220 | 224 | |
| 221 | 225 | // 卡名(设备上显示的姓名) |
| 222 | 226 | try { |
| 223 | - System.arraycopy(cardName.getBytes("GBK"), 0, accessCardInfo.szCardName, 0, cardName.getBytes("GBK").length); | |
| 227 | + System.arraycopy(cardName.getBytes("GBK"), 0, insertCardInfo.szCardName, 0, cardName.getBytes("GBK").length); | |
| 224 | 228 | } catch (UnsupportedEncodingException e) { |
| 225 | 229 | e.printStackTrace(); |
| 226 | 230 | } |
| 227 | 231 | |
| 228 | 232 | // 卡密码 |
| 229 | - System.arraycopy(cardPwd.getBytes(), 0, accessCardInfo.szPsw, 0, cardPwd.getBytes().length); | |
| 233 | + System.arraycopy(cardPwd.getBytes(), 0, insertCardInfo.szPsw, 0, cardPwd.getBytes().length); | |
| 230 | 234 | |
| 231 | 235 | //-- 设置开门权限 |
| 232 | - accessCardInfo.nDoorNum = 2; | |
| 233 | - accessCardInfo.sznDoors[0] = 0; | |
| 234 | - accessCardInfo.sznDoors[1] = 1; | |
| 235 | - accessCardInfo.nTimeSectionNum = 2; // 与门数对应 | |
| 236 | + insertCardInfo.nDoorNum = 2; | |
| 237 | + insertCardInfo.sznDoors[0] = 0; | |
| 238 | + insertCardInfo.sznDoors[1] = 1; | |
| 239 | + insertCardInfo.nTimeSectionNum = 2; // 与门数对应 | |
| 236 | 240 | if (userType.equals("1")){ |
| 237 | - accessCardInfo.sznTimeSectionNo[0] = 255; // 表示第一个门全天有效 | |
| 238 | - accessCardInfo.sznTimeSectionNo[1] = 255; // 表示第二个门全天有效 | |
| 241 | + insertCardInfo.sznTimeSectionNo[0] = 255; // 表示第一个门全天有效 | |
| 242 | + insertCardInfo.sznTimeSectionNo[1] = 255; // 表示第二个门全天有效 | |
| 239 | 243 | }else { |
| 240 | - accessCardInfo.sznTimeSectionNo[0] = channel; // 表示第一个门全天有效 | |
| 241 | - accessCardInfo.sznTimeSectionNo[1] = channel; // 表示第二个门全天有效 | |
| 244 | + //此学校不存在权限设置默认为全天有效 | |
| 245 | + if(StringUtils.isEmpty(channel)){ | |
| 246 | + accessCardInfo.sznTimeSectionNo[0] = 255; // 表示第一个门全天有效 | |
| 247 | + accessCardInfo.sznTimeSectionNo[1] = 255; // 表示第二个门全天有效 | |
| 248 | + }else{ | |
| 249 | + accessCardInfo.sznTimeSectionNo[0] = Integer.parseInt(channel); // 表示第一个门全天有效 | |
| 250 | + accessCardInfo.sznTimeSectionNo[1] = Integer.parseInt(channel); // 表示第二个门全天有效 | |
| 251 | + } | |
| 242 | 252 | } |
| 243 | 253 | |
| 244 | 254 | // 卡状态 |
| 245 | - accessCardInfo.emStatus = cardStatus; | |
| 255 | + insertCardInfo.emStatus = cardStatus; | |
| 246 | 256 | |
| 247 | 257 | // 卡类型 |
| 248 | - accessCardInfo.emType = cardType; | |
| 258 | + insertCardInfo.emType = cardType; | |
| 249 | 259 | |
| 250 | 260 | // 使用次数 |
| 251 | - accessCardInfo.nUserTime = useTimes; | |
| 261 | + insertCardInfo.nUserTime = useTimes; | |
| 252 | 262 | |
| 253 | 263 | // 是否首卡 |
| 254 | - accessCardInfo.bFirstEnter = isFirstEnter; | |
| 264 | + insertCardInfo.bFirstEnter = isFirstEnter; | |
| 255 | 265 | |
| 256 | 266 | // 是否有效 |
| 257 | - accessCardInfo.bIsValid = isValid; | |
| 267 | + insertCardInfo.bIsValid = isValid; | |
| 258 | 268 | |
| 259 | 269 | // 有效开始时间 |
| 260 | 270 | String[] startTimes = startValidTime.split(" "); |
| 261 | - accessCardInfo.stuValidStartTime.dwYear = Integer.parseInt(startTimes[0].split("-")[0]); | |
| 262 | - accessCardInfo.stuValidStartTime.dwMonth = Integer.parseInt(startTimes[0].split("-")[1]); | |
| 263 | - accessCardInfo.stuValidStartTime.dwDay = Integer.parseInt(startTimes[0].split("-")[2]); | |
| 264 | - accessCardInfo.stuValidStartTime.dwHour = Integer.parseInt(startTimes[1].split(":")[0]); | |
| 265 | - accessCardInfo.stuValidStartTime.dwMinute = Integer.parseInt(startTimes[1].split(":")[1]); | |
| 266 | - accessCardInfo.stuValidStartTime.dwSecond = Integer.parseInt(startTimes[01].split(":")[2]); | |
| 271 | + insertCardInfo.stuValidStartTime.dwYear = Integer.parseInt(startTimes[0].split("-")[0]); | |
| 272 | + insertCardInfo.stuValidStartTime.dwMonth = Integer.parseInt(startTimes[0].split("-")[1]); | |
| 273 | + insertCardInfo.stuValidStartTime.dwDay = Integer.parseInt(startTimes[0].split("-")[2]); | |
| 274 | + insertCardInfo.stuValidStartTime.dwHour = Integer.parseInt(startTimes[1].split(":")[0]); | |
| 275 | + insertCardInfo.stuValidStartTime.dwMinute = Integer.parseInt(startTimes[1].split(":")[1]); | |
| 276 | + insertCardInfo.stuValidStartTime.dwSecond = Integer.parseInt(startTimes[01].split(":")[2]); | |
| 267 | 277 | |
| 268 | 278 | // 有效结束时间 |
| 269 | 279 | String[] endTimes = endValidTime.split(" "); |
| 270 | - accessCardInfo.stuValidEndTime.dwYear = Integer.parseInt(endTimes[0].split("-")[0]); | |
| 271 | - accessCardInfo.stuValidEndTime.dwMonth = Integer.parseInt(endTimes[0].split("-")[1]); | |
| 272 | - accessCardInfo.stuValidEndTime.dwDay = Integer.parseInt(endTimes[0].split("-")[2]); | |
| 273 | - accessCardInfo.stuValidEndTime.dwHour = Integer.parseInt(endTimes[1].split(":")[0]); | |
| 274 | - accessCardInfo.stuValidEndTime.dwMinute = Integer.parseInt(endTimes[1].split(":")[1]); | |
| 275 | - accessCardInfo.stuValidEndTime.dwSecond = Integer.parseInt(endTimes[1].split(":")[2]); | |
| 280 | + insertCardInfo.stuValidEndTime.dwYear = Integer.parseInt(endTimes[0].split("-")[0]); | |
| 281 | + insertCardInfo.stuValidEndTime.dwMonth = Integer.parseInt(endTimes[0].split("-")[1]); | |
| 282 | + insertCardInfo.stuValidEndTime.dwDay = Integer.parseInt(endTimes[0].split("-")[2]); | |
| 283 | + insertCardInfo.stuValidEndTime.dwHour = Integer.parseInt(endTimes[1].split(":")[0]); | |
| 284 | + insertCardInfo.stuValidEndTime.dwMinute = Integer.parseInt(endTimes[1].split(":")[1]); | |
| 285 | + insertCardInfo.stuValidEndTime.dwSecond = Integer.parseInt(endTimes[1].split(":")[2]); | |
| 286 | + | |
| 276 | 287 | |
| 277 | - /** | |
| 278 | - * 记录集操作 | |
| 279 | - */ | |
| 280 | - NET_CTRL_RECORDSET_INSERT_PARAM insert = new NET_CTRL_RECORDSET_INSERT_PARAM(); | |
| 281 | 288 | insert.stuCtrlRecordSetInfo.emType = EM_NET_RECORD_TYPE.NET_RECORD_ACCESSCTLCARD; // 记录集类型 |
| 282 | - insert.stuCtrlRecordSetInfo.pBuf = accessCardInfo.getPointer(); | |
| 289 | + insert.stuCtrlRecordSetInfo.pBuf = insertCardInfo.getPointer(); | |
| 283 | 290 | |
| 284 | - accessCardInfo.write(); | |
| 291 | + insertCardInfo.write(); | |
| 285 | 292 | insert.write(); |
| 286 | 293 | boolean bRet = LoginModule.netsdk.CLIENT_ControlDevice(lLong, |
| 287 | 294 | CtrlType.CTRLTYPE_CTRL_RECORDSET_INSERT, insert.getPointer(), 5000); |
| 288 | 295 | insert.read(); |
| 289 | - accessCardInfo.read(); | |
| 296 | + insertCardInfo.read(); | |
| 290 | 297 | |
| 291 | 298 | if(!bRet) { |
| 292 | 299 | String ret=ToolKits.getErrorCodePrint(); |
| ... | ... | @@ -307,8 +314,6 @@ public class GateModule { |
| 307 | 314 | log.info("添加卡信息成功,卡信息记录集编号 : "+ insert.stuCtrlRecordSetResult.nRecNo); |
| 308 | 315 | return insert.stuCtrlRecordSetResult.nRecNo; |
| 309 | 316 | } |
| 310 | - | |
| 311 | -// return true; | |
| 312 | 317 | } |
| 313 | 318 | |
| 314 | 319 | public static void main(String[] args) { |
| ... | ... | @@ -709,7 +714,7 @@ public class GateModule { |
| 709 | 714 | public static int modifyCard(int recordNo, String cardNo, String userId, String cardName, String cardPwd, |
| 710 | 715 | int cardStatus, int cardType, int useTimes, int isFirstEnter, |
| 711 | 716 | int isValid, String startValidTime, String endValidTime, LLong lLong, |
| 712 | - String userType,int channel) { | |
| 717 | + String userType,String channel) { | |
| 713 | 718 | /** |
| 714 | 719 | * 门禁卡记录集信息 |
| 715 | 720 | */ |
| ... | ... | @@ -743,8 +748,14 @@ public class GateModule { |
| 743 | 748 | accessCardInfo.sznTimeSectionNo[0] = 255; // 表示第一个门全天有效 |
| 744 | 749 | accessCardInfo.sznTimeSectionNo[1] = 255; // 表示第二个门全天有效 |
| 745 | 750 | }else { |
| 746 | - accessCardInfo.sznTimeSectionNo[0] = channel; // 表示第一个门全天有效 | |
| 747 | - accessCardInfo.sznTimeSectionNo[1] = channel; // 表示第二个门全天有效 | |
| 751 | + //此学校不存在权限设置默认为全天有效 | |
| 752 | + if(StringUtils.isEmpty(channel)){ | |
| 753 | + accessCardInfo.sznTimeSectionNo[0] = 255; // 表示第一个门全天有效 | |
| 754 | + accessCardInfo.sznTimeSectionNo[1] = 255; // 表示第二个门全天有效 | |
| 755 | + }else{ | |
| 756 | + accessCardInfo.sznTimeSectionNo[0] = Integer.parseInt(channel); // 表示第一个门全天有效 | |
| 757 | + accessCardInfo.sznTimeSectionNo[1] = Integer.parseInt(channel); // 表示第二个门全天有效 | |
| 758 | + } | |
| 748 | 759 | } |
| 749 | 760 | |
| 750 | 761 | // 卡状态 |
| ... | ... | @@ -1160,6 +1171,9 @@ public class GateModule { |
| 1160 | 1171 | return true; |
| 1161 | 1172 | } |
| 1162 | 1173 | |
| 1174 | + private static final NET_IN_ADD_FACE_INFO stIn = new NET_IN_ADD_FACE_INFO(); | |
| 1175 | + private static final NET_OUT_ADD_FACE_INFO stOut = new NET_OUT_ADD_FACE_INFO(); | |
| 1176 | + | |
| 1163 | 1177 | public static synchronized int addFaceInfo(String userId, Memory memory, LLong lLong) { |
| 1164 | 1178 | int emType = EM_FACEINFO_OPREATE_TYPE.EM_FACEINFO_OPREATE_ADD; // 添加 |
| 1165 | 1179 | |
| ... | ... | @@ -1195,7 +1209,7 @@ public class GateModule { |
| 1195 | 1209 | } else { |
| 1196 | 1210 | String ret=ToolKits.getErrorCodePrint(); |
| 1197 | 1211 | String number = ret.substring(ret.indexOf("|") + 1, ret.indexOf(")")); |
| 1198 | - log.error("添加信息失败,错误信息:{} ,错误码:{} ",ret,number); | |
| 1212 | + log.error("添加人脸失败,错误信息:{} ,错误码:{} ",ret,number); | |
| 1199 | 1213 | //照片已存在 |
| 1200 | 1214 | if(number.equals(EnumSendFaceErrorType.EXIST_IMG_1031.code)){ |
| 1201 | 1215 | return modifyFaceInfo(userId, memory, lLong); |
| ... | ... | @@ -1259,6 +1273,8 @@ public class GateModule { |
| 1259 | 1273 | return true; |
| 1260 | 1274 | } |
| 1261 | 1275 | |
| 1276 | + private static final NET_IN_UPDATE_FACE_INFO stInEdit = new NET_IN_UPDATE_FACE_INFO(); | |
| 1277 | + private static final NET_OUT_UPDATE_FACE_INFO stOutEdit = new NET_OUT_UPDATE_FACE_INFO(); | |
| 1262 | 1278 | |
| 1263 | 1279 | public static int modifyFaceInfo(String userId, Memory memory, LLong lLong) { |
| 1264 | 1280 | int emType = EM_FACEINFO_OPREATE_TYPE.EM_FACEINFO_OPREATE_UPDATE; // 修改 |
| ... | ... | @@ -1266,30 +1282,30 @@ public class GateModule { |
| 1266 | 1282 | /** |
| 1267 | 1283 | * 入参 |
| 1268 | 1284 | */ |
| 1269 | - NET_IN_UPDATE_FACE_INFO stIn = new NET_IN_UPDATE_FACE_INFO(); | |
| 1285 | +// NET_IN_UPDATE_FACE_INFO stInEdit = new NET_IN_UPDATE_FACE_INFO(); | |
| 1270 | 1286 | |
| 1271 | 1287 | // 用户ID |
| 1272 | - System.arraycopy(userId.getBytes(), 0, stIn.szUserID, 0, userId.getBytes().length); | |
| 1288 | + System.arraycopy(userId.getBytes(), 0, stInEdit.szUserID, 0, userId.getBytes().length); | |
| 1273 | 1289 | |
| 1274 | 1290 | // 人脸照片个数 |
| 1275 | - stIn.stuFaceInfo.nFacePhoto = 1; | |
| 1291 | + stInEdit.stuFaceInfo.nFacePhoto = 1; | |
| 1276 | 1292 | |
| 1277 | 1293 | // 每张图片的大小 |
| 1278 | - stIn.stuFaceInfo.nFacePhotoLen[0] = (int) memory.size(); | |
| 1294 | + stInEdit.stuFaceInfo.nFacePhotoLen[0] = (int) memory.size(); | |
| 1279 | 1295 | |
| 1280 | 1296 | // 人脸照片数据,大小不超过100K, 图片格式为jpg |
| 1281 | - stIn.stuFaceInfo.pszFacePhotoArr[0].pszFacePhoto = memory; | |
| 1297 | + stInEdit.stuFaceInfo.pszFacePhotoArr[0].pszFacePhoto = memory; | |
| 1282 | 1298 | |
| 1283 | 1299 | /** |
| 1284 | 1300 | * 出参 |
| 1285 | 1301 | */ |
| 1286 | - NET_OUT_UPDATE_FACE_INFO stOut = new NET_OUT_UPDATE_FACE_INFO(); | |
| 1302 | +// NET_OUT_UPDATE_FACE_INFO stOut = new NET_OUT_UPDATE_FACE_INFO(); | |
| 1287 | 1303 | |
| 1288 | - stIn.write(); | |
| 1289 | - stOut.write(); | |
| 1290 | - boolean bRet = LoginModule.netsdk.CLIENT_FaceInfoOpreate(lLong, emType, stIn.getPointer(), stOut.getPointer(), 5000); | |
| 1291 | - stIn.read(); | |
| 1292 | - stOut.read(); | |
| 1304 | + stInEdit.write(); | |
| 1305 | + stOutEdit.write(); | |
| 1306 | + boolean bRet = LoginModule.netsdk.CLIENT_FaceInfoOpreate(lLong, emType, stInEdit.getPointer(), stOutEdit.getPointer(), 5000); | |
| 1307 | + stInEdit.read(); | |
| 1308 | + stOutEdit.read(); | |
| 1293 | 1309 | Map<String,String> map = new HashMap(); |
| 1294 | 1310 | if (bRet) { |
| 1295 | 1311 | log.info("修改人脸成功!"); | ... | ... |