package com.basic.security.manager;
|
|
import com.basic.security.utils.CompareFeatureResult;
|
import com.basic.security.utils.FacePosition;
|
import com.basic.security.utils.FaceTitleAndTips;
|
|
import java.util.Map;
|
import java.util.concurrent.ConcurrentHashMap;
|
|
public class FaceTitleAndTipsManager {
|
public static Map<Long, FaceTitleAndTips> faceTitleMap = new ConcurrentHashMap<>();
|
static long lastTrackerId;
|
static String lastPersonId;
|
|
public static FaceTitleAndTips getFaceTitleMap(FacePosition facePosition) {
|
return getFaceTitleMap(facePosition, true);
|
}
|
|
public static void clearFaceTitle() {
|
for (FaceTitleAndTips faceTitleAndTips : faceTitleMap.values()) {
|
faceTitleAndTips.faceTitle("", false);
|
}
|
}
|
|
public static FaceTitleAndTips getFaceTitleMap(FacePosition facePosition, boolean forShow) {
|
long trackerId = facePosition.trackerId;
|
FaceTitleAndTips faceTitleAndTips = faceTitleMap.get(trackerId);
|
try {
|
// System1.out.println("trackerId====="+trackerId);
|
CompareFeatureResult compareFeatureResult = facePosition.compareFeatureResult;
|
try {
|
if (faceTitleAndTips == null) {
|
faceTitleAndTips = new FaceTitleAndTips();
|
faceTitleAndTips.facePosition = facePosition;
|
faceTitleMap.put(trackerId, faceTitleAndTips);
|
}
|
if (compareFeatureResult != null) {
|
faceTitleAndTips.personId = compareFeatureResult.personId;
|
faceTitleAndTips.person = compareFeatureResult.person;
|
faceTitleAndTips.validBusinessRuleList = compareFeatureResult.validBusinessRuleList;
|
}
|
if (forShow) {
|
if (facePosition.compareFeatureResult != null) {
|
String currentPersonId = facePosition.compareFeatureResult.personId;
|
if (lastTrackerId == facePosition.trackerId && currentPersonId != null
|
&& !currentPersonId.equals(lastPersonId)) {
|
if ("".equals(currentPersonId) || compareFeatureResult.person == null) {
|
faceTitleAndTips.faceTitle("", false);
|
faceTitleAndTips.setFaceTitleRedColor();
|
} else {
|
if ("未注册".equals(compareFeatureResult.person.getString("sign_up_status"))) {
|
faceTitleAndTips.faceTitle("", false);
|
faceTitleAndTips.setFaceTitleRedColor();
|
}
|
}
|
}
|
}
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
lastTrackerId = facePosition.trackerId;
|
if (facePosition.compareFeatureResult != null) {
|
lastPersonId = facePosition.compareFeatureResult.personId;
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return faceTitleAndTips;
|
}
|
}
|