package com.basic.security.manager.impl.cblite;
|
|
import android.text.TextUtils;
|
|
import com.basic.security.manager.impl.sqlite.SlBusinessDetailManager;
|
import com.basic.security.model.ModelAdapter;
|
import com.basic.security.utils.Constants;
|
import com.couchbase.lite.Expression;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
public class BusinessDetailManager extends BaseManager {
|
|
|
// 保存此业务表应用于哪些设备
|
public static void save(String businessId, String deviceId) {
|
if (Constants.useCouchbase) {
|
ModelAdapter applyDevice = new ModelAdapter();
|
applyDevice.setString("business_id", businessId);
|
applyDevice.setString("device_id", deviceId);
|
applyDevice.setString("table", "business_apply_device");
|
|
// applyDevice.setString("device_id", DeviceInfoManager.getMachineId());
|
// applyDevice.setString("company_id", DeviceInfoManager.getCompareId());
|
save(applyDevice);
|
} else {
|
SlBusinessDetailManager.save(businessId, deviceId);
|
}
|
}
|
|
// 获取到此业务表应用于哪些设备
|
public static List<String> getDeviceByBusiness(String businessId) {
|
if (Constants.useCouchbase) {
|
|
if (TextUtils.isEmpty(businessId)) {
|
return new ArrayList<>();
|
}
|
Expression expression = Expression.property("table").equalTo(Expression.string("business_apply_device"))
|
.and(Expression.property("business_id").equalTo(Expression.string(businessId)));
|
List<ModelAdapter> deviceList = findList(expression);
|
List<String> deviceIdList = new ArrayList<>();
|
for (ModelAdapter device : deviceList) {
|
if (!deviceIdList.contains(device.getString("device_id"))) {
|
deviceIdList.add(device.getString("device_id"));
|
}
|
}
|
return deviceIdList;
|
} else {
|
return SlBusinessDetailManager.getDeviceByBusiness(businessId);
|
}
|
}
|
|
public static List<ModelAdapter> getDeviceDataList() { // 获取所有设备
|
if (Constants.useCouchbase) {
|
Expression expression = Expression.property("table").equalTo(Expression.string("device"));
|
return findList(expression);
|
} else {
|
return SlBusinessDetailManager.getDeviceDataList();
|
}
|
}
|
|
|
// 业务表提示语
|
|
public static boolean getAccessShowTableName(String businessId) {// 允许通行是否业务表名称
|
if (Constants.useCouchbase) {
|
ModelAdapter businessDocument = findById(businessId);
|
if ("1".equals(businessDocument.getString("access_table_name"))) {
|
return true;
|
}
|
return false;
|
} else {
|
return SlBusinessDetailManager.getAccessShowTableName(businessId);
|
}
|
|
}
|
|
public static boolean getAccessShowIdentity(String businessId) {// 允许通行是否显示身份
|
if (Constants.useCouchbase) {
|
ModelAdapter businessDocument = findById(businessId);
|
if ("1".equals(businessDocument.getString("access_identity"))) {
|
return true;
|
}
|
return false;
|
} else {
|
return SlBusinessDetailManager.getAccessShowIdentity(businessId);
|
}
|
|
}
|
|
public static boolean getAccessShowName(String businessId) {// 允许通行是否显示姓名
|
if (Constants.useCouchbase) {
|
ModelAdapter businessDocument = findById(businessId);
|
if ("1".equals(businessDocument.getString("access_name"))) {
|
return true;
|
}
|
return false;
|
} else {
|
return SlBusinessDetailManager.getAccessShowName(businessId);
|
}
|
}
|
|
public static String getAccessHint(String businessId) {// 允许通行de 欢迎语
|
if (Constants.useCouchbase) {
|
|
ModelAdapter businessDocument = findById(businessId);
|
return businessDocument.getString("access_hint");
|
} else {
|
return SlBusinessDetailManager.getAccessHint(businessId);
|
}
|
|
}
|
|
public static String getNotReachHint(String businessId) {// 未到通行时间的欢迎语
|
if (Constants.useCouchbase) {
|
ModelAdapter businessDocument = findById(businessId);
|
return businessDocument.getString("not_reached_time_hint");
|
} else {
|
return SlBusinessDetailManager.getNotReachHint(businessId);
|
}
|
|
}
|
|
public static long getNotReachRemindTime(String businessId) { // 开始前多久提示,全部转换为了分钟
|
if (Constants.useCouchbase) {
|
ModelAdapter businessDocument = findById(businessId);
|
String not_reached_time_remind = businessDocument.getString("not_reached_time_remind");
|
String time_unit = businessDocument.getString("time_unit");
|
if ("分钟".equals(time_unit)) {
|
return Long.parseLong(not_reached_time_remind);
|
} else if ("小时".equals(time_unit)) {
|
return Long.parseLong(not_reached_time_remind) * 60;
|
} else {
|
return Long.parseLong(not_reached_time_remind) * 60 * 24;
|
}
|
} else {
|
return SlBusinessDetailManager.getNotReachRemindTime(businessId);
|
}
|
|
}
|
|
public static boolean getConfirmPassShowIdentity(String businessId) {// 确认通行是否显示身份
|
if (Constants.useCouchbase) {
|
ModelAdapter businessDocument = findById(businessId);
|
if ("1".equals(businessDocument.getString("confirm_pass_identity"))) {
|
return true;
|
}
|
return false;
|
} else {
|
return SlBusinessDetailManager.getConfirmPassShowIdentity(businessId);
|
}
|
}
|
|
public static boolean getConfirmPassShowName(String businessId) {// 确认通行是否显示姓名
|
if (Constants.useCouchbase) {
|
ModelAdapter businessDocument = findById(businessId);
|
if ("1".equals(businessDocument.getString("confirm_pass_name"))) {
|
return true;
|
}
|
return false;
|
} else {
|
return SlBusinessDetailManager.getConfirmPassShowName(businessId);
|
}
|
}
|
|
public static String getConfirmPassHint(String businessId) {// 确认通行de欢迎语
|
if (Constants.useCouchbase) {
|
ModelAdapter businessDocument = findById(businessId);
|
return businessDocument.getString("confirm_pass_hint");
|
} else {
|
return SlBusinessDetailManager.getConfirmPassHint(businessId);
|
}
|
|
}
|
|
public static void delete(String businessId, String deviceId) {
|
if (Constants.useCouchbase) {
|
Expression expression = Expression.property("table").equalTo(Expression.string("business_apply_device"))
|
.and(Expression.property("business_id").equalTo(Expression.string(businessId)))
|
.and(Expression.property("device_id").equalTo(Expression.string(deviceId)));
|
List<ModelAdapter> business_apply_deviceList = findList(expression);
|
for (ModelAdapter business_apply_device : business_apply_deviceList) {
|
delete(business_apply_device);
|
}
|
} else {
|
SlBusinessDetailManager.delete(businessId, deviceId);
|
}
|
}
|
|
}
|