refactor(servicing): 重构司机信息获取逻辑

- 更新 Api 定义,将 GeneralInfo 请求的返回类型改为 DriverInfoBean- 重构 GlobalData 类,使用 GlobalLocalData 类封装本地数据操作
- 优化 ConfirmEleScreen组件,增加 ConfirmEleCheckBoxItem复用组件
- 调整签名视图的字体大小- 移除 VerifyOrderActivity 中的冗余代码
- 更新 ZDManager 中的 MMKV 初始化逻辑
This commit is contained in:
songzhiling
2025-04-23 10:02:11 +08:00
parent f0f6810efd
commit c606ed95cd
11 changed files with 195 additions and 273 deletions

View File

@ -80,6 +80,7 @@ import com.za.bean.request.VehicleRepairPointMatcherListRequest
import com.za.bean.request.VerifyCodeRequest
import com.za.bean.request.VerifyCodeResponse
import com.za.call.ContactRecordRequest
import com.za.room.db.user.DriverInfoBean
import com.za.water_marker.bean.MyWaterMarkerTemplateBean
import com.za.water_marker.bean.WaterMarkerRequestBean
import io.reactivex.rxjava3.core.Observable
@ -100,7 +101,7 @@ interface ApiService {
fun newUpdateVehicleState(@Body info : UpdateVehicleStateRequest) : Observable<BaseResponse<String>>
@POST("/driverApp/v2/user/generalInfo")
fun generalInfo(@Body info : GeneralInfoRequest) : Observable<BaseResponse<GeneralInfo>>
fun generalInfo(@Body info : GeneralInfoRequest) : Observable<BaseResponse<DriverInfoBean>>
@POST("/driverApp/base/appVersion")
fun getUpdate(@Body versionRequest : UpdateVersionRequest) : Observable<BaseResponse<UpdateVersionBean>>

View File

@ -5,7 +5,6 @@ import android.graphics.BitmapFactory
import com.blankj.utilcode.util.ActivityUtils
import com.blankj.utilcode.util.ImageUtils
import com.za.base.Const
import com.za.bean.GeneralInfo
import com.za.bean.ImageBean
import com.za.bean.JpushBean
import com.za.bean.NewOrderRequestBean
@ -118,7 +117,7 @@ object CommonMethod {
private var lastFetchGenerateInfoTime : Long = 0L
fun getGenerateInfo(vehicleId : Int? = null,
userId : Int? = null,
success : (GeneralInfo) -> Unit = {},
success : (DriverInfoBean) -> Unit = {},
failed : (String?) -> Unit = {}) {
val generalInfoRequest =
GeneralInfoRequest(vehicleId = vehicleId ?: GlobalData.driverInfoBean?.vehicleId,
@ -126,52 +125,20 @@ object CommonMethod {
deviceId = DeviceUtil.getAndroidId(ActivityUtils.getTopActivity()))
RetrofitHelper.getDefaultService().generalInfo(generalInfoRequest)
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
.subscribe(object : BaseObserver<GeneralInfo>() {
override fun doSuccess(it : GeneralInfo?) {
.subscribe(object : BaseObserver<DriverInfoBean>() {
override fun doSuccess(it : DriverInfoBean?) {
if (it == null) {
failed("获取车辆信息失败")
LogUtil.print("getGenerateInfo", "获取车辆信息失败")
return
}
if (GlobalData.driverInfoBean != null && (System.currentTimeMillis() - lastFetchGenerateInfoTime < 1000 * 10)) {
LogUtil.print("getGenerateInfo", "获取车辆信息成功但是时间间隔小于10秒不更新车辆信息")
LogUtil.print("getGenerateInfo",
"获取车辆信息成功但是时间间隔小于10秒不更新车辆信息")
success(it)
return
}
if (GlobalData.driverInfoBean == null) {
GlobalData.driverInfoBean = DriverInfoBean(vehicleId = it.vehicleId,
vehicleName = it.vehicleName,
userName = it.userName,
loginLogId = it.loginLogId,
userPhone = it.userPhone,
plateNumber = it.plateNumber,
vehicleState = it.vehicleState,
supplierType = it.supplierType,
userPortrait = it.userPortrait,
userId = it.userId,
supplierId = it.supplierId,
deviceId = it.deviceId,
supplierName = it.supplierName,
authStatus = it.authStatus,
serviceList = it.serviceList?.toString())
} else {
GlobalData.driverInfoBean =
GlobalData.driverInfoBean?.copy(vehicleId = it.vehicleId,
vehicleName = it.vehicleName,
userName = it.userName,
userPhone = it.userPhone,
plateNumber = it.plateNumber,
vehicleState = it.vehicleState,
supplierType = it.supplierType,
userPortrait = it.userPortrait,
userId = it.userId,
loginLogId = it.loginLogId,
supplierId = it.supplierId,
deviceId = it.deviceId,
supplierName = it.supplierName,
authStatus = it.authStatus,
serviceList = it.serviceList?.toString())
}
GlobalData.driverInfoBean=it
lastFetchGenerateInfoTime = System.currentTimeMillis()
LogUtil.print("GlobalData.driverInfoBean",
"${GlobalData.driverInfoBean?.toJson()}}")