refactor(user): 重构司机信息存储逻辑

- 将司机信息从 MMKV 迁移到 Room 数据库
- 新增 DriverInfoBean 实体类和 DriverInfoDao接口
- 更新 GlobalData 中的 driverInfo 相关逻辑- 修改相关 Activity 和 ViewModel 中的代码,使用新的数据库存储方式- 优化了司机信息的获取和更新流程
This commit is contained in:
songzhiling
2025-04-16 15:58:07 +08:00
parent d2f2752499
commit 0f24648cb1
53 changed files with 1259 additions and 1272 deletions

View File

@ -12,64 +12,14 @@ data class DriverInfo(
var userName : String? = null, //用户姓名
var userPhone : String? = null, //用户手机号
var callphone : String? = null,
var supplierId : String? = null, //经销商id
var supplierId : Int? = null, //经销商id
var supplierName : String? = null, //经销商名称
var supplierType : Int? = null, //经销商类型 1子公司 2供应商
var loginLogId : Int? = null,
var serviceList : List<String>? = null, //车辆服务列表
var assistUserCode : String? = null,
val authStatus : Int? = null, // 0 未认证 1 已认证
) : Parcelable {
constructor(parcel : Parcel) : this(parcel.readString(),
parcel.readString(),
parcel.readString(),
parcel.readString(),
parcel.readValue(Int::class.java.classLoader) as? Int,
parcel.readString(),
parcel.readString(),
parcel.readString(),
parcel.readString(),
parcel.readString(),
parcel.readValue(Int::class.java.classLoader) as? Int,
parcel.readValue(Int::class.java.classLoader) as? Int,
parcel.createStringArrayList(),
parcel.readString(),
parcel.readValue(Int::class.java.classLoader) as? Int) {
}
override fun writeToParcel(parcel : Parcel, flags : Int) {
parcel.writeString(userPortrait)
parcel.writeString(token)
parcel.writeString(rongyunToken)
parcel.writeString(logTime)
parcel.writeValue(userId)
parcel.writeString(userName)
parcel.writeString(userPhone)
parcel.writeString(callphone)
parcel.writeString(supplierId)
parcel.writeString(supplierName)
parcel.writeValue(supplierType)
parcel.writeValue(loginLogId)
parcel.writeStringList(serviceList)
parcel.writeString(assistUserCode)
parcel.writeValue(authStatus)
}
override fun describeContents() : Int {
return 0
}
companion object CREATOR : Parcelable.Creator<DriverInfo> {
override fun createFromParcel(parcel : Parcel) : DriverInfo {
return DriverInfo(parcel)
}
override fun newArray(size : Int) : Array<DriverInfo?> {
return arrayOfNulls(size)
}
}
}
)
data class GeneralInfo(
var userId : Int? = null, //用户id
@ -213,4 +163,57 @@ data class LoginWithTaskBean(val supplierName : String? = null,
val serviceList : List<String>? = null,
val jobNumber : String? = null,
val vehicleId : Int? = null,
val supplierType : Int? = null)
val supplierType : Int? = null)
data class AppNewDriverInfoDTO(val userId : Int? = null,
val userName : String? = null,
val userPhone : String? = null,
val supplierCode : String? = null,
val appLoginCode : String? = null,
val supplierId : Int? = null,
val supplierName : String? = null,
val supplierType : Int? = null,
val authStatus : Int? = null,
val tiedVehicle : VehicleInfo? = null, //绑定的车辆,如果该服务商下面绑定的有车辆,则返回绑定车辆信息
val loginTime : String? = null) : Parcelable {
constructor(parcel : Parcel) : this(parcel.readValue(Int::class.java.classLoader) as? Int,
parcel.readString(),
parcel.readString(),
parcel.readString(),
parcel.readString(),
parcel.readValue(Int::class.java.classLoader) as? Int,
parcel.readString(),
parcel.readValue(Int::class.java.classLoader) as? Int,
parcel.readValue(Int::class.java.classLoader) as? Int,
parcel.readParcelable(VehicleInfo::class.java.classLoader),
parcel.readString()) {
}
override fun writeToParcel(parcel : Parcel, flags : Int) {
parcel.writeValue(userId)
parcel.writeString(userName)
parcel.writeString(userPhone)
parcel.writeString(supplierCode)
parcel.writeString(appLoginCode)
parcel.writeValue(supplierId)
parcel.writeString(supplierName)
parcel.writeValue(supplierType)
parcel.writeValue(authStatus)
parcel.writeParcelable(tiedVehicle, flags)
parcel.writeString(loginTime)
}
override fun describeContents() : Int {
return 0
}
companion object CREATOR : Parcelable.Creator<AppNewDriverInfoDTO> {
override fun createFromParcel(parcel : Parcel) : AppNewDriverInfoDTO {
return AppNewDriverInfoDTO(parcel)
}
override fun newArray(size : Int) : Array<AppNewDriverInfoDTO?> {
return arrayOfNulls(size)
}
}
}