From 396195bc29e8a41428df82a8bde233b07346504e Mon Sep 17 00:00:00 2001
From: yq183 <645046984@qq.com>
Date: Wed, 8 Jan 2025 15:10:58 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../controller/mine/MineFaceController.java | 27 ++++++++++++++++---
.../java/yq/common/utils/FaceEnginUtil.java | 8 ++----
.../main/java/yq/system/domain/MineFace.java | 1 +
.../service/impl/MineFaceServiceImpl.java | 1 +
.../mapper/system/MineFaceMapper.xml | 2 ++
5 files changed, 29 insertions(+), 10 deletions(-)
diff --git a/yq-admin/src/main/java/yq/web/controller/mine/MineFaceController.java b/yq-admin/src/main/java/yq/web/controller/mine/MineFaceController.java
index cab89cc..21da311 100644
--- a/yq-admin/src/main/java/yq/web/controller/mine/MineFaceController.java
+++ b/yq-admin/src/main/java/yq/web/controller/mine/MineFaceController.java
@@ -1,5 +1,9 @@
package yq.web.controller.mine;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
@@ -16,11 +20,14 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
import yq.common.annotation.Log;
import yq.common.core.controller.BaseController;
import yq.common.core.domain.AjaxResult;
import yq.common.enums.BusinessType;
import yq.common.exception.ServiceException;
+import yq.common.utils.FaceEnginUtil;
+import yq.framework.config.ServerConfig;
import yq.system.domain.MineFace;
import yq.system.service.IMineFaceService;
import yq.common.utils.poi.ExcelUtil;
@@ -39,6 +46,8 @@ public class MineFaceController extends BaseController
@Autowired
private IMineFaceService mineFaceService;
+ @Autowired
+ private ServerConfig serverConfig;
/**
* 查询【请填写功能名称】列表
*/
@@ -78,11 +87,19 @@ public class MineFaceController extends BaseController
* 新增【请填写功能名称】
*/
@PreAuthorize("@ss.hasPermi('system:face:add')")
- @Log(title = "【人脸录入】", businessType = BusinessType.INSERT)
+ @Log(title = "【人脸数据录入】", businessType = BusinessType.INSERT)
@PostMapping
- public AjaxResult add(@Validated @RequestBody MineFace mineFace)
- {
-
+ public AjaxResult add(@Validated @RequestBody MineFace mineFace) throws IOException {
+ if(StrUtil.isNotEmpty(mineFace.getFaceUrl())){
+ String url = serverConfig.getUrl() + mineFace.getFaceUrl();
+ File file = new File(url);
+ if(!file.exists()) {
+ throw new ServiceException("文件不存在");
+ }
+ FileInputStream fileInputStream = new FileInputStream(file);
+ byte[] bytes = FaceEnginUtil.uploadInput(fileInputStream);
+ mineFace.setFaceByte(bytes);
+ }
return toAjax(mineFaceService.insertMineFace(mineFace));
}
@@ -94,6 +111,8 @@ public class MineFaceController extends BaseController
@PutMapping
public AjaxResult edit(@RequestBody MineFace mineFace)
{
+ MineFace face = mineFaceService.selectMineFaceById(mineFace.getId());
+
return toAjax(mineFaceService.updateMineFace(mineFace));
}
diff --git a/yq-common/src/main/java/yq/common/utils/FaceEnginUtil.java b/yq-common/src/main/java/yq/common/utils/FaceEnginUtil.java
index 7533243..bca8ef8 100644
--- a/yq-common/src/main/java/yq/common/utils/FaceEnginUtil.java
+++ b/yq-common/src/main/java/yq/common/utils/FaceEnginUtil.java
@@ -17,6 +17,7 @@ import yq.common.utils.file.ImageUtils;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
+import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
@@ -72,8 +73,6 @@ public class FaceEnginUtil {
functionConfiguration.setSupportLiveness(true);
functionConfiguration.setSupportIRLiveness(true);
engineConfiguration.setFunctionConfiguration(functionConfiguration);
-
-
//初始化引擎
errorCode = faceEngine.init(engineConfiguration);
@@ -85,15 +84,12 @@ public class FaceEnginUtil {
/**
* 录入人脸接口存入byte数组特征值
- * @param file
* @return
*/
- public static byte[] uploadInput(MultipartFile file) {
+ public static byte[] uploadInput(InputStream inputstream) {
FaceEngine faceEngine = FaceEnginUtil.init();
- InputStream inputstream = null;
ImageInfo imageInfo = null;
try {
- inputstream = file.getInputStream();
imageInfo = ImageFactory.getRGBData(inputstream);
if (inputstream != null) {
inputstream.close();
diff --git a/yq-system/src/main/java/yq/system/domain/MineFace.java b/yq-system/src/main/java/yq/system/domain/MineFace.java
index b659567..229bdfa 100644
--- a/yq-system/src/main/java/yq/system/domain/MineFace.java
+++ b/yq-system/src/main/java/yq/system/domain/MineFace.java
@@ -65,5 +65,6 @@ public class MineFace
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
+ private byte[] faceByte;
}
diff --git a/yq-system/src/main/java/yq/system/service/impl/MineFaceServiceImpl.java b/yq-system/src/main/java/yq/system/service/impl/MineFaceServiceImpl.java
index a759aad..89e934f 100644
--- a/yq-system/src/main/java/yq/system/service/impl/MineFaceServiceImpl.java
+++ b/yq-system/src/main/java/yq/system/service/impl/MineFaceServiceImpl.java
@@ -24,6 +24,7 @@ public class MineFaceServiceImpl implements IMineFaceService
@Autowired
private MineFaceMapper mineFaceMapper;
+
/**
* 查询【请填写功能名称】
*
diff --git a/yq-system/src/main/resources/mapper/system/MineFaceMapper.xml b/yq-system/src/main/resources/mapper/system/MineFaceMapper.xml
index 8f807a4..0a56bd0 100644
--- a/yq-system/src/main/resources/mapper/system/MineFaceMapper.xml
+++ b/yq-system/src/main/resources/mapper/system/MineFaceMapper.xml
@@ -51,6 +51,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
is_work,
remark,
create_time,
+ face_byte,
group_id,
@@ -62,6 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{isWork},
#{remark},
#{createTime},
+ #{faceByte},
#{groupId},