Browse Source

提交

mine
袁强 6 months ago
parent
commit
396195bc29
  1. 27
      yq-admin/src/main/java/yq/web/controller/mine/MineFaceController.java
  2. 8
      yq-common/src/main/java/yq/common/utils/FaceEnginUtil.java
  3. 1
      yq-system/src/main/java/yq/system/domain/MineFace.java
  4. 1
      yq-system/src/main/java/yq/system/service/impl/MineFaceServiceImpl.java
  5. 2
      yq-system/src/main/resources/mapper/system/MineFaceMapper.xml

27
yq-admin/src/main/java/yq/web/controller/mine/MineFaceController.java

@ -1,5 +1,9 @@
package yq.web.controller.mine; 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 java.util.List;
import javax.servlet.http.HttpServletResponse; 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.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import yq.common.annotation.Log; import yq.common.annotation.Log;
import yq.common.core.controller.BaseController; import yq.common.core.controller.BaseController;
import yq.common.core.domain.AjaxResult; import yq.common.core.domain.AjaxResult;
import yq.common.enums.BusinessType; import yq.common.enums.BusinessType;
import yq.common.exception.ServiceException; import yq.common.exception.ServiceException;
import yq.common.utils.FaceEnginUtil;
import yq.framework.config.ServerConfig;
import yq.system.domain.MineFace; import yq.system.domain.MineFace;
import yq.system.service.IMineFaceService; import yq.system.service.IMineFaceService;
import yq.common.utils.poi.ExcelUtil; import yq.common.utils.poi.ExcelUtil;
@ -39,6 +46,8 @@ public class MineFaceController extends BaseController
@Autowired @Autowired
private IMineFaceService mineFaceService; private IMineFaceService mineFaceService;
@Autowired
private ServerConfig serverConfig;
/** /**
* 查询请填写功能名称列表 * 查询请填写功能名称列表
*/ */
@ -78,11 +87,19 @@ public class MineFaceController extends BaseController
* 新增请填写功能名称 * 新增请填写功能名称
*/ */
@PreAuthorize("@ss.hasPermi('system:face:add')") @PreAuthorize("@ss.hasPermi('system:face:add')")
@Log(title = "【人脸录入】", businessType = BusinessType.INSERT) @Log(title = "【人脸数据录入】", businessType = BusinessType.INSERT)
@PostMapping @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)); return toAjax(mineFaceService.insertMineFace(mineFace));
} }
@ -94,6 +111,8 @@ public class MineFaceController extends BaseController
@PutMapping @PutMapping
public AjaxResult edit(@RequestBody MineFace mineFace) public AjaxResult edit(@RequestBody MineFace mineFace)
{ {
MineFace face = mineFaceService.selectMineFaceById(mineFace.getId());
return toAjax(mineFaceService.updateMineFace(mineFace)); return toAjax(mineFaceService.updateMineFace(mineFace));
} }

8
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 javax.imageio.ImageIO;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.ArrayList; import java.util.ArrayList;
@ -72,8 +73,6 @@ public class FaceEnginUtil {
functionConfiguration.setSupportLiveness(true); functionConfiguration.setSupportLiveness(true);
functionConfiguration.setSupportIRLiveness(true); functionConfiguration.setSupportIRLiveness(true);
engineConfiguration.setFunctionConfiguration(functionConfiguration); engineConfiguration.setFunctionConfiguration(functionConfiguration);
//初始化引擎 //初始化引擎
errorCode = faceEngine.init(engineConfiguration); errorCode = faceEngine.init(engineConfiguration);
@ -85,15 +84,12 @@ public class FaceEnginUtil {
/** /**
* 录入人脸接口存入byte数组特征值 * 录入人脸接口存入byte数组特征值
* @param file
* @return * @return
*/ */
public static byte[] uploadInput(MultipartFile file) { public static byte[] uploadInput(InputStream inputstream) {
FaceEngine faceEngine = FaceEnginUtil.init(); FaceEngine faceEngine = FaceEnginUtil.init();
InputStream inputstream = null;
ImageInfo imageInfo = null; ImageInfo imageInfo = null;
try { try {
inputstream = file.getInputStream();
imageInfo = ImageFactory.getRGBData(inputstream); imageInfo = ImageFactory.getRGBData(inputstream);
if (inputstream != null) { if (inputstream != null) {
inputstream.close(); inputstream.close();

1
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") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime; private Date createTime;
private byte[] faceByte;
} }

1
yq-system/src/main/java/yq/system/service/impl/MineFaceServiceImpl.java

@ -24,6 +24,7 @@ public class MineFaceServiceImpl implements IMineFaceService
@Autowired @Autowired
private MineFaceMapper mineFaceMapper; private MineFaceMapper mineFaceMapper;
/** /**
* 查询请填写功能名称 * 查询请填写功能名称
* *

2
yq-system/src/main/resources/mapper/system/MineFaceMapper.xml

@ -51,6 +51,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="isWork != null">is_work,</if> <if test="isWork != null">is_work,</if>
<if test="remark != null">remark,</if> <if test="remark != null">remark,</if>
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
<if test="faceByte != null">face_byte,</if>
<if test="groupId != null">group_id,</if> <if test="groupId != null">group_id,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
@ -62,6 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="isWork != null">#{isWork},</if> <if test="isWork != null">#{isWork},</if>
<if test="remark != null">#{remark},</if> <if test="remark != null">#{remark},</if>
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="faceByte != null">#{faceByte},</if>
<if test="groupId != null">#{groupId},</if> <if test="groupId != null">#{groupId},</if>
</trim> </trim>
</insert> </insert>

Loading…
Cancel
Save