package com.yeetou.xinyongkaguanjia.db.service;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import com.yeetou.xinyongkaguanjia.db.DBHelper;
import com.yeetou.xinyongkaguanjia.db.base.DbAccount;
import com.yeetou.xinyongkaguanjia.db.dao.DbAccountInterface;
public class DbAccountService implements DbAccountInterface {
private DBHelper dbHelper;
private DbAccountService(){
}
public DbAccountService(Context mContext){
DBHelper.init(mContext);
this.dbHelper = DBHelper.dbHelper();
}
//没有则返回null
@Override
public DbAccount get() {
SQLiteDatabase db = dbHelper.getWritableDatabase();
Cursor cursor = db.rawQuery("select * from account where _id=201310", new String[]{});
DbAccount account = null;
if(cursor.moveToFirst()){
account = new DbAccount();
account.setId(cursor.getInt(0));
account.setPhone(cursor.getString(1));
account.setEmail(cursor.getString(2));
account.setSecret(cursor.getString(3));
account.setToken(cursor.getString(4));
account.setMsgscan_at(cursor.getLong(5));
account.setSyn_at(cursor.getLong(6));
account.setIv(cursor.getString(7));
}
cursor.close();
return account;
}
@Override
public boolean saveOrUpdate(DbAccount account) {
if(account.check()){
delete();
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("_id", 201310);
values.put("phone", account.getPhone());
values.put("email", account.getEmail());
values.put("secret", account.getSecret());
values.put("token", account.getToken());
values.put("msgscan_at", account.getMsgscan_at());
values.put("syn_at", account.getSyn_at());
values.put("iv", account.getIv());
db.insert("account", null, values);
return true;
}else{
return false;
}
}
public void saveSecret(String secret){
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("secret", secret);
db.update("account", values, "_id=?", new String[]{"201310"});
}
@Override
public void delete() {
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.delete("account", null, null);
}
}