a
554325746@qq.com
2019-12-25 603cb36a5123e46656b06a5deb8d7ac7ff81307f
app/src/main/java/com/basic/security/manager/SystemInitManager.java
@@ -12,6 +12,7 @@
import com.basic.security.model.ModelAdapter;
import com.basic.security.model.Org;
import com.basic.security.model.Person;
import com.basic.security.model.Sync;
import com.basic.security.secondary.SecondaryDisplay;
import com.basic.security.utils.Constants;
import com.basic.security.utils.socket.outdoor.OutdoorSendIpSocketClientFromBaseSetting;
@@ -20,7 +21,6 @@
import java.util.Arrays;
import java.util.List;
//import com.basic.security.manager.erlang.ErlangProcess;
public class SystemInitManager {
    public static DisplayManager displayManager = null;
    public static Display[] presentationDisplays = null;
@@ -55,25 +55,28 @@
                adminIdentity.setString("auto_init", "1");
                adminIdentity.setString("device_id", DeviceManager.getDeviceId());
                adminIdentity.setString("company_id", CompanyManager.getCompanyId());
                adminIdentity.setString(Sync.needSync, Constants.FALSE);
                IdentityManager.save(adminIdentity);
            }
            ModelAdapter staffIdentity = BaseManager.findById("identity", "staffIdentity");
            if (staffIdentity == null) {
                staffIdentity = new ModelAdapter("staffIdentity");
                staffIdentity.setString("table", "identity");
                staffIdentity.setString("name", "老师");
                staffIdentity.setString("device_id", DeviceManager.getDeviceId());
                staffIdentity.setString("company_id", CompanyManager.getCompanyId());
                IdentityManager.save(staffIdentity);
            ModelAdapter teacherIdentity = BaseManager.findById("identity", "teacherIdentity");
            if (teacherIdentity == null) {
                teacherIdentity = new ModelAdapter("teacherIdentity");
                teacherIdentity.setString("table", "identity");
                teacherIdentity.setString("name", "老师");
                teacherIdentity.setString("device_id", DeviceManager.getDeviceId());
                teacherIdentity.setString("company_id", CompanyManager.getCompanyId());
                teacherIdentity.setString(Sync.needSync, Constants.FALSE);
                IdentityManager.save(teacherIdentity);
            }
            ModelAdapter blackListIdentity = BaseManager.findById("identity", "blackListIdentity");
            if (blackListIdentity == null) {
                blackListIdentity = new ModelAdapter("blackListIdentity");
                blackListIdentity.setString("table", "identity");
                blackListIdentity.setString("name", "内部人员");
                blackListIdentity.setString("device_id", DeviceManager.getDeviceId());
                blackListIdentity.setString("company_id", CompanyManager.getCompanyId());
                IdentityManager.save(blackListIdentity);
            ModelAdapter insiderIdentity = BaseManager.findById("identity", "insiderIdentity");
            if (insiderIdentity == null) {
                insiderIdentity = new ModelAdapter("insiderIdentity");
                insiderIdentity.setString("table", "identity");
                insiderIdentity.setString("name", "内部人员");
                insiderIdentity.setString("device_id", DeviceManager.getDeviceId());
                insiderIdentity.setString("company_id", CompanyManager.getCompanyId());
                insiderIdentity.setString(Sync.needSync, Constants.FALSE);
                IdentityManager.save(insiderIdentity);
            }
            ModelAdapter studentIdentity = BaseManager.findById("identity", "studentIdentity");
            if (studentIdentity == null) {
@@ -82,20 +85,22 @@
                studentIdentity.setString("name", "学生");
                studentIdentity.setString("device_id", DeviceManager.getDeviceId());
                studentIdentity.setString("company_id", CompanyManager.getCompanyId());
                studentIdentity.setString(Sync.needSync, Constants.FALSE);
                IdentityManager.save(studentIdentity);
            }
            ModelAdapter autoSignUpIdentity = BaseManager.findById("identity", "autoSignUpIdentity");
            if (autoSignUpIdentity == null) {
                autoSignUpIdentity = new ModelAdapter("autoSignUpIdentity");
                autoSignUpIdentity.setString("table", "identity");
                autoSignUpIdentity.setString("name", "访客");
                autoSignUpIdentity.setString("device_id", DeviceManager.getDeviceId());
                autoSignUpIdentity.setString("company_id", CompanyManager.getCompanyId());
                IdentityManager.save(autoSignUpIdentity);
            ModelAdapter guestIdentity = BaseManager.findById("identity", "guestIdentity");
            if (guestIdentity == null) {
                guestIdentity = new ModelAdapter("guestIdentity");
                guestIdentity.setString("table", "identity");
                guestIdentity.setString("name", "访客");
                guestIdentity.setString("device_id", DeviceManager.getDeviceId());
                guestIdentity.setString("company_id", CompanyManager.getCompanyId());
                guestIdentity.setString(Sync.needSync, Constants.FALSE);
                IdentityManager.save(guestIdentity);
            }
            ModelAdapter admin_person = BaseManager.findById("person", deviceId + "admin_person");
            ModelAdapter admin_person = BaseManager.findById("person", "admin_person");
            if (admin_person == null) {
                admin_person = new ModelAdapter(deviceId + "admin_person")
                admin_person = new ModelAdapter("admin_person")
                        .setString("name", "系统管理员")
                        .setString("sign_up_status", "已注册")
                        .setString("verify_status", "不需要验证身份证")
@@ -109,11 +114,12 @@
                        .setString(Person.org_ids, schoolOrg.getString(Org.ids))
                        .setString("company_id", CompanyManager.getCompanyId())
                        .setString("table", "person");
                admin_person.setString(Sync.needSync, Constants.FALSE);
                PersonManager.savePerson(admin_person);
            }
            ModelAdapter admin_user_table = BaseManager.findById("user", deviceId + "admin_user");
            if (admin_user_table == null) {
                admin_user_table = new ModelAdapter(deviceId + "admin_user")
            ModelAdapter adminUser = BaseManager.findById("user", "admin_user");
            if (adminUser == null) {
                adminUser = new ModelAdapter("admin_user")
                        .setString("table", "user")
                        .setString("name", "系统管理员")
                        .setString("person_id", admin_person.getId())
@@ -122,17 +128,33 @@
                        .setString("password", "admin123")
                        .setString("device_id", DeviceManager.getDeviceId())
                        .setString("company_id", CompanyManager.getCompanyId());
                UserManager.saveUser(admin_user_table);
                adminUser.setString(Sync.needSync, Constants.FALSE);
                UserManager.saveUser(adminUser);
            }
            ModelAdapter admin_person_identity = BaseManager.findById("person_identity", deviceId + "admin_person_identity");
            ModelAdapter basicUser = BaseManager.findById("user", "basic_user");
            if (basicUser == null) {
                basicUser = new ModelAdapter("basic_user")
                        .setString("table", "user")
                        .setString("name", "系统管理员")
                        .setString("person_id", "")
                        .setString("username", "basic")
                        .setString("auto_init", "1")
                        .setString("password", "basic123")
                        .setString("device_id", DeviceManager.getDeviceId())
                        .setString("company_id", CompanyManager.getCompanyId());
                basicUser.setString(Sync.needSync, Constants.FALSE);
                UserManager.saveUser(basicUser);
            }
            ModelAdapter admin_person_identity = BaseManager.findById("person_identity", "admin_person_identity");
            if (admin_person_identity == null) {
                admin_person_identity = new ModelAdapter(deviceId + "admin_person_identity")
                admin_person_identity = new ModelAdapter("admin_person_identity")
                        .setString("table", "person_identity")
                        .setString("identity_id", adminIdentity.getId())
                        .setString("auto_init", "1")
                        .setString("person_id", admin_person.getId())
                        .setString("device_id", DeviceManager.getDeviceId())
                        .setString("company_id", CompanyManager.getCompanyId());
                admin_person_identity.setString(Sync.needSync, Constants.FALSE);
                PersonIdentityManager.savePersonIdentity(admin_person_identity);
            }
            BaseSettingManager.initBaseSetting();
@@ -144,16 +166,15 @@
            if (Constants.isUseSerf) {
                ClusterSettingManager.start();
            }
//            ErlangProcess.erlangProcessCanStart = true;
            while (!MainActivity.mainActivityInitComplete) {
                SystemClock.sleep(200);
            }
            MainActivity mainActivity = BaseApplication.getApplication().activity;
            if (Constants.indoorOutdoorInOne) {
                try {
                    ModelAdapter adminAccount = AccountManager.getAccount();
                    AccountManager.setAdminAccount(adminAccount);
                    AccountManager.setIsBasic(false);
                    ModelAdapter adminAccount = UserManager.getUserByName("admin");
                    UserManager.setAdminUser(adminAccount);
                    UserManager.setIsBasic(false);
                    if (BaseSettingManager.isGuestMode()) {
                        mainActivity.fragment_guest_mode.loadData = true;
                        mainActivity.showFragment(mainActivity.fragment_guest_mode);
@@ -173,6 +194,8 @@
                outdoorSocketClient.start();
                mainActivity.showFragment(mainActivity.fragment_home);
            }
            PersonCameraImagePathManager.startUploadCameraImagePath();
            PersonCameraImagePathManager.startDownloadCameraImagePath();
            OrgManager.initTreeNodeList();
        } catch (Exception e) {
            e.printStackTrace();
@@ -215,7 +238,9 @@
            @Override
            public void run() {
                try {
                    if (secondaryDisplay != null) {
                    secondaryDisplay.hide();
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
@@ -270,7 +295,7 @@
        DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS org (\"id\" TEXT, \"leaf\" TEXT, \"ids\" TEXT, \"pid\" TEXT, \"name\" TEXT, \"names\" TEXT,  \"p_names\" TEXT, \"device_id\" TEXT, \"company_id\" TEXT, \"table\" TEXT, \"del_flag\" TEXT,  PRIMARY KEY(id))");
        DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_org ON org (id)");
        DatabaseManager.execSQL("CREATE INDEX IF NOT EXISTS pidx_org ON org (pid)");
        DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS person (\"guest_allow_start_time\" text,\"respondent_ids\" text,\"respondent_names\" text,\"visit_status\" text,\"visit_valid_time\" text,\"visit_exit_time\" text,\"camera_image_feature_path\" text, \"student_id\" text, \"org_id\" text, \"org_ids\" text, \"checked_time_rule_id\" TEXT, \"sign_up_rule\" TEXT,\"id\" TEXT, \"name\" TEXT, \"camera_image_path\" TEXT, \"camera_image_feature\" TEXT, \"camera_image_fastdfs_path\" TEXT, \"id_card_number\" TEXT, \"id_card_image_path\" TEXT, \"id_card_image_feature\" TEXT, \"type\" TEXT, \"phone\" TEXT, \"sign_up_time\" TEXT, \"sign_up_method\" TEXT, \"sign_up_status\" TEXT, \"verify_status\" TEXT, \"auto_init\" TEXT, \"update_time\" TEXT, \"del_flag\" TEXT, \"all_device\" TEXT, \"company_id\" TEXT, \"table\" TEXT, \"device_id\" TEXT, \"guest_enter_time\" TEXT, \"guest_visit_status\" TEXT,\"guest_visit_valid_time\" TEXT,\"guest_exit_time\" TEXT,\"guest_visit_reason\" TEXT,\"guest_remark\" TEXT,PRIMARY KEY(id))");
        DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS person (\"camera_image_path_upload\" text,\"camera_image_path_exist\" text,\"guest_allow_start_time\" text,\"respondent_ids\" text,\"respondent_names\" text,\"visit_status\" text,\"visit_valid_time\" text,\"visit_exit_time\" text,\"camera_image_feature_path\" text, \"student_id\" text, \"org_id\" text, \"org_ids\" text, \"checked_time_rule_id\" TEXT, \"sign_up_rule\" TEXT,\"id\" TEXT, \"name\" TEXT, \"camera_image_path\" TEXT, \"camera_image_feature\" TEXT, \"camera_image_fastdfs_path\" TEXT, \"id_card_number\" TEXT, \"id_card_image_path\" TEXT, \"id_card_image_feature\" TEXT, \"type\" TEXT, \"phone\" TEXT, \"sign_up_time\" TEXT, \"sign_up_method\" TEXT, \"sign_up_status\" TEXT, \"verify_status\" TEXT, \"auto_init\" TEXT, \"update_time\" TEXT, \"del_flag\" TEXT, \"all_device\" TEXT, \"company_id\" TEXT, \"table\" TEXT, \"device_id\" TEXT, \"guest_enter_time\" TEXT, \"guest_visit_status\" TEXT,\"guest_visit_valid_time\" TEXT,\"guest_exit_time\" TEXT,\"guest_visit_reason\" TEXT,\"guest_remark\" TEXT,PRIMARY KEY(id))");
        DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_person ON person (id)");
        DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS guest (\"track_id\" TEXT,\"score\" TEXT,\"verified_id_card\" TEXT,\"id_card_number\" TEXT,\"name\" TEXT,\"id\" TEXT, \"person_id\" TEXT, \"camera_image_path\" TEXT, \"camera_image_feature\" TEXT, \"camera_id\" TEXT, \"create_time\" INTEGER, \"table\" TEXT, \"device_id\" TEXT,  PRIMARY KEY(id))");
        DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_guest ON guest (id)");
@@ -292,7 +317,7 @@
        DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_outdoor ON outdoor (id)");
        DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS id_card (\"id\" TEXT,\"name\" TEXT,\"card_number\" TEXT,\"birthday\" TEXT,\"gender\" TEXT,\"head_path\" TEXT,\"create_time\" TEXT, \"device_id\" TEXT, \"table\" TEXT, PRIMARY KEY(card_number))");
        DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_id_card ON id_card (card_number)");
        DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS cluster_setting (\"id\" TEXT,\"node_id\" TEXT,\"cluster_id\" TEXT,\"cluster_name\" TEXT,\"password\" TEXT,\"other_node_ip\" TEXT,\"nodes_json\" TEXT,\"exit\" TEXT, \"table\" TEXT, PRIMARY KEY(id))");
        DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS cluster_setting (\"id\" TEXT,\"node_id\" TEXT,\"node_name\" TEXT,\"cluster_id\" TEXT,\"cluster_name\" TEXT,\"password\" TEXT,\"other_node_ip\" TEXT,\"nodes_json\" TEXT,\"exit\" TEXT, \"table\" TEXT, PRIMARY KEY(id))");
        DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_cluster ON cluster_setting (id)");
        DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS Log (\"id\" TEXT,\"message\" TEXT,\"createTime\" TEXT,\"table\" TEXT, PRIMARY KEY(id))");
        DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_log ON Log (id)");
@@ -300,6 +325,13 @@
        DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_cluster_node ON cluster_node (id)");
        DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS cluster ( cluster_id text NOT NULL, cluster_name TEXT, password TEXT, virtual_ip TEXT, PRIMARY KEY (cluster_id))");
        DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_cluster ON cluster (id)");
        DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS  dbtablepersons (   id text NOT NULL,   tableId text NOT NULL,   faceFeature TEXT,   personPicUrl TEXT,   personName TEXT,   age text,   sex TEXT,   idCard TEXT,   phoneNum text,   monitorLevel TEXT,   picDesc TEXT,   createTime TEXT,   updateTime TEXT,   createBy TEXT,   isDelete integer,   enable integer,   reserved TEXT,   PRIMARY KEY (id))");
        DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_dbtablepersons ON dbtablepersons (id)");
        DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS dbTables (  id text NOT NULL,  tableName TEXT,  tableDesc TEXT,  tableType TEXT,  bwType TEXT,  startTime TEXT,  endTime TEXT,  isSync TEXT,  isDelete integer,  enable integer,  analyServerId text,  createTime TEXT,  updateTime TEXT,  createBy TEXT,  PRIMARY KEY (id))");
        DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_dbTables ON dbTables (id)");
        DatabaseManager.execSQL("CREATE TABLE IF NOT EXISTS person_camera_image_path (  id text NOT NULL,  camera_image_path TEXT,  camera_image_path_exist TEXT, " +
                " camera_image_path_upload TEXT,  from_device_id TEXT,  device_id TEXT,  company_id TEXT,  \"table\" TEXT,  PRIMARY KEY (id))");
        DatabaseManager.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS idx_person_camera_image_path ON person_camera_image_path (id)");
        initTableColumnNames();
    }