a
554325746@qq.com
2019-10-24 c61e776980f038bb0e195f7753a3d7e127d6028f
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
package com.basic.security.manager;
 
import android.text.TextUtils;
 
import com.basic.security.model.ModelAdapter;
import com.basic.security.model.PersonIdentity;
import com.basic.security.utils.SocketUtil;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
//人员身份表
public class PersonIdentityManager extends BaseManager {
 
    public static List<ModelAdapter> findPersonIdentityListByPersonId(String personId) {
        List<ModelAdapter> personIdentityListByPerson = findList("select * from person_identity where person_id='" + personId + "' and del_flag ='0'");
        return personIdentityListByPerson;
    }
 
    public static void deletePersonIdentityByPersonId(String personId) {
        deleteList(findPersonIdentityListByPersonId(personId));
        List<ModelAdapter> list = BaseManager.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 {
            ModelAdapter personIdentity = findOne("select * from person_identity where person_id='" + personId + "' and identity_id='" + ruleId + "' and del_flag ='0'");
            if (personIdentity != null) {
                SocketUtil.rpcCallDeletePersonIdentity(personIdentity);
                deletePhysically(personIdentity);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    public static void save(String personId, String ruleId) {
        ModelAdapter personIdentity = findOne("select * from " + PersonIdentity.tableName + " where "
                + PersonIdentity.person_id + "='" + personId + "'"
                + " and " + PersonIdentity.identity_id + "='" + ruleId + "'"
        );
        if (personIdentity == null) {
            personIdentity = new ModelAdapter();
            personIdentity.setString("person_id", personId);
            personIdentity.setString("identity_id", ruleId);
            personIdentity.setString("del_flag", "0");
            personIdentity.setString("table", "person_identity");
            personIdentity.setString("device_id", DeviceManager.getDeviceId());
            personIdentity.setString("company_id", CompanyManager.getCompanyId());
            save(personIdentity);
            SocketUtil.rpcCallSavePersonIdentity(personIdentity);
        }
    }
 
    public static void saveAdminIdentity(String personId) {
    }
 
    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 = PersonIdentityManager.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) {
        BaseManager.save(person_identity);
    }
}