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 e626b292b7..f32bdc286a 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 @@ -79,8 +79,8 @@ class LoginProvider : LoginService { LoginStatusDefaultModel.logout(mLatitude, mLongitude) } - override fun checkBusiness(data: LoginInfo): Boolean { - val businessEnum = BusinessEnum.valueOf(data.businessType) + override fun checkBusiness(businessType: Int): Boolean { + val businessEnum = BusinessEnum.valueOf(businessType) FunctionBuildConfig.supportBusiness.forEach { when (it) { "shuttle" -> { diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginStatusModel.java b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginStatusModel.java index e489777261..2c666ca08a 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginStatusModel.java +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginStatusModel.java @@ -54,17 +54,18 @@ public abstract class LoginStatusModel { @Override public void onSuccess(DriverStatusQueryRespBean data) { if (null != data && 0 == data.code) { - // 业务不支持 - if (!LoginStatusManager.checkBusiness(data.data)) { - // 后台已登录 去退出登录 - if (LoginStatusEnum.valueOf(data.data.driverStatus)==LoginStatusEnum.Login) { + // 不用登录也可以获得支持的业务模式 + LoginStatusManager.setBusinessType(data.data.businessType); + // 后台已登录 + if (LoginStatusEnum.valueOf(data.data.driverStatus)==LoginStatusEnum.Login) { + // 业务不支持 去退出登录 + if (!LoginStatusManager.checkBusiness(data.data.businessType)) { double mLatitude = CallerChassisLocationGCJ02ListenerManager.INSTANCE.getChassisLocationGCJ02().getLatitude(); double mLongitude =CallerChassisLocationGCJ02ListenerManager.INSTANCE.getChassisLocationGCJ02().getLongitude(); LoginStatusManager.loginOut(mLatitude,mLongitude); return; } } - LoginStatusManager.setBusinessType(data.data.businessType); LoginStatusManager.setLoginStatus(data.data.driverStatus); LoginStatusManager.setLoginInfo(data.data); CallerLogger.d(M_TAXI + TAG, "登录信息:" + data); 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 0c01ca3e2d..9a1bd6526a 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 @@ -10,6 +10,8 @@ import com.mogo.och.biz.R import com.mogo.och.biz.login.callback.ITaxiLoginCallback import com.mogo.och.biz.login.ui.LoginFragment import com.mogo.och.biz.login.model.LoginModel +import com.mogo.och.biz.login.model.LoginStatusDefaultModel +import com.mogo.och.common.module.biz.login.LoginStatusManager import com.mogo.och.common.module.wigets.toast.ToastCharterUtils import io.reactivex.Observable import io.reactivex.android.schedulers.AndroidSchedulers @@ -100,6 +102,11 @@ class LoginPresenter(view: LoginFragment?) : Presenter(view), IT ToastCharterUtils.showToastShort(R.string.module_och_taxi_login_code_error) return } + if(!LoginStatusManager.checkBusiness(LoginStatusManager.getBusInessType().code)){ + mView?.showErrorInfo("不支持的类型") + LoginStatusDefaultModel.queryCarStatus() + return + } mView?.closeSoftInput() LoginModel.gotoLogin(phone,code) } diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/errorview/ErrorInfoViewModel.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/errorview/ErrorInfoViewModel.kt index 5123303445..e0a03da75d 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/errorview/ErrorInfoViewModel.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/errorview/ErrorInfoViewModel.kt @@ -44,10 +44,14 @@ class ErrorInfoViewModel : ViewModel() { }, { CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "倒计时onError:${it}") it.printStackTrace() - viewCallback?.setCountDownText(AbsMogoApplication.getApp().getString(R.string.module_och_taxi_login_get_code),true) + RxUtils.createSubscribe(1_000) { + viewCallback?.setCountDownText(AbsMogoApplication.getApp().getString(R.string.module_och_taxi_login_get_code),true) + } }, { CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "倒计时onComplete") - viewCallback?.setCountDownText(AbsMogoApplication.getApp().getString(R.string.module_och_taxi_login_get_code),true) + RxUtils.createSubscribe(1_000) { + viewCallback?.setCountDownText(AbsMogoApplication.getApp().getString(R.string.module_och_taxi_login_get_code),true) + } }) } 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 5bae3760bd..6aed660422 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 @@ -22,6 +22,6 @@ interface LoginService :CommonService { * 登出 */ fun loginOut(mLatitude:Double,mLongitude:Double) - fun checkBusiness(data: LoginInfo): Boolean + fun checkBusiness(businessType: Int): Boolean } \ No newline at end of file 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 fb5c14cb7a..5847941b4c 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 @@ -97,9 +97,9 @@ object LoginStatusManager : CallerBase() { } @JvmStatic - fun checkBusiness(data: LoginInfo):Boolean { + fun checkBusiness(businessType: Int):Boolean { loginService?.let { - return it.checkBusiness(data) + return it.checkBusiness(businessType) } return false }