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);
|
}
|
}
|