| | |
| | | package com.sinata.xqmuse.ui.mine |
| | | |
| | | import android.os.Bundle |
| | | import androidx.recyclerview.widget.LinearLayoutManager |
| | | import cn.sinata.xldutils.activity.BaseActivity |
| | | import cn.sinata.xldutils.utils.SpanBuilder |
| | | import cn.sinata.xldutils.utils.myToast |
| | | import com.github.zackratos.ultimatebar.UltimateBar |
| | | import com.sinata.xqmuse.R |
| | | import com.sinata.xqmuse.dialog.ChooseMonthDialog |
| | | import com.sinata.xqmuse.dialog.TipDialog |
| | | import com.sinata.xqmuse.dialog.WithdrawDialog |
| | | import com.sinata.xqmuse.network.Apis |
| | | import com.sinata.xqmuse.network.HttpManager |
| | | import com.sinata.xqmuse.network.entity.Detail |
| | | import com.sinata.xqmuse.network.request |
| | | import com.sinata.xqmuse.ui.mine.adapter.WalletAdapter |
| | | import com.sinata.xqmuse.ui.H5Activity |
| | | import com.sinata.xqmuse.utils.Const |
| | | import com.sinata.xqmuse.utils.event.EmptyEvent |
| | | import com.sinata.xqmuse.utils.extention.clickDelay |
| | |
| | | import org.greenrobot.eventbus.EventBus |
| | | import org.greenrobot.eventbus.Subscribe |
| | | import org.jetbrains.anko.startActivity |
| | | import org.jetbrains.anko.textColorResource |
| | | import org.jetbrains.anko.toast |
| | | |
| | | class WalletActivity : BaseActivity() { |
| | | private var page = 1 |
| | | private var year:Int? = null |
| | | private var month:Int? = null |
| | | |
| | | private var balance = 0.0 |
| | | |
| | | private val list = arrayListOf<Detail>() |
| | | private val adapter = WalletAdapter(list) |
| | | private val userId by lazy { intent.getStringExtra("userId") } |
| | | |
| | | override fun onCreate(savedInstanceState: Bundle?) { |
| | | super.onCreate(savedInstanceState) |
| | |
| | | } |
| | | |
| | | private fun initClick() { |
| | | tv_withdraw_record.setOnClickListener { |
| | | startActivity<WithdrawRecordActivity>() |
| | | } |
| | | tv_month.clickDelay { |
| | | val chooseMonthDialog = ChooseMonthDialog() |
| | | chooseMonthDialog.setCallback(object :StringCallback{ |
| | | override fun onResult(rst: String) { |
| | | tv_month.text = rst |
| | | year = rst.substring(0,4).toInt() |
| | | month = rst.substring(5,rst.length-1).toInt() |
| | | page = 1 |
| | | getData() |
| | | } |
| | | }) |
| | | chooseMonthDialog.show(supportFragmentManager,"month") |
| | | } |
| | | |
| | | tv_reset.clickDelay { |
| | | tv_month.text = "请选择" |
| | | year = null |
| | | month = null |
| | | page = 1 |
| | | getData() |
| | | } |
| | | iv_back.setOnClickListener { finish() } |
| | | |
| | | tv_action.setOnClickListener { |
| | | toast("暂未开放") |
| | | return@setOnClickListener |
| | | startActivity<RechargeActivity>() |
| | | } |
| | | |
| | | tv_withdraw.clickDelay { |
| | | showDialog() |
| | | HttpManager.getBankInfo().request(this,false,{_,data-> |
| | | dismissDialog() |
| | | if (data?.bankCard.isNullOrEmpty()) |
| | | TipDialog.show(supportFragmentManager,"提现失败,请先绑定银行卡。",object : TipDialog.OnClickCallback{ |
| | | override fun onOk() { |
| | | startActivity<BindCardActivity>() |
| | | } |
| | | startActivity<WithdrawActivity>("balance" to balance) |
| | | } |
| | | |
| | | override fun onCancel() { |
| | | |
| | | } |
| | | },"去绑定") |
| | | else |
| | | withdraw() |
| | | }){_,_-> |
| | | dismissDialog() |
| | | withdraw() |
| | | } |
| | | tv_detail.setOnClickListener { |
| | | startActivity<BalanceDetailActivity>("balance" to balance) |
| | | } |
| | | tv_share.setOnClickListener { |
| | | startActivity<ShareActivity>("userId" to userId) |
| | | } |
| | | tv_push_list.setOnClickListener { |
| | | startActivity<H5Activity>("title" to "我的推荐","url" to Apis.PUSH_LIST.format(userId),"type" to 0) |
| | | } |
| | | } |
| | | |
| | | private fun withdraw(){ |
| | | WithdrawDialog.show(supportFragmentManager,balance,object :StringCallback{ |
| | | override fun onResult(rst: String) { |
| | | HttpManager.withdrawal(rst.toDouble()).request(this@WalletActivity,false, {_,_-> |
| | | startActivity<WithdrawRecordActivity>() |
| | | myToast("提交成功") |
| | | page = 1 |
| | | getData() |
| | | }){_,msg-> |
| | | if (msg.contains("绑定")){ |
| | | TipDialog.show(supportFragmentManager,"提现失败,请先绑定银行卡。",object : TipDialog.OnClickCallback{ |
| | | override fun onOk() { |
| | | startActivity<BindCardActivity>() |
| | | } |
| | | |
| | | override fun onCancel() { |
| | | |
| | | } |
| | | },"去绑定") |
| | | }else |
| | | myToast(msg) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | |
| | | private fun initView() { |
| | | EventBus.getDefault().register(this) |
| | | titleBar.titleView.text = "个人钱包" |
| | | titleBar.leftClick { finish() } |
| | | titleBar.titleView.textColorResource = R.color.white |
| | | titleBar.leftView.setCompoundDrawablesWithIntrinsicBounds(R.mipmap.back_white,0,0,0) |
| | | UltimateBar.with(this) |
| | | .statusDark(false) |
| | | .create().immersionBar() //沉浸状态栏 |
| | | |
| | | rv_list.layoutManager = LinearLayoutManager(this) |
| | | rv_list.adapter = adapter |
| | | |
| | | refreshLayout.setOnLoadMoreListener { |
| | | page++ |
| | | getData() |
| | | } |
| | | |
| | | refreshLayout.setOnRefreshListener { |
| | | page = 1 |
| | | getData() |
| | | } |
| | | page = 1 |
| | | getData() |
| | | |
| | | } |
| | |
| | | @Subscribe |
| | | fun onRefresh(e:EmptyEvent){ |
| | | if (e.code == Const.EventCode.REFRESH_WALLET){ |
| | | page = 1 |
| | | getData() |
| | | } |
| | | } |
| | | |
| | | private fun getData(){ |
| | | HttpManager.wallet(page,year, month).request(this,success = {_,data-> |
| | | HttpManager.wallet().request(this,success = {_,data-> |
| | | balance = data?.balance?:0.0 |
| | | tv_balance.text = SpanBuilder("¥%.2f".format(balance)).size(0,1,20).build() |
| | | if (page == 1) |
| | | list.clear() |
| | | list.addAll(data?.details?: arrayListOf()) |
| | | adapter.notifyDataSetChanged() |
| | | if (list.isEmpty()) |
| | | refreshLayout.finishRefreshWithNoMoreData() |
| | | else if (data?.details.isNullOrEmpty()) |
| | | refreshLayout.finishLoadMoreWithNoMoreData() |
| | | else if (page == 1) |
| | | refreshLayout.finishRefresh() |
| | | else |
| | | refreshLayout.finishLoadMore() |
| | | }){_,_-> |
| | | if (page == 1) |
| | | refreshLayout.finishRefresh(false) |
| | | else |
| | | refreshLayout.finishLoadMore(false) |
| | | } |
| | | tv_balance.text = "%.2f".format(balance) |
| | | tv_recharge_money.text = "%.2f".format(data?.recharge?:0.0) |
| | | tv_income.text = "%.2f".format(data?.income?:0.0) |
| | | }) |
| | | } |
| | | |
| | | override fun onDestroy() { |