个人中心,邀请司机优化

This commit is contained in:
lijia 2024-04-16 16:26:33 +08:00
parent 2db602547a
commit 3955e7b9a7
11 changed files with 146 additions and 26 deletions

View File

@ -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,

View File

@ -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="",

View File

@ -134,6 +134,16 @@ interface Api {
@Query("imgUrl") imgUrl: String
): Observable<CommonResponseBean<OcrPersonBean>>
/**
* 车牌号码识别
* @param imgUrl String
* @return Observable<CommonResponseBean<OcrPersonBean>>
*/
@GET(BASE_URL+"ocr/aliyunOcr/recognizeCarNumber")
fun recognizeCarNumber(
@Query("imgUrl") imgUrl: String
): Observable<CommonResponseBean<OcrPersonBean>>
/**
* 获取用户信息
* */

View File

@ -55,7 +55,10 @@ class InviteDriverActivity : BaseActivity<ActivityInviteDriverBinding>(), 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<ActivityInviteDriverBinding>(), 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<MutableList<DriverBean>>(){
.subscribe(BaseObserver(mContext, object : RxHttpCallBack<MutableList<DriverBean>>() {
override fun onSuccess(t: CommonResponseBean<MutableList<DriverBean>>) {
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 {

View File

@ -224,7 +224,10 @@ class CarDetailActivity : BaseActivity<ActivityCarDetailBinding>(), 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

View File

@ -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<ActivityCarsManBinding>() {
}
btnOk.setOnClickListener {
// PopsUtils.getInstance().showSimSelPic(mContext){
// DataManager.getInstance().recognizeCarNumber(oldPath)
// .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
// .subscribe(BaseObserver(mContext,object : RxHttpCallBack<OcrPersonBean>(){
// override fun onSuccess(t: CommonResponseBean<OcrPersonBean>) {
// super.onSuccess(t)
// println("fff")
// }
// }))
// }
ActivityUtils.startActivity(mContext, AuthDrivingActivity::class.java)
}
}

View File

@ -205,7 +205,7 @@ class PersonInfoActivity : BaseActivity<ActivityPersonInfoBinding>(), 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<ActivityPersonInfoBinding>(), 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<ActivityPersonInfoBinding>(), 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

View File

@ -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<FragmentWaybillListBinding>(), 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<FragmentWaybillListBinding>(), 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<FragmentWaybillListBinding>(), RefreshCa
}
private fun initData() {
DataManager.getInstance().getDriverDocIntegrity()
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
.subscribe(BaseObserver(mContext, object : RxHttpCallBack<UserDetail>() {
override fun onSuccess(t: CommonResponseBean<UserDetail>) {
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())

View File

@ -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<ActivityWaybillUppicBinding>() {
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<OcrPersonBean>(){
// override fun onSuccess(t: CommonResponseBean<OcrPersonBean>) {
// super.onSuccess(t)
// println("fff")
// }
// }))
picBean = WaybillPhoto()
picBean.run {
photoUrl = oldPath

View File

@ -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<OcrPersonBean>(activity) {
override fun onSuccess(t: CommonResponseBean<OcrPersonBean>) {
super.onSuccess(t)
t.data?.let {
listener.onSuccResult(
PicPath(
result[0].realPath,
oldPath
), it
)
}
}
override fun onCodeError(
mContext: Context?,
t: CommonResponseBean<OcrPersonBean>
) {
// 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,

View File

@ -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)
}