From 4fb615c6956ad36679e1e3c9631f948e94365fe4 Mon Sep 17 00:00:00 2001 From: zc Date: Mon, 8 Sep 2025 15:15:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B4=E5=AE=89=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../file/controller/SysFileController.java | 12 +++++++++++- .../uniubi/controller/SysSdkController.java | 18 ++++++++++++++++-- .../mapper/system/SysPeopleRecordMapper.xml | 2 +- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/dcsoft-modules/dcsoft-file/src/main/java/com/dcsoft/file/controller/SysFileController.java b/dcsoft-modules/dcsoft-file/src/main/java/com/dcsoft/file/controller/SysFileController.java index 29020a7..3fe1105 100644 --- a/dcsoft-modules/dcsoft-file/src/main/java/com/dcsoft/file/controller/SysFileController.java +++ b/dcsoft-modules/dcsoft-file/src/main/java/com/dcsoft/file/controller/SysFileController.java @@ -362,6 +362,7 @@ public class SysFileController { */ private void checkPhoto(String imgBase64) { String token = redisService.getCacheObject("yf-Token"); + log.info("redis-token:{}", token); if (StringUtils.isBlank(token)) { try { long l = System.currentTimeMillis(); @@ -375,10 +376,13 @@ public class SysFileController { .header("sign", sign) .form(map) .timeout(5000).execute().body(); + log.info("请求宇泛token-result:{}", result); JSONObject jsonObject1 = JSONObject.parseObject(result); if (jsonObject1.getInteger("result") == 1 && StringUtils.isNotBlank(jsonObject1.getString("data"))) { token = jsonObject1.getString("data"); redisService.setCacheObject("yf-Token", token, 20 * 60 * 60L, TimeUnit.SECONDS); + } else { + throw new ServiceException("宇泛鉴权失败!"); } } catch (Exception e) { throw new ServiceException("宇泛鉴权失败!"); @@ -404,7 +408,13 @@ public class SysFileController { log.info("请求宇泛人脸返回:{}", result); JSONObject jsonObject1 = JSONObject.parseObject(result); if (jsonObject1.getInteger("result") != 1 || !jsonObject1.getBoolean("success")) { - throw new ServiceException("人脸检测失败,请重新上传"); + //token失效 + if (StringUtils.equals("WO_EXP-1203", jsonObject1.getString("code"))) { + redisService.deleteObject("yf-Token"); + this.checkPhoto(imgBase64); + } else { + throw new ServiceException("人脸检测失败,请重新上传"); + } } } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/uniubi/controller/SysSdkController.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/uniubi/controller/SysSdkController.java index 05c125a..14b6eed 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/uniubi/controller/SysSdkController.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/uniubi/controller/SysSdkController.java @@ -3,6 +3,7 @@ package com.dcsoft.system.uniubi.controller; import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.dcsoft.common.core.constant.Constants; import com.dcsoft.common.core.domain.R; @@ -351,8 +352,8 @@ public class SysSdkController { SysPeople sysPeople=new SysPeople(); sysPeople.setGuid(info.getPersonId()); SysPeople people= peopleService.selectByGuid(sysPeople); - if(people!=null){ - peopleRecord.setPeopleId(people.getId()+""); + if (people != null) { + peopleRecord.setPeopleId(people.getId() + ""); //考勤版本 // ; // peopleRecord.setFlag("0"); @@ -368,6 +369,19 @@ public class SysSdkController { //标准版本 // String imgUrl=getImg(info.getPath(),info.getIp(),eqs.getPassword()); // peopleRecord.setFilePath(imgUrl); + } else { + try { + String urls = "http://" + eqs.getIp() + ":8090/person/find?pass=" + eqs.getPassword() + "&id=" + info.getPersonId(); + String body = HttpUtil.createGet(urls) + .timeout(5000) + .execute() + .body(); + JSONObject jsonObject1 = JSONObject.parseObject(body); + JSONObject data = (JSONObject) jsonObject1.getJSONArray("data").get(0); + String name = data.getString("name"); + peopleRecord.setAdmitName(name); + } catch (Exception e) { + } } if(StringUtils.isNotEmpty(info.getPath())){//考勤版本 String urls="http://"+eqs.getIp()+":8090/download/image?pass="+eqs.getPassword()+"&filename="+info.getPath(); diff --git a/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/SysPeopleRecordMapper.xml b/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/SysPeopleRecordMapper.xml index c5a38c4..9c53aec 100644 --- a/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/SysPeopleRecordMapper.xml +++ b/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/SysPeopleRecordMapper.xml @@ -55,7 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select spr.id, spr.people_id, spr.equipment_id, spr.device_ip, spr.admit_guid, spr.rec_mode, spr.file_path, spr.show_time, spr.show_date, spr.alive_type, spr.rec_score, spr.device_no, spr.device_version, spr.source, spr.type, spr.card_no, spr.device_name, spr.rec_type, spr.result, spr.permission_time_type, spr.pass_time_type, spr.rec_mode_type, spr.storage_id, spr.timestamp, spr.admit_name, spr.remark, spr.create_by, spr.create_time, spr.update_by, spr.update_time, - e.name equipmentName,spr.flag,spr.group_id,p.name people_name,p.gh,spr.sign + e.name equipmentName,spr.flag,spr.group_id,ifnull(p.name,spr.admit_name) people_name,p.gh,spr.sign from sys_people_record spr left join sys_equipment e on spr.equipment_id=e.id left join sys_people p on spr.people_id=p.id