From 86e270d58e2ca856415b6bbe01747e847876bac5 Mon Sep 17 00:00:00 2001 From: huangjian Date: Mon, 22 Nov 2021 15:46:14 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E5=85=85=E5=BC=B9=E7=AA=97=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=B8=AE=E5=8A=A9=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../avroom/firstcharge/FirstChargeDialog.kt | 108 +++++++++++++++++- .../drawable-xhdpi/bg_first_charge_help.9.png | Bin 0 -> 2296 bytes .../drawable-xhdpi/ic_first_charge_help.png | Bin 0 -> 1854 bytes .../main/res/layout/dialog_first_charge.xml | 17 ++- .../layout/layout_first_charge_help_view.xml | 22 ++++ app/src/main/res/values/strings.xml | 1 + 6 files changed, 143 insertions(+), 5 deletions(-) create mode 100644 app/src/main/res/drawable-xhdpi/bg_first_charge_help.9.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_first_charge_help.png create mode 100644 app/src/main/res/layout/layout_first_charge_help_view.xml diff --git a/app/src/main/java/com/yizhuan/erban/avroom/firstcharge/FirstChargeDialog.kt b/app/src/main/java/com/yizhuan/erban/avroom/firstcharge/FirstChargeDialog.kt index 2479dae25..4b707725e 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/firstcharge/FirstChargeDialog.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/firstcharge/FirstChargeDialog.kt @@ -3,20 +3,38 @@ package com.yizhuan.erban.avroom.firstcharge import android.annotation.SuppressLint import android.content.Context import android.content.Intent +import android.graphics.Color +import android.graphics.drawable.ColorDrawable +import android.view.Gravity +import android.view.LayoutInflater import android.view.View +import android.view.WindowManager +import android.widget.PopupWindow +import android.widget.TextView import com.google.android.flexbox.AlignItems import com.google.android.flexbox.FlexboxLayoutManager import com.google.android.flexbox.JustifyContent +import com.netease.nim.uikit.common.util.sys.ScreenUtil import com.yizhuan.erban.R +import com.yizhuan.erban.bank_card.activity.AddBankCardAgreementActivity import com.yizhuan.erban.base.BaseViewBindingActivity +import com.yizhuan.erban.common.widget.dialog.DialogManager.AbsOkDialogListener import com.yizhuan.erban.databinding.DialogFirstChargeBinding +import com.yizhuan.erban.ui.setting.ModifyPwdActivity import com.yizhuan.erban.ui.utils.RVDelegate +import com.yizhuan.erban.ui.webview.CommonWebViewActivity +import com.yizhuan.xchat_android_core.UriProvider +import com.yizhuan.xchat_android_core.auth.AuthModel import com.yizhuan.xchat_android_core.pay.PayModel +import com.yizhuan.xchat_android_core.pay.PaymentActivity import com.yizhuan.xchat_android_core.pay.bean.FirstChargeGoods import com.yizhuan.xchat_android_core.pay.bean.FirstChargeReward +import com.yizhuan.xchat_android_core.pay.bean.PaymentResult import com.yizhuan.xchat_android_core.pay.event.FirstChargeEvent +import com.yizhuan.xchat_android_core.pay.model.unionpay.UnionPayModel import com.yizhuan.xchat_android_core.utils.toast import com.yizhuan.xchat_android_library.annatation.ActLayoutRes +import com.yizhuan.xchat_android_library.utils.JavaUtil import com.yizhuan.xchat_android_library.utils.SingleToastUtil import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe @@ -30,6 +48,7 @@ class FirstChargeDialog : BaseViewBindingActivity() { private var currGoods: FirstChargeGoods? = null private lateinit var rewardAdapter: RewardAdapter private lateinit var rvDelegate: RVDelegate + private lateinit var helpPopupWindow: PopupWindow companion object { @JvmStatic @@ -37,6 +56,8 @@ class FirstChargeDialog : BaseViewBindingActivity() { val starter = Intent(context, FirstChargeDialog::class.java) context.startActivity(starter) } + + private const val BIND_CODE_GOLD = 200 } @SuppressLint("CheckResult") @@ -60,6 +81,7 @@ class FirstChargeDialog : BaseViewBindingActivity() { binding.rbPlanC.textSize = 22f updateCurrGoods(goodsList?.getOrNull(2)) } + binding.ivHelp.setOnClickListener { showHelpPopup() } binding.ivCharge.setOnClickListener { currGoods?.let { SelectPayTypeDialog.newInstance(it.chargeProdId, "¥${it.chargeMoney}") @@ -77,13 +99,15 @@ class FirstChargeDialog : BaseViewBindingActivity() { }) .setRecyclerView(binding.recyclerView) .build() - + dialogManager.showProgressDialog(this) PayModel.get().firstChargeList .compose(bindToLifecycle()) .subscribe({ initData(it) + dialogManager.dismissDialog() }, { it.printStackTrace() + dialogManager.dismissDialog() SingleToastUtil.showToast(it.message) finish() }) @@ -130,6 +154,88 @@ class FirstChargeDialog : BaseViewBindingActivity() { binding.rbPlanC.textSize = 18f } + private fun showHelpPopup() { + if (currGoods == null) { + SingleToastUtil.showToast("数据加载中,请稍后...") + return + } + val contentView: View + if (!this::helpPopupWindow.isInitialized) { + contentView = + LayoutInflater.from(context).inflate(R.layout.layout_first_charge_help_view, null) + contentView.findViewById(R.id.tv_content).text = + currGoods?.chargeProdDesc?.replace("\\n", "\n")?.replace("\\r", "\r") + helpPopupWindow = + PopupWindow( + contentView, + ScreenUtil.dip2px(150f), + WindowManager.LayoutParams.WRAP_CONTENT + ) + helpPopupWindow.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + helpPopupWindow.isOutsideTouchable = true + helpPopupWindow.isFocusable = true + } + + try { + helpPopupWindow.showAsDropDown( + binding.ivHelp, + 0, + 0, + Gravity.START or Gravity.BOTTOM + ) + } catch (e: Exception) { + e.printStackTrace() + } + } + + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + super.onActivityResult(requestCode, resultCode, data) + dialogManager.dismissDialog() + if (resultCode != RESULT_OK) { + return + } + //支付页面返回处理 + if (requestCode == PaymentActivity.REQUEST_CODE_PAY) { + if (data != null && data.extras != null) { + val paymentResult: PaymentResult? = + data.getParcelableExtra(PaymentActivity.KEY_PAY_RESULT) + if (paymentResult != null) { + // 充值金额超过限定时,就必须先实名认证 + when (JavaUtil.str2int(paymentResult.code)) { + PayModel.NOT_REAL_NAME_BEFORE_CHARGING -> dialogManager.showTipsDialog( + getString(R.string.tips_need_to_certification), + getString(R.string.go_to_certification), + object : AbsOkDialogListener() { + override fun onOk() { + // 跳去实名认证页面 + CommonWebViewActivity.start( + this@FirstChargeDialog, + UriProvider.getTutuRealNamePage() + ) + } + }) + UnionPayModel.CODE_NEED_BIND_BANK_CARD_FIRST -> dialogManager.showTipsDialog( + getString(R.string.tips_need_bind_bank_card_first), + object : AbsOkDialogListener() { + override fun onOk() { + // 跳去添加银行卡页面 + AddBankCardAgreementActivity.start(this@FirstChargeDialog) + } + }) + else -> { + toast(paymentResult.msg) + //重新获取钱包信息 + PayModel.get().getWalletInfo(AuthModel.get().currentUid).subscribe() + } + } + } + } + } + if (requestCode == BIND_CODE_GOLD) { + ModifyPwdActivity.start(this, ModifyPwdActivity.FOGERT_PAY_PWD) + } + } + @Subscribe(threadMode = ThreadMode.MAIN) fun onFirstRechargeEvent(event: FirstChargeEvent?) { finish() diff --git a/app/src/main/res/drawable-xhdpi/bg_first_charge_help.9.png b/app/src/main/res/drawable-xhdpi/bg_first_charge_help.9.png new file mode 100644 index 0000000000000000000000000000000000000000..83527d22e60e8b13b4d922765a4c0d037d811cf1 GIT binary patch literal 2296 zcmds(`#;l*AICq7N}NI*qJue<^sOVgTa1t)!&DCC9%-`N&2>VA#@xQxXmZOXBn@*t zElq`7HdM@LHH1m3VVfQ2+xPqZAI|yV^?tk`kJtOh=llJ7r#r%}_lqlv0|2n!24;x> z0Fe4lUm~_=r%uREm;r!TuZ^Yo1+>S?H0H*1gi`;SEgcHGLmTQ%u~*tk({4_I8mC<4 zvyw20x5`M0vU1yN{btW#;@&M85A9T)d~MrOEN#MZS&3C0;Y+05>aJ&7T_>EV34WLR zy;d0C8c*B^n&fRnGfXGlp)1XeotK&a8jkuR_O^|?=^ zU!E$sC(nbQTs?n}XYE48hWjyi>30J^DMV(z@7IWsU+05XHB!Uo9p)Z$qSktfc592K7ZXQwva$z? zcC8mG35uKIc!k1DHCf&wOLztkn-6u%gE{DO4Y_a8y@MA`MAONSD;x&n9NpHP)~wHD zqu_C$tC||_$q^Bpt#P)+R2o%-vZXX-8tj=xOeQ1Kz}hbUF*{zPH(D*JjWijaHvAXgt!+Y;S++RldVI?UMO#M(+|Q?H+``ytKDv%Jdf# zd8h{4I>4gBO`6O4Rfh*Ya&Fqk^Qphkvf{P|Dqbu4lFG}8#`x_Q87gPSdzY*Ay6sSL z!BPA)5wE$?K=-ET?(gFO$!qCW_?p644gP*)pNXb+i$t#0Om+u_jQO=R%)aS+_09UA z7=!KIptz33ng~CJ4liB}fwU5%;Ut}drVA9_fqr5KG3X>@<#kpGsQ)ZE=xMXu`eo4 z&WE0U)uF#qCg|&Dwas+q&~$*X>eQMeo5wa=^9>PrBN#)W%|>D>i>Tb>LCSL01q$s? zIyuwj^p0}if2bEFeP5zfYNY$-IJkibo?H6QB_i?O~Ux&3xaKAQ>= zNgSwZO)(%l-;C4!I7ZyDJ7;6O)&uvptige@E8@f+s|P6gBzkeAoj`h8QkA3c!5>#$4nhwB#~Vgel0>~`q}2g`slSo>%wGwU!Jr~Z z(S3;u|5FGK?R@x;E>##X2>yqvNE24^?$HP8-l%@bJ%2H97I!W)IiF7TGiX@E$^&Lq z(~jNM2BMm-zf_tAJtVKc+(v_d3mJHsB)Wk@r6sky5=#msLjQ}#4}uu~LG8v{qeDM{ zp-3YHS8*|qQMdI`COFg1fVTpg9LS7ZtB1^bM=Ooc%QHs?a};|+%%H!!a=&h)Re^kh zn@m>L9(vhJ@O3`*oFMqwKrG@fp4+NjVx3iCSXGOi-N_4`Mnbax`?QZwEYg2P4uz{f8;SIwF->SX7XR1U_rKX;$A%jGu2&INSI z0PRM(aTWho#uH3w1P+D^3;_G&M zw~r^=~)jN0QrtK0Kzq8dEA>>+PVbxlK*?14Y57Apkh4zv=t^6I`)O}xVagg50d!(x+C6$bYV=xAt7 zrx^my3!zf+BA2mZOr2a+4E~aQlwWGGJ5JX`4VBIev2$rJCOqjWJX4>^O4xY8%wEvn z)j=G4|8e@m{texc|DW%&;2^iMOHXQ)LL6)dmy<6Pea3RIGwJ0TdlGk%ynROv9$ka% zgbQWC$I$(L{pG?Gp61H8v6(kN^@0;`TQ@~?v$=I3EgR2zCH)EXohOX| literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_first_charge_help.png b/app/src/main/res/drawable-xhdpi/ic_first_charge_help.png new file mode 100644 index 0000000000000000000000000000000000000000..0a674733924558253f55a3dc5cb0fba091eda1b2 GIT binary patch literal 1854 zcmV-E2f_G>P)Px*_(?=TR9HvVnSX55^%=)s&-L27Yq>jyrl2j^GMz(fP|OnW2jDiePP~#?1_rk* zpwr-HGRGE00%K!S$c8Rs8U7m1KiC|TIoc9I*&4U!`j`eb;AK}QDLsaHNaKCWMD#0>{;M6 za9p4(tL*b9=xm-M1C^?kav4=s+F~>dEJcU_fih(zP}&t)oQP z0j|p_$!3)!X?SZ`IWhnr^kp~|OEGBnLp9XaS8PfNv{Xu%%Dl>Ff*3!^WLu(CuTVRUCE4-1(u>9*2 z}g`b+IbX8G`}+Ls_1BH^J7k!=y?HFSb9SnwlE|-0S!717H#mQ{lk{L3z0t z->86%ueQfnhp@^BNGm&!5AtaDFdvNtXg+UaHJ`bvmJMEEzO|?PJQ8B{Xue$#aPDGl z65+c*CZVkDjIw1sf#%Da6Jn{~!&<-#JR1qJyb$PufZJmFB=8t86wk1Hf1KAZCRkhc z%pmi^RXmf6JnLIRvNB)q1%P+N^&V0FXe=AgaDOFWADzsNPDL9|v)}E3ZwzvKu!V+uba@7RyzJ35C{2uOiLqC+|g&+0s<5IL=3G=L1xXXmR zmZ02j)1L#JOA6Z+J~}bT+z(QmDJ9hGKheO7;7Dl7U2@_nWmif$X+HRbrhKc%vpn^9 z4;zcgzr2o#P1WoZxI~541wr|Xp|=2AAuP@zlfe>MR&~bsy&JH`4H|2B#imUvf9~jK z&6|V7oc#A*%G59U+2R$e-munz1hck&IC7}b*6a}93V2u#9Ek+E-b4)xa7R>|v%)Tg zo_FHhG>{?f2JkN%`IS%jhM`R>U5|8+WWqx0p?aFG_I(mf!lfdg`k1-W22= zfd*B+wjeCKEWmA1eHmf#5Uk(#F`L|gH8h*1ev+0?4|Ctodf8QscVi=4Z1*sKdR zzm%>y6M5KgLag$qmayC-rbJBE@*z<3-y}2to#20^gqZz&i#>djhEjY^e@`p>AL(Xc zDV{F|xcsv|4gx9PAeV~m4q4^BJ<(ixEF}eS`fn+Bu*E&y$SYnMiP3HW8`^ncc6x;C zJ<1)@9@8fjR;HBSycxx0I9JPDq$VGW3~?sI$<@7VE5>N(X9YN5)3}KgHtnrpR@MmL z6L?bEV%i2o2C_Wxc8r~_&{jZ{AO5;iEOe7ZjH;VM%&+rU6=S;r{4ZeI=@ef*Jjk&M zu#{w3H-$wLt9jZcEXN%T&vms-n_R=+fMW)*xp0?s4RGyvmySkRK3IkL!34LJios4R zm=g4wI{pcqF@TdMLhL=u=aOlLOPZ?;f&!N9`o|E<$^mQC`Mgxmoxp!gq_}8+3xVCy zPiuY_baVcEz~k-`CL+uX@PWUR7;tA#=Qf*-Chvmc#}HOp zUb?aNSZN&P<+hfvEVk-l+bzm1;70>=54!c-U}3i)2}O z7PbUsyOA+2ZN3wXGijLbZd;-J1ARHnGu1*wls%EKoa+?}J*1fKIhasZSMr|b?2t_- zQc1BhJIu0xu+BWBsB*)Cu)J>{=%PGT8Q}(axmB6rE99@Ql(Y_>-Ri7XorCHTX5j0|Q3SQ7BC!X6oj z@=zo!TZ@Ijk~5B6CcM%En^l-MVg!1J;KfrZUM+VhV`_tXA9wp + + @@ -45,7 +54,7 @@ android:button="@null" android:gravity="center_horizontal|bottom" android:includeFontPadding="false" - android:paddingBottom="5dp" + android:paddingBottom="3dp" android:textColor="@color/color_selector_c06100_false_white" android:textSize="18sp" tools:text="6元" /> @@ -61,7 +70,7 @@ android:button="@null" android:gravity="center_horizontal|bottom" android:includeFontPadding="false" - android:paddingBottom="5dp" + android:paddingBottom="3dp" android:textColor="@color/color_selector_c06100_false_white" android:textSize="18sp" tools:text="188元" /> diff --git a/app/src/main/res/layout/layout_first_charge_help_view.xml b/app/src/main/res/layout/layout_first_charge_help_view.xml new file mode 100644 index 000000000..0431ff383 --- /dev/null +++ b/app/src/main/res/layout/layout_first_charge_help_view.xml @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 547ebcda0..c24c9097c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -906,4 +906,5 @@ 1.每轮相亲在“嘉宾交流”阶段累积送礼满999钻石且送礼价值最高的用户自动登上VIP席位;\n\n 2.若出现多个满足上VIP席位要求的用户,VIP席位最终由送礼价值最高的用户获得,若送礼价值相同以最先达到该值的用户为准;\n\n 3.VIP席位的用户可选择是否下麦,其他用户不可因此代替坐上席位; \n\n 4.用户只能在“嘉宾交流”阶段抢夺VIP席位,“嘉宾交流”阶段后直到结束本轮前,即使送出超过之前VIP总礼物价值也不能换人;\n\n 5.每轮相亲结束后VIP席位清空,下一轮重新开始抢位。 1)按收到的礼物价值积分(1钻石=1分),礼物值高的一方获胜。\n 2)PK结束后,若比分差距≥1314或双方分数总值≥15000(平局除外)将在与获胜方相同类型的房间公示PK结果;若比分差距≥5200或双方分数总值≥30000(平局除外)将在全服所有房间公示PK结果。 1)只有牌照房房主和超管才可以发起跨房pk,一次只能选择一个牌照房发起;\n 2)只有房主和超管才可以接受或拒绝跨房pk请求,若10秒内不点击pk邀请弹窗,弹窗消失,视为自动拒绝;\n 3)发起pk时需选择pk时间和pk对象,自定义时间下限为5,上限为180,只能填写整数;\n 4)pk发起后,未到pk时间无法自行结束,若有特殊情况需提前结束可联系客服,但本场pk不算胜负。 + 1.每人仅可获得1次首充福利\n2.每个手机号,设备,实名认证等如已参与过首充,则无法获得奖励。