wang-hao-jie
2022-03-10 ae32c3a7d77e2ed114555623c70e3fbd1d6aba59
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/face/FaceImgController.java
@@ -13,8 +13,10 @@
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;
@@ -37,7 +39,7 @@
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
//人脸比对检测车厢异常开启
@RestController
@RequestMapping("/hk")
public class FaceImgController {
@@ -56,6 +58,8 @@
    private IAlarmService iAlarmService;
    @Autowired
    private RedisTemplateHelper redisTemplate;
    @Autowired
    private IEventLogService iEventLogService;
    @RequestMapping(value = "/faceImg", method = RequestMethod.POST)
@@ -76,6 +80,9 @@
            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());
@@ -100,25 +107,31 @@
                            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());
@@ -128,6 +141,12 @@
                                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) {