Browse Source

1.提现。

石慧云 4 years ago
parent
commit
d8f7598fe7

+ 1 - 0
app/src/main/AndroidManifest.xml

@@ -96,6 +96,7 @@
         <activity android:name=".activity.BankActivity"/>
         <activity android:name=".activity.VehicleInfoActivity"/>
         <activity android:name=".activity.EvaluateActivity"/>
+        <activity android:name=".activity.WithdrawalActivity"/>
 
 
     </application >

+ 42 - 0
app/src/main/java/com/quansu/heifengwuliu/activity/WithdrawalActivity.kt

@@ -0,0 +1,42 @@
+package com.quansu.heifengwuliu.activity
+
+import android.app.Activity
+import android.content.Intent
+import android.os.Bundle
+import com.quansu.heifengwuliu.base.MBActivity
+import com.quansu.heifengwuliu.config.MIntentAction
+import com.quansu.heifengwuliu.databinding.ActivityWithdrawalBinding
+import com.quansu.heifengwuliu.vmodel.WithdrawalVModel
+
+/**
+ *Created by shihuiyun
+ *on 2020/9/23
+ */
+class WithdrawalActivity : MBActivity<WithdrawalVModel, ActivityWithdrawalBinding>(){
+
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        vm.canUseMoney.value=intent?.extras?.getString("money", "")
+        vm.getBankInfo()
+    }
+
+    override fun binding(): ActivityWithdrawalBinding {
+       return ActivityWithdrawalBinding.inflate(layoutInflater)
+    }
+
+    override fun vmClass(): Class<WithdrawalVModel> {
+        return WithdrawalVModel::class.java
+    }
+
+    override fun title(): String? {
+        return "提现"
+    }
+
+    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+        super.onActivityResult(requestCode, resultCode, data)
+        if(MIntentAction.REQUEST_CODE_ONE == requestCode && resultCode == Activity.RESULT_OK){
+            vm.getBankInfo()//刷新银行卡
+        }
+    }
+}

+ 13 - 0
app/src/main/java/com/quansu/heifengwuliu/fragment/AccountBillFragment.kt

@@ -1,10 +1,13 @@
 package com.quansu.heifengwuliu.fragment
 
+import android.app.Activity
+import android.content.Intent
 import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.ViewGroup
 import com.quansu.heifengwuliu.adapter.BillAdapter
 import com.quansu.heifengwuliu.base.MBRFragment
+import com.quansu.heifengwuliu.config.MIntentAction
 import com.quansu.heifengwuliu.databinding.FragmentAccountBillBinding
 import com.quansu.heifengwuliu.vmodel.AccountBillVModel
 
@@ -13,6 +16,7 @@ class AccountBillFragment : MBRFragment<AccountBillVModel, BillAdapter, Fragment
 
     override fun init(savedInstanceState: Bundle?) {
         super.init(savedInstanceState)
+        vm.fragment=this
         vm.getAmountCount()
     }
 
@@ -31,4 +35,13 @@ class AccountBillFragment : MBRFragment<AccountBillVModel, BillAdapter, Fragment
     override fun vmClass(): Class<AccountBillVModel> {
         return AccountBillVModel::class.java
     }
+
+    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+        super.onActivityResult(requestCode, resultCode, data)
+        if (MIntentAction.REQUEST_CODE_ONE == requestCode && resultCode == Activity.RESULT_OK) {
+            //刷新
+            vm.getAmountCount()
+            onRefresh()
+        }
+    }
 }

+ 13 - 1
app/src/main/java/com/quansu/heifengwuliu/utils/net/ApiService.kt

@@ -471,10 +471,22 @@ interface ApiService {
      * @return
      */
     @GET("api/amount/amountList")
-    fun amountList( @Query("p") p: Int): Observable<Response<List<AmountList>>>
+    fun amountList(@Query("type") type: String,@Query("status") status: String, @Query("p") p: Int): Observable<Response<List<AmountList>>>
 
 
 
+    /**
+     * 资金提现-资金
+     * @return
+     */
+    @POST("api/amount/withdraw")
+    @FormUrlEncoded
+    fun withdraw(@Field("money") money: String?, @Field("name") name: String?,
+                   @Field("bank") bank: String?, @Field("kbank") kbank: String?,
+                 @Field("number") number: String?
+    ): Observable<Response<Any>>
+
+
 
 
 }

+ 25 - 1
app/src/main/java/com/quansu/heifengwuliu/vmodel/AccountBillVModel.kt

