From 424e4c870d156aba8b3da59ca35c24771fa270b1 Mon Sep 17 00:00:00 2001 From: wushaocheng <15876365887@163.com> Date: Tue, 14 Feb 2023 19:43:09 +0800 Subject: [PATCH] =?UTF-8?q?[Modify]=E5=AE=8C=E6=88=90=E5=85=91=E6=8D=A2?= =?UTF-8?q?=E6=9D=83=E9=99=90=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erban/association/AssociationViewModel.kt | 37 ------ .../home/activity/AssociationActivity.kt | 4 +- .../res/drawable-xhdpi/ic_close_exchange.webp | Bin 0 -> 718 bytes .../drawable-xhdpi/ic_close_exchange_tip.webp | Bin 0 -> 936 bytes .../res/drawable/bg_common_confirm_15.xml | 13 ++ .../res/drawable/bg_common_confirm_30.xml | 13 ++ .../drawable/bg_common_confirm_gray_15.xml | 8 ++ .../drawable/bg_common_confirm_gray_30.xml | 8 ++ .../layout/layout_close_exchange_dialog.xml | 121 ++++++++++++++++++ app/src/main/res/values/strings.xml | 3 + .../activity/ExchangePermissionActivity.kt | 71 ++++++++++ .../hall}/adapter/AssociationAdapter.java | 4 +- .../hall}/adapter/AssociationRoomAdapter.java | 5 +- .../hall/adapter/EnableExchangeAdapter.kt | 48 +++++-- .../hall/adapter/NoExchangeAdapter.kt | 33 ++--- .../hall}/fragment/AssociationFragment.kt | 11 +- .../hall}/fragment/AssociationRoomFragment.kt | 14 +- .../view/dialog/CloseExchangeTipDialog.java | 85 ++++++++++++ .../module_hall/income/GoldRecordFragment.kt | 9 -- .../viewmodel/AssociationViewModel.kt | 63 +++++++++ .../layout/activity_exchange_permission.xml | 11 +- .../res/layout/item_hall_exchange.xml | 10 +- .../association/bean}/ClanListInfo.java | 2 +- .../association/bean}/HallListInfo.java | 2 +- .../association/bean/MemberExchangeInfo.kt | 20 +++ .../association/bean/UserLevelInfo.kt | 17 +++ .../association/model/AssociationModel.kt | 68 ++++++++++ .../association/AssociationModel.kt | 40 ------ 28 files changed, 577 insertions(+), 143 deletions(-) delete mode 100644 app/src/main/java/com/yizhuan/erban/association/AssociationViewModel.kt create mode 100644 app/src/main/res/drawable-xhdpi/ic_close_exchange.webp create mode 100644 app/src/main/res/drawable-xhdpi/ic_close_exchange_tip.webp create mode 100644 app/src/main/res/drawable/bg_common_confirm_15.xml create mode 100644 app/src/main/res/drawable/bg_common_confirm_30.xml create mode 100644 app/src/main/res/drawable/bg_common_confirm_gray_15.xml create mode 100644 app/src/main/res/drawable/bg_common_confirm_gray_30.xml create mode 100644 app/src/main/res/layout/layout_close_exchange_dialog.xml rename app/src/{main/java/com/yizhuan/erban/association => module_labour_union/java/com/yizhuan/erban/module_hall/hall}/adapter/AssociationAdapter.java (95%) rename app/src/{main/java/com/yizhuan/erban/association => module_labour_union/java/com/yizhuan/erban/module_hall/hall}/adapter/AssociationRoomAdapter.java (93%) rename app/src/{main/java/com/yizhuan/erban/association => module_labour_union/java/com/yizhuan/erban/module_hall/hall}/fragment/AssociationFragment.kt (91%) rename app/src/{main/java/com/yizhuan/erban/association => module_labour_union/java/com/yizhuan/erban/module_hall/hall}/fragment/AssociationRoomFragment.kt (92%) create mode 100644 app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/view/dialog/CloseExchangeTipDialog.java create mode 100644 app/src/module_labour_union/java/com/yizhuan/erban/module_hall/viewmodel/AssociationViewModel.kt rename core/src/{main/java/com/yizhuan/xchat_android_core/association => diff_src_erban/java/com/yizhuan/xchat_android_core/association/bean}/ClanListInfo.java (84%) rename core/src/{main/java/com/yizhuan/xchat_android_core/association => diff_src_erban/java/com/yizhuan/xchat_android_core/association/bean}/HallListInfo.java (87%) create mode 100644 core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/association/bean/MemberExchangeInfo.kt create mode 100644 core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/association/bean/UserLevelInfo.kt create mode 100644 core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/association/model/AssociationModel.kt delete mode 100644 core/src/main/java/com/yizhuan/xchat_android_core/association/AssociationModel.kt diff --git a/app/src/main/java/com/yizhuan/erban/association/AssociationViewModel.kt b/app/src/main/java/com/yizhuan/erban/association/AssociationViewModel.kt deleted file mode 100644 index 5018cfa2a..000000000 --- a/app/src/main/java/com/yizhuan/erban/association/AssociationViewModel.kt +++ /dev/null @@ -1,37 +0,0 @@ -package com.yizhuan.erban.association - -import androidx.lifecycle.MutableLiveData -import com.yizhuan.erban.base.BaseViewModel -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() { - - //公会列表 - private val _clanListLiveData = MutableLiveData?>() - val clanListLiveData: MutableLiveData?> = _clanListLiveData - - //牌照房列表 - private val _hallListLiveData = MutableLiveData?>() - val hallListLiveData: MutableLiveData?> = _hallListLiveData - - fun getClanList() { - safeLaunch( - block = { - _clanListLiveData.value = AssociationModel.getClanList() - } - ) - } - - fun getHallList() { - safeLaunch( - block = { - _hallListLiveData.value = AssociationModel.getHallList() - } - ) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/yizhuan/erban/home/activity/AssociationActivity.kt b/app/src/main/java/com/yizhuan/erban/home/activity/AssociationActivity.kt index 9edd31bbe..505e54ba4 100644 --- a/app/src/main/java/com/yizhuan/erban/home/activity/AssociationActivity.kt +++ b/app/src/main/java/com/yizhuan/erban/home/activity/AssociationActivity.kt @@ -8,8 +8,8 @@ import androidx.fragment.app.Fragment import androidx.viewpager.widget.ViewPager import com.netease.nim.uikit.StatusBarUtil import com.yizhuan.erban.R -import com.yizhuan.erban.association.fragment.AssociationFragment -import com.yizhuan.erban.association.fragment.AssociationRoomFragment +import com.yizhuan.erban.module_hall.hall.fragment.AssociationFragment +import com.yizhuan.erban.module_hall.hall.fragment.AssociationRoomFragment import com.yizhuan.erban.base.BaseViewBindingActivity import com.yizhuan.erban.common.CommonPagerAdapter import com.yizhuan.erban.databinding.ActivityAssociationBinding diff --git a/app/src/main/res/drawable-xhdpi/ic_close_exchange.webp b/app/src/main/res/drawable-xhdpi/ic_close_exchange.webp new file mode 100644 index 0000000000000000000000000000000000000000..46ac5272cc0b63323278e822d4d0988e24b5ccbe GIT binary patch literal 718 zcmWIYbaOk##J~{l>J$(bU=hK^z`$St#M)rw>FgYEf)U7NU_1dLS%6Zxc_l?b?oJ93 zkx>dDF&IcpE-rwvvCu$MzFlJgn{`fOr5g=P69m3WC zv6CQd8xXs^q@V<-CIG}P3JG!svQvO;jdUb-5)wPPpa`VC2dKs-H>VV27YKk{%#)fI z8Vsa4fLMm1m?4P4oxus=|NKP^3>IG*7?>v@#FAz*Fl=vSV34?l5K~#ez`)m$qafxmJu*g4H?XUG3;{#s8C<~0GEKj!;IW5w&(9ZQd#b(mV0^L=l4l! z-ay8!8UM4@Rx3>6wfZ&BKJv;04~8G|xAzITXRc2Vm%3Q*mZz+_s=Gb$p)k-6{NO;bpiIJMy|dq^iI~mUBfqrr@AOvQvj4e; z2Q`DZmhEogyv9AfTS!9H;MA6cIl%`l{@>wB3G=(^^;9ubeAS;XtL$E`%3u0QI_E*| Rf2}&n?~~SNnAX+v004OhoACeu literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_close_exchange_tip.webp b/app/src/main/res/drawable-xhdpi/ic_close_exchange_tip.webp new file mode 100644 index 0000000000000000000000000000000000000000..1d9ba8e6b4a5496afe1d1429c60012a95072c1cf GIT binary patch literal 936 zcmWIYbaPw4%)k)t>J$(bU=hK^z`$St#PVR|>FgYEf)U7NU_1dLS%6Zxc_l?b?oJ93 zkx>dDF&IcpE-rwvvCu$MzFlJgn{`fOr5g=P69m3WC zv6CQd8xXs^q@V<-CIG}P3JG!svQvO;jdUb-5)wPPpa`VC2dKs-H>VV27YKk{%#)fI z8Vsa4fLMm1m?4P4oxus=|NKP^3>IG*7?>v@#FAz*Fl=vSV34?l5K~#ez`)m$qafxmJu*g4H?XUG3>L6k%2*9{s6nc_k#;^l|3`dzsLQn;JaXWW4+0< z`+>@yeN%GpbtfFusn_a0a3|C#@Aiqpq8*m^_VS4=wJSDylA)`Fcbkd#trodQcQxD=oMJ0xU~!x#)Nny^-vfsgY^=Uq5&~KW zFF~-@MfdWs-TK5rpC#w?+sku|G0U^NAz4_(eu2t|1sA~Hk^6q zy|E&3`hJOpdtDcJSl0@-eTffp=t|<*yZ#gZ(?+KMenJtS_G&Pyp4;f~=B(u^hpELj z$-Wz>n=a6EkScDx$P~qtQYRvjyFk~0ue|Xh^Dm|+-vlL?6BHcmUP&+~muh(WG^|{; zLQy+mY1@j{YX_nl&PXvOGv|cH%-O+ZS#D)7cwOVNYrt+N@p=$1TvIjOm1clHHU-!2rsjsNMX$v>3@4g9|STE5 + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_common_confirm_30.xml b/app/src/main/res/drawable/bg_common_confirm_30.xml new file mode 100644 index 000000000..f61e22366 --- /dev/null +++ b/app/src/main/res/drawable/bg_common_confirm_30.xml @@ -0,0 +1,13 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_common_confirm_gray_15.xml b/app/src/main/res/drawable/bg_common_confirm_gray_15.xml new file mode 100644 index 000000000..05adbde19 --- /dev/null +++ b/app/src/main/res/drawable/bg_common_confirm_gray_15.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_common_confirm_gray_30.xml b/app/src/main/res/drawable/bg_common_confirm_gray_30.xml new file mode 100644 index 000000000..736026f2b --- /dev/null +++ b/app/src/main/res/drawable/bg_common_confirm_gray_30.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/layout_close_exchange_dialog.xml b/app/src/main/res/layout/layout_close_exchange_dialog.xml new file mode 100644 index 000000000..785ab5ef2 --- /dev/null +++ b/app/src/main/res/layout/layout_close_exchange_dialog.xml @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b23c62089..489b7c3a2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -5061,6 +5061,9 @@ 可兌換 暫無更多不可兌換金幣的成員~ 開啓兌換 + 關閉兌換 金幣餘額:%s + 確定關閉 + 的金幣兌換權限嗎? \ No newline at end of file diff --git a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/ExchangePermissionActivity.kt b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/ExchangePermissionActivity.kt index e622c6a87..1084965ec 100644 --- a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/ExchangePermissionActivity.kt +++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/ExchangePermissionActivity.kt @@ -2,11 +2,19 @@ package com.yizhuan.erban.module_hall.hall.activity import android.content.Context import android.content.Intent +import android.view.View +import androidx.activity.viewModels +import androidx.core.content.ContextCompat import com.netease.nim.uikit.StatusBarUtil import com.yizhuan.erban.R import com.yizhuan.erban.base.BaseViewBindingActivity +import com.yizhuan.erban.common.util.Utils import com.yizhuan.erban.databinding.ActivityExchangePermissionBinding +import com.yizhuan.erban.module_hall.hall.adapter.EnableExchangeAdapter import com.yizhuan.erban.module_hall.hall.adapter.NoExchangeAdapter +import com.yizhuan.erban.module_hall.hall.view.dialog.CloseExchangeTipDialog +import com.yizhuan.erban.module_hall.viewmodel.AssociationViewModel +import com.yizhuan.erban.ui.widget.recyclerview.decoration.ColorDecoration import com.yizhuan.xchat_android_library.utils.ResUtil /** @@ -17,6 +25,10 @@ class ExchangePermissionActivity : BaseViewBindingActivity + associationViewModel.operateMemberExchange( + 0, + mEnableExchangeAdapter.data[position].uid + ) + } + + mEnableExchangeAdapter.setOnItemChildClickListener { _, _, position -> + CloseExchangeTipDialog(context).apply { + setName(mEnableExchangeAdapter.data[position].nick) + setOnActionListener(object : CloseExchangeTipDialog.OnActionListener { + override fun onOk() { + associationViewModel.operateMemberExchange( + 0, + mEnableExchangeAdapter.data[position].uid + ) + } + }) + }.show() + } + + associationViewModel.loadingLiveData.observe(this) { loading -> + if (loading) dialogManager.showProgressDialog(this) + else dialogManager.dismissDialog() + } + + associationViewModel.operateMemberExchangeLiveData.observe(this) { + associationViewModel.getMemberExchangeList() + } + + associationViewModel.memberExchangeLiveData.observe(this) { list -> + list?.let { memberExchangeInfo -> + val noList = memberExchangeInfo.filter { it.exchangeAuthStatus == 0 } + .sortedByDescending { it.golds } + val enableList = memberExchangeInfo.filter { it.exchangeAuthStatus == 1 } + .sortedByDescending { it.golds } + mNoExchangeAdapter.setNewData(noList) + mEnableExchangeAdapter.setNewData(enableList) + binding.group.visibility = View.VISIBLE + } + } + + associationViewModel.getMemberExchangeList() } override fun needSteepStateBar(): Boolean { diff --git a/app/src/main/java/com/yizhuan/erban/association/adapter/AssociationAdapter.java b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/AssociationAdapter.java similarity index 95% rename from app/src/main/java/com/yizhuan/erban/association/adapter/AssociationAdapter.java rename to app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/AssociationAdapter.java index 27e765558..433dc6eb1 100644 --- a/app/src/main/java/com/yizhuan/erban/association/adapter/AssociationAdapter.java +++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/AssociationAdapter.java @@ -1,4 +1,4 @@ -package com.yizhuan.erban.association.adapter; +package com.yizhuan.erban.module_hall.hall.adapter; import android.view.View; import android.widget.ImageView; @@ -8,7 +8,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseViewHolder; import com.yizhuan.erban.R; import com.yizhuan.erban.ui.utils.ImageLoadUtilsV2; -import com.yizhuan.xchat_android_core.association.ClanListInfo; +import com.yizhuan.xchat_android_core.association.bean.ClanListInfo; /** * Created by yudi diff --git a/app/src/main/java/com/yizhuan/erban/association/adapter/AssociationRoomAdapter.java b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/AssociationRoomAdapter.java similarity index 93% rename from app/src/main/java/com/yizhuan/erban/association/adapter/AssociationRoomAdapter.java rename to app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/AssociationRoomAdapter.java index 62893d68d..3a1a6bc11 100644 --- a/app/src/main/java/com/yizhuan/erban/association/adapter/AssociationRoomAdapter.java +++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/AssociationRoomAdapter.java @@ -1,13 +1,12 @@ -package com.yizhuan.erban.association.adapter; +package com.yizhuan.erban.module_hall.hall.adapter; import android.view.View; -import android.widget.TextView; import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseViewHolder; import com.yizhuan.erban.R; import com.yizhuan.erban.ui.utils.ImageLoadUtilsV2; -import com.yizhuan.xchat_android_core.association.HallListInfo; +import com.yizhuan.xchat_android_core.association.bean.HallListInfo; /** * Created by yudi diff --git a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/EnableExchangeAdapter.kt b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/EnableExchangeAdapter.kt index 9e9027a92..0dcfd47d6 100644 --- a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/EnableExchangeAdapter.kt +++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/EnableExchangeAdapter.kt @@ -1,30 +1,50 @@ package com.yizhuan.erban.module_hall.hall.adapter +import androidx.appcompat.widget.AppCompatTextView +import androidx.core.content.ContextCompat import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.BaseViewHolder import com.yizhuan.erban.R import com.yizhuan.erban.ui.utils.ImageLoadUtils -import com.yizhuan.xchat_android_core.module_hall.hall.bean.SuperAdminInfo -import com.yizhuan.xchat_android_library.utils.ResUtil +import com.yizhuan.xchat_android_core.association.bean.MemberExchangeInfo /** * 可兑换 * Created by wushaocheng on 2023/2/13. */ class EnableExchangeAdapter : - BaseQuickAdapter(R.layout.item_hall_exchange) { + BaseQuickAdapter(R.layout.item_hall_exchange) { - override fun convert(helper: BaseViewHolder, item: String) { + override fun convert(helper: BaseViewHolder, item: MemberExchangeInfo) { -// ImageLoadUtils.loadAvatar(item.avatar, helper.getView(R.id.iv_avatar)) -// helper.setText(R.id.tv_nickname, item.nick) -// .setText(R.id.tv_id, item.erbanNo) -// .setText(R.id.tv_set, if (item.hasSet) ResUtil.getString(R.string.hall_adapter_searchadminadapter_01) else ResUtil.getString(R.string.hall_adapter_searchadminadapter_02)) -// .setEnabled(R.id.tv_set, !item.hasSet) -// .setImageResource( -// R.id.iv_gender, -// if (item.gender == 1) R.drawable.ic_gender_male else R.drawable.ic_gender_female -// ) -// .addOnClickListener(R.id.tv_set) + ImageLoadUtils.loadAvatar(item.avatar, helper.getView(R.id.iv_avatar)) + ImageLoadUtils.loadImage( + mContext, + item.userLevelVo?.experUrl, + helper.getView(R.id.iv_user_level) + ) + ImageLoadUtils.loadImage( + mContext, + item.userLevelVo?.charmUrl, + helper.getView(R.id.iv_user_charm) + ) + helper.getView(R.id.tv_confirm).background = ContextCompat.getDrawable( + mContext, + R.drawable.bg_common_confirm_gray_15 + ) + helper.setText(R.id.tv_confirm, mContext.getString(R.string.close_exchange)) + .setTextColor(R.id.tv_confirm, ContextCompat.getColor(mContext, R.color.color_B3B3C3)) + .setText(R.id.tv_nickname, item.nick) + .setImageResource( + R.id.iv_gender, + if (item.gender == 1) R.drawable.ic_gender_male else R.drawable.ic_gender_female + ) + .setText(R.id.tv_id, mContext.getString(R.string.text_user_id, item.erbanNo.toString())) + .setText(R.id.tv_room_name, item.hallName) + .setText( + R.id.tv_gold_balance, + mContext.getString(R.string.gold_coin_balance, item.golds.toString()) + ) + .addOnClickListener(R.id.tv_confirm) } } \ No newline at end of file diff --git a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/NoExchangeAdapter.kt b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/NoExchangeAdapter.kt index 816ad1ab5..773e1e3ba 100644 --- a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/NoExchangeAdapter.kt +++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/NoExchangeAdapter.kt @@ -4,27 +4,30 @@ import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.BaseViewHolder import com.yizhuan.erban.R import com.yizhuan.erban.ui.utils.ImageLoadUtils -import com.yizhuan.xchat_android_core.module_hall.hall.bean.SuperAdminInfo -import com.yizhuan.xchat_android_library.utils.ResUtil +import com.yizhuan.xchat_android_core.association.bean.MemberExchangeInfo /** * 不可兑换 * Created by wushaocheng on 2023/2/13. */ class NoExchangeAdapter : - BaseQuickAdapter(R.layout.item_hall_exchange) { + BaseQuickAdapter(R.layout.item_hall_exchange) { - override fun convert(helper: BaseViewHolder, item: String) { - -// ImageLoadUtils.loadAvatar(item.avatar, helper.getView(R.id.iv_avatar)) -// helper.setText(R.id.tv_nickname, item.nick) -// .setText(R.id.tv_id, item.erbanNo) -// .setText(R.id.tv_set, if (item.hasSet) ResUtil.getString(R.string.hall_adapter_searchadminadapter_01) else ResUtil.getString(R.string.hall_adapter_searchadminadapter_02)) -// .setEnabled(R.id.tv_set, !item.hasSet) -// .setImageResource( -// R.id.iv_gender, -// if (item.gender == 1) R.drawable.ic_gender_male else R.drawable.ic_gender_female -// ) -// .addOnClickListener(R.id.tv_set) + override fun convert(helper: BaseViewHolder, item: MemberExchangeInfo) { + ImageLoadUtils.loadAvatar(item.avatar, helper.getView(R.id.iv_avatar)) + ImageLoadUtils.loadImage(mContext, item.userLevelVo?.experUrl, helper.getView(R.id.iv_user_level)) + ImageLoadUtils.loadImage(mContext, item.userLevelVo?.charmUrl, helper.getView(R.id.iv_user_charm)) + helper.setText(R.id.tv_nickname, item.nick) + .setImageResource( + R.id.iv_gender, + if (item.gender == 1) R.drawable.ic_gender_male else R.drawable.ic_gender_female + ) + .setText(R.id.tv_id, mContext.getString(R.string.text_user_id, item.erbanNo.toString())) + .setText(R.id.tv_room_name, item.hallName) + .setText( + R.id.tv_gold_balance, + mContext.getString(R.string.gold_coin_balance, item.golds.toString()) + ) + .addOnClickListener(R.id.tv_confirm) } } \ No newline at end of file diff --git a/app/src/main/java/com/yizhuan/erban/association/fragment/AssociationFragment.kt b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/fragment/AssociationFragment.kt similarity index 91% rename from app/src/main/java/com/yizhuan/erban/association/fragment/AssociationFragment.kt rename to app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/fragment/AssociationFragment.kt index a49051238..b9d3a2e56 100644 --- a/app/src/main/java/com/yizhuan/erban/association/fragment/AssociationFragment.kt +++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/fragment/AssociationFragment.kt @@ -1,4 +1,4 @@ -package com.yizhuan.erban.association.fragment +package com.yizhuan.erban.module_hall.hall.fragment import android.os.Bundle import android.view.View @@ -6,14 +6,14 @@ import androidx.fragment.app.viewModels import androidx.recyclerview.widget.LinearLayoutManager import com.chad.library.adapter.base.BaseQuickAdapter import com.yizhuan.erban.R -import com.yizhuan.erban.association.AssociationViewModel -import com.yizhuan.erban.association.adapter.AssociationAdapter +import com.yizhuan.erban.module_hall.viewmodel.AssociationViewModel +import com.yizhuan.erban.module_hall.hall.adapter.AssociationAdapter import com.yizhuan.erban.base.BaseViewBindingFragment import com.yizhuan.erban.common.EmptyViewHelper import com.yizhuan.erban.databinding.FragmentAssociationBinding import com.yizhuan.erban.module_hall.hall.activity.ModuleClanActivity import com.yizhuan.erban.ui.utils.RVDelegate -import com.yizhuan.xchat_android_core.association.ClanListInfo +import com.yizhuan.xchat_android_core.association.bean.ClanListInfo import com.yizhuan.xchat_android_core.module_hall.hall.HallModel import com.yizhuan.xchat_android_core.utils.net.BeanObserver import com.yizhuan.xchat_android_core.utils.net.RxHelper @@ -39,7 +39,8 @@ class AssociationFragment : BaseViewBindingFragment( private val associationViewModel: AssociationViewModel by viewModels() override fun init() { - associationAdapter = AssociationAdapter() + associationAdapter = + AssociationAdapter() associationAdapter.onItemClickListener = BaseQuickAdapter.OnItemClickListener { _: BaseQuickAdapter<*, *>?, _: View?, position: Int -> val info = associationAdapter.getItem(position) diff --git a/app/src/main/java/com/yizhuan/erban/association/fragment/AssociationRoomFragment.kt b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/fragment/AssociationRoomFragment.kt similarity index 92% rename from app/src/main/java/com/yizhuan/erban/association/fragment/AssociationRoomFragment.kt rename to app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/fragment/AssociationRoomFragment.kt index 0c03f6ebd..14de4d7b1 100644 --- a/app/src/main/java/com/yizhuan/erban/association/fragment/AssociationRoomFragment.kt +++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/fragment/AssociationRoomFragment.kt @@ -1,4 +1,4 @@ -package com.yizhuan.erban.association.fragment +package com.yizhuan.erban.module_hall.hall.fragment import android.content.Context import android.os.Bundle @@ -14,17 +14,14 @@ import androidx.fragment.app.viewModels import androidx.recyclerview.widget.LinearLayoutManager import com.chad.library.adapter.base.BaseQuickAdapter import com.yizhuan.erban.R -import com.yizhuan.erban.association.AssociationViewModel -import com.yizhuan.erban.association.adapter.AssociationRoomAdapter +import com.yizhuan.erban.module_hall.viewmodel.AssociationViewModel +import com.yizhuan.erban.module_hall.hall.adapter.AssociationRoomAdapter import com.yizhuan.erban.base.BaseViewBindingFragment import com.yizhuan.erban.common.EmptyViewHelper import com.yizhuan.erban.databinding.FragmentAssociationRoomBinding import com.yizhuan.erban.module_hall.hall.activity.ModuleHallActivity import com.yizhuan.erban.ui.utils.RVDelegate -import com.yizhuan.xchat_android_core.association.HallListInfo -import com.yizhuan.xchat_android_core.module_hall.hall.HallModel -import com.yizhuan.xchat_android_core.utils.net.BeanObserver -import com.yizhuan.xchat_android_core.utils.net.RxHelper +import com.yizhuan.xchat_android_core.association.bean.HallListInfo import com.yizhuan.xchat_android_library.utils.ResUtil @@ -95,7 +92,8 @@ class AssociationRoomFragment : BaseViewBindingFragment?, _: View?, position: Int -> val info = associationRoomAdapter.getItem(position) diff --git a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/view/dialog/CloseExchangeTipDialog.java b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/view/dialog/CloseExchangeTipDialog.java new file mode 100644 index 000000000..7446b1467 --- /dev/null +++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/view/dialog/CloseExchangeTipDialog.java @@ -0,0 +1,85 @@ +package com.yizhuan.erban.module_hall.hall.view.dialog; + +import android.content.Context; +import android.os.Bundle; +import android.widget.ImageView; +import android.widget.TextView; + +import com.yizhuan.erban.R; +import com.yizhuan.erban.ui.widget.dialog.BaseDialog; + +/** + * @author wushaocheng + * @Description 关闭兑换弹窗 + * @Date 2013/2/14 + */ +public class CloseExchangeTipDialog extends BaseDialog { + + private String name = ""; + + public CloseExchangeTipDialog(Context context) { + super(context, R.style.dialog); + init(); + } + + private void init() { + this.setCancelable(true); + this.setCanceledOnTouchOutside(true); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.layout_close_exchange_dialog); + + TextView name = findViewById(R.id.tv_name); + if (name != null) { + name.setText(this.name); + } + + ImageView close = findViewById(R.id.iv_close); + if (close != null) { + close.setOnClickListener(view -> { + this.dismiss(); + }); + } + + TextView ok = findViewById(R.id.btn_ok); + if (ok != null) { + ok.setOnClickListener(v -> { + this.dismiss(); + if (l != null) { + l.onOk(); + } + }); + } + TextView cancel = findViewById(R.id.btn_cancel); + if (cancel != null) { + cancel.setOnClickListener(v -> { + this.dismiss(); + if (l != null) { + l.onCancel(); + } + }); + } + } + + public void setName(String name) { + this.name = name; + } + + private OnActionListener l; + + public void setOnActionListener(OnActionListener l) { + this.l = l; + } + + public interface OnActionListener { + default void onOk() { + } + + default void onCancel() { + } + } + +} diff --git a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/income/GoldRecordFragment.kt b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/income/GoldRecordFragment.kt index b08714953..4e888d1da 100644 --- a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/income/GoldRecordFragment.kt +++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/income/GoldRecordFragment.kt @@ -8,19 +8,10 @@ import com.yizhuan.erban.base.BaseViewBindingFragment import com.yizhuan.erban.common.EmptyViewHelper import com.yizhuan.erban.databinding.FragmentAssociationBinding import com.yizhuan.erban.earn.EarnRecordViewModel -import com.yizhuan.erban.earn.adapter.GoldDetailAdapter import com.yizhuan.erban.earn.adapter.GoldRecordAdapter -import com.yizhuan.erban.module_hall.hall.activity.ModuleClanActivity import com.yizhuan.erban.ui.utils.RVDelegate -import com.yizhuan.xchat_android_core.association.ClanListInfo -import com.yizhuan.xchat_android_core.earn.bean.GoldRecordInfo import com.yizhuan.xchat_android_core.earn.bean.HallMemberGoldFlowInfo -import com.yizhuan.xchat_android_core.module_hall.hall.HallModel -import com.yizhuan.xchat_android_core.utils.net.BeanObserver -import com.yizhuan.xchat_android_core.utils.net.RxHelper -import com.yizhuan.xchat_android_library.common.util.Logger import com.yizhuan.xchat_android_library.utils.ResUtil -import java.math.BigDecimal /** * 金币明细 diff --git a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/viewmodel/AssociationViewModel.kt b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/viewmodel/AssociationViewModel.kt new file mode 100644 index 000000000..e42905a67 --- /dev/null +++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/viewmodel/AssociationViewModel.kt @@ -0,0 +1,63 @@ +package com.yizhuan.erban.module_hall.viewmodel + +import androidx.lifecycle.MutableLiveData +import com.yizhuan.erban.base.BaseViewModel +import com.yizhuan.xchat_android_core.association.bean.ClanListInfo +import com.yizhuan.xchat_android_core.association.bean.HallListInfo +import com.yizhuan.xchat_android_core.association.bean.MemberExchangeInfo +import com.yizhuan.xchat_android_core.association.model.AssociationModel + +class AssociationViewModel : BaseViewModel() { + + //公会列表 + private val _clanListLiveData = MutableLiveData?>() + val clanListLiveData: MutableLiveData?> = _clanListLiveData + + //牌照房列表 + private val _hallListLiveData = MutableLiveData?>() + val hallListLiveData: MutableLiveData?> = _hallListLiveData + + //获取家族下的兑换权限管理的成员列表 + private val _memberExchangeLiveData = MutableLiveData?>() + val memberExchangeLiveData: MutableLiveData?> = _memberExchangeLiveData + + //修改兑换权限管理 + private val _operateMemberExchangeLiveData = MutableLiveData() + val operateMemberExchangeLiveData: MutableLiveData = _operateMemberExchangeLiveData + + fun getClanList() { + safeLaunch( + block = { + _clanListLiveData.value = AssociationModel.getClanList() + } + ) + } + + fun getHallList() { + safeLaunch( + block = { + _hallListLiveData.value = AssociationModel.getHallList() + } + ) + } + + fun getMemberExchangeList() { + safeLaunch( + true, + block = { + _memberExchangeLiveData.value = AssociationModel.getMemberExchangeList() + } + ) + } + + fun operateMemberExchange(status: Int, targetUid: Long) { + safeLaunch( + true, + block = { + _operateMemberExchangeLiveData.value = + AssociationModel.operateMemberExchange(status, targetUid) + } + ) + } + +} \ No newline at end of file diff --git a/app/src/module_labour_union/res/layout/activity_exchange_permission.xml b/app/src/module_labour_union/res/layout/activity_exchange_permission.xml index 6491e19a0..568c5a6ec 100644 --- a/app/src/module_labour_union/res/layout/activity_exchange_permission.xml +++ b/app/src/module_labour_union/res/layout/activity_exchange_permission.xml @@ -4,13 +4,15 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + android:background="@color/color_F3F5FA" tools:context=".module_hall.hall.activity.ExchangePermissionActivity"> + + \ No newline at end of file diff --git a/app/src/module_labour_union/res/layout/item_hall_exchange.xml b/app/src/module_labour_union/res/layout/item_hall_exchange.xml index 9f63388e4..6967eb1b5 100644 --- a/app/src/module_labour_union/res/layout/item_hall_exchange.xml +++ b/app/src/module_labour_union/res/layout/item_hall_exchange.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="80dp" - tools:background="@color/bg_secondary_2a2a39"> + android:background="@color/color_white"> ? = + launchRequest { + api.getClanList() + } + + suspend fun getHallList(): List? = + launchRequest { + api.getHallList() + } + + suspend fun getMemberExchangeList(): List? = + launchRequest { + api.getMemberExchangeList() + } + + suspend fun operateMemberExchange(status: Int, targetUid: Long): String? = + launchRequest { + api.operateMemberExchange(status, targetUid) + } + + private interface Api { + + /** + * 获取公會周榜 + */ + @GET("/clan/list") + suspend fun getClanList(): ServiceResult> + + /** + * 获取牌照房 + */ + @GET("/hall/list") + suspend fun getHallList(): ServiceResult> + + /** + * 获取家族下的兑换权限管理的成员列表 + */ + @GET("/clan/memberExchangeAuth/list") + suspend fun getMemberExchangeList(): ServiceResult> + + /** + * 修改兑换权限管理 + */ + @FormUrlEncoded + @POST("/clan/memberExchangeAuth/operate") + suspend fun operateMemberExchange( + @Field("status") status: Int, + @Field("targetUid") targetUid: Long + ): ServiceResult + + } + +} \ No newline at end of file diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/association/AssociationModel.kt b/core/src/main/java/com/yizhuan/xchat_android_core/association/AssociationModel.kt deleted file mode 100644 index 49372cbaa..000000000 --- a/core/src/main/java/com/yizhuan/xchat_android_core/association/AssociationModel.kt +++ /dev/null @@ -1,40 +0,0 @@ -package com.yizhuan.xchat_android_core.association - -import com.yizhuan.xchat_android_core.base.BaseModel -import com.yizhuan.xchat_android_core.bean.response.ListResult -import com.yizhuan.xchat_android_core.bean.response.ServiceResult -import com.yizhuan.xchat_android_core.utils.net.launchRequest -import com.yizhuan.xchat_android_library.net.rxnet.RxNet -import retrofit2.http.GET - -object AssociationModel : BaseModel() { - - private val api = RxNet.create(Api::class.java) - - suspend fun getClanList(): List? = - launchRequest { - api.getClanList() - } - - suspend fun getHallList(): List? = - launchRequest { - api.getHallList() - } - - private interface Api { - - /** - * 获取公會周榜 - */ - @GET("/clan/list") - suspend fun getClanList(): ServiceResult> - - /** - * 获取牌照房 - */ - @GET("/hall/list") - suspend fun getHallList(): ServiceResult> - - } - -} \ No newline at end of file