package com.basic.security.manager.impl.sqlite; import android.text.TextUtils; import com.basic.security.model.ModelAdapter; import java.util.ArrayList; import java.util.List; public class SlHintDoorAccessManager extends SlBaseManager { private static ModelAdapter hintDoorAccessManager; static long getHintDoorAccessDocumentLastTime = 0; static List getHintDoorAccessDocumentLastList = new ArrayList<>(); public static ModelAdapter getHintDoorAccessDocument() { long currentGetHintDoorAccessDocument = System.currentTimeMillis(); if (currentGetHintDoorAccessDocument - getHintDoorAccessDocumentLastTime > 5 * 1000) { getHintDoorAccessDocumentLastTime = currentGetHintDoorAccessDocument; getHintDoorAccessDocumentLastList = findList("select * from hint_door_access"); } if (getHintDoorAccessDocumentLastList.size() == 1) { hintDoorAccessManager = getHintDoorAccessDocumentLastList.get(0); } else { if (getHintDoorAccessDocumentLastList.size() == 0) { hintDoorAccessManager = new ModelAdapter(); } else { hintDoorAccessManager = getHintDoorAccessDocumentLastList.get(0); for (int i = 1; i < getHintDoorAccessDocumentLastList.size(); i++) { delete(getHintDoorAccessDocumentLastList.get(i)); } } } return hintDoorAccessManager; } public static boolean getAccessIsShowIdentity() { getHintDoorAccessDocument(); if (hintDoorAccessManager != null) { if (!TextUtils.isEmpty(hintDoorAccessManager.getString("access_identity")) && "1".equals(hintDoorAccessManager.getString("access_identity"))) { return true; } } return false; } public static boolean getAccessIsShowName() { getHintDoorAccessDocument(); if (hintDoorAccessManager != null) { if (!TextUtils.isEmpty(hintDoorAccessManager.getString("access_name")) && "1".equals(hintDoorAccessManager.getString("access_name"))) { return true; } } return false; } public static String getAccessMessage() { getHintDoorAccessDocument(); if (hintDoorAccessManager != null) {//hintDoorAccessManager.getString("access_hint") if (!TextUtils.isEmpty(hintDoorAccessManager.getString("access_hint"))) { return hintDoorAccessManager.getString("access_hint"); } } return null; } public static String getNoReachTimeMessage() { getHintDoorAccessDocument(); if (hintDoorAccessManager != null) { if (!TextUtils.isEmpty(hintDoorAccessManager.getString("not_reached_time_hint"))) { return hintDoorAccessManager.getString("not_reached_time_hint"); } } return null; } public static long getNoReachTime() { // 返回的时间为分钟 getHintDoorAccessDocument(); if (hintDoorAccessManager != null) { String not_reached_time_remind = hintDoorAccessManager.getString("not_reached_time_remind"); // 提前多久提示 String time_unit = hintDoorAccessManager.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 (hintDoorAccessManager != null) { if (!TextUtils.isEmpty(hintDoorAccessManager.getString("confirm_pass_identity")) && "1".equals(hintDoorAccessManager.getString("confirm_pass_identity"))) { return true; } } return false; } public static boolean getConfirmPassIsShowName() { getHintDoorAccessDocument(); if (hintDoorAccessManager != null) { if (!TextUtils.isEmpty(hintDoorAccessManager.getString("confirm_pass_name")) && "1".equals(hintDoorAccessManager.getString("confirm_pass_name"))) { return true; } } return false; } public static String getConfirmPassMessage() { getHintDoorAccessDocument(); if (hintDoorAccessManager != null) { if (!TextUtils.isEmpty(hintDoorAccessManager.getString("confirm_pass_hint"))) { return hintDoorAccessManager.getString("confirm_pass_hint"); } } return null; } public static boolean getRefusePassIsShowIdentity() { getHintDoorAccessDocument(); if (hintDoorAccessManager != null) { if (!TextUtils.isEmpty(hintDoorAccessManager.getString("refuse_pass_identity")) && "1".equals(hintDoorAccessManager.getString("refuse_pass_identity"))) { return true; } } return false; } public static boolean getRefusePassIsShowName() { getHintDoorAccessDocument(); if (hintDoorAccessManager != null) { if (!TextUtils.isEmpty(hintDoorAccessManager.getString("refuse_pass_name")) && "1".equals(hintDoorAccessManager.getString("refuse_pass_name"))) { return true; } } return false; } public static String getRefusePassMessage() { getHintDoorAccessDocument(); if (hintDoorAccessManager != null) { if (!TextUtils.isEmpty(hintDoorAccessManager.getString("refuse_pass_hint"))) { return hintDoorAccessManager.getString("refuse_pass_hint"); } } return null; } public static String getDeviceDoorAccessConfirmMessage(ModelAdapter currentPerson) { String message = ""; if (getConfirmPassIsShowIdentity()) { List identityNameList = SlPersonIdentityManager.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 = SlPersonIdentityManager.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) { String message = ""; if (getAccessIsShowIdentity()) { List identityNameList = SlPersonIdentityManager.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 getBusinessRuleDoorAccessConfirmMessage(ModelAdapter modelAdapter) { String confirmPassMessage = getConfirmPassMessage(); if (!TextUtils.isEmpty(confirmPassMessage)) { return confirmPassMessage; } return "注册规则:确认通行"; } public static String getSignUpRuleDoorAccessTimeDeniedMessage(ModelAdapter currentPerson) { String message = ""; if (getRefusePassIsShowIdentity()) { List identityNameList = SlPersonIdentityManager.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 getSignUpRuleDoorAccessTimeNotReachMessage(ModelAdapter modelAdapter, ModelAdapter currentPerson) { String noReachTimeMessage = getNoReachTimeMessage(); if (!TextUtils.isEmpty(noReachTimeMessage)) { return noReachTimeMessage; } return "注册规则:未到通行时间"; } public static void saveHintDoorAccess(ModelAdapter hintDoorAccessDocument) { SlBaseManager.save(hintDoorAccessDocument); } }