From 603cb36a5123e46656b06a5deb8d7ac7ff81307f Mon Sep 17 00:00:00 2001
From: 554325746@qq.com <554325746@qq.com>
Date: 星期三, 25 十二月 2019 08:48:51 +0800
Subject: [PATCH] a
---
app/src/main/java/com/basic/security/manager/PersonManager.java | 117 +++++++++++++++++++++++++---------------------------------
1 files changed, 50 insertions(+), 67 deletions(-)
diff --git a/app/src/main/java/com/basic/security/manager/PersonManager.java b/app/src/main/java/com/basic/security/manager/PersonManager.java
index 033be9c..631eee2 100644
--- a/app/src/main/java/com/basic/security/manager/PersonManager.java
+++ b/app/src/main/java/com/basic/security/manager/PersonManager.java
@@ -12,6 +12,7 @@
import com.basic.security.model.Person;
import com.basic.security.model.PersonA;
import com.basic.security.utils.Base64Util;
+import com.basic.security.utils.BasicIdUtil;
import com.basic.security.utils.BitmapHolder;
import com.basic.security.utils.CompareFeatureResult;
import com.basic.security.utils.Constants;
@@ -30,12 +31,10 @@
import java.io.ByteArrayOutputStream;
import java.io.File;
-import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.UUID;
import static com.basic.security.model.Sync.needSync;
@@ -45,8 +44,10 @@
static BitmapHolder bitmapHolder = new BitmapHolder();
public static void savePerson(ModelAdapter person) {
+ removePersonFromCache(person);
save(person);
- uploadToTemporary(person.getId());
+ GuestManager.updateGuestName(person);
+// uploadToTemporary(person.getId());
}
public static void uploadToTemporary(String personId) {
@@ -89,18 +90,18 @@
public void onError(Throwable ex, boolean isOnCallback) {
ex.printStackTrace();
- System.out.println("httponError");
+ System1.out.println("httponError");
}
public void onCancelled(CancelledException cex) {
- System.out.println("httponCancelled");
+ System1.out.println("httponCancelled");
}
public void onFinished() {
}
});
} catch (Exception e) {
- System.out.println("PersonManager.execute " + e.getMessage());
+ System1.out.println("PersonManager.execute " + e.getMessage());
// e.printStackTrace();
}
}
@@ -122,9 +123,15 @@
}
}
}
- FaceId.instance.removeFeatureFromDb(person.getString(Person.id));
+ FeatureManager.removeFeature(person.getString(Person.id));
PersonIdentityManager.deletePersonIdentityByPersonId(person.getString(Person.id));
- delete(person);
+ PersonAManager.deletePersonAByPerson(person);
+ if (Constants.deletePersonPhysical) {
+ deletePhysically(person);
+ } else {
+ deleteWithDelFlag(person);
+ }
+ removePersonFromCache(person);
SocketUtil.rpcCallDeletePerson(person);
if (Constants.isIndoor) {
GuestManager.removePersonId(person.getString(Person.id));
@@ -165,16 +172,30 @@
return allPersonList;
}
- public static ModelAdapter findPersonById(String personId) {
- ModelAdapter person = findPersonByIdMap.get(personId);
- if (System.currentTimeMillis() - lastFindPersonById < 1000 && person != null) {
- return person;
- } else {
- person = findById("person", personId);
- findPersonByIdMap.put(personId, person);
- lastFindPersonById = System.currentTimeMillis();
+ public static void removePersonFromCache(ModelAdapter person) {
+ try {
+ String personId = person.getString(Person.id);
+ findPersonByIdMap.remove(personId);
+ } catch (Exception e) {
+ e.printStackTrace();
}
- return person;
+ }
+
+ public static ModelAdapter findPersonById(String personId) {
+ try {
+ ModelAdapter person = findPersonByIdMap.get(personId);
+ if (System.currentTimeMillis() - lastFindPersonById < 1000 && person != null) {
+ return person;
+ } else {
+ person = findById("person", personId);
+ findPersonByIdMap.put(personId, person);
+ lastFindPersonById = System.currentTimeMillis();
+ }
+ return person;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
}
// 鑾峰彇鍚湁鐗瑰畾韬唤鐨勬墍鏈変汉鍛�
@@ -204,30 +225,6 @@
return personList;
}
- public static boolean isDuplicate(ModelAdapter selectedPerson) {
- try {
- byte[] camera_image_feature = selectedPerson.getBlob("camera_image_feature");
- return isDuplicate(camera_image_feature);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return false;
- }
-
- public static boolean isDuplicate(byte[] camera_image_feature) {
- try {
- if (camera_image_feature != null && camera_image_feature.length > 0) {
- String compareResultStr = FaceId.instance.compareFeatureInDb(camera_image_feature, Constants.minRecognizeScore);
- ModelAdapter person = PersonManager.findPersonById(compareResultStr.split(",", -1)[0]);
- if (person != null) {
- return true;
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return false;
- }
public static void reFindPerson(CompareFeatureResult compareFeatureResult) {
try {
@@ -369,7 +366,7 @@
BaseApplication.getApplication().detectLock.lock();
String facePosition = FaceId.instance.facePosition(file.getAbsolutePath());
if (facePosition.length() <= 0) {
- System.out.println("SaveTestData.run 娌℃湁鎵惧埌浜鸿劯");
+ System1.out.println("SaveTestData.run 娌℃湁鎵惧埌浜鸿劯");
return null;
}
String[] rectFace = facePosition.split(",");
@@ -380,16 +377,16 @@
byte[] featureData = FaceId.instance.extractFeature(file.getAbsolutePath());
BaseApplication.getApplication().detectLock.unlock();
if (featureData == null) {
- System.out.println("SaveTestData.run 鎻愬彇鐗瑰緛澶辫触! 璇锋鏌DK鏄惁鍒濆鍖�");
+ System1.out.println("SaveTestData.run 鎻愬彇鐗瑰緛澶辫触! 璇锋鏌DK鏄惁鍒濆鍖�");
return null;
}
- String compareResultStr = FaceId.instance.compareFeatureInDb(featureData, Constants.minRecognizeScore);
+ String compareResultStr = FeatureManager.compareFeature(featureData, Constants.minRecognizeScore);
String personId = compareResultStr.split(",", -1)[0];
if (!TextUtils.isEmpty(personId)) {
return findById(Person.tableName, personId);
}
ModelAdapter person = new ModelAdapter()
- .setString(Person.id, UUID.randomUUID().toString())
+ .setString(Person.id, BasicIdUtil.getPersonId(featureData))
.setString("name", fileName)
.setString("sign_up_status", "宸叉敞鍐�")
.setString("verify_status", "涓嶉渶瑕侀獙璇佽韩浠借瘉")
@@ -399,10 +396,12 @@
.setString("company_id", CompanyManager.getCompanyId())
.setString(Person.org_id, orgId)
.setString("table", "person");
+ person.setString(Person.device_id, DeviceManager.getDeviceId());
+ person.setString(Person.company_id, CompanyManager.getCompanyId());
person.setBlob("camera_image_feature", featureData);
person.setBlob("camera_image_path", faceJpgData);
PersonManager.savePerson(person);
- FaceId.instance.addFeatureToDb(person.getId(), featureData);
+ FeatureManager.addFeature(person.getId(), featureData);
return person;
} catch (Exception e) {
e.printStackTrace();
@@ -439,7 +438,6 @@
person.setString(Person.org_id, "");
person.setString(Person.org_ids, "");
person.setString(Person.id, personA.getString(PersonA.id));
- download_camera_image_path(person);
person.setString(Person.name, personA.getString(PersonA.personName));
person.setString(Person.camera_image_feature, personA.getString(PersonA.faceFeature));
person.setString(Person.phone, personA.getString(PersonA.phoneNum));
@@ -474,29 +472,14 @@
if (person.getString(Person.del_flag).equals("0")) {
byte[] feature = person.getBlob(Person.camera_image_feature);
if (feature != null && feature.length > 10) {
- FaceId.instance.addFeatureToDb(person.getId(), feature);
+ FeatureManager.addFeature(person.getId(), feature);
}
} else {
- FaceId.instance.removeFeatureFromDb(person.getId());
+ FeatureManager.removeFeature(person.getId());
}
savePerson(person);
}
- private void download_camera_image_path(ModelAdapter person) {
- try {
- String personPicUrl = personA.getString(PersonA.personPicUrl);
- if (TextUtils.isEmpty(personPicUrl)) {
- String camera_image_path = ModelAdapter.getAttachmentPath(personA.getId(), Person.camera_image_path, Person.tableName);
- File camera_image_path_file = new File(camera_image_path);
- if (!camera_image_path_file.exists()) {
- org.apache.commons.io.FileUtils.copyURLToFile(new URL(personPicUrl), camera_image_path_file);
- }
- person.setString(Person.camera_image_path, camera_image_path);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
public void updatePerson(ModelAdapter dbPerson) {
dbPerson.setString(Person.id, personA.getString(PersonA.id));
@@ -508,14 +491,14 @@
dbPerson.setString(Person.auto_init, "0");
dbPerson.setString(Person.table, Person.tableName);
dbPerson.setString(Person.del_flag, "0");
- download_camera_image_path(dbPerson);
+ PersonCameraImagePathManager.download_camera_image_path(personA.getString(PersonA.personPicUrl), dbPerson);
if (dbPerson.getString(Person.del_flag).equals("0")) {
byte[] feature = dbPerson.getBlob(Person.camera_image_feature);
if (feature != null && feature.length > 10) {
- FaceId.instance.addFeatureToDb(dbPerson.getId(), feature);
+ FeatureManager.addFeature(dbPerson.getId(), feature);
}
} else {
- FaceId.instance.removeFeatureFromDb(dbPerson.getId());
+ FeatureManager.removeFeature(dbPerson.getId());
}
dbPerson.setString(needSync, Constants.FALSE);
savePerson(dbPerson);
--
Gitblit v1.8.0