zhangzengfei
2020-03-31 0ce893695d32ab686f9e2309509e80c6feb0d380
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
package com.basic.security.manager.impl.sqlite;
 
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Log;
 
import com.basic.security.R;
import com.basic.security.activity.MainActivity;
import com.basic.security.base.BaseApplication;
import com.basic.security.manager.PersonManager;
import com.basic.security.model.ModelAdapter;
 
/**
 * 用户账户相关的数据库级操作类
 */
public class SlAccountManager extends SlBaseManager {
 
    private static ModelAdapter adminAccount;
 
    public static ModelAdapter getAdminAccount() {
        if (adminAccount == null) {
            adminAccount = SlBaseManager.findById("user", SlDeviceManager.getDeviceId() + "admin_user");
        }
        return adminAccount;
    }
 
    public static void setAdminAccount(ModelAdapter admin) {
        if (admin != null) {
            BaseApplication.getApplication().activity.lastAdminClickTime = System.currentTimeMillis();
        }
        SlAccountManager.adminAccount = admin;
        if (adminAccount != null) {
            setAdminPhoto();
        }
    }
 
    private static void setAdminPhoto() {
        try {
            MainActivity activity = BaseApplication.getApplication().activity;
            if (activity == null) {
                return;
            }
            String a = adminAccount.getString("person_id");
            ModelAdapter admin_person = PersonManager.findPersonById(a);
            if (admin_person == null) {
                return;
            }
            if (!"person".equals(admin_person.getString("table"))) {
                return;
            }
            String name = admin_person.getString("name");
            Log.e("name", name);
            Bitmap b = null;
 
            byte[] blob = admin_person.getBlob("camera_image_path");
            byte[] data = null;
            if (blob != null) {
                data = blob;
                if (data != null) {
                    b = BitmapFactory.decodeByteArray(data, 0, data.length);
                }
            }
            if (b == null) {
                b = BitmapFactory.decodeResource(activity.getResources(), R.drawable.u1280);
            }
 
            if (b != null) {
                activity.fragment_toolbar.admin_photo.setImageBitmap(b);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    public static ModelAdapter getAccount(String account, String password) {
        return findOne("select * from user where username='" + account + "'" + " and password='" + password + "'");
    }
 
    // 管理员是否已经登录
    public static boolean adminLoggedIn() {
        return adminAccount != null;
    }
 
    /**
     * 根据管理员获取账号密码
     */
 
    public static String getAdminPassword(String admin) {
        ModelAdapter modelAdapter = findOne("select * from user where username='" + admin + "'");
        if (modelAdapter != null) {
            return modelAdapter.getString("password");
        }
        return null;
    }
 
 
    public static String getCurrentAdminPassword() {
        return adminAccount.getString("password");
    }
 
 
    public static void setAdminId(String person_id) {
        ModelAdapter admin_user_table = SlBaseManager.findById("user", SlDeviceManager.getDeviceId() + "admin_user");
        setAdminAccount(admin_user_table);
    }
}