package com.basic.security.manager.impl.cblite;
|
|
import android.text.TextUtils;
|
|
import com.basic.security.manager.impl.sqlite.SlHintDoorAccessManager;
|
import com.basic.security.utils.Constants;
|
import com.couchbase.lite.Expression;
|
import com.basic.security.model.ModelAdapter;
|
|
import java.util.List;
|
|
public class HintDoorAccessManager extends BaseManager {
|
|
private static ModelAdapter hintDoorAccessManager;
|
|
public static ModelAdapter getHintDoorAccessDocument() {
|
if (Constants.useCouchbase) {
|
Expression e = Expression.property("table").equalTo(Expression.string("hint_door_access"));
|
List<ModelAdapter> list = findList(e);
|
if (list.size() == 1) {
|
hintDoorAccessManager = list.get(0);
|
} else {
|
if (list.size() == 0) {
|
hintDoorAccessManager = new ModelAdapter();
|
} else {
|
hintDoorAccessManager = list.get(0);
|
for (int i = 1; i < list.size(); i++) {
|
delete(list.get(i));
|
}
|
}
|
}
|
return hintDoorAccessManager;
|
} else {
|
return SlHintDoorAccessManager.getHintDoorAccessDocument();
|
}
|
}
|
|
public static boolean getAccessIsShowIdentity() {
|
if (Constants.useCouchbase) {
|
getHintDoorAccessDocument();
|
if (hintDoorAccessManager != null) {
|
if (!TextUtils.isEmpty(hintDoorAccessManager.getString("access_identity"))
|
&& "1".equals(hintDoorAccessManager.getString("access_identity"))) {
|
return true;
|
}
|
}
|
return false;
|
} else {
|
return SlHintDoorAccessManager.getAccessIsShowIdentity();
|
}
|
}
|
|
public static boolean getAccessIsShowName() {
|
if (Constants.useCouchbase) {
|
getHintDoorAccessDocument();
|
if (hintDoorAccessManager != null) {
|
if (!TextUtils.isEmpty(hintDoorAccessManager.getString("access_name"))
|
&& "1".equals(hintDoorAccessManager.getString("access_name"))) {
|
return true;
|
}
|
}
|
return false;
|
} else {
|
return SlHintDoorAccessManager.getAccessIsShowName();
|
}
|
}
|
|
public static String getAccessMessage() {
|
if (Constants.useCouchbase) {
|
getHintDoorAccessDocument();
|
if (hintDoorAccessManager != null) {//hintDoorAccessManager.getString("access_hint")
|
if (!TextUtils.isEmpty(hintDoorAccessManager.getString("access_hint"))) {
|
return hintDoorAccessManager.getString("access_hint");
|
}
|
}
|
return null;
|
} else {
|
return SlHintDoorAccessManager.getAccessMessage();
|
}
|
}
|
|
public static String getNoReachTimeMessage() {
|
if (Constants.useCouchbase) {
|
getHintDoorAccessDocument();
|
if (hintDoorAccessManager != null) {
|
if (!TextUtils.isEmpty(hintDoorAccessManager.getString("not_reached_time_hint"))) {
|
return hintDoorAccessManager.getString("not_reached_time_hint");
|
}
|
}
|
return null;
|
} else {
|
return SlHintDoorAccessManager.getNoReachTimeMessage();
|
}
|
}
|
|
public static long getNoReachTime() { // 返回的时间为分钟
|
if (Constants.useCouchbase) {
|
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;
|
} else {
|
return SlHintDoorAccessManager.getNoReachTime();
|
}
|
}
|
|
public static boolean getConfirmPassIsShowIdentity() {
|
if (Constants.useCouchbase) {
|
getHintDoorAccessDocument();
|
if (hintDoorAccessManager != null) {
|
if (!TextUtils.isEmpty(hintDoorAccessManager.getString("confirm_pass_identity"))
|
&& "1".equals(hintDoorAccessManager.getString("confirm_pass_identity"))) {
|
return true;
|
}
|
}
|
return false;
|
} else {
|
return SlHintDoorAccessManager.getConfirmPassIsShowIdentity();
|
}
|
}
|
|
public static boolean getConfirmPassIsShowName() {
|
if (Constants.useCouchbase) {
|
getHintDoorAccessDocument();
|
if (hintDoorAccessManager != null) {
|
if (!TextUtils.isEmpty(hintDoorAccessManager.getString("confirm_pass_name"))
|
&& "1".equals(hintDoorAccessManager.getString("confirm_pass_name"))) {
|
return true;
|
}
|
}
|
return false;
|
} else {
|
return SlHintDoorAccessManager.getConfirmPassIsShowName();
|
}
|
}
|
|
public static String getConfirmPassMessage() {
|
if (Constants.useCouchbase) {
|
getHintDoorAccessDocument();
|
if (hintDoorAccessManager != null) {
|
if (!TextUtils.isEmpty(hintDoorAccessManager.getString("confirm_pass_hint"))) {
|
return hintDoorAccessManager.getString("confirm_pass_hint");
|
}
|
}
|
return null;
|
} else {
|
return SlHintDoorAccessManager.getConfirmPassMessage();
|
}
|
}
|
|
public static boolean getRefusePassIsShowIdentity() {
|
if (Constants.useCouchbase) {
|
getHintDoorAccessDocument();
|
if (hintDoorAccessManager != null) {
|
if (!TextUtils.isEmpty(hintDoorAccessManager.getString("refuse_pass_identity"))
|
&& "1".equals(hintDoorAccessManager.getString("refuse_pass_identity"))) {
|
return true;
|
}
|
}
|
return false;
|
} else {
|
return SlHintDoorAccessManager.getRefusePassIsShowIdentity();
|
}
|
}
|
|
public static boolean getRefusePassIsShowName() {
|
if (Constants.useCouchbase) {
|
getHintDoorAccessDocument();
|
if (hintDoorAccessManager != null) {
|
if (!TextUtils.isEmpty(hintDoorAccessManager.getString("refuse_pass_name"))
|
&& "1".equals(hintDoorAccessManager.getString("refuse_pass_name"))) {
|
return true;
|
}
|
}
|
return false;
|
} else {
|
return SlHintDoorAccessManager.getRefusePassIsShowName();
|
}
|
}
|
|
public static String getRefusePassMessage() {
|
if (Constants.useCouchbase) {
|
getHintDoorAccessDocument();
|
if (hintDoorAccessManager != null) {
|
if (!TextUtils.isEmpty(hintDoorAccessManager.getString("refuse_pass_hint"))) {
|
return hintDoorAccessManager.getString("refuse_pass_hint");
|
}
|
}
|
return null;
|
} else {
|
return SlHintDoorAccessManager.getRefusePassMessage();
|
}
|
}
|
|
public static String getDeviceDoorAccessConfirmMessage(ModelAdapter currentPerson) {
|
if (Constants.useCouchbase) {
|
String message = "";
|
if (getConfirmPassIsShowIdentity()) {
|
List<String> 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;
|
} else {
|
return SlHintDoorAccessManager.getDeviceDoorAccessConfirmMessage(currentPerson);
|
}
|
|
}
|
|
public static String getDeviceDoorAccessAllowMessage(ModelAdapter modelAdapter) {
|
if (Constants.useCouchbase) {
|
getHintDoorAccessDocument();
|
if (hintDoorAccessManager != null) {
|
if (!TextUtils.isEmpty(hintDoorAccessManager.getString("access_hint"))) {
|
return hintDoorAccessManager.getString("access_hint");
|
}
|
}
|
return "";
|
} else {
|
return SlHintDoorAccessManager.getDeviceDoorAccessAllowMessage(modelAdapter);
|
}
|
}
|
|
|
public static String getSignUpRuleDoorAccessAllowMessage(ModelAdapter ruleDocument, ModelAdapter currentPerson) {
|
if (Constants.useCouchbase) {
|
String message = "";
|
if (getAccessIsShowIdentity()) {
|
List<String> 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;
|
} else {
|
return SlHintDoorAccessManager.getSignUpRuleDoorAccessAllowMessage(ruleDocument, currentPerson);
|
}
|
}
|
|
public static String getBusinessRuleDoorAccessConfirmMessage(ModelAdapter modelAdapter) {
|
if (Constants.useCouchbase) {
|
String confirmPassMessage = getConfirmPassMessage();
|
if (!TextUtils.isEmpty(confirmPassMessage)) {
|
return confirmPassMessage;
|
}
|
return "注册规则:确认通行";
|
} else {
|
return SlHintDoorAccessManager.getBusinessRuleDoorAccessConfirmMessage(modelAdapter);
|
}
|
}
|
|
public static String getSignUpRuleDoorAccessTimeDeniedMessage(ModelAdapter currentPerson) {
|
if (Constants.useCouchbase) {
|
String message = "";
|
if (getRefusePassIsShowIdentity()) {
|
List<String> 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;
|
} else {
|
return SlHintDoorAccessManager.getSignUpRuleDoorAccessTimeDeniedMessage(currentPerson);
|
}
|
}
|
|
public static String getSignUpRuleDoorAccessTimeNotReachMessage(ModelAdapter modelAdapter, ModelAdapter currentPerson) {
|
if (Constants.useCouchbase) {
|
String noReachTimeMessage = getNoReachTimeMessage();
|
if (!TextUtils.isEmpty(noReachTimeMessage)) {
|
return noReachTimeMessage;
|
}
|
return "注册规则:未到通行时间";
|
} else {
|
return SlHintDoorAccessManager.getSignUpRuleDoorAccessTimeNotReachMessage(modelAdapter, currentPerson);
|
}
|
}
|
|
public static void saveHintDoorAccess(ModelAdapter hintDoorAccessDocument) {
|
if (Constants.useCouchbase) {
|
BaseManager.save(hintDoorAccessDocument);
|
} else {
|
SlHintDoorAccessManager.saveHintDoorAccess(hintDoorAccessDocument);
|
}
|
}
|
}
|