diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/port/ParseHelper.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/port/ParseHelper.kt index 8674ec1..e9dab14 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/port/ParseHelper.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/port/ParseHelper.kt @@ -44,7 +44,7 @@ object ParseHelper { LogUtils.v("receive msg, unknown gas") return } - LogUtils.v("receive msg, status is $status") + LogUtils.v("receive msg ${gasType.desc}, status is $status") when (status) { // 预热 0 -> { @@ -266,9 +266,14 @@ object ParseHelper { val typeDao = DBUtils.gasTypeDao() val gasType = typeDao.getByName(type.desc) GasCache.setStatus(type.desc, getShowStatus(CommonApplication.getContext(), status)) + gasType?.type = type.desc gasType?.status = status gasType?.sensorIndex = sensorIndex - typeDao.insert(gasType ?: GasType(type.desc, status, sensorIndex)) + if (gasType == null) { + typeDao.insert(GasType(type.desc, status, sensorIndex)) + } else { + typeDao.update(gasType) + } } } } diff --git a/library-common/src/main/java/com/common/commonlib/db/dao/GasTypeDao.kt b/library-common/src/main/java/com/common/commonlib/db/dao/GasTypeDao.kt index 58073a1..689bf05 100644 --- a/library-common/src/main/java/com/common/commonlib/db/dao/GasTypeDao.kt +++ b/library-common/src/main/java/com/common/commonlib/db/dao/GasTypeDao.kt @@ -5,6 +5,7 @@ import androidx.room.Delete import androidx.room.Insert import androidx.room.OnConflictStrategy import androidx.room.Query +import androidx.room.Update import com.common.commonlib.db.entity.GasType @Dao @@ -18,6 +19,9 @@ interface GasTypeDao { @Insert(onConflict = OnConflictStrategy.REPLACE) suspend fun insert(gas: GasType) + @Update + suspend fun update(gas: GasType) + @Insert suspend fun insertAll(types: List)