From 5470d21a35286abe41fafc25a7deaabefd7c55da Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 28 五月 2024 14:30:21 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java |   53 +++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 47 insertions(+), 6 deletions(-)

diff --git a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
index 7622f76..2c2a98a 100644
--- a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
+++ b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -1,6 +1,7 @@
 package com.stylefeng.guns.modular.api;
 
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
 import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
@@ -8,14 +9,13 @@
 import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
 import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
 import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
-import com.stylefeng.guns.modular.system.model.Income;
-import com.stylefeng.guns.modular.system.model.UserInfo;
+import com.stylefeng.guns.modular.system.dao.SysReformistMapper;
+import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.util.ALiSendSms;
 //import com.stylefeng.guns.modular.system.util.ICBCPayUtil;
+import com.stylefeng.guns.modular.system.util.CompareFace;
 import com.stylefeng.guns.modular.system.util.HuaWeiSMSUtil;
 import com.stylefeng.guns.modular.system.warpper.ActivityWarpper;
-import com.stylefeng.guns.modular.system.model.Driver;
-import com.stylefeng.guns.modular.system.model.OrderPosition;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
 import com.stylefeng.guns.modular.system.warpper.*;
@@ -75,7 +75,8 @@
     @Autowired
     private IOrderLogisticsService orderLogisticsService;
 
-
+    @Autowired
+    private SysReformistMapper sysReformistMapper;
 
     /**
      * 获取短信验证码
@@ -325,6 +326,39 @@
     public ResultUtil<LoginWarpper> driverLogin(String phone, String password){
         try {
             return driverService.driverLogin(phone, password);
+        }catch (Exception e){
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+    @ResponseBody
+    @PostMapping("/api/driver/face")
+    @ApiOperation(value = "面容识别", tags = {"司机端-登录"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+            @ApiImplicitParam(value = "面容文件地址", name = "url", required = true, dataType = "String")
+    })
+    public ResultUtil<LoginWarpper> driverLogin(String url,HttpServletRequest request){
+        try {
+            Integer uid = driverService.getUserIdFormRedis(request);
+            if(null == uid){
+                return ResultUtil.tokenErr();
+            }
+            Driver driver = driverService.selectById(uid);
+            //通过第三方进行识别
+            if (CompareFace.faceCompare(url, driver.getFaceImgUrl())){
+                driver.setLastFacialTime(new Date());
+                driverService.updateById(driver);
+                return ResultUtil.success();
+            }
+            driver.setFailCount(driver.getFailCount()==null? 0: driver.getFailCount()+1);
+            driverService.updateById(driver);
+            if (driver.getFailCount()==5){
+                return new ResultUtil<>(-1,"已满五次,退回主页");
+            }
+            //成功的话保存最后识别时间
+            return ResultUtil.error("人脸认证失败,请重试");
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -716,7 +750,14 @@
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
-            Map<String, Object> map = driverService.queryPhone(uid);
+            String wechat = "";
+            Driver driver = driverService.selectById(uid);
+            List<SysReformist> companyId = sysReformistMapper.selectList(new EntityWrapper<SysReformist>().eq("companyId", driver.getCompanyId()));
+            for (SysReformist sysReformist : companyId) {
+                wechat = sysReformist.getDriverQrCode();
+            }
+
+            Map<String, Object> map = driverService.queryPhone(uid,wechat);
             return ResultUtil.success(map);
         }catch (Exception e){
             e.printStackTrace();

--
Gitblit v1.7.1