diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 50e8bda54..25ce6dd2a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1016,6 +1016,11 @@
android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection"
android:exported="false"
android:screenOrientation="portrait" />
+
\ No newline at end of file
diff --git a/app/src/main/java/com/yizhuan/erban/association/AssociationViewModel.kt b/app/src/main/java/com/yizhuan/erban/association/AssociationViewModel.kt
index f19223c18..182eb705c 100644
--- a/app/src/main/java/com/yizhuan/erban/association/AssociationViewModel.kt
+++ b/app/src/main/java/com/yizhuan/erban/association/AssociationViewModel.kt
@@ -6,6 +6,7 @@ import com.yizhuan.xchat_android_core.association.AssociationModel
import com.yizhuan.xchat_android_core.association.HallListInfo
import com.yizhuan.xchat_android_core.association.ClanListInfo
import com.yizhuan.xchat_android_core.bean.response.ListResult
+import com.yizhuan.xchat_android_core.utils.toast
class AssociationViewModel : BaseViewModel() {
@@ -23,6 +24,7 @@ class AssociationViewModel : BaseViewModel() {
_clanListLiveData.value = AssociationModel.getClanList()
},
onError = {
+ it.message.toast()
_clanListLiveData.value = null
}
)
@@ -34,6 +36,7 @@ class AssociationViewModel : BaseViewModel() {
_hallListLiveData.value = AssociationModel.getHallList()
},
onError = {
+ it.message.toast()
_hallListLiveData.value = null
}
)
diff --git a/app/src/main/java/com/yizhuan/erban/earn/EarnRecordViewModel.kt b/app/src/main/java/com/yizhuan/erban/earn/EarnRecordViewModel.kt
index 0405cf106..15030de86 100644
--- a/app/src/main/java/com/yizhuan/erban/earn/EarnRecordViewModel.kt
+++ b/app/src/main/java/com/yizhuan/erban/earn/EarnRecordViewModel.kt
@@ -30,15 +30,16 @@ class EarnRecordViewModel : BaseViewModel() {
private val _exchangeLiveData = MutableLiveData()
val exchangeLiveData: MutableLiveData = _exchangeLiveData
+ //绑定提现账号
+ private val _boundLiveData = MutableLiveData()
+ val boundLiveData: MutableLiveData = _boundLiveData
+
/**
* 收益记录
*/
fun getEarnRecordInfo() {
safeLaunch(
true,
- onError = {
- _earnRecordLiveData.value = null
- },
block = {
_earnRecordLiveData.value = EarnModel.getEarnRecord()
}
@@ -51,9 +52,6 @@ class EarnRecordViewModel : BaseViewModel() {
fun getGoldToDiamondInfo() {
safeLaunch(
true,
- onError = {
- _goldToDiamondLiveData.value = null
- },
block = {
_goldToDiamondLiveData.value = EarnModel.getGoldToDiamond()
}
@@ -105,4 +103,36 @@ class EarnRecordViewModel : BaseViewModel() {
)
}
+ /**
+ * 绑定提现账号
+ */
+ fun bound(
+ uid: Long,
+ swift: String,
+ bankName: String,
+ accountNumber: String,
+ accountName: String,
+ address: String,
+ city: String,
+ province: String,
+ postCode: String
+ ) {
+ safeLaunch(
+ true,
+ block = {
+ _boundLiveData.value = EarnModel.bound(
+ uid,
+ swift,
+ bankName,
+ accountNumber,
+ accountName,
+ address,
+ city,
+ province,
+ postCode
+ )
+ }
+ )
+ }
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/yizhuan/erban/earn/activity/BindWithdrawMsgActivity.kt b/app/src/main/java/com/yizhuan/erban/earn/activity/BindWithdrawMsgActivity.kt
new file mode 100644
index 000000000..92c8b9529
--- /dev/null
+++ b/app/src/main/java/com/yizhuan/erban/earn/activity/BindWithdrawMsgActivity.kt
@@ -0,0 +1,122 @@
+package com.yizhuan.erban.earn.activity
+
+import android.content.Context
+import android.content.Intent
+import android.text.Editable
+import android.text.TextWatcher
+import androidx.activity.viewModels
+import com.netease.nim.uikit.StatusBarUtil
+import com.yizhuan.erban.R
+import com.yizhuan.erban.base.BaseViewBindingActivity
+import com.yizhuan.erban.databinding.ActivityBindWithdrawMsgBinding
+import com.yizhuan.erban.earn.EarnRecordViewModel
+import com.yizhuan.xchat_android_core.auth.AuthModel
+import com.yizhuan.xchat_android_core.earn.bean.WithdrawAccount
+
+/**
+ * 绑定提现信息
+ */
+class BindWithdrawMsgActivity : BaseViewBindingActivity(),
+ TextWatcher {
+
+ private val earnRecordModel: EarnRecordViewModel by viewModels()
+
+ companion object {
+
+ const val BEAN = "bean"
+
+ @JvmStatic
+ fun start(context: Context, withdrawAccount: WithdrawAccount) {
+ val starter = Intent(context, BindWithdrawMsgActivity::class.java)
+ starter.putExtra(BEAN, withdrawAccount)
+ context.startActivity(starter)
+ }
+ }
+
+ override fun init() {
+ initTitleBar(getString(R.string.bind_withdraw_message))
+ val bean = intent.getSerializableExtra(BEAN) as? WithdrawAccount
+ bean?.let {
+ binding.edSwiftCode.setText(it.swift)
+ binding.edBankName.setText(it.bankName)
+ binding.edAccountNumber.setText(it.accountNumber)
+ binding.edAccountName.setText(it.accountName)
+ binding.edAddress.setText(it.address)
+ binding.edCity.setText(it.city)
+ binding.edProvince.setText(it.province)
+ binding.edPostCode.setText(it.postCode)
+
+ binding.edSwiftCode.addTextChangedListener(this)
+ binding.edBankName.addTextChangedListener(this)
+ binding.edAccountNumber.addTextChangedListener(this)
+ binding.edAccountName.addTextChangedListener(this)
+ binding.edAddress.addTextChangedListener(this)
+ binding.edCity.addTextChangedListener(this)
+ binding.edProvince.addTextChangedListener(this)
+ binding.edPostCode.addTextChangedListener(this)
+
+ binding.tvSave.setOnClickListener { view ->
+ val edSwiftCode = binding.edSwiftCode.text.toString()
+ val edBankName = binding.edBankName.text.toString()
+ val edAccountNumber = binding.edAccountNumber.text.toString()
+ val edAccountName = binding.edAccountName.text.toString()
+ val edAddress = binding.edAddress.text.toString()
+ val edCity = binding.edCity.text.toString()
+ val edProvince = binding.edProvince.text.toString()
+ val edPostCode = binding.edPostCode.text.toString()
+ earnRecordModel.bound(
+ AuthModel.get().currentUid,
+ edSwiftCode,
+ edBankName,
+ edAccountNumber,
+ edAccountName,
+ edAddress,
+ edCity,
+ edProvince,
+ edPostCode
+ )
+ }
+
+ earnRecordModel.loadingLiveData.observe(this) { loading ->
+ if (loading) dialogManager.showProgressDialog(this)
+ else dialogManager.dismissDialog()
+ }
+
+ earnRecordModel.exchangeLiveData.observe(this) {
+ toast(getString(R.string.update_success))
+ finish()
+ }
+
+ }
+ }
+
+ override fun needSteepStateBar() = true
+
+ override fun setStatusBar() {
+ super.setStatusBar()
+ StatusBarUtil.transparencyBar(this)
+ StatusBarUtil.StatusBarLightMode(this)
+ }
+
+ override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
+
+ }
+
+ override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
+
+ }
+
+ override fun afterTextChanged(p0: Editable?) {
+ binding.tvSave.isEnabled =
+ !(binding.edSwiftCode.text.toString().isEmpty() || binding.edBankName.text.toString()
+ .isEmpty()
+ || binding.edAccountNumber.text.toString()
+ .isEmpty() || binding.edAccountName.text.toString().isEmpty()
+ || binding.edAddress.text.toString().isEmpty() || binding.edCity.text.toString()
+ .isEmpty()
+ || binding.edProvince.text.toString()
+ .isEmpty() || binding.edPostCode.text.toString()
+ .isEmpty())
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/yizhuan/erban/earn/activity/EarnRecordActivity.kt b/app/src/main/java/com/yizhuan/erban/earn/activity/EarnRecordActivity.kt
index 4357e1b68..cd187c52b 100644
--- a/app/src/main/java/com/yizhuan/erban/earn/activity/EarnRecordActivity.kt
+++ b/app/src/main/java/com/yizhuan/erban/earn/activity/EarnRecordActivity.kt
@@ -64,6 +64,10 @@ class EarnRecordActivity : BaseViewBindingActivity(),
}
}
+ }
+
+ override fun onResume() {
+ super.onResume()
earnRecordModel.getEarnRecordInfo()
}
@@ -81,16 +85,13 @@ class EarnRecordActivity : BaseViewBindingActivity(),
ChargeActivity.start(this)
}
R.id.tvDiamondDetail -> {//钻石明细
- CommonWebViewActivity.start(
- context,
- UriProvider.JAVA_WEB_URL + "peko/modules/myincome/index.html#/DiamondLog"
- )
+ CommonWebViewActivity.start(context, UriProvider.getDiamondDetail())
}
R.id.tvGoldDetail -> {//金币明细
- CommonWebViewActivity.start(
- context,
- UriProvider.JAVA_WEB_URL + "peko/modules/myincome/index.html#/DiamondLog"
- )
+// CommonWebViewActivity.start(
+// context,
+// UriProvider.JAVA_WEB_URL + "peko/modules/myincome/index.html#/DiamondLog"
+// )
}
R.id.tvConvertDiamond -> {//兑换钻石
earnRecordModel.getGoldToDiamondInfo()
diff --git a/app/src/main/java/com/yizhuan/erban/earn/activity/EarnWithdrawActivity.kt b/app/src/main/java/com/yizhuan/erban/earn/activity/EarnWithdrawActivity.kt
index bbb7d9874..dde5a8a5c 100644
--- a/app/src/main/java/com/yizhuan/erban/earn/activity/EarnWithdrawActivity.kt
+++ b/app/src/main/java/com/yizhuan/erban/earn/activity/EarnWithdrawActivity.kt
@@ -14,13 +14,12 @@ import com.yizhuan.erban.databinding.ActivityEarnWithdrawBinding
import com.yizhuan.erban.earn.EarnRecordViewModel
import com.yizhuan.erban.pay.password.GiveGoldPassWordFragment
import com.yizhuan.erban.ui.setting.ModifyPwdActivity
+import com.yizhuan.erban.ui.webview.CommonWebViewActivity
import com.yizhuan.erban.ui.widget.dialog.CommonTipDialog
-import com.yizhuan.erban.ui.widget.password.PassWordFragment
+import com.yizhuan.xchat_android_core.UriProvider
import com.yizhuan.xchat_android_core.earn.bean.ConfigWithdrawInfo
-import com.yizhuan.xchat_android_core.pay.PayModel
import com.yizhuan.xchat_android_core.user.UserModel
import com.yizhuan.xchat_android_library.utils.ResUtil
-import kotlinx.android.synthetic.main.activity_give_gold_to_user.*
/**
* author: wushaocheng
@@ -95,6 +94,14 @@ class EarnWithdrawActivity : BaseViewBindingActivity
+ BindWithdrawMsgActivity.start(this, it.account)
+ }
+
+ binding.tvWithdrawRecord.setOnClickListener {
+ CommonWebViewActivity.start(context, UriProvider.getWithdrawRecord())
+ }
+
binding.tvWithdraw.setOnClickListener { view ->
UserModel.get().cacheLoginUserInfo?.let { userInfo ->
if (!userInfo.isBindPaymentPwd) {
diff --git a/app/src/main/java/com/yizhuan/erban/pay/GiveGoldModel.kt b/app/src/main/java/com/yizhuan/erban/pay/GiveGoldModel.kt
index dc0fe10e5..e0b9cd2da 100644
--- a/app/src/main/java/com/yizhuan/erban/pay/GiveGoldModel.kt
+++ b/app/src/main/java/com/yizhuan/erban/pay/GiveGoldModel.kt
@@ -39,10 +39,6 @@ class GiveGoldModel : BaseViewModel() {
fun getSearchUserInfo(erbanNo: Long) {
safeLaunch(
true,
- onError = {
- it.message.toast()
- _searchUserLiveData.value = null
- },
block = {
_searchUserLiveData.value = HomeModel.getSearchUser(erbanNo)
}
@@ -52,10 +48,6 @@ class GiveGoldModel : BaseViewModel() {
fun giveGift(toUid: Long, giftId: Int, giftNum: Int) {
safeLaunch(
true,
- onError = {
- it.message.toast()
- _giveGiftLiveData.value = null
- },
block = {
_giveGiftLiveData.value = HomeModel.giveGift(toUid, giftId, giftNum)
}
diff --git a/app/src/main/res/drawable/shape_f0f5f6_5dp_round.xml b/app/src/main/res/drawable/shape_f0f5f6_5dp_round.xml
new file mode 100644
index 000000000..9454b4db4
--- /dev/null
+++ b/app/src/main/res/drawable/shape_f0f5f6_5dp_round.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_bind_withdraw_msg.xml b/app/src/main/res/layout/activity_bind_withdraw_msg.xml
new file mode 100644
index 000000000..0ec278e71
--- /dev/null
+++ b/app/src/main/res/layout/activity_bind_withdraw_msg.xml
@@ -0,0 +1,322 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_earn_withdraw.xml b/app/src/main/res/layout/activity_earn_withdraw.xml
index 6bbec4c53..0014b1f67 100644
--- a/app/src/main/res/layout/activity_earn_withdraw.xml
+++ b/app/src/main/res/layout/activity_earn_withdraw.xml
@@ -109,6 +109,7 @@
app:layout_constraintTop_toTopOf="parent" />
剩餘周提現次數:%d次
立即提現
選擇游戲
- 兑换成功
+ 兌換成功
swift code/BIC:%s
bank name:%s
提現成功
+ 綁定提現信息
\ No newline at end of file
diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/UriProvider.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/UriProvider.java
index a026016d4..196b8cb76 100644
--- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/UriProvider.java
+++ b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/UriProvider.java
@@ -512,4 +512,18 @@ public class UriProvider {
return JAVA_WEB_URL.concat("/peko/modules/pay/index.html?channelType=" + type + "&deviceId=" + deviceId);
}
+ /**
+ * 钻石明细
+ */
+ public static String getDiamondDetail() {
+ return JAVA_WEB_URL.concat("peko/modules/myincome/index.html#/DiamondLog");
+ }
+
+ /**
+ * 提现记录
+ */
+ public static String getWithdrawRecord() {
+ return JAVA_WEB_URL.concat("peko/modules/myincome/index.html#/GoldLog");
+ }
+
}
diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/earn/bean/GoldToDiamondInfo.kt b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/earn/bean/GoldToDiamondInfo.kt
index 593b75e29..1bff8bf9f 100644
--- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/earn/bean/GoldToDiamondInfo.kt
+++ b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/earn/bean/GoldToDiamondInfo.kt
@@ -10,4 +10,6 @@ data class GoldToDiamondInfo(
val minDiamonds: Long,
val maxGolds: Long,
val minGolds: Long,
+ val hasPaymentPwd: Boolean,
+ val isClan: Boolean
) : Serializable
\ No newline at end of file
diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/earn/model/EarnModel.kt b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/earn/model/EarnModel.kt
index 604b33475..626d90783 100644
--- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/earn/model/EarnModel.kt
+++ b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/earn/model/EarnModel.kt
@@ -45,6 +45,31 @@ object EarnModel : BaseModel() {
api.exchange(goldNum, payPwd)
}
+ suspend fun bound(
+ uid: Long,
+ swift: String,
+ bankName: String,
+ accountNumber: String,
+ accountName: String,
+ address: String,
+ city: String,
+ province: String,
+ postCode: String
+ ): String? =
+ launchRequest {
+ api.bound(
+ uid,
+ swift,
+ bankName,
+ accountNumber,
+ accountName,
+ address,
+ city,
+ province,
+ postCode
+ )
+ }
+
private interface Api {
/**
@@ -84,6 +109,22 @@ object EarnModel : BaseModel() {
@Query("payPwd") payPwd: String
): ServiceResult
+ /**
+ * @return
+ */
+ @POST("/withdraw/bound")
+ suspend fun bound(
+ @Query("uid") uid: Long,
+ @Query("swift") swift: String,
+ @Query("bankName") bankName: String,
+ @Query("accountNumber") accountNumber: String,
+ @Query("accountName") accountName: String,
+ @Query("address") address: String,
+ @Query("city") city: String,
+ @Query("province") province: String,
+ @Query("postCode") postCode: String
+ ): ServiceResult
+
}
}
\ No newline at end of file