Commit 20c3076e78a9286121032602dfca01f446699a1a
1 parent
ab1437f8
Exists in
master
下发失败人脸接口代码提交
Showing
6 changed files
with
63 additions
and
24 deletions
Show diff stats
cloud/dahua/src/main/java/com/example/dahua/control/UserOperateController.java
... | ... | @@ -87,8 +87,8 @@ public class UserOperateController { |
87 | 87 | @ApiOperation(value = "按班级指定下发") |
88 | 88 | @RequestMapping(value = "sendFaceByClassId", method = RequestMethod.POST) |
89 | 89 | public void exportFace(@RequestParam("schoolId") Integer schoolId, |
90 | - @RequestParam(value = "classIds",required = false) String classIds, | |
91 | - @RequestParam(value = "deviceIds",required = false) String deviceIds){ | |
90 | + @RequestParam(value = "classIds",required = false) String classIds, | |
91 | + @RequestParam(value = "deviceIds",required = false) String deviceIds){ | |
92 | 92 | userOperateService.sendFaceByClassId(schoolId,classIds,deviceIds); |
93 | 93 | } |
94 | 94 | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/service/imp/UserOperateServiceImpl.java
... | ... | @@ -108,22 +108,27 @@ public class UserOperateServiceImpl implements UserOperateService { |
108 | 108 | if(photo.indexOf("face17e50")!=-1){ |
109 | 109 | filePath = path_1 + "\\" + fileName; |
110 | 110 | } |
111 | + if(filePath.indexOf("?v=")!=-1){ | |
112 | + filePath = filePath.split("\\?")[0]; | |
113 | + } | |
111 | 114 | log.info("学籍号:{},人脸路径:{}, ",studentCode,filePath); |
112 | 115 | //100服务人脸照图片路径 |
113 | 116 | File file = new File(filePath); |
114 | - if(file.exists()){ | |
115 | - String targetPath = FilePath.picPathComp+ file.getName(); | |
116 | - try { | |
117 | - CompressPic.CompressPic(file.getAbsolutePath(), targetPath,""); | |
118 | - } catch (Exception e) { | |
119 | - log.error("压缩图片失败"); | |
120 | - e.printStackTrace(); | |
121 | - continue; | |
122 | - } | |
123 | - for(String sno : deviceList){ | |
124 | - String clint_type = userDao.getClintType(sno); | |
125 | - HttpUtils.uploadImgs(new File(targetPath), String.valueOf(schoolId), studentCode, clint_type, userType, sno); | |
126 | - } | |
117 | + if (!file.exists()) { | |
118 | + log.error("文件不存在:" + filePath); | |
119 | + continue; | |
120 | + } | |
121 | + String targetPath = FilePath.picPathComp+ file.getName(); | |
122 | + try { | |
123 | + CompressPic.CompressPic(file.getAbsolutePath(), targetPath,""); | |
124 | + } catch (Exception e) { | |
125 | + log.error("压缩图片失败"); | |
126 | + e.printStackTrace(); | |
127 | + continue; | |
128 | + } | |
129 | + for(String sno : deviceList){ | |
130 | + String clint_type = userDao.getClintType(sno); | |
131 | + HttpUtils.uploadImgs(new File(targetPath), String.valueOf(schoolId), studentCode, clint_type, userType, sno); | |
127 | 132 | } |
128 | 133 | }catch (Exception e){ |
129 | 134 | log.error("人脸下发失败"); |
... | ... | @@ -133,6 +138,15 @@ public class UserOperateServiceImpl implements UserOperateService { |
133 | 138 | } |
134 | 139 | } |
135 | 140 | |
141 | + public static void main(String[] args) { | |
142 | + File file = new File("http://campus.myjxt.com//face17e5/School1485/Student/202170214.png?v=1635478750130"); | |
143 | + if (!file.isFile()) { | |
144 | + System.out.println(false); | |
145 | + }else{ | |
146 | + System.out.println(true); | |
147 | + } | |
148 | + } | |
149 | + | |
136 | 150 | @Override |
137 | 151 | public void test6(Integer schoolId, Integer roomId, Integer type, Integer outof, String intime, String clintId, String startTime, String endTime) { |
138 | 152 | List<String> studentIds = userDao.queryStudentIdList(schoolId,roomId); | ... | ... |
cloud/haikangface/src/main/java/com/sincere/haikangface/CMSServer.java
... | ... | @@ -67,7 +67,7 @@ public class CMSServer implements ApplicationRunner { |
67 | 67 | //114.55.30.100 |
68 | 68 | //120.26.116.253 |
69 | 69 | // private String ip_cloud = "114.55.30.100"; |
70 | - private String ip_cloud = "120.26.116.253"; | |
70 | + private String ip_cloud = "114.55.30.100"; | |
71 | 71 | |
72 | 72 | private String ip; |
73 | 73 | { |
... | ... | @@ -290,7 +290,6 @@ public class CMSServer implements ApplicationRunner { |
290 | 290 | // int type = pInBuffer.dwAlarmServerType; |
291 | 291 | // int picServerType = pInBuffer.dwPicServerType; |
292 | 292 | // System.out.println("type=" + type + " picType=" + picServerType); |
293 | - | |
294 | 293 | } else if (3 == enumType) { |
295 | 294 | } |
296 | 295 | return true; |
... | ... | @@ -300,7 +299,7 @@ public class CMSServer implements ApplicationRunner { |
300 | 299 | //文件保存回调函数(下载) |
301 | 300 | public class PSS_Storage_Callback implements HCEHomeSS.EHomeSSStorageCallBack { |
302 | 301 | public boolean invoke(NativeLong iHandle, String pFileName, Pointer pFileBuf, int dwFileLen, Pointer pFilePath, Pointer pUser) { |
303 | - String strPath = "D://EhomePicServer/"; | |
302 | + String strPath = "E://EhomePicServer/"; | |
304 | 303 | //若此目录不存在,则创建之 |
305 | 304 | File myPath = new File(strPath); |
306 | 305 | if (!myPath.exists()) { |
... | ... | @@ -422,7 +421,6 @@ public class CMSServer implements ApplicationRunner { |
422 | 421 | } |
423 | 422 | }); |
424 | 423 | } else { |
425 | - log.info("处理报警进来了"); | |
426 | 424 | //处理报警事件 |
427 | 425 | alarmUtils.deleAlarm(strXML); |
428 | 426 | } |
... | ... | @@ -490,7 +488,6 @@ public class CMSServer implements ApplicationRunner { |
490 | 488 | String imgUrl = "http://" + ip_cloud + ":8081/kms/services/rest/dataInfoService/downloadFile?id=" + picDataUrlId; |
491 | 489 | face_recoder.setImgurl(imgUrl); |
492 | 490 | log.info("设备: {},人脸抓怕:学校id: {} ,班级:{} ,用户名:{} ,卡号:{} ,",deviceID,schoolId,className,name,cardNo); |
493 | - log.info("抓拍人脸:" + imgUrl); | |
494 | 491 | if (!TextUtils.isEmpty(currTemperature)) {//只有有温度的才存记录 |
495 | 492 | userDao.addWGTem(studentBean.getUser_id(), studentBean.getStudent_id(), studentBean.getName(), studentBean.getClass_id() + "", |
496 | 493 | studentBean.getClass_name(), currTemperature, studentBean.getStudent_type() + "", studentBean.getSchool_id() + "", time); | ... | ... |
cloud/haikangface/src/main/java/com/sincere/haikangface/service/impl/UserOperateServiceImpl.java
... | ... | @@ -235,6 +235,9 @@ public class UserOperateServiceImpl implements UserOperateService { |
235 | 235 | if(photo.indexOf("face17e50")!=-1){ |
236 | 236 | filePath = path_1 + "\\" + fileName; |
237 | 237 | } |
238 | + if(filePath.indexOf("?v=")!=-1){ | |
239 | + filePath = filePath.split("\\?")[0]; | |
240 | + } | |
238 | 241 | //校验100服务文件存储地址上是否存在此人脸 |
239 | 242 | File file = new File(filePath.trim());//图片 |
240 | 243 | if (!file.exists()) { |
... | ... | @@ -431,6 +434,9 @@ public class UserOperateServiceImpl implements UserOperateService { |
431 | 434 | if(photo.indexOf("face17e50")!=-1){ |
432 | 435 | filePath = path_1 + "\\" + fileName; |
433 | 436 | } |
437 | + if(filePath.indexOf("?v=")!=-1){ | |
438 | + filePath = filePath.split("\\?")[0]; | |
439 | + } | |
434 | 440 | File file = new File(filePath);//图片 |
435 | 441 | if(file.exists()){ |
436 | 442 | String targetPath = FileUtils.picPathComp + file.getName(); |
... | ... | @@ -532,6 +538,9 @@ public class UserOperateServiceImpl implements UserOperateService { |
532 | 538 | if(photo.indexOf("face17e50")!=-1){ |
533 | 539 | filePath = path_1 + "\\" + fileName; |
534 | 540 | } |
541 | + if(filePath.indexOf("?v=")!=-1){ | |
542 | + filePath = filePath.split("\\?")[0]; | |
543 | + } | |
535 | 544 | File file = new File(filePath);//图片 |
536 | 545 | if(file.exists()){ |
537 | 546 | String targetPath = FileUtils.picPathComp + file.getName(); |
... | ... | @@ -967,9 +976,17 @@ public class UserOperateServiceImpl implements UserOperateService { |
967 | 976 | //去重重复数据 |
968 | 977 | deviceList = resultDevices.stream().distinct().collect(Collectors.toList()); |
969 | 978 | } |
970 | - //发送海康设备:异步执行 | |
971 | - baseService.sendUserFaceByAsyncThread(schoolId,2,studentBeanList,deviceList); | |
972 | - | |
979 | + log.info("统计共有下发用户数量:{}",studentBeanList.size()); | |
980 | + //设备类型 | |
981 | + Integer clintType = userDao.getClintTypeByDeviceId(deviceList.get(0)); | |
982 | + if(clintType.intValue()== 22 || clintType.intValue()== 29){ | |
983 | + //发送大华设备 | |
984 | + HttpUtil.uploadDHImgByClassId(String.valueOf(schoolId),deviceIds,classIds); | |
985 | + } | |
986 | + if(clintType.intValue()== 18 || clintType.intValue()== 28){ | |
987 | + //发送海康设备:异步执行 | |
988 | + baseService.sendUserFaceByAsyncThread(schoolId,2,studentBeanList,deviceList); | |
989 | + } | |
973 | 990 | int fileSize = studentBeanList.size(); |
974 | 991 | int clintNum = deviceList.size(); |
975 | 992 | //下发所用时长 | ... | ... |
cloud/haikangface/src/main/java/com/sincere/haikangface/utils/AlarmUtils.java
... | ... | @@ -331,7 +331,6 @@ public class AlarmUtils { |
331 | 331 | faceWaterRecoder.setTime(time); |
332 | 332 | faceWaterRecoder.setCardNo(cardNo); |
333 | 333 | faceWaterRecoder.setSystime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); |
334 | - log.info("保存流水记录,流水信息: {}",objectMapper.toJson(faceWaterRecoder)); | |
335 | 334 | deviceDao.saveFaceWaterRecoder(faceWaterRecoder.getDeviceId(), faceWaterRecoder.getDeviceType() + "", faceWaterRecoder.getMinorType(), |
336 | 335 | faceWaterRecoder.getContent(), faceWaterRecoder.getMajorType(), faceWaterRecoder.getTime(), faceWaterRecoder.getCardNo(), faceWaterRecoder.getSystime()); |
337 | 336 | } | ... | ... |
cloud/haikangface/src/main/java/com/sincere/haikangface/utils/HttpUtil.java
... | ... | @@ -300,6 +300,18 @@ public class HttpUtil { |
300 | 300 | } |
301 | 301 | } |
302 | 302 | |
303 | + public static void uploadDHImgByClassId(String schoolId,String deviceIds,String classIds) { | |
304 | + String api = "http://114.55.30.100:8991/operate/sendFaceByClassId"; | |
305 | + try { | |
306 | + String url = String.format(api +"?schoolId=%s&deviceIds=%s&classIds%s",schoolId,deviceIds,classIds); | |
307 | + RestTemplate restTemplate = new RestTemplate(); | |
308 | + ResponseEntity<String> responseEntity = restTemplate.getForEntity(url, String.class); | |
309 | + log.info("发送请求,照片下发至大华设备,请求地址:{},返回信息: {}",url,responseEntity.getBody()); | |
310 | + } catch (Exception e) { | |
311 | + log.error("发送请求,照片下发至大华设备,异常信息:{}",e); | |
312 | + } | |
313 | + } | |
314 | + | |
303 | 315 | /** |
304 | 316 | * 删除大华设备人脸 |
305 | 317 | * @param schoolId | ... | ... |