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; package yq.web.controller.mine;
import java.io.File; import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException; 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 java.util.List;
import javax.servlet.http.HttpServletResponse; 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.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;
@ -91,12 +94,14 @@ public class MineFaceController extends BaseController
@PostMapping @PostMapping
public AjaxResult add(@Validated @RequestBody MineFace mineFace) throws IOException { public AjaxResult add(@Validated @RequestBody MineFace mineFace) throws IOException {
if(StrUtil.isNotEmpty(mineFace.getFaceUrl())){ if(StrUtil.isNotEmpty(mineFace.getFaceUrl())){
String url = serverConfig.getUrl() + mineFace.getFaceUrl(); String faceUrl = serverConfig.getUrl() + mineFace.getFaceUrl();
File file = new File(url); URL url = new URL(faceUrl);
if(!file.exists()) { HttpURLConnection connection = (HttpURLConnection) url.openConnection();
throw new ServiceException("文件不存在"); connection.setRequestMethod("GET");
} connection.setConnectTimeout(5000); // 设置超时时间(毫秒)
byte[] bytes = FaceEnginUtil.uploadInput(file); connection.setReadTimeout(5000); // 设置读取超时时间(毫秒)
InputStream inputStream = connection.getInputStream();
byte[] bytes = FaceEnginUtil.uploadInput(inputStream);
mineFace.setFaceByte(bytes); mineFace.setFaceByte(bytes);
} }
return toAjax(mineFaceService.insertMineFace(mineFace)); return toAjax(mineFaceService.insertMineFace(mineFace));
@ -108,10 +113,19 @@ public class MineFaceController extends BaseController
@PreAuthorize("@ss.hasPermi('system:face:edit')") @PreAuthorize("@ss.hasPermi('system:face:edit')")
@Log(title = "【人脸修改】", businessType = BusinessType.UPDATE) @Log(title = "【人脸修改】", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
public AjaxResult edit(@RequestBody MineFace mineFace) public AjaxResult edit(@RequestBody MineFace mineFace) throws IOException {
{
MineFace face = mineFaceService.selectMineFaceById(mineFace.getId()); 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)); 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.convert.Convert;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import org.springframework.beans.factory.annotation.Autowired; 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.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import yq.common.annotation.Log;
import yq.common.core.domain.AjaxResult; import yq.common.core.domain.AjaxResult;
import yq.common.core.domain.entity.SysDevice; import yq.common.core.domain.entity.SysDevice;
import yq.common.core.domain.entity.SysTicket; import yq.common.core.domain.entity.SysTicket;
import yq.common.core.domain.vo.SysDeviceVo; 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.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.system.service.ISysDeviceService;
import yq.common.utils.FileUploadUtil; import yq.common.utils.FileUploadUtil;
@ -41,8 +53,41 @@ public class NoLogin {
private ISysDeviceService sysDeviceService; private ISysDeviceService sysDeviceService;
@Autowired @Autowired
private ISysTicketService ticketService; 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 DATE_FORMAT = DateTimeFormatter.ofPattern("yyyy-MM-dd");
private static final DateTimeFormatter TIME_FORMAT = DateTimeFormatter.ofPattern("HH-mm-ss"); 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") @GetMapping("/list")
public List<Map<String, Object>>list(Integer deviceState, Long depeId) public List<Map<String, Object>>list(Integer deviceState, Long depeId)
@ -109,4 +154,9 @@ public class NoLogin {
device.setDeviceState(0); device.setDeviceState(0);
return AjaxResult.success(sysDeviceService.updateSysDevice(device)); return AjaxResult.success(sysDeviceService.updateSysDevice(device));
} }
} }

Loading…
Cancel
Save