Commit 20c3076e78a9286121032602dfca01f446699a1a

Authored by 徐泉
1 parent ab1437f8
Exists in master

下发失败人脸接口代码提交

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
... ...