package com.basic.security.manager;
|
|
import android.text.TextUtils;
|
|
import com.basic.security.model.Identity;
|
import com.basic.security.model.ModelAdapter;
|
import com.basic.security.model.PersonIdentity;
|
import com.basic.security.utils.Constants;
|
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.UUID;
|
|
public class IdentityManager extends BaseManager {
|
public static List<ModelAdapter> findIdentityList() {
|
return findList("select * from identity ");
|
// return findIdentityList1();
|
}
|
|
public static List<ModelAdapter> findIdentityList1() {
|
List<ModelAdapter> allIdentityList = findList("select * from identity where " + Identity.name + "!='访客'");
|
List<ModelAdapter> allIdentityList2 = findList("select * from identity where " + Identity.name + "='访客'");
|
if (allIdentityList2.size() > 0) {
|
allIdentityList.add(0, allIdentityList2.get(0));
|
}
|
return allIdentityList;
|
}
|
|
public static List<String> findIdentityNameListByPersonId(String personId) {
|
List<String> identityNameList = new ArrayList();
|
List<ModelAdapter> personPersonIdentity = PersonIdentityManager.findPersonIdentityListByPersonId(personId);
|
for (ModelAdapter personIdentity : personPersonIdentity) {
|
String identityId = personIdentity.getString("identity_id");
|
ModelAdapter identityDocument = findById("identity", identityId);
|
if (identityDocument != null) {
|
String identityName = identityDocument.getString("name");
|
if (!TextUtils.isEmpty(identityName)) {
|
identityNameList.add(identityName);
|
}
|
}
|
}
|
return identityNameList;
|
}
|
|
public static ModelAdapter findIdentityById(String id) {
|
return BaseManager.findById("identity", id);
|
}
|
|
public static ModelAdapter findIdentityByName(String identityName) {
|
ModelAdapter identity = findOne("select * from " + Identity.tableName + " where " + Identity.name + "='" + identityName + "'");
|
if (identity == null) {
|
identity = new ModelAdapter();
|
identity.setString(Identity.id, UUID.randomUUID().toString());
|
identity.setString(Identity.name, identityName);
|
identity.setString(Identity.del_flag, "0");
|
identity.setString(Constants.TABLE, Identity.tableName);
|
identity.setString(Identity.device_id, DeviceManager.getDeviceId());
|
save(identity);
|
}
|
return identity;
|
}
|
|
public static String findIdentityNamesByPersonId(String personId) {
|
List<ModelAdapter> identityList = findList("select b.* from " + PersonIdentity.tableName + " a left join "
|
+ Identity.tableName + " b on a." + PersonIdentity.identity_id + "=b." + Identity.id +
|
" where a." + PersonIdentity.person_id + "='" + personId + "' "
|
);
|
List<String> names = new ArrayList<>();
|
for (ModelAdapter identity : identityList) {
|
names.add(identity.getString(Identity.name));
|
}
|
return TextUtils.join(",", names);
|
}
|
|
public static Map<String, ModelAdapter> findAllIdentitiesMap() {
|
List<ModelAdapter> identityList = findList("select * from " + Identity.tableName);
|
Map<String, ModelAdapter> identityMap = new HashMap<>();
|
for (ModelAdapter identity : identityList) {
|
identityMap.put(identity.getString(Identity.name), identity);
|
}
|
return identityMap;
|
}
|
}
|