package cn.flightfeather.thirdapp.repository.dao
|
|
import cn.flightfeather.thirdapp.bean.Mediafile
|
import cn.flightfeather.thirdapp.common.database.DbFactory
|
import com.ping.greendao.gen.MediafileDao
|
import io.reactivex.Observable
|
|
/**
|
* @author riku
|
* Date: 2019/7/29
|
* 多媒体文件相关数据库操作
|
*/
|
class MediaFileDao {
|
|
/**
|
* 查询本地是否有图片未上传
|
*/
|
fun checkUnUploadImage(): Observable<Boolean> {
|
return DbFactory.getGreenDaoObservable().map {
|
it.mediafileDao.queryBuilder()
|
.where(
|
MediafileDao.Properties.Remark.eq("未上传")
|
).count()
|
}.map {
|
it > 0
|
}
|
}
|
|
/**
|
* 保存
|
*/
|
fun insert(mediaFile: Mediafile): Observable<Int> {
|
return DbFactory.getGreenDaoObservable().map {
|
it.mediafileDao.insert(mediaFile).toInt()
|
}
|
}
|
|
/**
|
* 根据类型获取巡查中的图片
|
*/
|
fun getMediaFile(inspectionId: String, businessType: Int): Observable<List<Mediafile>> {
|
return DbFactory.getGreenDaoObservable().map {
|
it.mediafileDao.queryBuilder()
|
.where(
|
MediafileDao.Properties.Iguid.eq(inspectionId),
|
MediafileDao.Properties.Businesstypeid.eq(businessType),
|
MediafileDao.Properties.Remark.eq("未上传")
|
).list()
|
}
|
}
|
|
/**
|
* 根据问题id获取对应的相关图片
|
*/
|
fun getMediaFileByProblemId(problemId: String): Observable<List<Mediafile>> {
|
return DbFactory.getGreenDaoObservable().map {
|
it.mediafileDao.queryBuilder().where(
|
MediafileDao.Properties.Businessguid.eq(problemId),
|
MediafileDao.Properties.Remark.eq("未上传")
|
).list()
|
}
|
}
|
|
/**
|
* 删除图片
|
*/
|
fun deleteMediaFile(id: String): Observable<Boolean> {
|
return DbFactory.getGreenDaoObservable().map {
|
it.mediafileDao.deleteByKey(id)
|
true
|
}
|
}
|
}
|