| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package com.xjrsoft.module.hikvision.util;
- import com.google.gson.JsonObject;
- import com.xjrsoft.module.teacher.mapper.FaceImportMapper;
- import java.io.ByteArrayOutputStream;
- import java.io.InputStream;
- import java.net.URL;
- import java.util.Base64;
- import java.util.HashMap;
- import java.util.Map;
- public class FaceImportUtil {
- private static FaceImportMapper faceImportMapper;
- private static ApiUtil apiUtil;
- public static String ImportTeacherFace(Long id) {
- JsonObject paramJson = new JsonObject();
- paramJson.addProperty("personId", faceImportMapper.GetTeacherUserIdById(id));
- paramJson.addProperty("faceData", ImageToBase64(faceImportMapper.GetTeacherHikvisionImgById(id)));
- Map<String, String> querys = new HashMap<>();
- querys.put("tagId", "frs");
- String apiPath = "/api/resource/v1/face/single/add";
- String response = apiUtil.doPost(apiPath, String.valueOf(paramJson), querys);
- return response;
- }
- public static String ImportStudentFace(Long id) {
- JsonObject paramJson = new JsonObject();
- paramJson.addProperty("personId", faceImportMapper.GetStudentUserIdById(id));
- paramJson.addProperty("faceData", ImageToBase64(faceImportMapper.GetStudentHikvisionImgById(id)));
- Map<String, String> querys = new HashMap<>();
- querys.put("tagId", "frs");
- String apiPath = "/api/resource/v1/face/single/add";
- String response = apiUtil.doPost(apiPath, String.valueOf(paramJson), querys);
- return response;
- }
- public static String ImageToBase64(String imageUrl) {
- String base64String = "";
- try {
- URL url = new URL(imageUrl);
- InputStream inputStream = url.openStream();
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- byte[] buffer = new byte[4096];
- int bytesRead;
- while ((bytesRead = inputStream.read(buffer)) != -1) {
- outputStream.write(buffer, 0, bytesRead);
- }
- byte[] imageBytes = outputStream.toByteArray();
- base64String = Base64.getEncoder().encodeToString(imageBytes);
- inputStream.close();
- outputStream.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- return base64String;
- }
- }
|