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
package com.basic.security.manager.helper.rm.base;
 
import com.basic.security.manager.VisitManager;
import com.basic.security.utils.FacePosition;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
public class CurrentVisitRecord extends CurrentBaseFragment {
    public static Map<String, Long> lastAddVisitRecordMap = new HashMap<>();
 
    public boolean needAddVisitRecord() {
        return true;
    }
 
    public void addVisitRecord(FacePosition currentFacePosition, String verifyResult) {
        try {
            if (currentFacePosition != null && currentFacePosition.compareFeatureResult != null) {
                String person_id = currentFacePosition.compareFeatureResult.personId;
                if (person_id != null && !"".equals(person_id)) {
                    List<String> personIdRemoveList = new ArrayList<>();
                    for (Map.Entry<String, Long> lastAddVisitRecordEntry : lastAddVisitRecordMap.entrySet()) {
                        if (System.currentTimeMillis() - lastAddVisitRecordEntry.getValue() > 5 * 1000) {
                            personIdRemoveList.add(lastAddVisitRecordEntry.getKey());
                        }
                    }
                    for (String personIdRemove : personIdRemoveList) {
                        lastAddVisitRecordMap.remove(personIdRemove);
                    }
                    Long lastAddVisitRecordValue = lastAddVisitRecordMap.get(person_id);
                    if (lastAddVisitRecordValue == null) {
                        VisitManager.saveVisitRecord(currentFacePosition.compareFeatureResult.person, verifyResult);
                        VisitManager.upLoadVisitRecordToES(currentFacePosition);
                        lastAddVisitRecordMap.put(person_id, System.currentTimeMillis());
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}