a
554325746@qq.com
2019-12-25 603cb36a5123e46656b06a5deb8d7ac7ff81307f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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;
    }
}