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.fragment.ToolbarFragment;
|
import com.couchbase.lite.Blob;
|
import com.couchbase.lite.Document;
|
import com.couchbase.lite.Expression;
|
import com.basic.security.model.ModelAdapter;
|
|
import java.util.List;
|
|
/**
|
* 用户账户相关的数据库级操作类
|
*/
|
public class SlAccountManager extends SlBaseManager {
|
|
private static ModelAdapter adminAccount;
|
|
public static ModelAdapter getAdminAccount() {
|
return adminAccount;
|
}
|
|
public static void setAdminAccount(ModelAdapter admin) {
|
if (admin != null) {
|
try {
|
((MainActivity) (BaseApplication.getApplication().activity)).lastAdminClickTime = System.currentTimeMillis();
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
|
SlAccountManager.adminAccount = admin;
|
|
if (adminAccount != null) {
|
setAdminPhoto();
|
}
|
}
|
|
private static void setAdminPhoto() {
|
try {
|
MainActivity activity = (MainActivity) BaseApplication.getApplication().activity;
|
if (activity == null) {
|
return;
|
}
|
String a = adminAccount.getString("person_id");
|
ModelAdapter admin_person = SlPersonManager.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) {
|
((ToolbarFragment) 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) {
|
String sql = "select * from user where person_id='" + person_id + "' and device_id='" + SlDeviceManager.getDeviceId() + "' ";
|
ModelAdapter modelAdapter = findOne(sql);
|
if (modelAdapter != null && person_id.equals(modelAdapter.getString("person_id"))) {
|
setAdminAccount(modelAdapter);
|
}
|
|
}
|
}
|