diff --git a/app/src/main/java/com/dahe/gldriver/bean/CarBean.kt b/app/src/main/java/com/dahe/gldriver/bean/CarBean.kt index f92c977..7aedd2e 100644 --- a/app/src/main/java/com/dahe/gldriver/bean/CarBean.kt +++ b/app/src/main/java/com/dahe/gldriver/bean/CarBean.kt @@ -42,6 +42,7 @@ data class CarDetail( val owner: String, val registerImageUrl: String, val roadLicense: String, + val auditStatus: String, val roadLicensePhotoUrl: String, val roadLicenseValidity: String, val trailerApprovedLoad: Int, diff --git a/app/src/main/java/com/dahe/gldriver/bean/UserBean.kt b/app/src/main/java/com/dahe/gldriver/bean/UserBean.kt index 608b97d..006002a 100644 --- a/app/src/main/java/com/dahe/gldriver/bean/UserBean.kt +++ b/app/src/main/java/com/dahe/gldriver/bean/UserBean.kt @@ -46,6 +46,7 @@ data class UserDetail( var createBy: String="", var createTime: String="", var isRealName: String="", + var auditStatus: String="", var driverBankcardAddress: String="", var driverBankcardNumber: String="", var driverBankcardPhotoUrl: String="", diff --git a/app/src/main/java/com/dahe/gldriver/net/Api.kt b/app/src/main/java/com/dahe/gldriver/net/Api.kt index 64c386d..027bdaf 100644 --- a/app/src/main/java/com/dahe/gldriver/net/Api.kt +++ b/app/src/main/java/com/dahe/gldriver/net/Api.kt @@ -134,6 +134,16 @@ interface Api { @Query("imgUrl") imgUrl: String ): Observable> + /** + * 车牌号码识别 + * @param imgUrl String + * @return Observable> + */ + @GET(BASE_URL+"ocr/aliyunOcr/recognizeCarNumber") + fun recognizeCarNumber( + @Query("imgUrl") imgUrl: String + ): Observable> + /** * 获取用户信息 * */ diff --git a/app/src/main/java/com/dahe/gldriver/ui/mine/InviteDriverActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/mine/InviteDriverActivity.kt index 519faf7..436ea53 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/mine/InviteDriverActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/mine/InviteDriverActivity.kt @@ -55,7 +55,10 @@ class InviteDriverActivity : BaseActivity(), Refres addOnItemChildClickListener(R.id.tvInvite) { _, _, postion -> var data = items[postion] as DriverBean CommonPopUtils.getInstance() - .showCommCenterPop(mContext, content = """确定邀请 ${data.idcardName} 加入车队?""") { + .showCommCenterPop( + mContext, + content = """确定邀请 ${data.idcardName} 加入车队?""" + ) { DataManager.getInstance().askToDriver(DriverBean().apply { driverId = data.driverId }).subscribeOn(Schedulers.io()) @@ -87,16 +90,16 @@ class InviteDriverActivity : BaseActivity(), Refres private fun getDrivers() { val phone = binding.etPhone.text.toString() - if (phone.isNullOrEmpty()){ + if (phone.isNullOrEmpty()) { return } DataManager.getInstance().selectDriverList(phone).subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) - .subscribe(BaseObserver(mContext,object : RxHttpCallBack>(){ + .subscribe(BaseObserver(mContext, object : RxHttpCallBack>() { override fun onSuccess(t: CommonResponseBean>) { super.onSuccess(t) if (mRefreshPage === 1) { - if (t.data.size == 0) { + if (t.data == null || t.data.size == 0) { adapter.submitList(null) adapter.setStateViewLayout(mContext, R.layout.empty_view) } else { diff --git a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarDetailActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarDetailActivity.kt index ea76517..17f39e3 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarDetailActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarDetailActivity.kt @@ -224,7 +224,10 @@ class CarDetailActivity : BaseActivity(), View.OnClick btnNext.text = if (doneInfoCount == allInfoCount) "已完成" else "继续认证" tvContent.text = - if (missInfo.isNullOrEmpty()) "认证成功,请接单把!!!" else missInfo.plus("缺失") + if (missInfo.isNullOrEmpty() && data.auditStatus == "100003") "信息审核通过!!!" + else if (missInfo.isNullOrEmpty() && data.auditStatus == "100004") "审核未通过!!!" + else if (missInfo.isNullOrEmpty() && data.auditStatus != "100003") "审核中,请耐心等待!!!" + else missInfo.plus("缺失") llId.visibility = if (data.vehicleNum.isNullOrEmpty()) View.GONE else View.VISIBLE diff --git a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarsManActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarsManActivity.kt index c21da84..bf26bdd 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarsManActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarsManActivity.kt @@ -3,6 +3,7 @@ package com.dahe.gldriver.ui.mine.activity import android.graphics.Color import android.os.Bundle import android.widget.LinearLayout +import android.widget.PopupMenu import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.dahe.gldriver.R @@ -20,6 +21,7 @@ import com.dahe.mylibrary.net.CommonResponseBean import com.dahe.mylibrary.recycleviewswipe.RecycleViewDivider import com.dahe.mylibrary.utils.ActivityUtils import com.dahe.mylibrary.utils.ConvertUtils +import com.dahe.mylibrary.utils.PopsUtils import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers @@ -81,6 +83,18 @@ class CarsManActivity : BaseActivity() { } btnOk.setOnClickListener { +// PopsUtils.getInstance().showSimSelPic(mContext){ + // DataManager.getInstance().recognizeCarNumber(oldPath) +// .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()) +// .subscribe(BaseObserver(mContext,object : RxHttpCallBack(){ +// override fun onSuccess(t: CommonResponseBean) { +// super.onSuccess(t) +// println("fff") +// } +// })) +// } + + ActivityUtils.startActivity(mContext, AuthDrivingActivity::class.java) } } diff --git a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/PersonInfoActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/PersonInfoActivity.kt index ba955cc..1f18290 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/PersonInfoActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/PersonInfoActivity.kt @@ -205,7 +205,7 @@ class PersonInfoActivity : BaseActivity(), View.OnCli tvDriverInfo.text = """${data.licenseName} ${data.licenseNo}""" } - if (data.qualificationCertificateNo.isNullOrEmpty()) { + if (data.qualificationCertificateEffectiveEnd.isNullOrEmpty()) { tvQualiInfo.text = "证件缺失将无法进行接单" missInfo = if (missInfo.isNullOrEmpty()) missInfo.plus("从业资格证") else missInfo.plus("、从业资格证") @@ -245,7 +245,10 @@ class PersonInfoActivity : BaseActivity(), View.OnCli btnNext.text = if (doneInfoCount == 5) "已完成" else "继续认证" tvContent.text = - if (missInfo.isNullOrEmpty()) "认证成功,请接单把!!!" else missInfo.plus("缺失") + if (missInfo.isNullOrEmpty() && data.auditStatus == "100003") "信息审核通过!!!" + else if (missInfo.isNullOrEmpty() && data.auditStatus == "100004") "审核未通过!!!" + else if (missInfo.isNullOrEmpty() && data.auditStatus != "100003") "审核中,请耐心等待!!!" + else missInfo.plus("缺失") llId.visibility = if (data.idcardNo.isNullOrEmpty()) View.GONE else View.VISIBLE @@ -254,9 +257,9 @@ class PersonInfoActivity : BaseActivity(), View.OnCli llDriver.visibility = if (data.licenseNo.isNullOrEmpty()) View.GONE else View.VISIBLE btnDriver.visibility = if (data.licenseNo.isNullOrEmpty()) View.VISIBLE else View.GONE llQua.visibility = - if (data.qualificationCertificateNo.isNullOrEmpty()) View.GONE else View.VISIBLE + if (data.qualificationCertificateEffectiveEnd.isNullOrEmpty()) View.GONE else View.VISIBLE btnQua.visibility = - if (data.qualificationCertificateNo.isNullOrEmpty()) View.VISIBLE else View.GONE + if (data.qualificationCertificateEffectiveEnd.isNullOrEmpty()) View.VISIBLE else View.GONE llBank.visibility = if (data.driverBankcardNumber.isNullOrEmpty()) View.GONE else View.VISIBLE diff --git a/app/src/main/java/com/dahe/gldriver/ui/mine/fragment/DriversManFragment.kt b/app/src/main/java/com/dahe/gldriver/ui/mine/fragment/DriversManFragment.kt index bdd76a9..a0f33a3 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/mine/fragment/DriversManFragment.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/mine/fragment/DriversManFragment.kt @@ -21,6 +21,7 @@ import com.dahe.gldriver.net.DataManager import com.dahe.gldriver.net.RxHttpCallBack import com.dahe.gldriver.ui.mine.InviteDriverActivity import com.dahe.gldriver.utils.SPUtils +import com.dahe.glex.bean.UserDetail import com.dahe.glex.bean.WayBillBean import com.dahe.mylibrary.base.BaseActivity import com.dahe.mylibrary.base.BaseFragment @@ -29,6 +30,7 @@ import com.dahe.mylibrary.net.CommonResponseBean import com.dahe.mylibrary.recycleviewswipe.RecycleViewDivider import com.dahe.mylibrary.utils.ActivityUtils import com.dahe.mylibrary.utils.ConvertUtils +import com.dahe.mylibrary.utils.ToastUtils import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers @@ -42,6 +44,7 @@ class DriversManFragment : BaseFragment(), RefreshCa private var captainId: String = "" lateinit var adapter: DriversAdapter + var isCanInvi: Boolean = true override fun onFragmentVisibleChange(isVisible: Boolean) { } @@ -67,7 +70,12 @@ class DriversManFragment : BaseFragment(), RefreshCa } binding.btnOk.setOnClickListener { - ActivityUtils.startActivity(mContext, InviteDriverActivity::class.java) + if (isCanInvi) { + ActivityUtils.startActivity(mContext, InviteDriverActivity::class.java) + } else { + ToastUtils.showToast(mContext, "审核未通过,请耐心等待") + } + } initData() } @@ -78,6 +86,18 @@ class DriversManFragment : BaseFragment(), RefreshCa } private fun initData() { + + DataManager.getInstance().getDriverDocIntegrity() + .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()) + .subscribe(BaseObserver(mContext, object : RxHttpCallBack() { + override fun onSuccess(t: CommonResponseBean) { + super.onSuccess(t) + if (t == null || t.data == null) + return + isCanInvi = t.data.auditStatus == "100003" + } + })) + DataManager.getInstance() .selectDriversInCaptain(captainId) .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()) diff --git a/app/src/main/java/com/dahe/gldriver/ui/waybill/activity/WaybillUpPicActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/waybill/activity/WaybillUpPicActivity.kt index 3f88487..b785e93 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/waybill/activity/WaybillUpPicActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/waybill/activity/WaybillUpPicActivity.kt @@ -6,6 +6,7 @@ import android.widget.ImageView import androidx.recyclerview.widget.GridLayoutManager import com.amap.api.maps.model.LatLng import com.dahe.gldriver.base.AppConfig +import com.dahe.gldriver.bean.OcrPersonBean import com.dahe.gldriver.bean.UpPicBean import com.dahe.gldriver.bean.WaybillPhoto import com.dahe.gldriver.databinding.ActivityWaybillUppicBinding @@ -91,6 +92,15 @@ class WaybillUpPicActivity : BaseActivity() { OssServiceUtil.getInstance().run { asyncPutImage(it[0].realPath, this@WaybillUpPicActivity) setResultCallBack { data, oldPath -> +// DataManager.getInstance().recognizeCarNumber(oldPath) +// .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()) +// .subscribe(BaseObserver(mContext,object : RxHttpCallBack(){ +// override fun onSuccess(t: CommonResponseBean) { +// super.onSuccess(t) +// println("fff") +// } +// })) + picBean = WaybillPhoto() picBean.run { photoUrl = oldPath diff --git a/app/src/main/java/com/dahe/gldriver/utils/OcrUtils.kt b/app/src/main/java/com/dahe/gldriver/utils/OcrUtils.kt index ffbe0ff..e3f96e6 100644 --- a/app/src/main/java/com/dahe/gldriver/utils/OcrUtils.kt +++ b/app/src/main/java/com/dahe/gldriver/utils/OcrUtils.kt @@ -295,6 +295,61 @@ class OcrUtils private constructor() { } } + /** + * 车牌号码ocr识别 + * */ + fun ocrCarNumber( + context: Context, + activity: AppCompatActivity, + listener: OnOcrPicResultListener + ) { + PopsUtils.getInstance().showSimSelPic(context) { result -> + //上传oss得到图片地址 + OssServiceUtil.getInstance().run { + asyncPutImage(result[0].realPath, activity) + setResultCallBack { data, oldPath -> + DataManager.getInstance().recognizeCarNumber(oldPath) + .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()) + .subscribe( + BaseObserver( + context, + object : RxHttpCallBack(activity) { + override fun onSuccess(t: CommonResponseBean) { + super.onSuccess(t) + t.data?.let { + listener.onSuccResult( + PicPath( + result[0].realPath, + oldPath + ), it + ) + } + } + + override fun onCodeError( + mContext: Context?, + t: CommonResponseBean + ) { +// super.onCodeError(mContext, t) + LoadingUtils.instance.dissLoading() + if (t.code == 500) { +// if (t.msg.contains("code: 400, The image type does not match the API operation")) { + ToastUtils.showToast( + mContext, + "图片识别失败,请重新上传" + ) +// } else { +// ToastUtils.showToast(mContext, t.msg) +// } + } + } + }) + ) + } + } + } + } + fun noOcrUpPic( context: Context, diff --git a/app/src/main/java/com/dahe/gldriver/utils/UserUtils.kt b/app/src/main/java/com/dahe/gldriver/utils/UserUtils.kt index 461aeb2..aa82b8a 100644 --- a/app/src/main/java/com/dahe/gldriver/utils/UserUtils.kt +++ b/app/src/main/java/com/dahe/gldriver/utils/UserUtils.kt @@ -40,23 +40,23 @@ class UserUtils private constructor(){ //设置推送别名 PushHelper.setAlias(context,userBean) - ActivityUtils.startActivity( - context, - SelectRoleActivity::class.java - ) +// ActivityUtils.startActivity( +// context, +// SelectRoleActivity::class.java +// ) -// if (userBean.isCarCaptain == "9") {//是否是车队长(0=否,1=是,9=未选择) -// ActivityUtils.startActivity( -// context, -// SelectRoleActivity::class.java -// ) -// } else { -// ActivityUtils.startActivity( -// context, -// HomeActivity::class.java -// ) -// } -// ActivityUtils.finishToActivity(LoginActivity::class.java,true) + if (userBean.isCarCaptain == "9") {//是否是车队长(0=否,1=是,9=未选择) + ActivityUtils.startActivity( + context, + SelectRoleActivity::class.java + ) + } else { + ActivityUtils.startActivity( + context, + HomeActivity::class.java + ) + } + ActivityUtils.finishToActivity(LoginActivity::class.java,true) }