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,12 +443,13 @@ public class MyTask implements ApplicationRunner { | ||
443 | checkIn.setFlag(eventType == 2 ? 1 : 0); | 443 | checkIn.setFlag(eventType == 2 ? 1 : 0); |
444 | checkIn.setCheckTime(eventTime); | 444 | checkIn.setCheckTime(eventTime); |
445 | searchMapper.checkIn(checkIn); | 445 | searchMapper.checkIn(checkIn); |
446 | + | ||
446 | if (checkIn.getIsSuccess() == 1) { | 447 | if (checkIn.getIsSuccess() == 1) { |
447 | //考勤成功 | 448 | //考勤成功 |
448 | String content = "考勤成功!,设备:" + deviceId + "卡号:" + cardNo + "方向:" + (eventType == 1 ? "进门" : "出门") + "______" + eventTime; | 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 | FileUtils.getInstance().writeLogs(content, FileUtils.qiandaoSuccess); | 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,7 +328,7 @@ public class SendUserInfoTask { | ||
328 | 328 | ||
329 | String studentType = userDao.getStudentType(attendanceBean.getSchool_id(),sendRecordBean.getCustomerid()); | 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,10 +370,12 @@ public class SendUserInfoTask { | ||
370 | log.info("=================开始执行下发人脸及卡号任务================="); | 370 | log.info("=================开始执行下发人脸及卡号任务================="); |
371 | //卡号取反 | 371 | //卡号取反 |
372 | String cardNum =""; | 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 | //bCardFlags = true, 存在下发记录,则存在下发记录集编号,执行修改卡、人脸信息 | 379 | //bCardFlags = true, 存在下发记录,则存在下发记录集编号,执行修改卡、人脸信息 |
378 | if (bCardFlags ==1) { | 380 | if (bCardFlags ==1) { |
379 | //修改设备卡信息 | 381 | //修改设备卡信息 |
@@ -510,7 +512,7 @@ public class SendUserInfoTask { | @@ -510,7 +512,7 @@ public class SendUserInfoTask { | ||
510 | * @param studentType | 512 | * @param studentType |
511 | * @return | 513 | * @return |
512 | */ | 514 | */ |
513 | - private int analysisPermission(int schoolId, String studentType){ | 515 | + private String analysisPermission(int schoolId, String studentType){ |
514 | List<PermissionFaceBean> permissionFaceBeans = permissFaceService.getPermissionList(schoolId); | 516 | List<PermissionFaceBean> permissionFaceBeans = permissFaceService.getPermissionList(schoolId); |
515 | String channel =""; | 517 | String channel =""; |
516 | if(permissionFaceBeans.size()>0){ | 518 | if(permissionFaceBeans.size()>0){ |
@@ -523,22 +525,24 @@ public class SendUserInfoTask { | @@ -523,22 +525,24 @@ public class SendUserInfoTask { | ||
523 | channel= permissionFaceBean.getChannel(); | 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 | public static void main(String[] args) { | 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,6 +9,7 @@ import org.apache.commons.lang.StringUtils; | ||
9 | */ | 9 | */ |
10 | public enum EnumSendFaceErrorType { | 10 | public enum EnumSendFaceErrorType { |
11 | 11 | ||
12 | + CHECK_DATA_ERR_21("21", "对返回数据的校验出错"), | ||
12 | EXCEED_SIZE_1028("1028", "图片大小超限"), | 13 | EXCEED_SIZE_1028("1028", "图片大小超限"), |
13 | NOT_EXIST_USER_1029("1029", "用户ID不存在"), | 14 | NOT_EXIST_USER_1029("1029", "用户ID不存在"), |
14 | EXTRACT_ERROR_1030("1030", "照片特征值提取失败"), | 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,6 +13,7 @@ import com.sun.jna.Memory; | ||
13 | import com.sun.jna.Pointer; | 13 | import com.sun.jna.Pointer; |
14 | import com.sun.jna.ptr.IntByReference; | 14 | import com.sun.jna.ptr.IntByReference; |
15 | import lombok.extern.slf4j.Slf4j; | 15 | import lombok.extern.slf4j.Slf4j; |
16 | +import org.springframework.util.StringUtils; | ||
16 | 17 | ||
17 | import javax.imageio.ImageIO; | 18 | import javax.imageio.ImageIO; |
18 | import java.awt.image.BufferedImage; | 19 | import java.awt.image.BufferedImage; |
@@ -202,91 +203,97 @@ public class GateModule { | @@ -202,91 +203,97 @@ public class GateModule { | ||
202 | // return true; | 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 | public static synchronized int insertCard(String cardNo, String userId, String cardName, String cardPwd, | 215 | public static synchronized int insertCard(String cardNo, String userId, String cardName, String cardPwd, |
207 | int cardStatus, int cardType, int useTimes, int isFirstEnter, | 216 | int cardStatus, int cardType, int useTimes, int isFirstEnter, |
208 | int isValid, String startValidTime, String endValidTime, LLong lLong, | 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 | // 用户ID | 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 | try { | 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 | } catch (UnsupportedEncodingException e) { | 228 | } catch (UnsupportedEncodingException e) { |
225 | e.printStackTrace(); | 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 | if (userType.equals("1")){ | 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 | }else { | 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 | String[] startTimes = startValidTime.split(" "); | 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 | String[] endTimes = endValidTime.split(" "); | 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 | insert.stuCtrlRecordSetInfo.emType = EM_NET_RECORD_TYPE.NET_RECORD_ACCESSCTLCARD; // 记录集类型 | 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 | insert.write(); | 292 | insert.write(); |
286 | boolean bRet = LoginModule.netsdk.CLIENT_ControlDevice(lLong, | 293 | boolean bRet = LoginModule.netsdk.CLIENT_ControlDevice(lLong, |
287 | CtrlType.CTRLTYPE_CTRL_RECORDSET_INSERT, insert.getPointer(), 5000); | 294 | CtrlType.CTRLTYPE_CTRL_RECORDSET_INSERT, insert.getPointer(), 5000); |
288 | insert.read(); | 295 | insert.read(); |
289 | - accessCardInfo.read(); | 296 | + insertCardInfo.read(); |
290 | 297 | ||
291 | if(!bRet) { | 298 | if(!bRet) { |
292 | String ret=ToolKits.getErrorCodePrint(); | 299 | String ret=ToolKits.getErrorCodePrint(); |
@@ -307,8 +314,6 @@ public class GateModule { | @@ -307,8 +314,6 @@ public class GateModule { | ||
307 | log.info("添加卡信息成功,卡信息记录集编号 : "+ insert.stuCtrlRecordSetResult.nRecNo); | 314 | log.info("添加卡信息成功,卡信息记录集编号 : "+ insert.stuCtrlRecordSetResult.nRecNo); |
308 | return insert.stuCtrlRecordSetResult.nRecNo; | 315 | return insert.stuCtrlRecordSetResult.nRecNo; |
309 | } | 316 | } |
310 | - | ||
311 | -// return true; | ||
312 | } | 317 | } |
313 | 318 | ||
314 | public static void main(String[] args) { | 319 | public static void main(String[] args) { |
@@ -709,7 +714,7 @@ public class GateModule { | @@ -709,7 +714,7 @@ public class GateModule { | ||
709 | public static int modifyCard(int recordNo, String cardNo, String userId, String cardName, String cardPwd, | 714 | public static int modifyCard(int recordNo, String cardNo, String userId, String cardName, String cardPwd, |
710 | int cardStatus, int cardType, int useTimes, int isFirstEnter, | 715 | int cardStatus, int cardType, int useTimes, int isFirstEnter, |
711 | int isValid, String startValidTime, String endValidTime, LLong lLong, | 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,8 +748,14 @@ public class GateModule { | ||
743 | accessCardInfo.sznTimeSectionNo[0] = 255; // 表示第一个门全天有效 | 748 | accessCardInfo.sznTimeSectionNo[0] = 255; // 表示第一个门全天有效 |
744 | accessCardInfo.sznTimeSectionNo[1] = 255; // 表示第二个门全天有效 | 749 | accessCardInfo.sznTimeSectionNo[1] = 255; // 表示第二个门全天有效 |
745 | }else { | 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,6 +1171,9 @@ public class GateModule { | ||
1160 | return true; | 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 | public static synchronized int addFaceInfo(String userId, Memory memory, LLong lLong) { | 1177 | public static synchronized int addFaceInfo(String userId, Memory memory, LLong lLong) { |
1164 | int emType = EM_FACEINFO_OPREATE_TYPE.EM_FACEINFO_OPREATE_ADD; // 添加 | 1178 | int emType = EM_FACEINFO_OPREATE_TYPE.EM_FACEINFO_OPREATE_ADD; // 添加 |
1165 | 1179 | ||
@@ -1195,7 +1209,7 @@ public class GateModule { | @@ -1195,7 +1209,7 @@ public class GateModule { | ||
1195 | } else { | 1209 | } else { |
1196 | String ret=ToolKits.getErrorCodePrint(); | 1210 | String ret=ToolKits.getErrorCodePrint(); |
1197 | String number = ret.substring(ret.indexOf("|") + 1, ret.indexOf(")")); | 1211 | String number = ret.substring(ret.indexOf("|") + 1, ret.indexOf(")")); |
1198 | - log.error("添加信息失败,错误信息:{} ,错误码:{} ",ret,number); | 1212 | + log.error("添加人脸失败,错误信息:{} ,错误码:{} ",ret,number); |
1199 | //照片已存在 | 1213 | //照片已存在 |
1200 | if(number.equals(EnumSendFaceErrorType.EXIST_IMG_1031.code)){ | 1214 | if(number.equals(EnumSendFaceErrorType.EXIST_IMG_1031.code)){ |
1201 | return modifyFaceInfo(userId, memory, lLong); | 1215 | return modifyFaceInfo(userId, memory, lLong); |
@@ -1259,6 +1273,8 @@ public class GateModule { | @@ -1259,6 +1273,8 @@ public class GateModule { | ||
1259 | return true; | 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 | public static int modifyFaceInfo(String userId, Memory memory, LLong lLong) { | 1279 | public static int modifyFaceInfo(String userId, Memory memory, LLong lLong) { |
1264 | int emType = EM_FACEINFO_OPREATE_TYPE.EM_FACEINFO_OPREATE_UPDATE; // 修改 | 1280 | int emType = EM_FACEINFO_OPREATE_TYPE.EM_FACEINFO_OPREATE_UPDATE; // 修改 |
@@ -1266,30 +1282,30 @@ public class GateModule { | @@ -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 | // 用户ID | 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 | // 人脸照片数据,大小不超过100K, 图片格式为jpg | 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 | Map<String,String> map = new HashMap(); | 1309 | Map<String,String> map = new HashMap(); |
1294 | if (bRet) { | 1310 | if (bRet) { |
1295 | log.info("修改人脸成功!"); | 1311 | log.info("修改人脸成功!"); |