package cn.flightfeather.thirdapp.repository.dao
|
|
import cn.flightfeather.thirdapp.bean.entity.Scense
|
import cn.flightfeather.thirdapp.common.database.DbFactory
|
import com.ping.greendao.gen.ScenseDao
|
import io.reactivex.Observable
|
|
/**
|
* @author riku
|
* Date: 2019/5/16
|
* 场景表相关数据库操作
|
*/
|
class SceneDao {
|
|
fun insert(scene: Scense) {
|
DbFactory.getInstance().scenseDao.insert(scene)
|
}
|
|
/**
|
* 更新场景信息
|
*/
|
fun update(scene: Scense) {
|
DbFactory.getInstance().scenseDao.update(scene)
|
}
|
|
/**
|
* 获取上次任务的所有场景
|
*/
|
fun getLastSceneList(districtCode: String): Observable<List<Scense>> {
|
return DbFactory.getGreenDaoObservable().map {
|
it.scenseDao.queryBuilder()
|
.where(
|
ScenseDao.Properties.Districtcode.eq(districtCode)
|
).list()
|
}
|
}
|
|
/**
|
* 按照主键获取场景
|
*/
|
fun getSceneByPrimaryKey(sGuid: String):Observable<Scense>{
|
return DbFactory.getGreenDaoObservable().map {
|
it.scenseDao.queryBuilder()
|
.where(
|
ScenseDao.Properties.Guid.eq(sGuid)
|
).unique()
|
}
|
}
|
|
/**
|
* 按照行政区域查找场景
|
*/
|
fun getSceneByArea(provinceCode: String, cityCode: String, districtCode: String): List<Scense> {
|
return DbFactory.getInstance().scenseDao.queryBuilder()
|
.where(
|
ScenseDao.Properties.Provincecode.eq(provinceCode),
|
ScenseDao.Properties.Citycode.eq(cityCode),
|
ScenseDao.Properties.Districtcode.eq(districtCode)
|
).orderAsc(ScenseDao.Properties.Index)
|
.list()
|
}
|
|
}
|