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/BaseManager.java |  128 +++++++++++++++++++++++++++++++++---------
 1 files changed, 101 insertions(+), 27 deletions(-)

diff --git a/app/src/main/java/com/basic/security/manager/BaseManager.java b/app/src/main/java/com/basic/security/manager/BaseManager.java
index cba76a2..6fe68fd 100644
--- a/app/src/main/java/com/basic/security/manager/BaseManager.java
+++ b/app/src/main/java/com/basic/security/manager/BaseManager.java
@@ -6,43 +6,83 @@
 
 import com.basic.security.model.ModelAdapter;
 import com.basic.security.model.Person;
-import com.basic.security.model.PersonA;
 import com.basic.security.model.Sync;
 import com.basic.security.utils.Base64Util;
 import com.basic.security.utils.Constants;
-import com.basic.security.utils.FaceId;
 import com.basic.security.utils.FrameUtil;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.UUID;
 
 //sqlite鏁版嵁搴撴搷浣滅殑鍏叡鍩虹绫�
 public class BaseManager {
     public static Map<String, List<String>> tableColumnNames = new HashMap<>();
-    public static List<String> syncTableNames =  new ArrayList<>();
+    public static Set<String> syncTableNames = new HashSet<>();
+
+    static {
+        syncTableNames.addAll(Arrays.asList(
+//            "base_setting",
+//            "business",
+//            "business_apply_device",
+//            "business_person",
+//            "cluster",
+//            "cluster_node",
+//            "cluster_setting",
+//            "confirm",
+//            "device",
+//            "guest",
+//            "hint_door_access",
+//            "hint_recognize_message",
+//            "hint_sign_up",
+//            "id_card",
+//            "identity",
+//            "Log",
+//            "OfficeDevice",
+                "org",
+//            "outdoor",
+                "person",
+                "person_identity",
+//            "temporary_person",
+//            "time",
+//            "user",
+                "dbtablepersons",
+                "dbTables",
+                "visit"
+        ));
+    }
 
     public static void save(ModelAdapter modelAdapter) {
+        String insertSql = "";
         try {
             if (modelAdapter != null) {
+                String table = modelAdapter.getString(Constants.TABLE);
+                if (table == null) {
+                    table = "";
+                }
+                PersonCameraImagePathManager.updateCameraImagePathExist(modelAdapter);
                 GetInsertOrUpdateSql getInsertOrUpdateSql = new GetInsertOrUpdateSql(modelAdapter).invoke();
-                String table = getInsertOrUpdateSql.getTable();
-                String insertSql = getInsertOrUpdateSql.getInsertSql();
-                if (syncTableNames.contains(table) && !Constants.FALSE.equals(modelAdapter.getString(Sync.needSync))) {
+                insertSql = getInsertOrUpdateSql.getInsertSql();
+                if (
+                        syncTableNames.contains(table) &&
+                                !Constants.FALSE.equals(modelAdapter.getString(Sync.needSync))) {
+//                    System1.out.println("BaseManager.save table=" + table + "   " + syncTableNames.contains(table) + " " + !Constants.FALSE.equals(modelAdapter.getString(Sync.needSync)) + " " + syncTableNames);
                     if (table.equals("person")) {
-                        if ("1".equals(modelAdapter.getString("all_device"))) {
-                            ClusterSerfSyncManager.sendData(insertSql);
+                        if ("1".equals(modelAdapter.getString("all_device")) || 1 == 1) {
+                            ClusterSerfSyncManager.sendData(RowToSerfManager.buildRowToSerf(modelAdapter, insertSql));
                             PersonAManager.savePersonAFromPerson(modelAdapter);
                         }
                     } else {
-                        ClusterSerfSyncManager.sendData(insertSql);
+                        ClusterSerfSyncManager.sendData(RowToSerfManager.buildRowToSerf(modelAdapter, insertSql));
                     }
                 }
                 if (Constants.printSql) {
-                    System.out.println("insertsql=" + insertSql + " " + FrameUtil.getFrames());
+                    System1.out.println("insertsql=" + insertSql + " " + FrameUtil.getFrames());
                 }
                 DatabaseManager.execSQL(insertSql);
 //                if (table.equals("visit")) {
@@ -52,15 +92,42 @@
             }
         } catch (Exception e) {
             e.printStackTrace();
+            System.out.println("BaseManager.save sql=" + insertSql);
+        }
+    }
+
+    public static void deleteWithDelFlag(ModelAdapter modelAdapter) {
+        try {
+
+            String table = modelAdapter.getString("table");
+            String id = modelAdapter.getString("id");
+            String del_flag = "1";
+            if (syncTableNames.contains(table)) {
+                id = Base64Util.encodeToString(table, "id", id);
+                del_flag = Base64Util.encodeToString(table, "del_flag", del_flag);
+            }
+            String sql = "update " + table + " set del_flag='" + del_flag + "' where id='" + id + "'";
+            if (Constants.printSql) {
+                System1.out.println("deletesql=" + sql + " " + FrameUtil.getFrames());
+            }
+            if (
+                    syncTableNames.contains(table) &&
+                            !Constants.FALSE.equals(modelAdapter.getString(Sync.needSync))
+                    ) {
+                ClusterSerfSyncManager.sendData(RowToSerfManager.buildRowToSerf(modelAdapter, sql));
+            }
+            DatabaseManager.execSQL(sql);
+        } catch (Exception e) {
+            e.printStackTrace();
         }
     }
 
     public static void delete(ModelAdapter modelAdapter) { // 鍋囧垹闄�
-        if (Constants.deletePersonPhysical) {
-            deletePhysically(modelAdapter);
-        } else {
-            try {
-                if (modelAdapter != null) {
+        if (modelAdapter != null) {
+            if (Constants.deletePersonPhysical) {
+                deletePhysically(modelAdapter);
+            } else {
+                try {
                     String table = modelAdapter.getString("table");
                     String id = modelAdapter.getString("id");
                     String del_flag = "1";
@@ -70,15 +137,18 @@
                     }
                     String sql = "update " + table + " set del_flag='" + del_flag + "' where id='" + id + "'";
                     if (Constants.printSql) {
-                        System.out.println("deletesql=" + sql + " " + FrameUtil.getFrames());
+                        System1.out.println("deletesql=" + sql + " " + FrameUtil.getFrames());
                     }
-                    if (syncTableNames.contains(table)) {
-                        ClusterSerfSyncManager.sendData(sql);
+                    if (
+                            syncTableNames.contains(table) &&
+                                    !Constants.FALSE.equals(modelAdapter.getString(Sync.needSync))
+                            ) {
+                        ClusterSerfSyncManager.sendData(RowToSerfManager.buildRowToSerf(modelAdapter, sql));
                     }
                     DatabaseManager.execSQL(sql);
+                } catch (Exception e) {
+                    e.printStackTrace();
                 }
-            } catch (Exception e) {
-                e.printStackTrace();
             }
         }
     }
@@ -90,15 +160,19 @@
                 String id = modelAdapter.getString("id");
                 String sql = "delete from " + table + " where id='" + id + "'";
                 if (Constants.printSql) {
-                    System.out.println("deletesql=" + sql + " " + FrameUtil.getFrames());
+                    System1.out.println("deletesql=" + sql + " " + FrameUtil.getFrames());
                 }
-                if (syncTableNames.contains(table)) {
-                    ClusterSerfSyncManager.sendData(sql);
+                if (
+                        syncTableNames.contains(table) &&
+                                !Constants.FALSE.equals(modelAdapter.getString(Sync.needSync))
+                        ) {
+//                    System.out.println("BaseManager.deletePhysically sql=" + sql);
+                    ClusterSerfSyncManager.sendData(RowToSerfManager.buildRowToSerf(modelAdapter, sql));
                 }
                 try {
                     DatabaseManager.execSQL(sql);
                 } catch (SQLException e) {
-                    System.out.println("sql=" + sql);
+                    System1.out.println("sql=" + sql);
                     e.printStackTrace();
                 }
             }
@@ -169,7 +243,7 @@
         Cursor cursor = null;
         try {
             if (Constants.printSql) {
-                System.out.println("findOne sql=" + sql + " " + FrameUtil.getFrames());
+                System1.out.println("findOne sql=" + sql + " " + FrameUtil.getFrames());
             }
             cursor = DatabaseManager.getDatabase().rawQuery(sql, null);
             if (cursor.moveToFirst()) {
@@ -203,7 +277,7 @@
         Cursor cursor = null;
         try {
             if (Constants.printSql) {
-                System.out.println("sql=" + sql + " " + FrameUtil.getFrames()
+                System1.out.println("sql=" + sql + " " + FrameUtil.getFrames()
                 );
             }
             cursor = DatabaseManager.getDatabase(databasePath).rawQuery(sql, null);
@@ -225,7 +299,7 @@
 
     public static void deleteList(List<ModelAdapter> modelAdapterList) {
         for (ModelAdapter modelAdapter : modelAdapterList) {
-            FaceId.instance.removeFeatureFromDb(modelAdapter.getString(Person.id));
+            FeatureManager.removeFeature(modelAdapter.getString(Person.id));
             deletePhysically(modelAdapter);
         }
     }

--
Gitblit v1.8.0