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 000000000..46ac5272c Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_close_exchange.webp differ 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 000000000..1d9ba8e6b Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_close_exchange_tip.webp differ diff --git a/app/src/main/res/drawable/bg_common_confirm_15.xml b/app/src/main/res/drawable/bg_common_confirm_15.xml new file mode 100644 index 000000000..287cb04c2 --- /dev/null +++ b/app/src/main/res/drawable/bg_common_confirm_15.xml @@ -0,0 +1,13 @@ + + + + + + + \ 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