package com.basic.security.manager; import android.text.TextUtils; import com.basic.security.model.HintDoorAccess; import com.basic.security.model.ModelAdapter; 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", IdManager.getId(HintDoorAccess.tableName)); if (hintDoorAccess == null) { hintDoorAccess = new ModelAdapter(IdManager.getId(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"); BaseManager.save(hintDoorAccess); } } 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) { // hintDoorAccess = getHintDoorAccessDocumentLastList.get(0); // } else { // if (getHintDoorAccessDocumentLastList.size() == 0) { // hintDoorAccess = new ModelAdapter(); // } else { // hintDoorAccess = getHintDoorAccessDocumentLastList.get(0); // for (int i = 1; i < getHintDoorAccessDocumentLastList.size(); i++) { // delete(getHintDoorAccessDocumentLastList.get(i)); // } // } // } return hintDoorAccess; } public static boolean getAccessIsShowIdentity() { getHintDoorAccessDocument(); if (hintDoorAccess != null) { if (!TextUtils.isEmpty(hintDoorAccess.getString("access_identity")) && "1".equals(hintDoorAccess.getString("access_identity"))) { return true; } } return false; } public static boolean getAccessIsShowName() { getHintDoorAccessDocument(); if (hintDoorAccess != null) { if (!TextUtils.isEmpty(hintDoorAccess.getString("access_name")) && "1".equals(hintDoorAccess.getString("access_name"))) { return true; } } 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) { if (!TextUtils.isEmpty(hintDoorAccess.getString("confirm_pass_identity")) && "1".equals(hintDoorAccess.getString("confirm_pass_identity"))) { return true; } } return false; } public static boolean getConfirmPassIsShowName() { getHintDoorAccessDocument(); if (hintDoorAccess != null) { if (!TextUtils.isEmpty(hintDoorAccess.getString("confirm_pass_name")) && "1".equals(hintDoorAccess.getString("confirm_pass_name"))) { return true; } } 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) { if (!TextUtils.isEmpty(hintDoorAccess.getString("refuse_pass_identity")) && "1".equals(hintDoorAccess.getString("refuse_pass_identity"))) { return true; } } return false; } public static boolean getRefusePassIsShowName() { getHintDoorAccessDocument(); if (hintDoorAccess != null) { if (!TextUtils.isEmpty(hintDoorAccess.getString("refuse_pass_name")) && "1".equals(hintDoorAccess.getString("refuse_pass_name"))) { return true; } } return false; } public static String getRefusePassMessage() { 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) { 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) { String message = ""; try { 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 "注册规则:允许通行"; } } catch (Exception e) { e.printStackTrace(); } 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 = ""; try { if (getRefusePassIsShowIdentity()) { if (currentPerson != null) { List identityNameList = PersonIdentityManager.findIdentityNameByPersonId(currentPerson.getId()); if (identityNameList.size() != 0) { message = identityNameList.get(0); } } } if (getRefusePassIsShowName()) { if (currentPerson != null) { 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 "注册规则:拒绝通行"; } } catch (Exception e) { e.printStackTrace(); } 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) { hintDoorAccess = hintDoorAccessDocument; BaseManager.save(hintDoorAccessDocument); } public static String getNoRegister() { String no_register = hintDoorAccess.getString(HintDoorAccess.no_register); if (!TextUtils.isEmpty(no_register)) { return no_register; } return "请注册"; } }