package com.basic.security.manager; import android.text.TextUtils; import com.basic.security.activity.helper.MaTimeoutToBlank; import com.basic.security.manager.impl.cblite.DeviceManager; import com.basic.security.manager.impl.sqlite.SlBaseManager; import com.basic.security.manager.impl.sqlite.SlDeviceManager; import com.basic.security.model.ModelAdapter; import com.basic.security.utils.BaseSetting; import com.basic.security.utils.Constants; import java.text.SimpleDateFormat; import java.util.Date; /** * 基本设置相关数据库操作方法 */ public class BaseSettingManager extends SlBaseManager { public static ModelAdapter baseSetting = new ModelAdapter(); static long lastTimeSetBaseSetting = 0; static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH"); /*保存基本设置*/ public static void saveBaseSetting(BaseSetting baseSettingBean) { baseSetting = getBaseSetting(); baseSetting.setString("auto_mode", baseSettingBean.auto_mode); // 18-10-30 废弃 // baseSetting.setString("auto_mode_verify_phone", baseSettingBean.auto_mode_verify_phone); baseSetting.setString("reboot_hour_enable", baseSettingBean.reboot_hour_enable); baseSetting.setString("reboot_hour", baseSettingBean.reboot_hour); baseSetting.setString("open_door_password_enable", baseSettingBean.open_door_password_enable); baseSetting.setString("open_door_password", baseSettingBean.open_door_password); baseSetting.setString("auto_normal_verify", baseSettingBean.auto_normal_verify); baseSetting.setString("open_door_duration", baseSettingBean.open_door_duration); baseSetting.setString("auto_normal_verify_phone", baseSettingBean.auto_normal_verify_phone); baseSetting.setString("auto_normal_verify_idcard", baseSettingBean.auto_normal_verify_idcard); baseSetting.setString("auto_normal_verify_name", baseSettingBean.auto_normal_verify_name); baseSetting.setString("auto_idcard_verify", baseSettingBean.auto_idcard_verify); baseSetting.setString("auto_idcard_verify_phone", baseSettingBean.auto_idcard_verify_phone); baseSetting.setString("auto_register_identity_id", baseSettingBean.auto_register_identity_id); baseSetting.setString("auto_register_identity_name", baseSettingBean.auto_register_identity_name); baseSetting.setString("admin_mode", baseSettingBean.admin_mode); baseSetting.setString("admin_normal_verify", baseSettingBean.admin_normal_verify); baseSetting.setString("admin_normal_verify_phone", baseSettingBean.admin_normal_verify_phone); baseSetting.setString("admin_normal_verify_idcard", baseSettingBean.admin_normal_verify_idcard); baseSetting.setString("admin_normal_verify_name", baseSettingBean.admin_normal_verify_name); baseSetting.setString("admin_idcard_verify", baseSettingBean.admin_idcard_verify); baseSetting.setString("admin_idcard_verify_phone", baseSettingBean.admin_idcard_verify_phone); baseSetting.setString("login_expire_long", baseSettingBean.login_expire_long); baseSetting.setString("back_to_home", baseSettingBean.back_to_home); baseSetting.setString("face_ratio", baseSettingBean.face_ratio); baseSetting.setString("face_angle", baseSettingBean.face_angle); baseSetting.setString("table", baseSettingBean.getTable()); baseSetting.setString("image_play_interval", baseSettingBean.image_play_interval); baseSetting.setString("image_play_time", baseSettingBean.image_play_time); baseSetting.setString("detect_multiple_face", baseSettingBean.detect_multiple_face); // baseSetting.setString("device_id", DeviceUuidFactory.getInstance(BaseApplication.getApplication()).getDeviceUuid().toString()); baseSetting.setString("company_id", SlDeviceManager.getCompareId()); // 新加 baseSetting.setString("auto_register_rule", baseSettingBean.auto_register_rule); baseSetting.setString("auto_checked_time_rule_id", baseSettingBean.auto_checked_time_rule_id); baseSetting.setString("pass_mode", baseSettingBean.pass_mode); baseSetting.setString("visitor_mode", baseSettingBean.visitor_mode); baseSetting.setString("device_setting", baseSettingBean.device_setting); baseSetting.setString("relation_person", baseSettingBean.relation_person); baseSetting.setString("relation_device", baseSettingBean.relation_device); baseSetting.setString("device_name_ip", baseSettingBean.device_name_ip); baseSetting.setString("server_name_ip", baseSettingBean.server_name_ip); baseSetting.setString("no_face_delay", baseSettingBean.no_face_delay); baseSetting.setString("picture_rotation_angle", baseSettingBean.picture_rotation_angle); // 新加设备id baseSetting.setString("device_id", SlDeviceManager.getDeviceId()); save(baseSetting); try { MaTimeoutToBlank.noFaceDelayTimeoutToBlank.fixedTimeoutSeconds = getNoFaceDelay(); } catch (Exception e) { e.printStackTrace(); } // baseSetting = null; } /*得到基本设置*/ public static ModelAdapter getBaseSetting() { // if (baseSetting == null || System.currentTimeMillis() - lastTimeSetBaseSetting > 5000) { // if (TextUtils.isEmpty(SlDeviceManager.getDeviceId())) { // baseSetting = findOne("select * from base_setting"); // } else { // baseSetting = findOne("select * from base_setting where device_id = '" + SlDeviceManager.getDeviceId() + "'"); // } // lastTimeSetBaseSetting = System.currentTimeMillis(); // } // if (baseSetting == null) { // baseSetting = new ModelAdapter(); // } return baseSetting; } /** * 无操作多少秒回到首页 **/ public static int getBackToHomeInSeconds() { int backToHomeInSeconds = 5; try { String time = getBaseSetting().getString("back_to_home"); if (!TextUtils.isEmpty(time)) { backToHomeInSeconds = Integer.parseInt(time); } } catch (Exception e) { e.printStackTrace(); } if (backToHomeInSeconds <= 0) { backToHomeInSeconds = 5; } return backToHomeInSeconds; } /* *//*自助注册模式(要身份证), 手机号是否必填*//* public static boolean isAutoSignUpModeNeedPhone() { String admin_normal_verify_phone = getBaseSetting().getString("auto_mode_verify_phone"); if (!TextUtils.isEmpty(admin_normal_verify_phone) && admin_normal_verify_phone.equals("1")) { return true; } else { return false; } }*/ /*是否为自助注册模式*/ public static boolean isAutoSignUpMode() { String auto_mode = getBaseSetting().getString("auto_mode"); if (!TextUtils.isEmpty(auto_mode) && auto_mode.equals("1")) { return true; } else { return false; } } /*是否为人工注册模式*/ public static boolean isAdminAuthSignUpMode() { String admin_mode = getBaseSetting().getString("admin_mode"); if ("1".equals(admin_mode)) { return true; } else { return false; } } /*是否为通行模式*/ public static boolean isPassMode() { String pass_mode = getBaseSetting().getString("pass_mode"); if (!TextUtils.isEmpty(pass_mode) && pass_mode.equals("1")) { return true; } else { return false; } } /*是否为访客模式*/ public static boolean isVisitorMode() { String visitor_mode = getBaseSetting().getString("visitor_mode"); if (!TextUtils.isEmpty(visitor_mode) && visitor_mode.equals("1")) { return true; } else { return false; } } /*管理员授权注册,是否为身份证验证*/ public static boolean isAdminAuthSignUpModeNeedIdCard() { if (isAutoSignUpMode()) {// 如果在自助注册模式点击人工注册,按照自助注册的模式注册 return isAutoSignUpIDCardMode(); } String admin_idcard_verify = getBaseSetting().getString("admin_idcard_verify"); if (!TextUtils.isEmpty(admin_idcard_verify) && admin_idcard_verify.equals("1")) { return true; } else { return false; } } /*管理员授权注册,身份证模式, 手机号是否必填*/ public static boolean adminIDCardSignUpModeNeedPhone() { if (isAutoSignUpMode()) { // 如果在自助注册模式点击人工注册,必填项按照自助注册 return isAutoSignUpIDCardModeNeedPhone(); } String admin_idcard_verify_phone = getBaseSetting().getString("admin_idcard_verify_phone"); if (!TextUtils.isEmpty(admin_idcard_verify_phone) && admin_idcard_verify_phone.equals("1")) { return true; } else { return false; } } /*管理员授权注册,普通模式(不要身份证), 手机号是否必填*/ public static boolean adminNormalSignUpModeNeedPhone() { if (isAutoSignUpMode()) { // 如果在自助注册模式点击人工注册,必填项按照自助注册 return isAutoSignUpNotIDCardModeNeedPhone(); } String admin_normal_verify_phone = getBaseSetting().getString("admin_normal_verify_phone"); if (!TextUtils.isEmpty(admin_normal_verify_phone) && admin_normal_verify_phone.equals("1")) { return true; } else { return false; } } /*管理员授权注册,普通模式(不要身份证), 姓名是否必填*/ public static boolean adminNormalSignUpModeNeedName() { if (isAutoSignUpMode()) { // 如果在自助注册模式点击人工注册,必填项按照自助注册 return isAutoSignUpNotIDCardModeNeedName(); } String admin_normal_verify_name = getBaseSetting().getString("admin_normal_verify_name"); if (!TextUtils.isEmpty(admin_normal_verify_name) && admin_normal_verify_name.equals("1")) { return true; } else { return false; } } /*管理员授权注册,普通模式(不要身份证), 身份证号是否必填*/ public static boolean adminNormalSignUpModeNeedIDNumber() { if (isAutoSignUpMode()) { // 如果在自助注册模式点击人工注册,必填项按照自助注册 return isAutoSignUpNotIDCardModeNeedIDNumber(); } String admin_normal_verify_idcard = getBaseSetting().getString("admin_normal_verify_idcard"); if (!TextUtils.isEmpty(admin_normal_verify_idcard) && admin_normal_verify_idcard.equals("1")) { return true; } else { return false; } } /** * 默认管理员登录多少分钟退出 **/ public static long getLoginExpireInMinutes() { try { String login_expire_long = getBaseSetting().getString("login_expire_long"); if (!TextUtils.isEmpty(login_expire_long)) { int login_expire_long_int = Integer.parseInt(login_expire_long); if (login_expire_long_int > 0) { return login_expire_long_int; } } } catch (Exception e) { e.printStackTrace(); } return 10; } /** * 是否允许多张脸同时校验 * * @return true 允许 */ public static boolean allowMultipleFace() { String detect_multiple_face = getBaseSetting().getString("detect_multiple_face"); if (!TextUtils.isEmpty(detect_multiple_face) && "1".equals(detect_multiple_face)) { return true; } else { return false; } } /* 是否选中图片轮播 **/ public static boolean imagePlayInterval() { String detect_multiple_face = getBaseSetting().getString("image_play_interval"); if (!TextUtils.isEmpty(detect_multiple_face) && "1".equals(detect_multiple_face)) { return true; } else { return false; } } /* 设置图片轮播 时间 **/ public static int getImagePlayTime() { try { String image_play_time = getBaseSetting().getString("image_play_time"); if (!TextUtils.isEmpty(image_play_time)) { int image_play_time_int = Integer.parseInt(image_play_time); if (image_play_time_int > 0) { return image_play_time_int; } } } catch (Exception e) { e.printStackTrace(); } return 10; } /* 人脸占屏幕比 **/ public static String getFaceRatio() { try { String face_ratio = getBaseSetting().getString("face_ratio"); if (!TextUtils.isEmpty(face_ratio)) { String[] split = face_ratio.split("/"); return (Double.parseDouble(split[0]) / Double.parseDouble(split[1])) + ""; } } catch (Exception e) { e.printStackTrace(); } return "0.25"; } /* 人脸角度 **/ public static String getFaceAngle() { try { String face_angle = getBaseSetting().getString("face_angle"); if (!TextUtils.isEmpty(face_angle)) { return face_angle; } } catch (Exception e) { e.printStackTrace(); } return "10"; } /* 自助注册 - 默认身份id*/ public static String getDefaultIdentityId() { String auto_register_identity_id = getBaseSetting().getString("auto_register_identity_id"); if (!TextUtils.isEmpty(auto_register_identity_id)) { return auto_register_identity_id; } return null; } /* 自助注册 - 默认身份name*/ public static String getDefaultIdentityName() { String auto_register_identity_name = getBaseSetting().getString("auto_register_identity_name"); if (!TextUtils.isEmpty(auto_register_identity_name)) { return auto_register_identity_name; } return null; } /* 自助注册 - 默认规则*/ public static String getDefaultRegisterRule() { String auto_register_identity_id = getBaseSetting().getString("auto_register_rule"); if (!TextUtils.isEmpty(auto_register_identity_id)) { return auto_register_identity_id; } return null; } /* 自助注册 - 有效时间内通行选中的时间段ID*/ public static String getDefaultRegisterTimeId() { String auto_register_identity_name = getBaseSetting().getString("auto_checked_time_rule_id"); if (!TextUtils.isEmpty(auto_register_identity_name)) { return auto_register_identity_name; } return null; } /*自助注册模式, 是否为身份验证*/ public static boolean isAutoSignUpIDCardMode() { String auto_idcard_verify = getBaseSetting().getString("auto_idcard_verify"); if (!TextUtils.isEmpty(auto_idcard_verify) && auto_idcard_verify.equals("1")) { return true; } else { return false; } } /*自助注册模式, 身份验证,手机号是否必填*/ public static boolean isAutoSignUpIDCardModeNeedPhone() { String auto_idcard_verify_phone = getBaseSetting().getString("auto_idcard_verify_phone"); if (!TextUtils.isEmpty(auto_idcard_verify_phone) && auto_idcard_verify_phone.equals("1")) { return true; } else { return false; } } /*自助注册模式, 是否为普通验证*/ public static boolean isAutoSignUpNormalMode() { String auto_normal_verify = getBaseSetting().getString("auto_normal_verify"); if (!TextUtils.isEmpty(auto_normal_verify) && auto_normal_verify.equals("1")) { return true; } else { return false; } } /*自助注册模式,普通验证(不要身份证), 姓名是否必填*/ public static boolean isAutoSignUpNotIDCardModeNeedName() { String auto_normal_verify_name = getBaseSetting().getString("auto_normal_verify_name"); if (!TextUtils.isEmpty(auto_normal_verify_name) && auto_normal_verify_name.equals("1")) { return true; } else { return false; } } /*自助注册模式,普通验证(不要身份证), 身份证号是否必填*/ public static boolean isAutoSignUpNotIDCardModeNeedIDNumber() { String auto_normal_verify_idcard = getBaseSetting().getString("auto_normal_verify_idcard"); if (!TextUtils.isEmpty(auto_normal_verify_idcard) && auto_normal_verify_idcard.equals("1")) { return true; } else { return false; } } /*自助注册模式,普通验证(不要身份证), 手机号是否必填*/ public static boolean isAutoSignUpNotIDCardModeNeedPhone() { String auto_normal_verify_phone = getBaseSetting().getString("auto_normal_verify_phone"); if (!TextUtils.isEmpty(auto_normal_verify_phone) && auto_normal_verify_phone.equals("1")) { return true; } else { return false; } } // 选择设备配置是确认通行还是允许通行 public static String getDeviceSetting() { return getBaseSetting().getString("device_setting"); } // 确认通行下关联人是否选中(此方法没有用) public static boolean relationPersonIsCheck() { String relation_person = getBaseSetting().getString("relation_person"); if ("确认通行".equals(getBaseSetting().getString("device_setting")) && "1".equals(relation_person)) { return true; } else { return false; } } // 确认通行下关联设备是否选中(此方法没有用) public static boolean relationDeviceIsCheck() { String relation_device = getBaseSetting().getString("relation_device"); if ("确认通行".equals(getBaseSetting().getString("device_setting")) && "1".equals(relation_device)) { return true; } else { return false; } } // 确认通行下设备名称 public static String getDeviceName() { String device_name_ip = getBaseSetting().getString("device_name_ip"); if ("确认通行".equals(getBaseSetting().getString("device_setting")) && !TextUtils.isEmpty(device_name_ip)) { return device_name_ip; } else { return null; } } // 确认通行下服务器名称 public static String getServerName() { String server_name_ip = getBaseSetting().getString("server_name_ip"); if ("确认通行".equals(getBaseSetting().getString("device_setting")) && !TextUtils.isEmpty(server_name_ip)) { return server_name_ip; } else { return null; } } // // 无人脸延时时间 public static int getNoFaceDelay() { try { String no_face_delay = getBaseSetting().getString("no_face_delay"); if (!TextUtils.isEmpty(no_face_delay)) { int no_face_delay_int = Integer.parseInt(no_face_delay); if (no_face_delay_int > 0) { return no_face_delay_int; } } } catch (Exception e) { e.printStackTrace(); } return 5; } // 设备照片旋转角度 public static int getPictureRotationAngle() { try { String picture_rotation_angle = getBaseSetting().getString("picture_rotation_angle"); if (!TextUtils.isEmpty(picture_rotation_angle)) { int picture_rotation_angle_int = Integer.parseInt(picture_rotation_angle); if (picture_rotation_angle_int > 0) { return picture_rotation_angle_int; } } } catch (Exception e) { e.printStackTrace(); } return 0; } public static boolean isDoorAccessOnlyMode() { return false; } public static boolean isVisitOnlyMode() { return false; } public static long getOpenDoorDurationSeconds() { int openDoorDuration = 10; try { String openDoorDurationStr = getBaseSetting().getString("open_door_duration"); openDoorDuration = Integer.parseInt(openDoorDurationStr); if (openDoorDuration <= 0) { openDoorDuration = 10; } } catch (Exception e) { // System.out.println("getOpenDoorDurationSeconds"+e.getMessage()); } return openDoorDuration; } public static void initBaseSetting() { baseSetting = SlBaseManager.findById("base_setting", IdManager.getId(com.basic.security.model.BaseSetting.tableName)); if (baseSetting == null) { baseSetting = new ModelAdapter(IdManager.getId(com.basic.security.model.BaseSetting.tableName)); //自动注册模式 1是,0否 baseSetting.setString("auto_mode", "0"); baseSetting.setString("auto_mode_verify_phone", "1"); //管理员授权注册模式 1是,0否 baseSetting.setString("admin_mode", "1"); //自动注册模式身份证是否必选 1必选,0非必选 ////这个 好像 原来没加 2018/10/12 10:12 zyg //是否为普通验证 1是,0否 baseSetting.setString("admin_normal_verify", "1"); //普通验证 手机号是否必填 1是,0否 baseSetting.setString("admin_normal_verify_phone", "0"); //普通验证 身份证号是否必填 1是,0否 baseSetting.setString("admin_normal_verify_idcard", "0"); //普通验证 姓名是否必填 1是,0否 baseSetting.setString("admin_normal_verify_name", "0"); //身份证验证1是,0否 baseSetting.setString("admin_idcard_verify", "0"); //身份证验证,手机号是否必填 1是,0否 baseSetting.setString("admin_idcard_verify_phone", "1"); //管理员登入后几分钟自动退出 baseSetting.setString("edit_setting", "1"); //几秒返回首页 baseSetting.setString("back_to_home", "10"); //人脸占屏幕比例 baseSetting.setString("face_ratio", "2/10"); //人脸角度 baseSetting.setString("face_angle", "30"); //是否设置图片轮播 1是,0否 baseSetting.setString("image_play_interval", "1"); //轮播图片时间 baseSetting.setString("image_play_time", "5"); //允许多张人脸检测 1是,0否 baseSetting.setString("detect_multiple_face", "0"); //开门时长 baseSetting.setString("open_door_duration", "10"); //表名 baseSetting.setString("table", "base_setting"); baseSetting.setString(com.basic.security.model.BaseSetting.normally_closed, Constants.TRUE); baseSetting.setString("device_id", com.basic.security.manager.impl.cblite.DeviceManager.getDeviceId()); baseSetting.setString("company_id", DeviceManager.getCompareId()); baseSetting.setString(com.basic.security.model.BaseSetting.open_door_password, "123456"); baseSetting.setString(com.basic.security.model.BaseSetting.open_door_password_enable, Constants.TRUE); SlBaseManager.save(baseSetting); } BaseSettingManager.baseSetting = baseSetting; } public static boolean getNormallyClosed() { String normally_closed = getBaseSetting().getString(com.basic.security.model.BaseSetting.normally_closed); if (Constants.TRUE.equals(normally_closed)) { return true; } return false; } public static String getOpenDoorPassword() { try { return baseSetting.getString(com.basic.security.model.BaseSetting.open_door_password); } catch (Exception e) { e.printStackTrace(); } return ""; } public static boolean getOpenDoorPasswordEnable() { try { return Constants.TRUE.equals(baseSetting.getString(com.basic.security.model.BaseSetting.open_door_password_enable)); } catch (Exception e) { e.printStackTrace(); } return true; } public static String getRebootHour() { String rebootHour = "00"; try { rebootHour = baseSetting.getString(com.basic.security.model.BaseSetting.reboot_hour); } catch (Exception e) { e.printStackTrace(); } try { int rebootHourInt = Integer.parseInt(rebootHour); if (rebootHourInt <= 9) { rebootHour = "0"+rebootHourInt; } } catch (Exception e) { e.printStackTrace(); } if (rebootHour == null || rebootHour.length() != 2) { rebootHour = "00"; } return rebootHour; } public static String getRebootTime() { String timeNow = sdf.format(new Date()); return timeNow.substring(0, timeNow.length() - 2) + getRebootHour(); } public static boolean rebootHourEnable() { try { return Constants.TRUE.equals(baseSetting.getString(com.basic.security.model.BaseSetting.reboot_hour_enable)); } catch (Exception e) { e.printStackTrace(); } return false; } }