From 919626a0e6daea11df3ab0e9eec05ed53af32f99 Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 23 Oct 2024 11:58:48 +0800 Subject: [PATCH 1/6] =?UTF-8?q?[6.7.0][=E8=BF=90=E8=90=A5=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF]=20=E4=BC=98=E5=8C=96=E5=B8=A6=E9=94=AE=E7=9B=98?= =?UTF-8?q?=E8=BE=93=E5=85=A5=E5=80=BC=E7=9A=84=E4=BB=A3=E7=A0=81=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../preferences/PreferenceWithSpeedSetting.kt | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/preferences/PreferenceWithSpeedSetting.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/preferences/PreferenceWithSpeedSetting.kt index b1d0353080..c5bd5d3df5 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/preferences/PreferenceWithSpeedSetting.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/preferences/PreferenceWithSpeedSetting.kt @@ -6,6 +6,7 @@ import android.text.Editable import android.util.AttributeSet import android.widget.EditText import android.widget.TextView +import androidx.core.widget.doAfterTextChanged import androidx.core.widget.doBeforeTextChanged import androidx.core.widget.doOnTextChanged import androidx.preference.Preference @@ -13,6 +14,7 @@ import androidx.preference.PreferenceViewHolder import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.kotlin.onClickWidthDuration +import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.mogo.eagle.core.utilcode.util.ToastUtils import java.math.BigDecimal import java.util.concurrent.ConcurrentHashMap @@ -70,20 +72,32 @@ class PreferenceWithSpeedSetting : Preference { speedUnit?.text = unit val speedLimit = holder.findViewById(R.id.tv_speed_limit) as? TextView if (cache.containsKey(key)) { - cur = max(cur, cache[key] ?: 0.0) + cur = cache[key] ?: cur } + cur = BigDecimal.valueOf(cur).setScale(1).toDouble() if (speedLimit is EditText) { speedLimit.setText(cur.toString()) - speedLimit.doOnTextChanged { text, _, _, _ -> + speedLimit.doAfterTextChanged { text -> val current = text?.let { runCatching { it.toString().toDouble() }.getOrNull() } if (current == null) { - return@doOnTextChanged + btnOk.isEnabled = false + holder.itemView.isEnabled = false + ll.isSelected = false + return@doAfterTextChanged } if (current > max) { + btnOk.isEnabled = false + holder.itemView.isEnabled = false + ll.isSelected = false ToastUtils.showShort("阈值最大为${BigDecimal.valueOf(max).setScale(1)}$unit") - return@doOnTextChanged + return@doAfterTextChanged } - cur = current + val temp = BigDecimal.valueOf(current).setScale(1).toDouble() + if (cur == temp) { + return@doAfterTextChanged + } + Logger.d("RWJ", "--- cache ---- 2 ---: $cur, $temp") + cur = temp btnOk.isEnabled = true ll.isSelected = true cache[key] = cur @@ -131,7 +145,6 @@ class PreferenceWithSpeedSetting : Preference { btnOk.isEnabled = true enabled[key] = true if (speedLimit is EditText) { - speedLimit.setText("") speedLimit.setText(addAfter.toString()) } else { speedLimit?.text = addAfter.toString() @@ -141,7 +154,6 @@ class PreferenceWithSpeedSetting : Preference { btnOk.onClick { onPreferenceClickListener?.also { enabled[key] = false - cache.remove(key) extras.putDouble(KEY_BUNDLE_CURRENT_VALUE, cur) it.onPreferenceClick(this) } From 0c99cf4b603e1f7d662d158f92884730f6b66c0a Mon Sep 17 00:00:00 2001 From: yangyakun Date: Tue, 22 Oct 2024 18:26:33 +0800 Subject: [PATCH 2/6] =?UTF-8?q?[6.7.2]=20[fea]=20[=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=97=A5=E5=BF=97]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/och/biz/login/model/LoginModel.kt | 2 ++ .../och/common/module/biz/lansocket/LoginLanPassengerSocket.kt | 3 +++ .../com/mogo/och/common/module/biz/login/LoginStatusManager.kt | 2 ++ .../och/common/module/network/interceptor/FRetryWithTime.kt | 2 ++ .../src/main/java/com/mogo/och/facade/route/FacadeProvider.kt | 1 + 5 files changed, 10 insertions(+) diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt index 2d5235085b..0aea55136f 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt @@ -246,6 +246,7 @@ object LoginModel { fun logout() { val location4Login = TaxiLogoutReqBean.Location4Login() if (FunctionBuildConfig.isOffLine) { + CallerLogger.d(TAG, "离线模式登录后退出 setLoginStatus:${LoginStatusEnum.Logout}") LoginStatusManager.setLoginStatus(LoginStatusEnum.Logout) FunctionBuildConfig.isOffLine = false return @@ -306,6 +307,7 @@ object LoginModel { fun gotoOfflineMode() { FunctionBuildConfig.isOffLine = true + CallerLogger.d(TAG, "离线模式登录 setLoginStatus:${LoginStatusEnum.Login}") LoginStatusManager.setLoginStatus(LoginStatusEnum.Login) } diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanPassengerSocket.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanPassengerSocket.kt index d030415706..b2f90d1d35 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanPassengerSocket.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanPassengerSocket.kt @@ -90,6 +90,7 @@ object LoginLanPassengerSocket : IReceivedMsgListener, CallerBase { LoginStatusManager.setBusinessType(BusinessEnum.None.code) + CallerLogger.d(TAG, "乘客屏 收到消息 司机屏没有登录:${LoginStatusEnum.Logout}") return LoginStatusManager.setLoginStatus(LoginStatusEnum.Logout) } BusinessType.bus -> LoginStatusManager.setBusinessType(BusinessEnum.Bus.code) @@ -137,6 +139,7 @@ object LoginLanPassengerSocket : IReceivedMsgListener, CallerBase") LoginStatusManager.changeStatus(status.toString()) UiThreadHandler.postDelayed({ + CallerLogger.d(TAG, "乘客屏 收到消息 司机屏业务模式相同:${LoginStatusEnum.Login}") LoginStatusManager.setLoginStatus(LoginStatusEnum.Login) },2000) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginStatusManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginStatusManager.kt index c8b6af3dd0..c3af1361b0 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginStatusManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginStatusManager.kt @@ -4,6 +4,7 @@ package com.mogo.och.common.module.biz.login import androidx.fragment.app.Fragment import com.alibaba.android.arouter.launcher.ARouter import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.och.common.module.constant.OchCommonConst import com.mogo.och.common.module.manager.loop.BizLoopManager import com.mogo.och.common.module.manager.loop.LoopInfo @@ -100,6 +101,7 @@ object LoginStatusManager : CallerBase() { @JvmStatic fun setLoginStatus(loginStatus: LoginStatusEnum) { + CallerLogger.d(TAG, "setLoginStatus:${loginStatus}") loginService?.setLoginStatus(loginStatus) } diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/FRetryWithTime.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/FRetryWithTime.kt index eabefa8ed7..e9e5748b5b 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/FRetryWithTime.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/network/interceptor/FRetryWithTime.kt @@ -4,6 +4,7 @@ import com.mogo.cloud.passport.MoGoAiCloudClient import com.mogo.eagle.core.data.BaseData import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.och.common.module.biz.login.LoginStatusManager import com.mogo.och.common.module.biz.login.LoginStatusEnum import io.reactivex.Observable @@ -20,6 +21,7 @@ class FRetryWithTime : Function> { }else if(it.code == 1003){ if(!FunctionBuildConfig.isOffLine&&!FunctionBuildConfig.ochdebug){ if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + CallerLogger.d("FRetryWithTime", "接口失败报错 1003:${LoginStatusEnum.Logout}") LoginStatusManager.setLoginStatus(LoginStatusEnum.Logout) } } diff --git a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt index 59b9d6c0ba..72773fa6b0 100644 --- a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt +++ b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeProvider.kt @@ -232,6 +232,7 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback { } else { onBusinessChange(businessEnum) FunctionBuildConfig.ochdebug = true + CallerLogger.d(TAG, "denbug模式进入${LoginStatusEnum.Login}") LoginStatusManager.setLoginStatus(LoginStatusEnum.Login) val supportFragmentManager: FragmentManager? = activity?.supportFragmentManager val fragment = getFragment() From ba6f1609238fa21ed4ab285130266e60fd3c658d Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Wed, 23 Oct 2024 14:10:39 +0800 Subject: [PATCH 3/6] =?UTF-8?q?[6.7.0]=E4=BF=AE=E5=A4=8D=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E9=80=89=E6=8B=A9=E2=80=9C=E6=95=85=E9=9A=9C?= =?UTF-8?q?=E5=8E=9F=E5=9B=A0=E2=80=9D=E5=90=8E=E5=87=BA=E7=8E=B0=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/eagle/core/function/hmi/bone/tab/FaultReasonView.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/FaultReasonView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/FaultReasonView.kt index 1b17a56554..fab38a6847 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/FaultReasonView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/FaultReasonView.kt @@ -99,7 +99,7 @@ class FaultReasonView @JvmOverloads constructor( private var reportNote: String = "" //上报描述 private val reportType: Int = 1 //上报方式:0:小程序 1:司机屏 2:云端上报 - private var source: Int = 0 //操作源,0:默认,一级分类 1:类型,二级分类;2:原因,三级分类 + private var source: Int = 0 //操作源,0:默认,一级分类 ; 1:类型,二级分类; 2:原因,三级分类 private var hasLevel2: Boolean = false //是否有二级分类 private var hasLevel3: Boolean = false //是否有三级分类 @@ -506,7 +506,6 @@ class FaultReasonView @JvmOverloads constructor( if (source == 0) { level1Id = list[0].id level1Name = list[0].name - source = 1 //获取故障二级分类即故障类型 CallerDevaToolsManager.getCategories( @@ -573,6 +572,7 @@ class FaultReasonView @JvmOverloads constructor( ) ) setAudio(false) + source = 0 level1Id = 0 //一级分类ID level2Id = 0 //二级分类ID level3Id = 0 //三级分类ID From 8745eec4a14a4d44bea8639b4814e93535342eba Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Wed, 23 Oct 2024 15:10:52 +0800 Subject: [PATCH 4/6] =?UTF-8?q?[6.7.0]=E4=BF=AE=E5=A4=8D=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E9=80=89=E6=8B=A9=E2=80=9C=E6=95=85=E9=9A=9C?= =?UTF-8?q?=E5=8E=9F=E5=9B=A0=E2=80=9D=E5=90=8E=E5=87=BA=E7=8E=B0=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/eagle/core/function/hmi/bone/BoneTabLayout.kt | 8 ++++++-- .../eagle/core/function/hmi/bone/tab/FaultReasonView.kt | 2 ++ .../src/main/res/layout/view_fault_reason.xml | 9 +++++---- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/BoneTabLayout.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/BoneTabLayout.kt index 77a49ee323..3cf42d5370 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/BoneTabLayout.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/BoneTabLayout.kt @@ -107,13 +107,17 @@ class BoneTabLayout @JvmOverloads constructor( faultReasonView.setClickListener(object: FaultReasonView.ClickListener{ override fun closeFaultReasonView() { - updateTabType(TabType.REPORT_INFO) + if(tabType == TabType.REPORT_INFO){ + updateTabType(TabType.REPORT_INFO) + } } }) workOrderView.setClickListener(object: WorkOrderView.ClickListener{ override fun closeWorkOrderView() { - updateTabType(TabType.REPORT_INFO) + if(tabType == TabType.REPORT_INFO){ + updateTabType(TabType.REPORT_INFO) + } } }) } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/FaultReasonView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/FaultReasonView.kt index fab38a6847..48d414a11d 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/FaultReasonView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/FaultReasonView.kt @@ -580,6 +580,8 @@ class FaultReasonView @JvmOverloads constructor( level2Name = "" level3Name = "" reportNote = "" //上报描述 + tvUploadSuccess.visibility = View.GONE + faultReasonGroup.visibility = View.VISIBLE } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_fault_reason.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_fault_reason.xml index 6e8e28b552..8a70f38525 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_fault_reason.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_fault_reason.xml @@ -38,7 +38,8 @@ android:textSize="@dimen/sp_32" app:layout_constraintTop_toTopOf="@id/tvFaultTitle" app:layout_constraintBottom_toBottomOf="@id/tvFaultTitle" - app:layout_constraintRight_toRightOf="@id/tvFaultType" + app:layout_constraintRight_toRightOf="@id/viewTitleBg" + android:layout_marginEnd="@dimen/dp_40" /> \ No newline at end of file From 63dc124902b35caab5eb6df4fa578f4c94e1efb4 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 23 Oct 2024 10:53:57 +0800 Subject: [PATCH 5/6] =?UTF-8?q?[6.7.2]=20[fix]=20[=E7=AB=99=E7=82=B9?= =?UTF-8?q?=E9=87=8D=E5=A4=8D]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/weaknet/model/EventModel.kt | 6 ++++++ .../weaknet/repository/db/dao/SiteDataDao.kt | 8 ++++++++ .../weaknet/repository/db/repository/SiteDb.kt | 17 +++++++++++++++++ .../repository/db/repository/TaskSiteDb.kt | 2 +- 4 files changed, 32 insertions(+), 1 deletion(-) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/EventModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/EventModel.kt index 2c78d450e8..a7e85831a0 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/EventModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/EventModel.kt @@ -13,6 +13,7 @@ import com.mogo.och.weaknet.repository.net.shuttlesaas.ShuttleSaasServiceManager import com.mogo.och.weaknet.repository.db.bean.EventDataBean import com.mogo.och.weaknet.repository.db.repository.EventDb import com.mogo.och.weaknet.repository.RepositoryManager +import com.mogo.och.weaknet.repository.db.repository.SiteDb import io.reactivex.Observable import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.schedulers.Schedulers @@ -43,6 +44,11 @@ object EventModel : EventDb.EventCallback { override fun notifySyn() { BizLoopManager.removeCallback(loopUpdateInfo) updateEvent() + checkDbData() + } + + private fun checkDbData() { + SiteDb.checkData() } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/dao/SiteDataDao.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/dao/SiteDataDao.kt index 4860806608..736aea9fdb 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/dao/SiteDataDao.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/dao/SiteDataDao.kt @@ -1,6 +1,7 @@ package com.mogo.och.weaknet.repository.db.dao import androidx.room.Dao +import androidx.room.Delete import androidx.room.Insert import androidx.room.OnConflictStrategy import androidx.room.Query @@ -12,6 +13,10 @@ interface SiteDataDao { @Insert(onConflict = OnConflictStrategy.REPLACE) fun insert(vararg lineDataBean: SiteDataBean) + @Delete() + fun deleteById(vararg siteDataBean: SiteDataBean) + + // 线路删除时同步删除所属站点 @Query("DELETE FROM ${SiteDataBean.siteDataTable} WHERE line_id = :lineId") fun deleteByLineId(lineId: Long) @@ -26,6 +31,9 @@ interface SiteDataDao { @Query("SELECT * FROM ${SiteDataBean.siteDataTable} WHERE line_id = :lineId") fun querySitesByLineId(lineId: Long):List? + @Query("SELECT * FROM ${SiteDataBean.siteDataTable} GROUP by md5 HAVING count(1) > 1") + fun checkData():List? + fun querySiteByLineIdAndSiteId(lineId: Long,siteId:Long): SiteDataBean?{ val queryContrailByLineId = querySitesByLineIdAndSiteId(lineId,siteId) return if(queryContrailByLineId.isNullOrEmpty()){ diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/SiteDb.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/SiteDb.kt index 8dd6856a00..9a335dad7e 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/SiteDb.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/SiteDb.kt @@ -1,6 +1,9 @@ package com.mogo.och.weaknet.repository.db.repository import com.mogo.eagle.core.network.utils.digest.DigestUtils +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.util.TAG +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.common.module.manager.loop.BizLoopManager import com.mogo.och.weaknet.repository.db.MyDataBase import com.mogo.och.weaknet.repository.db.bean.SiteDataBean @@ -31,11 +34,25 @@ object SiteDb { siteDataDao.insert(it) } } + checkData() } } BizLoopManager.runInIoThread(runnable) } + fun checkData() { + CallerLogger.d(TAG,"检测站点数据") + siteDataDao?.checkData()?.let { list -> + list.forEach { + siteDataDao?.deleteById(it) + } + if (list.isNotEmpty()) { + OchChainLogManager.writeChainLogDb("数据检测", "有重复数据${list}") + checkData() + } + } + } + fun deleteByLineId(lineId: Long) { siteDataDao?.deleteByLineId(lineId) } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/TaskSiteDb.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/TaskSiteDb.kt index d7b5f784fa..4c1fb09a55 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/TaskSiteDb.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/TaskSiteDb.kt @@ -25,7 +25,7 @@ object TaskSiteDb { fun startTask(taskId: Long, linId: Long,lineName:String):Int? { // 获取线路的站点 var startTime = System.currentTimeMillis() - val querySites = SiteDb.querySiteByLineId(linId) + val querySites = SiteDb.querySiteByLineId(linId)?.distinctBy { it.siteId } if(querySites.isNullOrEmpty()){ throw DbException("没有站点数据") } From 820d87d10181fe2ecf37d5a597f1f1e74cf29592 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 23 Oct 2024 15:14:52 +0800 Subject: [PATCH 6/6] =?UTF-8?q?[6.7.2]=20[fix]=20[=E6=9C=89=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E7=9A=84=E4=BD=BF=E7=94=A8=E7=BC=93=E5=AD=98]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/biz/login/LoginProvider.kt | 4 +-- .../mogo/och/biz/login/model/LoginModel.kt | 27 ++++++++++++------- .../och/biz/login/presenter/LoginPresenter.kt | 3 ++- .../common/module/biz/login/LoginService.kt | 2 +- .../module/biz/login/LoginStatusManager.kt | 4 +-- .../och/facade/route/FacadeDriverProvider.kt | 3 ++- .../repository/net/bus/BusServiceManager.kt | 2 +- .../net/bussaas/BusShuttleServiceManager.kt | 2 +- .../net/shuttle/ShuttleServiceManager.kt | 2 +- .../shuttlesaas/ShuttleSaasServiceManager.kt | 2 +- 10 files changed, 31 insertions(+), 20 deletions(-) diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt index 7ea43aa64b..10393d6dc3 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt @@ -99,9 +99,9 @@ class LoginProvider : LoginService { } } - override fun queryLoginStatusByNet() { + override fun queryLoginStatusByNet(readCatche:Boolean) { CallerLogger.d(tag, "queryLoginStatusByNet") - LoginModel.queryCarStatus() + LoginModel.queryCarStatus(readCatche) } override fun loginOut() { diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt index 0aea55136f..df85bc73ed 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt @@ -48,7 +48,7 @@ import java.util.concurrent.TimeUnit @SuppressLint("StaticFieldLeak") object LoginModel { - private const val TAG = "TaxiLoginModel" + private const val TAG = "LoginModel" private var mContext: Context? = null var iTaxiLoginCallback: ITaxiLoginCallback? = null private var subscribe: Disposable? = null @@ -59,6 +59,7 @@ object LoginModel { d(TAG, "onIntentReceived = %s", intentStr) if (ConnectivityManager.CONNECTIVITY_ACTION == intentStr) { if (NetworkUtils.isConnected(mContext)) { + // 网络链接成功可以先读取本地再获取服务器 queryCarStatus() } } @@ -135,7 +136,8 @@ object LoginModel { if (null != data && 0 == data.code) { // 获取验证码成功 ToastCharterUtils.showToastShort(mContext?.getString(R.string.module_och_taxi_login_login_success)) - queryCarStatus() + // 登录成功需要新的值 + queryCarStatus(false) } else { if (data != null) { ToastCharterUtils.showToastShort(data.code.toString()) @@ -169,20 +171,22 @@ object LoginModel { * 7、网络状态变更后查询 * 8、登录页面关闭后查下状态 */ - fun queryCarStatus() { + fun queryCarStatus(readCatche:Boolean = true) { mContext?.let { + if(readCatche){ val logingInfoJson = OchSPManager.getString(loginInfoKey) val timeText = DateTimeUtils.getTimeText(DateTimeUtils.yyyy_MM_dd) logingInfoJson?.let {logininfo-> if(logininfo.startsWith(timeText)){ val json = logingInfoJson.replace(timeText,"" ) val oldLoginInfo = GsonUtils.fromJson(json, DriverStatusQueryRespBean::class.java) - go2LoginInfo(oldLoginInfo) + go2LoginInfo(oldLoginInfo,"缓存获取") } } + } OchCommonServiceManager.queryDriverServiceStatus(it, object : OchCommonServiceCallback { override fun onSuccess(data: DriverStatusQueryRespBean?) { - go2LoginInfo(data) + go2LoginInfo(data,"接口获取") } override fun onError() { @@ -192,15 +196,17 @@ object LoginModel { ToastCharterUtils.showToastShort(mContext!!.getString(R.string.request_error_tip)) } LoginStatusManager.setLoginError(-10012,"网络错误") + // 依赖参数 subscribe = Observable.timer(5, TimeUnit.SECONDS) - .subscribe { _: Long? -> queryCarStatus() } + .subscribe { _: Long? -> queryCarStatus(readCatche) } } override fun onFail(code: Int, msg: String) { LoginStatusManager.setLoginError(code,"msg:${msg}") ToastUtilsOch.showWithCodeMessage(code, msg) + // 依赖参数 subscribe = Observable.timer(3, TimeUnit.SECONDS) - .subscribe { _: Long? -> queryCarStatus() } + .subscribe { _: Long? -> queryCarStatus(readCatche) } // if (code == OchCommonConst.WAIT_TAKEN) { // // } else { @@ -211,7 +217,9 @@ object LoginModel { } } - private fun go2LoginInfo(data: DriverStatusQueryRespBean?) { + @Synchronized + private fun go2LoginInfo(data: DriverStatusQueryRespBean?, source: String) { + CallerLogger.d(TAG,"设置源:${source}") data?.let { LoginStatusManager.setLoginInfo(data.data) } @@ -258,7 +266,8 @@ object LoginModel { if (null != data && 0 == data.code) { loginFail(false) OchSPManager.remove(loginInfoKey) - queryCarStatus() + // 退出登录成功需要查询新的 + queryCarStatus(false) } } diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPresenter.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPresenter.kt index 61ef3c31f6..ed54218c96 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPresenter.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPresenter.kt @@ -112,7 +112,8 @@ class LoginPresenter(view: LoginFragment?) : Presenter(view), IT gotoOfflineMode() return } - LoginModel.queryCarStatus() + // 需要实时查询新的 + LoginModel.queryCarStatus(false) mView?.closeSoftInput() this.phone = phone this.code = code diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginService.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginService.kt index ab10bd835c..f0bd4ae005 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginService.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginService.kt @@ -20,7 +20,7 @@ interface LoginService :CommonService { fun getBusinessType():BusinessEnum - fun queryLoginStatusByNet() + fun queryLoginStatusByNet(readCatche:Boolean=false) /** * 登出 diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginStatusManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginStatusManager.kt index c3af1361b0..dae3228544 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginStatusManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/login/LoginStatusManager.kt @@ -43,8 +43,8 @@ object LoginStatusManager : CallerBase() { } @JvmStatic - fun queryLoginStatusByNet() { - loginService?.queryLoginStatusByNet() + fun queryLoginStatusByNet(readCatche:Boolean=false) { + loginService?.queryLoginStatusByNet(readCatche) } @JvmStatic fun getPurpose(): RoleEnum { diff --git a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeDriverProvider.kt b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeDriverProvider.kt index be14092795..eda61eeabd 100644 --- a/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeDriverProvider.kt +++ b/OCH/facade/src/main/java/com/mogo/och/facade/route/FacadeDriverProvider.kt @@ -34,7 +34,8 @@ class FacadeDriverProvider : FacadeProvider() { sweeperFacadeProvider.init(context) }else { super.init(context) - LoginStatusManager.queryLoginStatusByNet() + // 初始化先读取客户端 让客户尽快进入 + LoginStatusManager.queryLoginStatusByNet(true) LanSocketManager.load() LoginLanDriverSocket.load() CheckVinManager.load() diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bus/BusServiceManager.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bus/BusServiceManager.kt index 738b6f7793..93f1376ea7 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bus/BusServiceManager.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bus/BusServiceManager.kt @@ -37,7 +37,7 @@ object BusServiceManager { SharedPrefsMgr.getInstance().token, BusQueryLineStationsRequest() ) .transformTry() - .flatMap(OchCommonNet("queryBusRoutes",false)) + .flatMap(OchCommonNet("mogo/dali bus queryBusRoutes",false)) .flatMap { Observable.just(it.data?: BusRoutesResult()) } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bussaas/BusShuttleServiceManager.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bussaas/BusShuttleServiceManager.kt index 283a3f6c28..fdefc0b791 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bussaas/BusShuttleServiceManager.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bussaas/BusShuttleServiceManager.kt @@ -37,7 +37,7 @@ object BusShuttleServiceManager { SharedPrefsMgr.getInstance().token, SharedPrefsMgr.getInstance().getSn(), ) .transformTry() - .flatMap(OchCommonNet("queryBusRoutes",false)) + .flatMap(OchCommonNet("saas bus queryBusRoutes",false)) .flatMap { Observable.just(it.data?: BusRoutesResult()) } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttle/ShuttleServiceManager.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttle/ShuttleServiceManager.kt index 61ccb73086..c95952a91f 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttle/ShuttleServiceManager.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttle/ShuttleServiceManager.kt @@ -43,7 +43,7 @@ object ShuttleServiceManager { SharedPrefsMgr.getInstance().token, BusQueryLineStationsRequest() ) .transformTry() - .flatMap(OchCommonNet("queryBusRoutes",false)) + .flatMap(OchCommonNet("mogo/dali shuttle queryBusRoutes",false)) .flatMap { Observable.just(it.data?: BusRoutesResult()) } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttlesaas/ShuttleSaasServiceManager.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttlesaas/ShuttleSaasServiceManager.kt index f91ef3eadd..b23cb8a183 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttlesaas/ShuttleSaasServiceManager.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttlesaas/ShuttleSaasServiceManager.kt @@ -41,7 +41,7 @@ object ShuttleSaasServiceManager { SharedPrefsMgr.getInstance().token, BusQueryLineStationsRequest() ) .transformIoTry() - .flatMap(OchCommonNet("queryBusRoutes",false)) + .flatMap(OchCommonNet("saas shuttle queryBusRoutes",false)) .flatMap { Observable.just(it.data?:BusRoutesResult()) }