Commit eed0468e by sikang

update bank

parent 2e42d318
......@@ -124,6 +124,8 @@
<!--Hook Activity-->
<activity android:name="com.common.activity.ReviewHookActivity" />
<activity android:name="com.common.activity.ActivityBankInfo" />
<!--<receiver-->
<!--tools:node="remove"-->
<!--android:name="com.kochava.base.ReferralReceiver">-->
......
package com.common.activity;
import android.app.Dialog;
import android.content.Context;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import com.common.base.BaseActivity;
import com.common.bean.BankBean;
import com.common.bean.LoanInfo;
import com.common.widget.SpanButton;
import tech.starwin.R;
import tech.starwin.base.RecyclerViewHolder;
import tech.starwin.impl.OnEventClickListener;
import tech.starwin.mvp.presenter.UserPresenter;
import tech.starwin.utils.GeneralUtils;
import tech.starwin.utils.context_utils.ActivityJumper;
import tech.starwin.utils.ui_utils.DialogFactory;
import tech.starwin.utils.ui_utils.UIHelper;
/**
* Created by SiKang on 2020-03-04.
*/
public class ActivityBankInfo extends BaseActivity {
private RecyclerViewHolder holder;
SpanButton mBankNameBtn;
TextView mBankNumberEt;
LoanInfo loanInfo;
Button mSubmitBtn;
public static void start(Context context, String loanId) {
new ActivityJumper.Builder(context, ActivityBankInfo.class).put("loanId", loanId).build().start();
}
@Override
public int bindLayout() {
return R.layout.activity_bank_info;
}
@Override
public void initView() {
mBankNameBtn = findViewById(R.id.activity_bank_baneName_btn);
mBankNumberEt = findViewById(R.id.activity_bank_bankNumber_et);
mSubmitBtn = findViewById(R.id.activity_bank_submit_btn);
getPresenter(UserPresenter.class).getBankInfo("action_getBankAndLoanAmout");
UIHelper.bindClickListener(new OnEventClickListener() {
@Override
public void onEventClick(View v) {
int id = v.getId();
if (id == R.id.activity_bank_baneName_btn) {
if (loanInfo != null && loanInfo.getBankNameArray() != null) {
DialogFactory.createMenuDialog(ActivityBankInfo.this, loanInfo.getBankNameArray(), (dialog, which) -> {
dialog.dismiss();
loanInfo.setBankCode(loanInfo.getBankList().get(which).getBankCode());
String bankName = loanInfo.getBankList().get(which).getBankName();
mBankNameBtn.setText(bankName);
}).show();
}
} else if (id == R.id.activity_bank_submit_btn) {
String banNo = mBankNumberEt.getText().toString();
if (TextUtils.isEmpty(loanInfo.getBankCode()) || TextUtils.isEmpty(banNo)) {
DialogFactory.showMessageDialog(ActivityBankInfo.this, getString(R.string.input_invalid));
return;
}
getPresenter(UserPresenter.class).updateBankInfo("update_bankInfo",
getIntent().getStringExtra("loanId"), loanInfo.getBankCode(), banNo);
}
}
}, mBankNameBtn, mSubmitBtn);
}
@Override
public void onHttpSuccess(String action, Object result) {
switch (action) {
case "action_getBankAndLoanAmout":
loanInfo = (LoanInfo) result;
String bankName = getBankName(loanInfo, loanInfo.getUserBankInfo().getBankCode());
mBankNameBtn.setText(bankName);
mBankNumberEt.setText(loanInfo.getUserBankInfo().getCardNo());
break;
case "update_bankInfo":
DialogFactory.createYesOrNoDialog(ActivityBankInfo.this, getString(R.string.update_bank_card_successful), (dialog, isAgree) -> {
dialog.dismiss();
finish();
}).show();
break;
}
}
public String getBankName(LoanInfo loanInfo, String code) {
if (!GeneralUtils.isEmpty(loanInfo.getBankList())) {
for (BankBean bankBean : loanInfo.getBankList()) {
if (bankBean.getBankCode().equals(code)) {
return bankBean.getBankName();
}
}
}
return "";
}
}
......@@ -9,6 +9,7 @@ import java.util.List;
public class LoanInfo implements Serializable {
private LatestLoanAppBean latestLoanAppBean;
private UserBankInfo userBankInfo;
private String bankCode;
private LoaningAmoutBean loaningAmoutInfo;
......@@ -58,4 +59,11 @@ public class LoanInfo implements Serializable {
}
public String getBankCode() {
return bankCode;
}
public void setBankCode(String bankCode) {
this.bankCode = bankCode;
}
}
......@@ -75,11 +75,10 @@ public interface UserApi {
*/
@GET("contract/contract-template-detail")
Observable<EventCenterBean> getContract(
@Header("X-APP-PACKAGE-NAME")String applicationId,
@Header("X-APP-PACKAGE-NAME") String applicationId,
@Query("contractNo") String contractNo);
/**
* facebook accountKit登录
*/
......@@ -128,7 +127,8 @@ public interface UserApi {
/**
* 学历列表
*/
@GET("sysdict/{type}")//*Keep*
@GET("sysdict/{type}")
//*Keep*
Observable<ArrayList<SysDictBean>> sysDict(@Path("type") String type);
......@@ -298,6 +298,17 @@ public interface UserApi {
/**
* 修改银行卡
*/
@PUT("record/loanBankcard/{loanAppId}")
Observable<ResponseBody> updateBankCard(
@Path("loanAppId") String loanAppId,
@Query("bankCode") String bankCode,
@Query("cardNo") String cardNo
);
/**
* 绑定的第三方账号
*/
@GET("record/thirdparty_data")
......
......@@ -2,7 +2,6 @@ package tech.starwin.mvp.presenter;
import android.annotation.SuppressLint;
import android.app.Application;
import android.text.TextUtils;
import com.common.bean.BankBean;
......@@ -410,6 +409,28 @@ public class UserPresenter extends BasePresenter<UserApi> {
}
/**
* 获取贷款状态、贷款详情、绑定银行卡、银行卡列表
*/
public void getBankInfo(String action) {
Observable<LoanInfo> observable = Observable.zip(
clearError(getApiService().getBankCardInfo(), UserBankInfo.class),
getService(LoanApi.class).getBankList(),
(userBankInfo, bankBeans) -> {
LoanInfo userInfo = new LoanInfo();
userInfo.setUserBankInfo(userBankInfo);
userInfo.setBankList(bankBeans);
return userInfo;
}
);
handleRequest(action, observable);
}
public void updateBankInfo(String action, String loanId, String bankCode, String bankNo) {
handleRequest(action, getApiService().updateBankCard(loanId, bankCode, bankNo));
}
/**
* 活动中心数据
*/
public void getActivitys(String action) {
......@@ -705,7 +726,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
AccountKitUtils.initFbSdk(LibConfig.getContext(), new FacebookSdk.InitializeCallback() {
@Override
public void onInitialized() {
FbDeepLink.fetchDeepLink(() -> handleRequest("",getApiService().display()));
FbDeepLink.fetchDeepLink(() -> handleRequest("", getApiService().display()));
}
});
if (data.getAccountKitInfo() != null) {
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray_bg"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="30dp"
android:background="@color/white"
android:orientation="vertical">
<com.common.widget.TitleSpan
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="20dp"
android:layout_marginRight="16dp"
android:orientation="vertical">
<TextView
style="@style/span_title3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/text_receiving_bank"
android:visibility="gone" />
<com.common.widget.SpanButton
android:id="@+id/activity_bank_baneName_btn"
style="@style/span_button"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
style="@style/span_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="@string/text_receiving_bank" />
<ImageView
android:layout_width="15dp"
android:layout_height="15dp"
android:src="@drawable/arc_right" />
</com.common.widget.SpanButton>
<TextView style="@style/gray_line" />
</com.common.widget.TitleSpan>
<com.common.widget.TitleSpan
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="10dp"
android:layout_marginRight="16dp"
android:orientation="vertical">
<TextView
style="@style/span_title3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/editText_bank_number"
android:visibility="gone" />
<EditText
android:id="@+id/activity_bank_bankNumber_et"
style="@style/span_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/translateColor"
android:hint="@string/editText_bank_number"
android:inputType="number"
android:paddingTop="10dp"
android:paddingBottom="10dp" />
<TextView style="@style/gray_line" />
</com.common.widget.TitleSpan>
</LinearLayout>
<Button
android:id="@+id/activity_bank_submit_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:background="@drawable/shape_mainsolid_round"
android:tag="SUBMIT_BANK_INFO"
android:text="@string/button_current_loan"
android:textColor="@color/white" />
</LinearLayout>
......@@ -82,6 +82,8 @@
<string name="ktp_invalid">KTP salah</string>
<string name="input_invalid">Mohon Masukkan Informasi Dengan Lengkap</string>
<string name="update_bank_card_successful">Pembaruan berhasil</string>
<string name="text_certify_account">Verfikasi di bawah ini merupakan opsional, melalui verifikasi mampu meningkatkan kesempatan permohonan di-ACC</string>
<string name="text_optional">Opsional</string>
......@@ -367,6 +369,7 @@
<string name="total_repayment_amount">Jumlah Pelunasan</string>
<string name="bank_name">Nama Bank Penerima</string>
<string name="bank_card_no">Nomor Rekening Bank</string>
<string name="update_bank_card">Perbarui informasi kartu bank</string>
<string name="text_title_myloan">Pinjaman Saya</string>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment