diff --git a/app/src/main/java/com/dahe/gldriver/adapter/WalletAdapter.kt b/app/src/main/java/com/dahe/gldriver/adapter/WalletAdapter.kt index 011ca36..8cf9ad6 100644 --- a/app/src/main/java/com/dahe/gldriver/adapter/WalletAdapter.kt +++ b/app/src/main/java/com/dahe/gldriver/adapter/WalletAdapter.kt @@ -5,6 +5,7 @@ import android.view.ViewGroup import com.chad.library.adapter4.BaseQuickAdapter import com.chad.library.adapter4.viewholder.QuickViewHolder import com.dahe.gldriver.R +import com.dahe.glex.bean.WaterInfo import com.dahe.glex.bean.WayBillBean /** @@ -13,8 +14,16 @@ import com.dahe.glex.bean.WayBillBean * @Date 2024/2/1 10:41 * @Description TODO */ -class WalletAdapter : BaseQuickAdapter() { - override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: WayBillBean?) { +class WalletAdapter : BaseQuickAdapter() { + override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: WaterInfo?) { + holder.run { + setText( + R.id.tvTitle, + if (item?.businessType == "2") """运单结算:${item?.waybillNum}""" else "提现" + ) + setText(R.id.tvMoney, if (item?.businessType == "2") """+${item?.amount}""" else """-${item?.amount}""") + setText(R.id.tvCarType, item?.opTime) + } } override fun onCreateViewHolder( 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 006002a..9f01a7d 100644 --- a/app/src/main/java/com/dahe/gldriver/bean/UserBean.kt +++ b/app/src/main/java/com/dahe/gldriver/bean/UserBean.kt @@ -49,6 +49,7 @@ data class UserDetail( var auditStatus: String="", var driverBankcardAddress: String="", var driverBankcardNumber: String="", + var driverBankcardName: String="", var driverBankcardPhotoUrl: String="", var driverId: String="", var idcardAddress: String="", @@ -81,3 +82,20 @@ data class UserDetail( var updateTime: String="" ) +data class WalletInfo( + val acctBal: String, + val accumulatedRevenue: String, + val actualBal: String, + val bankCountNum: String, + val freezeBal: String +) + +data class WaterInfo( + val amount: String, + val businessType: String, + val waybillNum: String, + val id: String, + val opTime: String, + val withdrawalsStatus: 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 027bdaf..e3fdd59 100644 --- a/app/src/main/java/com/dahe/gldriver/net/Api.kt +++ b/app/src/main/java/com/dahe/gldriver/net/Api.kt @@ -139,7 +139,7 @@ interface Api { * @param imgUrl String * @return Observable> */ - @GET(BASE_URL+"ocr/aliyunOcr/recognizeCarNumber") + @GET(BASE_URL + "ocr/aliyunOcr/recognizeCarNumber") fun recognizeCarNumber( @Query("imgUrl") imgUrl: String ): Observable> @@ -473,6 +473,23 @@ interface Api { @GET(BASE_URL + "driver/opinions/getDriverOpinionsStatInfo") fun driverRate(): Observable> + /** + * 查询余额信息 + * @return Observable> + */ + @GET(BASE_URL + "driver/driver/getDriverBalance") + fun getDriverBalance(): Observable> + + + /** + * 查询司机资金流水 + * @return Observable> + */ + @GET(BASE_URL + "driver/driver/selectDriverCapitalFlows") + fun selectDriverCapitalFlows( + @Query("pageNum") pageNum: Int = 1, + @Query("pageSize") pageSize: Int = 20 + ): Observable>> /** * 查看单据 @@ -526,8 +543,8 @@ interface Api { * 获取易签宝实名认证 * @return Observable> */ - @GET(BASE_URL+"driver/driver/getESignPsnAuthUrl") - fun getESignPsnAuthUrl():Observable> + @GET(BASE_URL + "driver/driver/getESignPsnAuthUrl") + fun getESignPsnAuthUrl(): Observable> companion object { // String BASE_URL = "https://tmstest.dahehuoyun.com/"; diff --git a/app/src/main/java/com/dahe/gldriver/ui/mine/MineFragment.kt b/app/src/main/java/com/dahe/gldriver/ui/mine/MineFragment.kt index f301119..431cc3e 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/mine/MineFragment.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/mine/MineFragment.kt @@ -27,6 +27,7 @@ import com.dahe.gldriver.utils.AppVersionUtils import com.dahe.gldriver.utils.SPUtils import com.dahe.gldriver.utils.UserUtils import com.dahe.glex.bean.UserBean +import com.dahe.glex.bean.WalletInfo import com.dahe.mylibrary.base.BaseFragment import com.dahe.mylibrary.callback.RefreshCallBack import com.dahe.mylibrary.net.CommonResponseBean @@ -199,6 +200,20 @@ class MineFragment : BaseFragment(), View.OnClickListener, refreshView() } })) + + DataManager.getInstance().getDriverBalance() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(BaseObserver(mContext, object : RxHttpCallBack() { + override fun onSuccess(t: CommonResponseBean) { + super.onSuccess(t) + binding.run { + tvWalletBa.text = t.data.acctBal + tvBankNum.text = t.data.bankCountNum + tvIncome.text = t.data.accumulatedRevenue + } + } + })) } private fun refreshView() { diff --git a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/WalletActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/WalletActivity.kt index c4174e0..eafe843 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/WalletActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/WalletActivity.kt @@ -6,7 +6,9 @@ import android.view.View import android.widget.LinearLayout import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.dahe.gldriver.R import com.dahe.gldriver.adapter.CarsAdapter +import com.dahe.gldriver.adapter.RateAdapter import com.dahe.gldriver.adapter.WalletAdapter import com.dahe.gldriver.base.AppConfig import com.dahe.gldriver.databinding.ActivityWalletBinding @@ -16,8 +18,11 @@ import com.dahe.gldriver.net.RxHttpCallBack import com.dahe.gldriver.ui.account.authperson.EditBankCardActivity import com.dahe.gldriver.utils.CommonPopUtils import com.dahe.glex.bean.UserDetail +import com.dahe.glex.bean.WalletInfo +import com.dahe.glex.bean.WaterInfo import com.dahe.glex.bean.WayBillBean import com.dahe.mylibrary.base.BaseActivity +import com.dahe.mylibrary.callback.RefreshCallBack import com.dahe.mylibrary.net.CommonResponseBean import com.dahe.mylibrary.recycleviewswipe.RecycleViewDivider import com.dahe.mylibrary.utils.ActivityUtils @@ -33,11 +38,15 @@ import io.reactivex.rxjava3.schedulers.Schedulers * @Date 2024/2/1 09:41 * @Description 钱包 */ -class WalletActivity : BaseActivity() { +class WalletActivity : BaseActivity(), RefreshCallBack { + + lateinit var adapter: WalletAdapter override fun initView(savedInstanceState: Bundle?) { setStatusHeightParams(binding.rlTop) setTitleBar("钱包", true, true) + binding.run { + setRefresh(refresh, this@WalletActivity) tvLeft.setOnClickListener { ActivityUtils.startActivity(mContext, EditBankCardActivity::class.java) } @@ -45,22 +54,11 @@ class WalletActivity : BaseActivity() { getCurrBank() } } + initRec() } - override fun initDate() { - - var datas = mutableListOf( - WayBillBean(), - WayBillBean(), - WayBillBean(), - WayBillBean(), - WayBillBean(), - WayBillBean(), - WayBillBean(), - WayBillBean() - ) - - var adapter = binding.recycler.run { + private fun initRec() { + adapter = binding.recycler.run { layoutManager = LinearLayoutManager(mContext, RecyclerView.VERTICAL, false) addItemDecoration( RecycleViewDivider( @@ -71,9 +69,52 @@ class WalletActivity : BaseActivity() { ) adapter = WalletAdapter() adapter as WalletAdapter + }.apply { + isStateViewEnable = true } + } - adapter.submitList(datas) + override fun initDate() { + getWalletInfo() + getWaterList() + + } + + private fun getWalletInfo() { + DataManager.getInstance().getDriverBalance() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(BaseObserver(mContext, object : RxHttpCallBack() { + override fun onSuccess(t: CommonResponseBean) { + super.onSuccess(t) + binding.run { + tvCanCash.text = t.data.actualBal + tvAllCash.text = t.data.acctBal + tvInCome.text = t.data.accumulatedRevenue + } + } + })) + } + + private fun getWaterList() { + DataManager.getInstance().selectDriverCapitalFlows(mRefreshPage,mRefreshCount) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(BaseObserver(mContext, object : RxHttpCallBack>() { + override fun onSuccess(t: CommonResponseBean>) { + super.onSuccess(t) + if (t.data == null || t.data.size == 0) { + adapter.submitList(null) + adapter.setStateViewLayout(mContext, R.layout.empty_view) + } else { + adapter?.submitList(t.data) + } + setFinishRefresh( + binding.refresh, + t.total > mRefreshPage * mRefreshCount + ) + } + })) } @@ -98,4 +139,8 @@ class WalletActivity : BaseActivity() { } })) } + + override fun getRefreshDate(stat: Int, page: Int, count: Int) { + initDate() + } } \ No newline at end of file diff --git a/app/src/main/java/com/dahe/gldriver/weight/pop/InputMoneyPop.kt b/app/src/main/java/com/dahe/gldriver/weight/pop/InputMoneyPop.kt index 881aacb..a306fe7 100644 --- a/app/src/main/java/com/dahe/gldriver/weight/pop/InputMoneyPop.kt +++ b/app/src/main/java/com/dahe/gldriver/weight/pop/InputMoneyPop.kt @@ -34,7 +34,7 @@ class InputMoneyPop( val btnOk = findViewById