@@ -1,12 +1,18 @@
 package com.quansu.heifengwuliu.vmodel
 
+import android.os.Bundle
+import androidx.fragment.app.Fragment
 import androidx.lifecycle.MutableLiveData
+import com.quansu.heifengwuliu.activity.WithdrawalActivity
+import com.quansu.heifengwuliu.config.MIntentAction
+import com.quansu.heifengwuliu.fragment.AccountBillFragment
 import com.quansu.heifengwuliu.model.AmountCount
 import com.quansu.heifengwuliu.model.User
 import com.quansu.heifengwuliu.utils.net.NetEngine
 import com.ysnows.base.base.BRRepository
 import com.ysnows.base.base.BRViewModel
 import com.ysnows.base.net.IResponse
+import com.ysnows.base.utils.UiSwitch
 import io.reactivex.Observable
 
 /**
@@ -19,9 +25,13 @@ import io.reactivex.Observable
     val user: MutableLiveData<User?> = MutableLiveData(User.get())
     var info:MutableLiveData<AmountCount> = MutableLiveData<AmountCount>()
 
+    var fragment: AccountBillFragment? =null
+    var type="0"
+    var status="0"
+
 
     override fun api(): Observable<out IResponse<*>> {
-        return NetEngine.service.amountList(repository().autoPage())
+        return NetEngine.service.amountList(type,status,repository().autoPage())
     }
 
     fun getAmountCount(){
@@ -38,4 +48,18 @@ import io.reactivex.Observable
                 }
                 .subscribe()
     }
+
+
+    fun goWithdrawal(){//提现
+
+        UiSwitch.bundleRes(fragment, WithdrawalActivity::class.java, Bundle().apply {
+            putString("money", info.value!!.can_use)
+        }, MIntentAction.REQUEST_CODE_ONE)
+
+    }
+
+    fun toBillDetails(){//账单明细
+
+
+    }
 }

+ 4 - 1
app/src/main/java/com/quansu/heifengwuliu/vmodel/BankVModel.kt

@@ -1,6 +1,7 @@
 package com.quansu.heifengwuliu.vmodel
 
 import android.app.Activity
+import android.content.Intent
 import android.text.TextUtils
 import androidx.databinding.Bindable
 import com.quansu.heifengwuliu.BR
@@ -82,7 +83,9 @@ class BankVModel : BViewModel<BRepository>() {
         repository().lreq(NetEngine.service.setCardBank(name, number,bank,kbank, image))
                 .doOnNext {
                     if (it.ok(true)) {
-                        (repository().context as Activity).finish()
+                        var con = repository().context as Activity
+                        con.setResult(Activity.RESULT_OK, Intent())
+                        con.finish()
                     }
                 }
                 .subscribe()

+ 88 - 0
app/src/main/java/com/quansu/heifengwuliu/vmodel/WithdrawalVModel.kt

@@ -0,0 +1,88 @@
+package com.quansu.heifengwuliu.vmodel
+
+import android.app.Activity
+import android.content.Intent
+import android.text.TextUtils
+import androidx.databinding.Bindable
+import androidx.lifecycle.MutableLiveData
+import com.quansu.heifengwuliu.BR
+import com.quansu.heifengwuliu.activity.BankActivity
+import com.quansu.heifengwuliu.config.MIntentAction
+import com.quansu.heifengwuliu.model.InfoBean
+import com.quansu.heifengwuliu.utils.net.NetEngine
+import com.ysnows.base.base.BRepository
+import com.ysnows.base.base.BViewModel
+import com.ysnows.base.utils.UiSwitch
+
+/**
+ *Created by shihuiyun
+ *on 2020/9/22
+ */
+class WithdrawalVModel: BViewModel<BRepository>() {
+
+    var canUseMoney: MutableLiveData<String> = MutableLiveData()
+
+    var infoBank:MutableLiveData<InfoBean> = MutableLiveData()
+    var type=0
+
+
+    @Bindable
+    var money: String? = null
+        set(value) {
+            field = value
+            notifyPropertyChanged(BR.money)
+        }
+
+
+    fun goWithdrawal(){
+
+        if(type==0){
+            toast("请去绑定银行卡信息")
+            return
+        }
+        if(TextUtils.isEmpty(money)){
+            toast("请输入提现金额")
+            return
+        }
+        if(money!!.toDouble()<1){
+            toast("单笔不低于1元")
+            return
+        }
+
+        repository().lreq(NetEngine.service.withdraw(money, infoBank.value!!.name,infoBank.value!!.bank,
+                infoBank.value!!.kbank,infoBank.value!!.number))
+                .doOnNext {
+                    if (it.ok(true)) {
+                        var con = repository().context as Activity
+                        con.setResult(Activity.RESULT_OK, Intent())
+                        con.finish()
+                    }
+                }
+                .subscribe()
+
+    }
+
+    fun getBankInfo(){//获取银行信息
+        repository().lreq(NetEngine.service.getInfo("4"))
+                .doOnNext {
+                    if (it.ok(false)) {
+                        var bean=it.data() as InfoBean
+                        if(null!=bean){
+                            type=1
+                            infoBank.value=bean
+                        }else{
+                            type=0
+                        }
+
+                    }
+                }
+                .subscribe()
+
+    }
+
+    fun goBank(){
+        UiSwitch.singleRes(repository().context as Activity,
+                BankActivity::class.java,MIntentAction.REQUEST_CODE_ONE)
+
+    }
+}

