Browse Source

提交

mine
袁强 5 months ago
parent
commit
f70d822574
  1. 38
      yq-admin/src/main/java/yq/web/controller/mine/MineFaceController.java
  2. 50
      yq-admin/src/main/java/yq/web/controller/nologin/NoLogin.java

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

@ -1,9 +1,12 @@
package yq.web.controller.mine;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
@ -20,7 +23,7 @@ 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;
@ -91,12 +94,14 @@ public class MineFaceController extends BaseController
@PostMapping
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("文件不存在");
}
byte[] bytes = FaceEnginUtil.uploadInput(file);
String faceUrl = serverConfig.getUrl() + mineFace.getFaceUrl();
URL url = new URL(faceUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000); // 设置超时时间(毫秒)
connection.setReadTimeout(5000); // 设置读取超时时间(毫秒)
InputStream inputStream = connection.getInputStream();
byte[] bytes = FaceEnginUtil.uploadInput(inputStream);
mineFace.setFaceByte(bytes);
}
return toAjax(mineFaceService.insertMineFace(mineFace));
@ -108,10 +113,19 @@ public class MineFaceController extends BaseController
@PreAuthorize("@ss.hasPermi('system:face:edit')")
@Log(title = "【人脸修改】", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody MineFace mineFace)
{
public AjaxResult edit(@RequestBody MineFace mineFace) throws IOException {
MineFace face = mineFaceService.selectMineFaceById(mineFace.getId());
if(StrUtil.isNotEmpty(mineFace.getFaceUrl())&& !ObjectUtil.equals(mineFace.getFaceUrl(),face.getFaceUrl())){
String faceUrl = serverConfig.getUrl() + mineFace.getFaceUrl();
URL url = new URL(faceUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000); // 设置超时时间(毫秒)
connection.setReadTimeout(5000); // 设置读取超时时间(毫秒)
InputStream inputStream = connection.getInputStream();
byte[] bytes = FaceEnginUtil.uploadInput(inputStream);
mineFace.setFaceByte(bytes);
}
return toAjax(mineFaceService.updateMineFace(mineFace));
}

50
yq-admin/src/main/java/yq/web/controller/nologin/NoLogin.java

@ -2,16 +2,28 @@ package yq.web.controller.nologin;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.security.core.parameters.P;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import yq.common.annotation.Log;
import yq.common.core.domain.AjaxResult;
import yq.common.core.domain.entity.SysDevice;
import yq.common.core.domain.entity.SysTicket;
import yq.common.core.domain.vo.SysDeviceVo;
import yq.common.enums.BusinessType;
import yq.common.exception.ServiceException;
import yq.common.utils.EzvizUtil;
import yq.common.utils.FaceEnginUtil;
import yq.system.domain.MineFace;
import yq.system.domain.MineWarning;
import yq.system.service.IMineFaceService;
import yq.system.service.IMineWarningService;
import yq.system.service.ISysDeviceService;
import yq.common.utils.FileUploadUtil;
@ -41,8 +53,41 @@ public class NoLogin {
private ISysDeviceService sysDeviceService;
@Autowired
private ISysTicketService ticketService;
@Autowired
private IMineWarningService mineWarningService;
@Autowired
private IMineFaceService mineFaceService;
private static final DateTimeFormatter DATE_FORMAT = DateTimeFormatter.ofPattern("yyyy-MM-dd");
private static final DateTimeFormatter TIME_FORMAT = DateTimeFormatter.ofPattern("HH-mm-ss");
/**
* 人脸匹配
*/
@PostMapping("/compareFaces")
public AjaxResult compareFaces(MultipartFile multipartFile) throws IOException {
if(multipartFile !=null){
List<MineFace> list = mineFaceService.selectMineFaceByList();
if(!list.isEmpty()){
for (MineFace mineFace : list) {
float v = FaceEnginUtil.uploadContrast(multipartFile, mineFace.getFaceByte());
if(v>0.7){
mineFace.setFaceByte(null);
return AjaxResult.success(mineFace);
}
}
}
}
return AjaxResult.error("未识别出人员");
}
@PostMapping("/saveMineWarning")
public AjaxResult saveMineWarning(MineWarning mineWarning) throws IOException {
return AjaxResult.success(mineWarningService.insertMineWarning(mineWarning));
}
//通过萤石云进行取流
@GetMapping("/list")
public List<Map<String, Object>>list(Integer deviceState, Long depeId)
@ -109,4 +154,9 @@ public class NoLogin {
device.setDeviceState(0);
return AjaxResult.success(sysDeviceService.updateSysDevice(device));
}
}

Loading…
Cancel
Save