Commit ab1437f82f83280643d6caf8b5609c4932326646

Authored by 徐泉
1 parent 718fcb62
Exists in master

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

cloud/haikangface/src/main/java/com/sincere/haikangface/control/UserOperateController.java
... ... @@ -83,6 +83,12 @@ public class UserOperateController {
83 83 return userOperateService.sendFailFace(schoolId);
84 84 }
85 85  
  86 + @RequestMapping(value = "sendFailFace2", method = RequestMethod.POST)
  87 + @ApiOperation(value = "重新下发失败人脸2.1")
  88 + public Result sendFailFace(@RequestParam("schoolId") Integer schoolId,@RequestParam(value = "deviceIds",required = false) String deviceIds) {
  89 + return userOperateService.sendFailFace2(schoolId,deviceIds);
  90 + }
  91 +
86 92 @ApiOperation(value = "删除指定人脸2.0")
87 93 @RequestMapping(value = "deleteFace", method = RequestMethod.POST)
88 94 public Result deleteFace(@RequestParam("schoolId") Integer schoolId, @RequestParam("cards") String cards,
... ...
cloud/haikangface/src/main/java/com/sincere/haikangface/service/UserOperateService.java
... ... @@ -72,6 +72,8 @@ public interface UserOperateService {
72 72 */
73 73 Result sendFailFace(Integer schoolId);
74 74  
  75 + Result sendFailFace2(Integer schoolId,String deviceIds);
  76 +
75 77 /**
76 78 * 删除指定人脸
77 79 * @param schoolId
... ...
cloud/haikangface/src/main/java/com/sincere/haikangface/service/impl/UserOperateServiceImpl.java
... ... @@ -458,6 +458,107 @@ public class UserOperateServiceImpl implements UserOperateService {
458 458 return ResultGenerator.genSuccessResult();
459 459 }
460 460  
  461 +
  462 + @Override
  463 + public Result sendFailFace2(Integer schoolId,String deviceIds) {
  464 + if(schoolId ==null){
  465 + return ResultGenerator.genFailResult("删除失败人脸,学校ID不能为空");
  466 + }
  467 + List<SendRecordBean> resultList = new ArrayList<>();
  468 + if(StringUtils.isNotBlank(deviceIds)){
  469 + //设备集合
  470 + String[] deviceArr = deviceIds.split(",");
  471 + List<String> deviceList= new ArrayList<>(Arrays.asList(deviceArr));
  472 + for(String deviceId : deviceList){
  473 + List<SendRecordBean> recordBeanList = sendRecordDao.getFailRecord2(schoolId,deviceId);
  474 + resultList.addAll(recordBeanList);
  475 + }
  476 + }else{
  477 + List<SendRecordBean> recordBeanList = sendRecordDao.getFailRecord(schoolId);
  478 + resultList.addAll(recordBeanList);
  479 + }
  480 + if(resultList.size()>0){
  481 + for(SendRecordBean recordBean : resultList){
  482 + try{
  483 + //用户类型1老师2学生
  484 + int userType = recordBean.getUserType();
  485 + //人脸卡号
  486 + String cardNum = recordBean.getNum();
  487 + //设备ID、设备类型
  488 + String deviceId = recordBean.getDeviceID();
  489 + Integer clintType = userDao.getClintTypeByDeviceId(deviceId);
  490 + //2.重新下发
  491 + StudentBean studentBean= null;
  492 + String typeName ="";
  493 + String photo = "";
  494 + if(userType ==1){
  495 + typeName= "Teacher";
  496 + studentBean = userDao.getTeacherWithCard(cardNum,schoolId);
  497 + photo=studentBean.getFace();
  498 + }else{
  499 + typeName= "Student";
  500 + studentBean= userDao.getStudentWithCard(cardNum,schoolId);
  501 + photo=studentBean.getPhoto();
  502 + }
  503 + if(studentBean==null|| StringUtils.isBlank(photo)){
  504 + continue;
  505 + }
  506 + String userName= studentBean.getName();
  507 + String studentCode = studentBean.getStudentCode();
  508 + String filePath="";
  509 + //下发海康人脸
  510 + if(clintType.intValue()== 18 || clintType.intValue()== 28){
  511 + //1.先删除人脸
  512 + if (cmsServer.getIsDeviceOnline(deviceId)) {
  513 + String cardNo = Long.parseLong(baseService.getCard(cardNum),16) + "";
  514 + cmsServer.deleteFace(deviceId, cardNo,schoolId);
  515 + }else{
  516 + //不在线,去253服务器上删除
  517 + HttpUtil.deleteCard(deviceId, cardNum);
  518 + }
  519 + //以学籍号为名的文件名
  520 + String fileName = photo.substring(photo.lastIndexOf("/") + 1,photo.length());
  521 + //100服务器人脸照绝对路径
  522 + String path_1 = "E:\\wwwhtdocs\\SmartCampus\\face17e50\\School" + schoolId + "\\" + typeName;
  523 + String path_2 = "E:\\wwwhtdocs\\SmartCampus\\face17e5\\School" + schoolId + "\\" + typeName;
  524 + String path_3 = "E:\\wwwhtdocs\\SmartCampus\\f0i5l7e5\\";
  525 + if(photo.indexOf("f0i5l7e5")!=-1){
  526 + String afterStr = photo.split("f0i5l7e5/")[1].replace("/","\\");
  527 + filePath= path_3 + afterStr;
  528 + }
  529 + if(photo.indexOf("face17e5")!=-1){
  530 + filePath = path_2 + "\\" + fileName;
  531 + }
  532 + if(photo.indexOf("face17e50")!=-1){
  533 + filePath = path_1 + "\\" + fileName;
  534 + }
  535 + File file = new File(filePath);//图片
  536 + if(file.exists()){
  537 + String targetPath = FileUtils.picPathComp + file.getName();
  538 + try {
  539 + CompressPic.CompressPic(file.getAbsolutePath(), targetPath);
  540 + } catch (Exception e) {
  541 + log.error("压缩图片失败:",e);
  542 + continue;
  543 + }
  544 + if(!StringUtils.isBlank(cardNum)) {
  545 + baseService.sendImg(file.getAbsolutePath(), targetPath, deviceId, cardNum, userName, String.valueOf(userType), schoolId);
  546 + }
  547 + }
  548 + }
  549 + //下发大华人脸
  550 + if(clintType.intValue()== 22 || clintType.intValue()== 29){
  551 + HttpUtil.uploadDHImgForOne(filePath,schoolId,studentCode,clintType,deviceId);
  552 + }
  553 + }catch (Exception e){
  554 + log.error("下发失败表人脸失败,异常信息:{}",e);
  555 + continue;
  556 + }
  557 + }
  558 + }
  559 + return ResultGenerator.genSuccessResult();
  560 + }
  561 +
461 562 @Override
462 563 public Result deleteFace(Integer schoolId,String cards,String deviceIds) {
463 564 if(StringUtils.isBlank(cards)){
... ...
cloud/haikangface/src/main/java/com/sincere/haikangface/xiananDao/SendRecordDao.java
... ... @@ -77,6 +77,9 @@ public interface SendRecordDao {
77 77 @Select("select * from Face_SendRecord where schoolId = #{schoolId} and status =2")
78 78 List<SendRecordBean> getFailRecord(@Param("schoolId") Integer schoolId);
79 79  
  80 + @Select("select * from Face_SendRecord where schoolId = #{schoolId} and deviceID = #{deviceId} and status =2")
  81 + List<SendRecordBean> getFailRecord2(@Param("schoolId") Integer schoolId,@Param("deviceId") String deviceId);
  82 +
80 83 @Select("select * from Face_SendRecord where schoolId = #{schoolId}")
81 84 List<SendRecordBean> getFaceRecord(@Param("schoolId") Integer schoolId);
82 85  
... ...