diff --git a/on-visitor-web/.gitignore b/on-visitor-web/.gitignore
new file mode 100644
index 0000000..7f628be
--- /dev/null
+++ b/on-visitor-web/.gitignore
@@ -0,0 +1 @@
+src/main/webapp/
\ No newline at end of file
diff --git a/on-visitor-web/pom.xml b/on-visitor-web/pom.xml
index 800b00b..f9ded41 100644
--- a/on-visitor-web/pom.xml
+++ b/on-visitor-web/pom.xml
@@ -283,7 +283,7 @@
com.alibaba
fastjson
- 1.2.3
+ 1.2.44
com.fasterxml.jackson.core
@@ -300,6 +300,13 @@
spring-session-data-redis
2.0.1.RELEASE
+
+
+
+ com.squareup.okhttp3
+ okhttp
+ 3.14.9
+
@@ -349,6 +356,7 @@
true
+ never
false
@@ -360,6 +368,7 @@
true
+ never
false
@@ -371,6 +380,7 @@
true
+ never
false
@@ -382,6 +392,7 @@
false
+ never
true
diff --git a/on-visitor-web/src/main/java/com/lecooai/visitor/web/config/BatchConfig.java b/on-visitor-web/src/main/java/com/lecooai/visitor/web/config/BatchConfig.java
index 9ac39f3..6db71b5 100644
--- a/on-visitor-web/src/main/java/com/lecooai/visitor/web/config/BatchConfig.java
+++ b/on-visitor-web/src/main/java/com/lecooai/visitor/web/config/BatchConfig.java
@@ -59,21 +59,36 @@ public class BatchConfig {
@Autowired
private DataSource dataSource;
- /*@Bean
+
+ /**
+ * @Author yangkai
+ * @Description 重新计算人脸特征值,替换人脸
+ * @Date 2024/5/8
+ * @Param
+ * @return
+ **/
+ @Bean
public Job singleStepJob() {
return jobBuilderFactory.get("singleStepJob")
.listener(listener())
.start(itemReaderFromDBJobStep())
.build();
- }*/
+ }
- @Bean
+ /**
+ * @Author yangkai
+ * @Description 导入到新的saas系统中,注释不可删除
+ * @Date 2024/5/8
+ * @Param
+ * @return
+ **/
+ /*@Bean
public Job empStepJob() {
return jobBuilderFactory.get("empStepJob")
.listener(listener())
.start(empReaderFromDBJobStep())
.build();
- }
+ }*/
@Bean
public Step uppercaseStep() {
diff --git a/on-visitor-web/src/main/java/com/lecooai/visitor/web/sys/service/support/EmpServiceSupport.java b/on-visitor-web/src/main/java/com/lecooai/visitor/web/sys/service/support/EmpServiceSupport.java
index 2651974..67b3fe6 100644
--- a/on-visitor-web/src/main/java/com/lecooai/visitor/web/sys/service/support/EmpServiceSupport.java
+++ b/on-visitor-web/src/main/java/com/lecooai/visitor/web/sys/service/support/EmpServiceSupport.java
@@ -395,7 +395,7 @@ public class EmpServiceSupport
//移除掉第一次添加的管理员
String userCode = UserUtils.getUser().getUserCode();
if (!BusinessUtils.isSecAdmin(userCode)) {
- userDataScopeService.deleteByOfficeCode(office.getOfficeCode());
+// userDataScopeService.deleteByOfficeCode(office.getOfficeCode());
}
//调用新增
executeAddInfo(office, empIds, adminIds, flag);
@@ -590,21 +590,18 @@ public class EmpServiceSupport
return new ResponseInfo(ResponseCode.FACE_FETCH_FAIL, hasObj.getString("errMsg"));
}
- JSONObject obj = faceServiceSupport.hasface(token, id, base64Image);
- JSONObject faceRectangle = obj.getJSONObject("data");
- int status = obj.getInteger("status");
+ JSONObject obj = faceServiceSupport.getFaceExtraction(token, id, base64Image);
- if (status != 0) {
- return new ResponseInfo(ResponseCode.FACE_FETCH_FAIL, obj.getString("errMsg"));
- }
- if (!ObjectUtils.anyNotNull(faceRectangle) || faceRectangle.getJSONObject("faceRectangle").isEmpty()) {
- return new ResponseInfo(ResponseCode.CW_FACE_IMG_NO_FACE, "no face");
+
+ if (!obj.containsKey("feature")) {
+ return new ResponseInfo(ResponseCode.FACE_FETCH_FAIL, obj.getString("errorMessage"));
}
+
Date date = new Date();
emp.setUpdateTime(date);
emp.setFaceImageName(newFileName);
- JSONArray array = faceRectangle.getJSONArray("feature");
+ JSONArray array = obj.getJSONArray("feature");
EmpFaceFeature empFaceFeature = new EmpFaceFeature();
empFaceFeature.setEmpId(id);
@@ -632,8 +629,6 @@ public class EmpServiceSupport
}
this.updAuthMapping(emp);
-
-
// }
return new ResponseInfo(auditStatus);
} catch (UnsupportedFormatException e){
@@ -641,6 +636,8 @@ public class EmpServiceSupport
} catch (IOException e) {
e.printStackTrace();
return new ResponseInfo(ResponseCode.FILE_UPLOAD_FAIL);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
}
}
@@ -1004,17 +1001,17 @@ public class EmpServiceSupport
faceImage = faceImage.replaceAll("data:image/jpeg;base64,", "");
- JSONObject faceRectangle = faceServiceSupport.hasface("", emp.getId(), faceImage);
- int status = faceRectangle.getInteger("status");
- faceRectangle = faceRectangle.getJSONObject("data");
+ JSONObject faceRectangle = null;
+ try {
+ faceRectangle = faceServiceSupport.getFaceExtraction("", emp.getId(), faceImage);
+ } catch (Exception e) {
+ return e.getMessage();
+ }
String userName = emp.getRealName();
- if (status != 0) {
- return "抱歉,您的账号 " + userName + " 注册失败,"+faceRectangle.getString("errMsg");
+ if (!faceRectangle.containsKey("feature")) {
+ return "抱歉,您的账号 " + userName + " 注册失败,"+faceRectangle.getString("errorMessage");
}
- if (!ObjectUtils.anyNotNull(faceRectangle) || faceRectangle.getJSONObject("faceRectangle").isEmpty()) {
- return "抱歉,您的账号 " + userName + " 注册失败,上传的头像未找到人脸!";
- }
JSONObject json = imageUtil.base64ToStorage(faceImage, true);
@@ -1077,7 +1074,7 @@ public class EmpServiceSupport
int status = getJson.getInteger("status");
String featureStr = "";
if (0 == status) {
- featureStr = getJson.getString("feature");
+ featureStr = getJson.getJSONArray("feature").toJSONString();
} else {
return getJson;
}
diff --git a/on-visitor-web/src/main/java/com/lecooai/visitor/web/sys/service/support/FaceServiceSupport.java b/on-visitor-web/src/main/java/com/lecooai/visitor/web/sys/service/support/FaceServiceSupport.java
index b2132e0..16f3ddb 100644
--- a/on-visitor-web/src/main/java/com/lecooai/visitor/web/sys/service/support/FaceServiceSupport.java
+++ b/on-visitor-web/src/main/java/com/lecooai/visitor/web/sys/service/support/FaceServiceSupport.java
@@ -4,27 +4,22 @@ package com.lecooai.visitor.web.sys.service.support;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
-import com.jeesite.common.config.Global;
-import com.lecooai.visitor.web.sys.entity.EmpFaceFeature;
+import com.jeesite.common.lang.StringUtils;
import com.lecooai.visitor.web.sys.utils.ImageUtil;
+import com.lecooai.visitor.web.utils.OkHttpUtil;
import kong.unirest.HttpResponse;
import kong.unirest.Unirest;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.MediaType;
import org.springframework.stereotype.Component;
-import org.springframework.util.LinkedMultiValueMap;
-import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
-import java.util.Map;
+import java.util.UUID;
@Slf4j
@Component
@@ -36,9 +31,6 @@ public class FaceServiceSupport {
@Value("${face.server}")
private String faceServer;
- @Value("${face.updServer}")
- private String updFaceServer;//升级版本时测试用
-
@Value("${face.authorizePath}")
private String authorizePath;
@@ -83,23 +75,6 @@ public class FaceServiceSupport {
}
public String getToken(){
-
-
- /********restTemplate 请求方式*************/
- /*HttpHeaders headers = new HttpHeaders();
- headers.setContentType(MediaType.APPLICATION_JSON); //OK
-
- MultiValueMap map = new LinkedMultiValueMap<>();
- map.add("name", uname);
- map.add("password", password);
- HttpEntity