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