BIN
app/src/main/res/drawable-xxhdpi/ic_cash_top.webp


BIN
app/src/main/res/drawable-xxhdpi/ic_white_right.webp


+ 14 - 0
app/src/main/res/drawable/bg_withdraw_bottom.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle" >
+
+    <!-- 填充的颜色-->
+
+
+    <solid android:color="@color/white" />
+
+    <corners android:bottomRightRadius="@dimen/dp_10"
+        android:bottomLeftRadius="@dimen/dp_10"
+        />
+
+</shape >

+ 204 - 0
app/src/main/res/layout/activity_withdrawal.xml

@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android" >
+
+    <data >
+        <variable
+            name="vm"
+            type="com.quansu.heifengwuliu.vmodel.WithdrawalVModel" />
+
+    </data >
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/color_bg"
+        android:paddingStart="12dp"
+        xmlns:tools="http://schemas.android.com/tools"
+        xmlns:app="http://schemas.android.com/apk/res-auto"
+        android:paddingEnd="11dp"
+        android:orientation="vertical" >
+        
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:orientation="horizontal"
+            android:background="@drawable/ic_cash_top"
+            android:layout_marginTop="19dp"
+            android:gravity="center"
+            android:onClick="@{v->vm.goBank()}"
+            android:layout_height="118dp">
+
+
+            <LinearLayout
+                android:layout_width="0dp"
+                android:layout_weight="1"
+                android:layout_marginStart="25dp"
+                android:orientation="vertical"
+                android:layout_height="wrap_content">
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:orientation="horizontal"
+                    android:layout_height="wrap_content">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:text="卡号:"
+                        android:textSize="17sp"
+                        android:textColor="@color/white"
+                        android:layout_height="wrap_content"/>
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        tools:text="768 9876 2134 2344 78"
+                        android:text="@{vm.infoBank.number}"
+                        android:textStyle="bold"
+                        android:textSize="17sp"
+                        android:textColor="@color/white"
+                        android:layout_height="wrap_content"/>
+
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:orientation="horizontal"
+                    android:layout_marginTop="7dp"
+                    android:layout_height="wrap_content">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:text="银行:"
+                        android:textSize="17sp"
+                        android:textColor="@color/white"
+                        android:layout_height="wrap_content"/>
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        tools:text="中国农业银行"
+                        android:text="@{vm.infoBank.bank}"
+                        android:textStyle="bold"
+                        android:textSize="17sp"
+                        android:textColor="@color/white"
+                        android:layout_height="wrap_content"/>
+
+
+                </LinearLayout>
+
+            </LinearLayout>
+            
+             <ImageView
+                 android:layout_width="8dp"
+                 android:src="@drawable/ic_white_right"
+                 android:layout_marginEnd="22dp"
+                 android:layout_marginStart="10dp"
+                 android:layout_height="14dp"/>
+
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:orientation="vertical"
+            android:background="@drawable/bg_withdraw_bottom"
+            android:layout_height="wrap_content">
+
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:text="提现金额"
+                android:textSize="14sp"
+                android:layout_marginTop="22dp"
+                android:textColor="#1B1B1B"
+                android:layout_marginStart="36dp"
+                android:layout_height="wrap_content"/>
+
+
+             <com.ysnows.base.widget.DelEditText
+                 android:layout_width="match_parent"
+                 android:textSize="30sp"
+                 android:hint="输入提现金额"
+                 android:textColor="#353535"
+                 android:background="@null"
+                 android:text="@={vm.money}"
+                 android:layout_marginTop="17dp"
+                 android:paddingStart="36dp"
+                 android:inputType="number|numberDecimal"
+                 android:textColorHint="#696969"
+                 android:layout_height="wrap_content"/>
+
+            <View
+                android:layout_width="match_parent"
+                android:background="#EBEBEB"
+                android:layout_marginStart="36dp"
+                android:layout_marginTop="16dp"
+                android:layout_height="1dp"/>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:orientation="horizontal"
+                android:layout_marginStart="36dp"
+                android:layout_marginTop="18dp"
+                android:layout_height="wrap_content">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:textSize="13sp"
+                    android:textColor="#696969"
+                    android:text="@{@string/withdrawal_amount+@string/total_img+vm.canUseMoney+@string/comma}"
+                    tools:text="@string/withdrawal_amount"
+                    android:layout_height="wrap_content"/>
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:textSize="13sp"
+                    android:textColor="#F5BF41"
+                    android:text="  全部提现"
+                    android:layout_height="wrap_content"/>
+
+
+            </LinearLayout>
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:textSize="14sp"
+                android:textColor="#767778"
+                android:text="1.单笔不低于1元"
+                android:layout_marginTop="36dp"
+                android:layout_marginStart="36dp"
+                android:layout_height="wrap_content"/>
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:textSize="14sp"
+                android:textColor="#767778"
+                android:text="2.每月不超过5次"
+                android:layout_marginTop="5dp"
+                android:layout_marginStart="36dp"
+                android:layout_height="wrap_content"/>
+
+
+
+            <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+                android:layout_width="match_parent"
+                android:layout_marginTop="53dp"
+                android:layout_marginBottom="32dp"
+                android:layout_marginStart="26dp"
+                android:layout_marginEnd="26dp"
+                app:qmui_radius="25dp"
+                app:qmui_backgroundColor="#FFBB00"
+                app:qmui_borderColor="#FFBB00"
+                android:text="提现"
+                android:textColor="@color/white"
+                android:textSize="16sp"
+                android:onClick="@{v->vm.goWithdrawal()}"
+                app:qmui_shadowAlpha="0.56"
+                app:qmui_shadowElevation="7dp"
+                android:layout_height="47dp"/>
+
+
+
+        </LinearLayout>
+
+
+
+
+    </LinearLayout >
+</layout >

