| | |
| | | import cn.exrick.xboot.file.service.FileService; |
| | | import cn.exrick.xboot.your.entity.Alarm; |
| | | import cn.exrick.xboot.your.entity.Car; |
| | | import cn.exrick.xboot.your.entity.EventLog; |
| | | import cn.exrick.xboot.your.service.IAlarmService; |
| | | import cn.exrick.xboot.your.service.ICarService; |
| | | import cn.exrick.xboot.your.service.IEventLogService; |
| | | import cn.exrick.xboot.your.util.FaceSystem; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.hutool.json.JSONArray; |
| | |
| | | import java.util.Collection; |
| | | import java.util.Iterator; |
| | | import java.util.List; |
| | | |
| | | //人脸比对检测车厢异常开启 |
| | | @RestController |
| | | @RequestMapping("/hk") |
| | | public class FaceImgController { |
| | |
| | | private IAlarmService iAlarmService; |
| | | @Autowired |
| | | private RedisTemplateHelper redisTemplate; |
| | | @Autowired |
| | | private IEventLogService iEventLogService; |
| | | |
| | | |
| | | @RequestMapping(value = "/faceImg", method = RequestMethod.POST) |
| | |
| | | QueryWrapper<Car> wrapper = new QueryWrapper<Car>(); |
| | | wrapper.eq("car_no",deviceName.substring(0,deviceName.length()-1)); |
| | | Car one = iCarService.getOne(wrapper); |
| | | if(one==null){ |
| | | return; |
| | | } |
| | | |
| | | User user = userService.get(one.getUserId()); |
| | | User user1 = userService.get(one.getFollowUserId()); |
| | |
| | | String avatar2 = os.getHttp() + os.getEndpoint() + "/" + f.getId(); |
| | | if(user!=null){ |
| | | String avatar = user.getAvatar(); |
| | | int result1 = FaceSystem.getResult(avatar, avatar2); |
| | | if(result1<70){ |
| | | flag++; |
| | | }else{ |
| | | deleteFile(f.getId()); |
| | | if(StrUtil.isNotEmpty(avatar)){ |
| | | int result1 = FaceSystem.getResult(avatar, avatar2); |
| | | if(result1<60){ |
| | | flag++; |
| | | }else{ |
| | | deleteFile(f.getId());//是一个人删除图片 flag=0 |
| | | //如果抓拍图片跟司机照片对比是一个人,则下面的都不执行了。 |
| | | } |
| | | } |
| | | } |
| | | |
| | | if(user1!=null){ |
| | | //如果抓拍图片跟司机照片对比不是一个人,则再对比下配送员。 |
| | | if(user1!=null&&flag>0){ |
| | | String avatar = user1.getAvatar(); |
| | | int result1 = FaceSystem.getResult(avatar, avatar2); |
| | | if(result1<70){ |
| | | flag++; |
| | | }else{ |
| | | deleteFile(f.getId()); |
| | | if(StrUtil.isNotEmpty(avatar)){ |
| | | int result1 = FaceSystem.getResult(avatar, avatar2); |
| | | if(result1<60){ |
| | | flag++; |
| | | }else{ |
| | | deleteFile(f.getId()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if(flag>0){ |
| | | if(flag>1){ |
| | | Alarm alarm = new Alarm(); |
| | | alarm.setCarNo(one.getCarNo()); |
| | | alarm.setCarId(one.getId()); |
| | |
| | | alarm.setValue("车厢异常开启"); |
| | | alarm.setAlarmImg(avatar2); |
| | | iAlarmService.saveOrUpdate(alarm); |
| | | |
| | | EventLog eventLog = new EventLog(); |
| | | eventLog.setCarNo(one.getCarNo()); |
| | | eventLog.setType(5); |
| | | eventLog.setRefId(avatar2); |
| | | iEventLogService.saveOrUpdate(eventLog); |
| | | } |
| | | |
| | | } catch (Exception e) { |