package com.basic.security.manager; import android.text.TextUtils; import com.basic.security.activity.MainActivity; import com.basic.security.model.BaseSetting; import com.basic.security.model.ModelAdapter; import com.basic.security.model.Sync; import com.basic.security.utils.Constants; import com.basic.security.utils.socket.outdoor.OutdoorSendIpSocketClientFromBaseSetting; import java.util.List; //基本设置相关数据库操作方法 public class BaseSettingManager extends BaseManager { public static ModelAdapter baseSetting = new ModelAdapter(); public static void initBaseSetting() { baseSetting = findById("base_setting", com.basic.security.model.BaseSetting.tableName); if (baseSetting == null) { baseSetting = new ModelAdapter(com.basic.security.model.BaseSetting.tableName); baseSetting.setString(BaseSetting.auto_mode, "1"); baseSetting.setString(BaseSetting.auto_idcard_verify, "1"); if (Constants.isOutdoor) { baseSetting.setString(BaseSetting.indoor_device_id, "indoor1"); baseSetting.setString(BaseSetting.indoor_device_ip, "192.168.222.103"); } //自动注册模式 1是,0否 baseSetting.setString("auto_mode", "0"); if (Constants.isIndoor) { baseSetting.setString(BaseSetting.visitor_mode, "1"); baseSetting.setString(BaseSetting.device_pass_mode, "允许通行"); } if (Constants.isOutdoor) { baseSetting.setString(BaseSetting.pass_mode, "1"); } 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", "0"); //管理员登入后几分钟自动退出 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(BaseSetting.no_face_delay, "5"); baseSetting.setString(BaseSetting.login_expire_long, "10"); baseSetting.setString(BaseSetting.picture_rotation_angle, "0"); //表名 baseSetting.setString("table", "base_setting"); baseSetting.setString("device_id", DeviceManager.getDeviceId()); baseSetting.setString("company_id", CompanyManager.getCompanyId()); baseSetting.setString(com.basic.security.model.BaseSetting.open_door_password, "123456"); baseSetting.setString(com.basic.security.model.BaseSetting.open_door_password_enable, Constants.FALSE); baseSetting.setString(com.basic.security.model.BaseSetting.reboot_hour, "0"); baseSetting.setString(com.basic.security.model.BaseSetting.reboot_hour_enable, Constants.TRUE); baseSetting.setString(Sync.needSync, Constants.FALSE); BaseManager.save(baseSetting); } } //保存基本设置 public static void saveBaseSetting(ModelAdapter newBaseSetting) { baseSetting = newBaseSetting; save(newBaseSetting); String device_pass_mode = baseSetting.getString(BaseSetting.device_pass_mode); if ("确认通行".equals(device_pass_mode)) { // String indoor_device_id = newBaseSetting.getString(BaseSetting.indoor_device_id); // String indoor_device_ip = newBaseSetting.getString(BaseSetting.indoor_device_ip); // String outdoorDeviceId = DeviceManager.getDeviceId(); // String outdoorDeviceIp = DeviceManager.getDeviceIp(); // String outdoorDeviceName = DeviceManager.getDeviceName(); } OutdoorSendIpSocketClientFromBaseSetting.notifyChanged(); try { MainActivity.noFaceDelayTimeoutToBlank.fixedTimeoutSeconds = getNoFaceDelay(); } catch (Exception e) { e.printStackTrace(); } } //得到基本设置 public static ModelAdapter getBaseSetting() { if (baseSetting == null) { initBaseSetting(); } return baseSetting; } public static String getIndoorServerIp() { return getBaseSetting().getString(BaseSetting.indoor_device_ip); } //无操作多少秒回到首页 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 isAutoSignUpMode() { String auto_mode = getBaseSetting().getString("auto_mode"); return !TextUtils.isEmpty(auto_mode) && auto_mode.equals("1"); } //是否为人工注册模式 public static boolean isAdminAuthSignUpMode() { String admin_mode = getBaseSetting().getString("admin_mode"); return "1".equals(admin_mode); } //是否为通行模式 public static boolean isPassMode() { String pass_mode = getBaseSetting().getString("pass_mode"); return !TextUtils.isEmpty(pass_mode) && pass_mode.equals("1"); } //是否为访客模式 public static boolean isGuestMode() { String visitor_mode = getBaseSetting().getString("visitor_mode"); return !TextUtils.isEmpty(visitor_mode) && visitor_mode.equals("1"); } //管理员授权注册,是否为身份证验证 public static boolean isAdminAuthSignUpModeNeedIdCard() { if (isAutoSignUpMode()) {// 如果在自助注册模式点击人工注册,按照自助注册的模式注册 return isAutoSignUpIDCardMode(); } String admin_idcard_verify = getBaseSetting().getString("admin_idcard_verify"); return !TextUtils.isEmpty(admin_idcard_verify) && admin_idcard_verify.equals("1"); } //管理员授权注册,身份证模式, 手机号是否必填 public static boolean adminIDCardSignUpModeNeedPhone() { if (isAutoSignUpMode()) { // 如果在自助注册模式点击人工注册,必填项按照自助注册 return isAutoSignUpIDCardModeNeedPhone(); } String admin_idcard_verify_phone = getBaseSetting().getString("admin_idcard_verify_phone"); return !TextUtils.isEmpty(admin_idcard_verify_phone) && admin_idcard_verify_phone.equals("1"); } //管理员授权注册,普通模式(不要身份证), 手机号是否必填 public static boolean adminNormalSignUpModeNeedPhone() { if (isAutoSignUpMode()) { // 如果在自助注册模式点击人工注册,必填项按照自助注册 return isAutoSignUpNotIDCardModeNeedPhone(); } String admin_normal_verify_phone = getBaseSetting().getString("admin_normal_verify_phone"); return !TextUtils.isEmpty(admin_normal_verify_phone) && admin_normal_verify_phone.equals("1"); } //管理员授权注册,普通模式(不要身份证), 姓名是否必填 public static boolean adminNormalSignUpModeNeedName() { if (isAutoSignUpMode()) { // 如果在自助注册模式点击人工注册,必填项按照自助注册 return isAutoSignUpNotIDCardModeNeedName(); } String admin_normal_verify_name = getBaseSetting().getString("admin_normal_verify_name"); return !TextUtils.isEmpty(admin_normal_verify_name) && admin_normal_verify_name.equals("1"); } //管理员授权注册,普通模式(不要身份证), 身份证号是否必填 public static boolean adminNormalSignUpModeNeedIDNumber() { if (isAutoSignUpMode()) { // 如果在自助注册模式点击人工注册,必填项按照自助注册 return isAutoSignUpNotIDCardModeNeedIDNumber(); } String admin_normal_verify_idcard = getBaseSetting().getString("admin_normal_verify_idcard"); return !TextUtils.isEmpty(admin_normal_verify_idcard) && admin_normal_verify_idcard.equals("1"); } //默认管理员登录多少分钟退出 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; } //是否允许多张脸同时校验 public static boolean allowMultipleFace() { String detect_multiple_face = getBaseSetting().getString("detect_multiple_face"); return !TextUtils.isEmpty(detect_multiple_face) && "1".equals(detect_multiple_face); } //是否选中图片轮播 public static boolean imagePlayInterval() { String detect_multiple_face = getBaseSetting().getString("image_play_interval"); return !TextUtils.isEmpty(detect_multiple_face) && "1".equals(detect_multiple_face); } // 设置图片轮播 时间 * 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"); return !TextUtils.isEmpty(auto_idcard_verify) && auto_idcard_verify.equals("1"); } //自助注册模式, 身份验证,手机号是否必填 public static boolean isAutoSignUpIDCardModeNeedPhone() { String auto_idcard_verify_phone = getBaseSetting().getString("auto_idcard_verify_phone"); return !TextUtils.isEmpty(auto_idcard_verify_phone) && auto_idcard_verify_phone.equals("1"); } //自助注册模式, 是否为普通验证 public static boolean isAutoSignUpNormalMode() { String auto_normal_verify = getBaseSetting().getString("auto_normal_verify"); return !TextUtils.isEmpty(auto_normal_verify) && auto_normal_verify.equals("1"); } //自助注册模式,普通验证(不要身份证), 姓名是否必填 public static boolean isAutoSignUpNotIDCardModeNeedName() { String auto_normal_verify_name = getBaseSetting().getString("auto_normal_verify_name"); return !TextUtils.isEmpty(auto_normal_verify_name) && auto_normal_verify_name.equals("1"); } //自助注册模式,普通验证(不要身份证), 身份证号是否必填 public static boolean isAutoSignUpNotIDCardModeNeedIDNumber() { String auto_normal_verify_idcard = getBaseSetting().getString("auto_normal_verify_idcard"); return !TextUtils.isEmpty(auto_normal_verify_idcard) && auto_normal_verify_idcard.equals("1"); } //自助注册模式,普通验证(不要身份证), 手机号是否必填 public static boolean isAutoSignUpNotIDCardModeNeedPhone() { String auto_normal_verify_phone = getBaseSetting().getString("auto_normal_verify_phone"); return !TextUtils.isEmpty(auto_normal_verify_phone) && auto_normal_verify_phone.equals("1"); } // 选择设备配置是确认通行还是允许通行 public static String getDevicePassMode() { return getBaseSetting().getString("device_pass_mode"); } public static String getIndoorDeviceIp() { return getBaseSetting().getString(BaseSetting.indoor_device_ip); } // 确认通行下关联人是否选中(此方法没有用) public static boolean relationPersonIsCheck() { String relation_person = getBaseSetting().getString("relation_person"); return "确认通行".equals(getBaseSetting().getString("device_pass_mode")) && "1".equals(relation_person); } // 确认通行下关联设备是否选中(此方法没有用) public static boolean relationDeviceIsCheck() { String relation_device = getBaseSetting().getString("relation_device"); return "确认通行".equals(getBaseSetting().getString("device_pass_mode")) && "1".equals(relation_device); } // 确认通行下设备名称 public static String getDeviceName() { String indoor_device_id = getBaseSetting().getString("indoor_device_id"); if ("确认通行".equals(getBaseSetting().getString("device_pass_mode")) && !TextUtils.isEmpty(indoor_device_id)) { return indoor_device_id; } else { return null; } } // 确认通行下服务器名称 public static String getServerName() { String indoor_device_ip = getBaseSetting().getString("indoor_device_ip"); if ("确认通行".equals(getBaseSetting().getString("device_pass_mode")) && !TextUtils.isEmpty(indoor_device_ip)) { return indoor_device_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) { System1.out.println(e.getMessage()); } return openDoorDuration; } public static List findBaseSettingList(String sql) { return findList(sql); } 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 false; } }