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},