package com.basic.security.manager.impl.sqlite; import android.text.TextUtils; import com.basic.security.model.ModelAdapter; import com.basic.security.utils.FaceId; import java.util.ArrayList; import java.util.List; import java.util.Map; public class SlVisitorModelManager extends SlBaseManager { // 查看人员数据库(person)中是否有此人 public static ModelAdapter getTemPersonInPersonDb(ModelAdapter temPerson) { String compareResultStr = FaceId.instance.compareFeatureInDb(temPerson.getBlob("camera_image_feature"), 70); String personId = compareResultStr.split(",", -1)[0]; if (!TextUtils.isEmpty(personId) && findById("person", personId) != null) { return findById("person", personId); } return temPerson; } // 获取含有特定身份的所有人员 public static List getIdentityPersonList(List allPersonList, Map checkedIdentityMap) { List allPersonIDList = new ArrayList<>(); List personList = new ArrayList<>(); // 获取符合身份的所有人员信息 for (String ruleId : checkedIdentityMap.keySet()) { List list = findList("select * from person_identity where identity_id='" + ruleId + "'"); for (ModelAdapter person : list) { allPersonIDList.add(person.getString("person_id")); } } // 获取临时库中在人员库中的人 for (ModelAdapter person : allPersonList) { String compareResultStr = FaceId.instance.compareFeatureInDb(person.getBlob("camera_image_feature"), 70); String personId = compareResultStr.split(",", -1)[0]; if (!TextUtils.isEmpty(personId) && findById("person", personId) != null) { if (allPersonIDList.contains(personId)) { personList.add(person); } } } return personList; } public static List getCameraData() { List cameraDataList = new ArrayList<>(); List ipList = new ArrayList<>();// 避免设备存储的MutableDocument的id改变而有重复的ip List baseSettingList = findList("select * from base_setting"); for (ModelAdapter baseSetting : baseSettingList) { if (!TextUtils.isEmpty(SlDeviceManager.getDeviceId()) && !TextUtils.isEmpty(SlDeviceManager.getDeviceIp()) && SlDeviceManager.getDeviceId().equals(baseSetting.getString("device_name_ip")) && SlDeviceManager.getDeviceIp().equals(baseSetting.getString("server_name_ip"))) { ModelAdapter modelAdapter = findOne("select * from device where device_id='" + baseSetting.getString("device_id") + "'"); if (modelAdapter != null && !ipList.contains(modelAdapter.getString("ip"))) { ipList.add(modelAdapter.getString("ip")); cameraDataList.add(modelAdapter); } } } return cameraDataList; } }