liuxiaolong
2019-05-06 573d1e33a32da5c55c638df2ee622d972976c1d0
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
package com.basic.security.manager.impl.sqlite;
 
import android.os.SystemClock;
import android.text.TextUtils;
 
import com.couchbase.lite.Expression;
import com.basic.security.model.ModelAdapter;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
/*人员身份表*/
public class SlPersonIdentityManager extends SlBaseManager {
 
    public static long findPersonIdentityListByPersonIdLastTime = 0;
    public static List<ModelAdapter> findPersonIdentityListByPersonIdLastList = new ArrayList<>();
    public static List<ModelAdapter> findPersonIdentityListByPersonId(String personId) {
        if (TextUtils.isEmpty(personId)) {
            return new ArrayList<>();
        }
        long findPersonIdentityListByPersonIdCurrent = System.currentTimeMillis();
        if (findPersonIdentityListByPersonIdCurrent - findPersonIdentityListByPersonIdLastTime > 5) {
            findPersonIdentityListByPersonIdLastList = findList("select * from person_identity where person_id='"+personId+"' and del_flag ='0'");
        }
        findPersonIdentityListByPersonIdLastTime = System.currentTimeMillis();
        return findPersonIdentityListByPersonIdLastList;
    }
 
    public static void deletePersonIdentityByPersonId(String personId) {
        deleteList(findPersonIdentityListByPersonId(personId));
        List<ModelAdapter> list = SlBaseManager.findList("select * from user where person_id='"+personId+"'");
        for (ModelAdapter k : list) {
            try {
                delete(k);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
 
    public static void delete(String personId, String ruleId) {
        try {
            // 物理删除
            deletePhysically(findOne("select * from person_identity where person_id='"+personId+"' and identity_id='"+ruleId+"' and del_flag ='0'"));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    public static void save(String personId, String ruleId) {
 
        ModelAdapter person = new ModelAdapter();
        person.setString("person_id", personId);
        person.setString("identity_id", ruleId);
        person.setString("del_flag", "0");
        person.setString("table", "person_identity");
 
        person.setString("device_id", SlDeviceManager.getDeviceId());
        person.setString("company_id", SlDeviceManager.getCompareId());
        save(person);
    }
 
 
    public static void saveAdminIdentity(String personId) {
        List<ModelAdapter> list = findList("select * from user where person_id='"+personId+"'");
 
        if (list.size() > 0) {
            return;
        }
 
        ModelAdapter admin_user_table = new ModelAdapter()
                .setString("table", "user")
                .setString("name", SlPersonManager.findById("person", personId).getString("name"))
                .setString("person_id", personId)
                .setString("username", "admin")
                .setString("password", "admin123")
                .setString("device_id", SlDeviceManager.getDeviceId())
                .setString("company_id", SlDeviceManager.getCompareId());
 
        save(admin_user_table);
    }
 
    public static void delAdminIdentity(String personId) {
 
        List<ModelAdapter> list = findList("select * from user where person_id='"+personId+"'");
 
        for (ModelAdapter d : list) {
            delete(d);
        }
    }
 
    public static Map<String, ModelAdapter> findIdentityMapByPersonId(String personId) {
        Map<String, ModelAdapter> ruleMap = new HashMap();
        List<ModelAdapter> personPersonIdentity = findPersonIdentityListByPersonId(personId);
        for (ModelAdapter personIdentity : personPersonIdentity) {
            String ruleId = personIdentity.getString("identity_id");
            ruleMap.put(ruleId, findById("identity", ruleId));
        }
        return ruleMap;
    }
 
    public static List<String> findIdentityNameByPersonId(String personId) {
        Map<String, ModelAdapter> checkedIdentityMapByPerson = SlPersonIdentityManager.findIdentityMapByPersonId(personId);
        List<String> ruleNameList = new ArrayList<>();
        for (ModelAdapter identityModelAdapter : checkedIdentityMapByPerson.values()) {
            if (identityModelAdapter != null && !TextUtils.isEmpty(identityModelAdapter.getString("name"))) {
                ruleNameList.add(identityModelAdapter.getString("name"));
            }
        }
 
        return ruleNameList;
    }
 
    public static void savePersonIdentity(ModelAdapter person_identity) {
        SlBaseManager.save(person_identity);
    }
 
}