package com.basic.security.manager; import android.text.TextUtils; import com.basic.security.model.HintDoorAccess; import com.basic.security.model.ModelAdapter; import com.basic.security.model.Sync; import com.basic.security.utils.Constants; import java.util.ArrayList; import java.util.List; public class HintDoorAccessManager extends BaseManager { static long getHintDoorAccessDocumentLastTime = 0; static List getHintDoorAccessDocumentLastList = new ArrayList<>(); private static ModelAdapter hintDoorAccess; public static void initHintDoorAccess() { hintDoorAccess = HintDoorAccessManager.findById("hint_door_access", HintDoorAccess.tableName); if (hintDoorAccess == null) { hintDoorAccess = new ModelAdapter(HintDoorAccess.tableName); hintDoorAccess.setString("no_register", "请刷身份证注册"); hintDoorAccess.setString("access_identity", "1"); hintDoorAccess.setString("access_name", "1"); hintDoorAccess.setString("access_hint", "请通行"); hintDoorAccess.setString("not_reached_time_hint", "未到时间,请稍等"); hintDoorAccess.setString("not_reached_time_remind", "60"); hintDoorAccess.setString("time_unit", "分钟"); hintDoorAccess.setString("confirm_pass_identity", "1"); hintDoorAccess.setString("confirm_pass_name", "1"); hintDoorAccess.setString("confirm_pass_hint", "请通行"); hintDoorAccess.setString("refuse_pass_identity", "1"); hintDoorAccess.setString("refuse_pass_name", "1"); hintDoorAccess.setString("refuse_pass_hint", "请联系安保人员"); hintDoorAccess.setString("device_id", DeviceManager.getDeviceId()); hintDoorAccess.setString("table", "hint_door_access"); hintDoorAccess.setString(Sync.needSync, Constants.FALSE); BaseManager.save(hintDoorAccess); } } public static ModelAdapter getHintDoorAccessDocument() { return hintDoorAccess; } public static boolean getAccessIsShowIdentity() { getHintDoorAccessDocument(); if (hintDoorAccess != null) { return !TextUtils.isEmpty(hintDoorAccess.getString("access_identity")) && "1".equals(hintDoorAccess.getString("access_identity")); } return false; } public static boolean getAccessIsShowName() { getHintDoorAccessDocument(); if (hintDoorAccess != null) { return !TextUtils.isEmpty(hintDoorAccess.getString("access_name")) && "1".equals(hintDoorAccess.getString("access_name")); } return false; } public static String getAccessMessage() { getHintDoorAccessDocument(); if (hintDoorAccess != null) {//hintDoorAccessManager.getString("access_hint") if (!TextUtils.isEmpty(hintDoorAccess.getString("access_hint"))) { return hintDoorAccess.getString("access_hint"); } } return null; } public static String getNoReachTimeMessage() { getHintDoorAccessDocument(); if (hintDoorAccess != null) { if (!TextUtils.isEmpty(hintDoorAccess.getString("not_reached_time_hint"))) { return hintDoorAccess.getString("not_reached_time_hint"); } } return null; } public static long getNoReachTime() { // 返回的时间为分钟 getHintDoorAccessDocument(); if (hintDoorAccess != null) { String not_reached_time_remind = hintDoorAccess.getString("not_reached_time_remind"); // 提前多久提示 String time_unit = hintDoorAccess.getString("time_unit"); if (!TextUtils.isEmpty(not_reached_time_remind) && !TextUtils.isEmpty(time_unit)) { long time = Long.parseLong(not_reached_time_remind); if ("分钟".equals(time_unit)) { return time; } else if ("小时".equals(time_unit)) { return time * 60; } else if ("天".equals(time_unit)) { return time * 60 * 24; } } } return 100; } public static boolean getConfirmPassIsShowIdentity() { getHintDoorAccessDocument(); if (hintDoorAccess != null) { return !TextUtils.isEmpty(hintDoorAccess.getString("confirm_pass_identity")) && "1".equals(hintDoorAccess.getString("confirm_pass_identity")); } return false; } public static boolean getConfirmPassIsShowName() { getHintDoorAccessDocument(); if (hintDoorAccess != null) { return !TextUtils.isEmpty(hintDoorAccess.getString("confirm_pass_name")) && "1".equals(hintDoorAccess.getString("confirm_pass_name")); } return false; } public static String getConfirmPassMessage() { getHintDoorAccessDocument(); if (hintDoorAccess != null) { if (!TextUtils.isEmpty(hintDoorAccess.getString("confirm_pass_hint"))) { return hintDoorAccess.getString("confirm_pass_hint"); } } return null; } public static boolean getRefusePassIsShowIdentity() { getHintDoorAccessDocument(); if (hintDoorAccess != null) { return !TextUtils.isEmpty(hintDoorAccess.getString("refuse_pass_identity")) && "1".equals(hintDoorAccess.getString("refuse_pass_identity")); } return false; } public static boolean getRefusePassIsShowName() { getHintDoorAccessDocument(); if (hintDoorAccess != null) { return !TextUtils.isEmpty(hintDoorAccess.getString("refuse_pass_name")) && "1".equals(hintDoorAccess.getString("refuse_pass_name")); } return false; } public static String getRefusePassMessage() { // System1.out.println("HintDoorAccessManager.getRefusePassMessage " + FrameUtil.getFrames()); getHintDoorAccessDocument(); if (hintDoorAccess != null) { if (!TextUtils.isEmpty(hintDoorAccess.getString("refuse_pass_hint"))) { return hintDoorAccess.getString("refuse_pass_hint"); } } return null; } public static String getDeviceDoorAccessConfirmMessage(ModelAdapter currentPerson) { // System1.out.println("HintDoorAccessManager.getDeviceDoorAccessConfirmMessage"); String message = ""; if (getConfirmPassIsShowIdentity()) { List identityNameList = PersonIdentityManager.findIdentityNameByPersonId(currentPerson.getId()); if (identityNameList.size() != 0) { message = identityNameList.get(0); } } if (getConfirmPassIsShowName()) { String name = currentPerson.getString("name"); if (!TextUtils.isEmpty(name)) { message = message + " " + name; } } String confirmPassMessage = getConfirmPassMessage(); if (!TextUtils.isEmpty(confirmPassMessage)) { message = message + " " + confirmPassMessage; } if (TextUtils.isEmpty(message.trim())) { return "设备规则:确认通行"; } return message; } public static String getDeviceDoorAccessAllowMessage(ModelAdapter currentPerson) { String message = ""; if (getAccessIsShowIdentity()) { List identityNameList = PersonIdentityManager.findIdentityNameByPersonId(currentPerson.getId()); if (identityNameList.size() != 0) { message = identityNameList.get(0); } } if (getAccessIsShowName()) { String name = currentPerson.getString("name"); if (!TextUtils.isEmpty(name)) { message = message + " " + name; } } String accessMessage = getAccessMessage(); if (!TextUtils.isEmpty(accessMessage)) { message = message + " " + accessMessage; } if (TextUtils.isEmpty(message)) { return "设备规则:允许通行"; } return message; } public static String getSignUpRuleDoorAccessAllowMessage(ModelAdapter ruleDocument, ModelAdapter currentPerson) { // System1.out.println("HintDoorAccessManager.getSignUpRuleDoorAccessAllowMessage " + FrameUtil.getFrames()); String message = ""; if (getAccessIsShowIdentity() && currentPerson != null) { List identityNameList = PersonIdentityManager.findIdentityNameByPersonId(currentPerson.getId()); if (identityNameList.size() != 0) { message = identityNameList.get(0); } } if (getAccessIsShowName() && currentPerson != null) { String name = currentPerson.getString("name"); if (!TextUtils.isEmpty(name)) { message = message + " " + name; } } String accessMessage = getAccessMessage(); if (!TextUtils.isEmpty(accessMessage)) { message = message + " " + accessMessage; } if (TextUtils.isEmpty(message)) { return "注册规则:允许通行"; } return message; } public static String getBusinessRuleDoorAccessConfirmMessage(ModelAdapter modelAdapter) { String confirmPassMessage = getConfirmPassMessage(); if (!TextUtils.isEmpty(confirmPassMessage)) { return confirmPassMessage; } return "注册规则:确认通行"; } public static String getSignUpRuleDoorAccessTimeDeniedMessage(ModelAdapter currentPerson) { String message = ""; if (currentPerson != null) { if (getRefusePassIsShowIdentity()) { List identityNameList = PersonIdentityManager.findIdentityNameByPersonId(currentPerson.getId()); if (identityNameList.size() != 0) { message = identityNameList.get(0); } } if (getRefusePassIsShowName()) { String name = currentPerson.getString("name"); if (!TextUtils.isEmpty(name)) { message = message + " " + name; } } } String refusePassMessage = getRefusePassMessage(); if (!TextUtils.isEmpty(refusePassMessage)) { message = message + " " + refusePassMessage; } if (TextUtils.isEmpty(message)) { return "注册规则:请联系安保人员"; } return message; } public static String getNoRegisterHint() { // System1.out.println("HintDoorAccessManager.getNoRegisterHint " + FrameUtil.getFrames()); if (BaseSettingManager.isGuestMode()) { if (hintDoorAccess != null && !TextUtils.isEmpty(hintDoorAccess.getString("no_register"))) { return hintDoorAccess.getString("no_register"); } else { return "请刷身份证注册"; } } else if (BaseSettingManager.isAdminAuthSignUpMode()) { return HintSignUpManager.getAdminLogoutHint(); } return HintSignUpManager.getAdminLogoutHint(); } public static String getSignUpRuleDoorAccessTimeNotReachMessage(ModelAdapter modelAdapter, ModelAdapter currentPerson) { String noReachTimeMessage = getNoReachTimeMessage(); if (!TextUtils.isEmpty(noReachTimeMessage)) { return noReachTimeMessage; } return "注册规则:未到通行时间"; } public static void saveHintDoorAccess(ModelAdapter hintDoorAccessDocument) { hintDoorAccess = hintDoorAccessDocument; BaseManager.save(hintDoorAccessDocument); } }