+ 2 - 1
app/src/main/res/layout/fragment_account_bill.xml

@@ -80,7 +80,6 @@
 
 
             <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
-
                 android:layout_width="103dp"
                 android:layout_height="40dp"
                 android:layout_marginTop="78dp"
@@ -91,6 +90,7 @@
                 app:layout_constraintTop_toTopOf="parent"
                 app:qmui_backgroundColor="@color/white"
                 app:qmui_borderColor="@color/white"
+                android:onClick="@{v->vm.goWithdrawal()}"
                 app:qmui_borderWidth="1dp"
                 app:qmui_radius="25dp">
 
@@ -195,6 +195,7 @@
             android:gravity="center_vertical"
             android:paddingEnd="12dp"
             android:background="#F5F5F5"
+            android:onClick="@{v->vm.toBillDetails()}"
             android:layout_marginTop="4dp">
 
             <TextView

+ 2 - 3
app/src/main/res/values/strings.xml

@@ -490,10 +490,9 @@ Api 已达到使用限制
     <string name="discharge">卸</string>
     <string name="yu">当前余额:</string>
     <string name="plus">+</string>
-
     <string name="reduce">-</string>
-
-
+    <string name="withdrawal_amount">可提现金额</string>
+    <string name="comma">,</string>
 
 
 </resources >

+ 4 - 1
base/src/main/java/com/ysnows/base/net/BOkhttpClient.kt

@@ -1,5 +1,7 @@
 package com.ysnows.base.net
 
+import com.readystatesoftware.chuck.ChuckInterceptor
+import com.ysnows.base.base.BApp
 import okhttp3.OkHttpClient
 import java.util.concurrent.TimeUnit
 
@@ -14,6 +16,7 @@ object BOkhttpClient {
                     .writeTimeout(156760, TimeUnit.MILLISECONDS)
                     .connectTimeout(15676, TimeUnit.MILLISECONDS)
                     .retryOnConnectionFailure(true)
+                    .addInterceptor(ChuckInterceptor(BApp.instance()?.applicationContext))
                     .cookieJar(BCookieJar())
                     .addInterceptor(BHeaderInterceptor())
 
@@ -24,4 +27,4 @@ object BOkhttpClient {
 
 
     }
-}
+}