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