From 2f0ca83ec7c18075d34d409674ebc4715cc79a4c Mon Sep 17 00:00:00 2001 From: huangjian Date: Fri, 27 Aug 2021 19:15:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=85=AC=E4=BC=9A=E8=B6=85?= =?UTF-8?q?=E7=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../res/mipmap-xhdpi/common_ic_checked.png | Bin 937 -> 1362 bytes .../res/mipmap-xhdpi/common_ic_unchecked.png | Bin 711 -> 1264 bytes app/src/main/AndroidManifest.xml | 27 +++-- .../hall/activity/ModuleClanActivity.java | 7 ++ .../hall/activity/SuperAdminAddActivity.kt | 80 +++++++++++++++ .../hall/activity/SuperAdminManageActivity.kt | 54 ++++++++++ .../activity/SuperAdminRoomSetActivity.kt | 94 ++++++++++++++++++ .../hall/adapter/ManageRoomAdapter.kt | 17 ++++ .../hall/adapter/ManageRoomSetAdapter.kt | 22 ++++ .../hall/adapter/ManageSuperAdminAdapter.kt | 37 +++++++ .../hall/adapter/SearchAdminAdapter.kt | 25 +++++ .../drawable-xhdpi/ic_hall_manage_more.png | Bin 0 -> 567 bytes .../res/layout/activity_super_admin_add.xml | 87 ++++++++++++++++ .../layout/activity_super_admin_manege.xml | 36 +++++++ .../layout/activity_super_admin_room_set.xml | 36 +++++++ .../res/layout/item_manage_room.xml | 35 +++++++ .../res/layout/item_manage_room_set.xml | 57 +++++++++++ .../res/layout/item_manage_super_admin.xml | 91 +++++++++++++++++ .../res/layout/item_search_admin.xml | 67 +++++++++++++ .../module_hall/hall/HallModel.java | 41 ++++++++ .../module_hall/hall/IHallModel.java | 8 ++ .../module_hall/hall/bean/SuperAdminHall.kt | 9 ++ .../module_hall/hall/bean/SuperAdminInfo.kt | 10 ++ 23 files changed, 832 insertions(+), 8 deletions(-) create mode 100644 app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/SuperAdminAddActivity.kt create mode 100644 app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/SuperAdminManageActivity.kt create mode 100644 app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/SuperAdminRoomSetActivity.kt create mode 100644 app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/ManageRoomAdapter.kt create mode 100644 app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/ManageRoomSetAdapter.kt create mode 100644 app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/ManageSuperAdminAdapter.kt create mode 100644 app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/SearchAdminAdapter.kt create mode 100644 app/src/module_labour_union/res/drawable-xhdpi/ic_hall_manage_more.png create mode 100644 app/src/module_labour_union/res/layout/activity_super_admin_add.xml create mode 100644 app/src/module_labour_union/res/layout/activity_super_admin_manege.xml create mode 100644 app/src/module_labour_union/res/layout/activity_super_admin_room_set.xml create mode 100644 app/src/module_labour_union/res/layout/item_manage_room.xml create mode 100644 app/src/module_labour_union/res/layout/item_manage_room_set.xml create mode 100644 app/src/module_labour_union/res/layout/item_manage_super_admin.xml create mode 100644 app/src/module_labour_union/res/layout/item_search_admin.xml create mode 100644 core/src/model_labour_union/java/com/yizhuan/xchat_android_core/module_hall/hall/bean/SuperAdminHall.kt create mode 100644 core/src/model_labour_union/java/com/yizhuan/xchat_android_core/module_hall/hall/bean/SuperAdminInfo.kt diff --git a/app/src/common/res/mipmap-xhdpi/common_ic_checked.png b/app/src/common/res/mipmap-xhdpi/common_ic_checked.png index 6f2d560c01405f915523687c62e9b0e7176ac885..723b7c64c24cf52358dc32ad331600003047cae8 100644 GIT binary patch literal 1362 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 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2ab5b1cd4..3f184888c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -93,10 +93,10 @@ + android:value="375" /> + android:value="667" /> - + android:theme="@style/Theme.AppCompat" + android:windowSoftInputMode="adjustResize"> + - - + + + + + + diff --git a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/ModuleClanActivity.java b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/ModuleClanActivity.java index 1d6ab4727..dcf7ba639 100644 --- a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/ModuleClanActivity.java +++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/ModuleClanActivity.java @@ -246,6 +246,13 @@ public class ModuleClanActivity extends BaseActivity implements View.OnClickList toast("数据加载中,请稍后..."); } break; + case R.id.tv_hall_admin: + if (clanInfo != null) { + SuperAdminManageActivity.start(this,clanInfo.getId()); + } else { + toast("数据加载中,请稍后..."); + } + break; } } diff --git a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/SuperAdminAddActivity.kt b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/SuperAdminAddActivity.kt new file mode 100644 index 000000000..b917e25fc --- /dev/null +++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/SuperAdminAddActivity.kt @@ -0,0 +1,80 @@ +package com.yizhuan.erban.module_hall.hall.activity + +import android.content.Context +import android.content.Intent +import androidx.recyclerview.widget.LinearLayoutManager +import com.netease.nim.uikit.StatusBarUtil +import com.yizhuan.erban.R +import com.yizhuan.erban.base.BaseViewBindingActivity +import com.yizhuan.erban.common.EmptyViewHelper +import com.yizhuan.erban.databinding.ActivitySuperAdminAddBinding +import com.yizhuan.erban.module_hall.hall.adapter.SearchAdminAdapter +import com.yizhuan.erban.ui.utils.RVDelegate +import com.yizhuan.xchat_android_core.module_hall.hall.HallModel +import com.yizhuan.xchat_android_core.module_hall.hall.bean.SuperAdminInfo +import com.yizhuan.xchat_android_core.utils.toast + +class SuperAdminAddActivity : BaseViewBindingActivity() { + + companion object { + + @JvmStatic + fun start(context: Context, clanId: Long) { + val starter = Intent(context, SuperAdminAddActivity::class.java) + starter.putExtra("clanId", clanId) + context.startActivity(starter) + } + } + + private val adminAdapter = SearchAdminAdapter() + private lateinit var rvDelegate: RVDelegate + private val clanId by lazy { intent.getLongExtra("clanId", 0) } + + override fun init() { + + rvDelegate = RVDelegate.Builder() + .setLayoutManager(LinearLayoutManager(context)) + .setRecyclerView(binding.recyclerView) + .setEmptyView(EmptyViewHelper.createEmptyView(context, "没有搜索结果")) + .setAdapter(adminAdapter) + .build() + + adminAdapter.setOnItemChildClickListener { _, view, position -> + if (view.id == R.id.tv_set) { + adminAdapter.getItem(position)?.let { + SuperAdminRoomSetActivity.start(this, clanId, it.uid) + } + } + } + + binding.tvSearch.setOnClickListener { + val id = binding.searchEdit.text?.toString()?.toLongOrNull() + if (id == null) { + "请输入音游号!".toast() + } else { + HallModel.get().searchSuperAdminInfo(id) + .compose(bindToLifecycle()) + .subscribe({ + rvDelegate.setNewData(listOf(it)) + }, { + it.message.toast() + }) + } + } + + binding.ivBack.setOnClickListener { + finish() + } + binding.ivClearText.setOnClickListener { + binding.searchEdit.setText("") + } + + } + + override fun needSteepStateBar() = true + + override fun setStatusBar() { + super.setStatusBar() + StatusBarUtil.transparencyBar(this) + } +} \ No newline at end of file diff --git a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/SuperAdminManageActivity.kt b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/SuperAdminManageActivity.kt new file mode 100644 index 000000000..f17907fd4 --- /dev/null +++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/SuperAdminManageActivity.kt @@ -0,0 +1,54 @@ +package com.yizhuan.erban.module_hall.hall.activity + +import android.content.Context +import android.content.Intent +import androidx.recyclerview.widget.LinearLayoutManager +import com.netease.nim.uikit.StatusBarUtil +import com.yizhuan.erban.base.BaseViewBindingActivity +import com.yizhuan.erban.common.EmptyViewHelper +import com.yizhuan.erban.databinding.ActivitySuperAdminManegeBinding +import com.yizhuan.erban.module_hall.hall.adapter.ManageSuperAdminAdapter +import com.yizhuan.erban.ui.utils.RVDelegate +import com.yizhuan.xchat_android_core.module_hall.hall.bean.SuperAdminInfo + +class SuperAdminManageActivity : BaseViewBindingActivity() { + + companion object { + + @JvmStatic + fun start(context: Context, clanId: Long) { + val starter = Intent(context, SuperAdminManageActivity::class.java) + starter.putExtra("clanId", clanId) + context.startActivity(starter) + } + } + + private val adminAdapter = ManageSuperAdminAdapter() + private lateinit var rvDelegate: RVDelegate + private val pageSize = 20 + private val clanId by lazy { intent.getLongExtra("clanId", 0) } + + override fun init() { + + initWhiteTitleBar("公会超管设置") + rvDelegate = RVDelegate.Builder() + .setLayoutManager(LinearLayoutManager(context)) + .setRecyclerView(binding.recyclerView) + .setPageSize(pageSize) + .setEmptyView(EmptyViewHelper.createEmptyView(context, "暂无超级管理员")) + .setAdapter(adminAdapter) + .build() + + binding.tvAddSuperAdmin.setOnClickListener { + SuperAdminAddActivity.start(this, clanId) + } + + } + + override fun needSteepStateBar() = true + + override fun setStatusBar() { + super.setStatusBar() + StatusBarUtil.transparencyBar(this) + } +} \ No newline at end of file diff --git a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/SuperAdminRoomSetActivity.kt b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/SuperAdminRoomSetActivity.kt new file mode 100644 index 000000000..58207504c --- /dev/null +++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/SuperAdminRoomSetActivity.kt @@ -0,0 +1,94 @@ +package com.yizhuan.erban.module_hall.hall.activity + +import android.annotation.SuppressLint +import android.content.Context +import android.content.Intent +import androidx.recyclerview.widget.LinearLayoutManager +import com.netease.nim.uikit.StatusBarUtil +import com.yizhuan.erban.R +import com.yizhuan.erban.base.BaseViewBindingActivity +import com.yizhuan.erban.common.EmptyViewHelper +import com.yizhuan.erban.databinding.ActivitySuperAdminRoomSetBinding +import com.yizhuan.erban.module_hall.hall.adapter.ManageRoomSetAdapter +import com.yizhuan.erban.ui.utils.RVDelegate +import com.yizhuan.xchat_android_core.module_hall.hall.HallModel +import com.yizhuan.xchat_android_core.module_hall.hall.bean.SuperAdminHall +import com.yizhuan.xchat_android_core.utils.toast + +class SuperAdminRoomSetActivity : BaseViewBindingActivity() { + + companion object { + + @JvmStatic + fun start(context: Context, clanId: Long, uid: Long) { + val starter = Intent(context, SuperAdminRoomSetActivity::class.java) + starter.putExtra("clanId", clanId) + starter.putExtra("uid", uid) + context.startActivity(starter) + } + } + + private val adminAdapter = ManageRoomSetAdapter() + private lateinit var rvDelegate: RVDelegate + private val clanId by lazy { intent.getLongExtra("clanId", 0) } + private val uid by lazy { intent.getLongExtra("uid", 0) } + + @SuppressLint("CheckResult") + override fun init() { + initWhiteTitleBar("选择管理的房间") + rvDelegate = RVDelegate.Builder() + .setLayoutManager(LinearLayoutManager(context)) + .setRecyclerView(binding.recyclerView) + .setEmptyView(EmptyViewHelper.createEmptyView(context, "暂无房间")) + .setAdapter(adminAdapter) + .build() + binding.recyclerView.itemAnimator = null + adminAdapter.setOnItemChildClickListener { _, view, position -> + if (view.id == R.id.iv_check) { + adminAdapter.getItem(position)?.let { + it.hasManage = !it.hasManage + } + adminAdapter.notifyItemChanged(position) + } + } + + HallModel.get().getSuperAdminHallList(clanId, uid) + .compose(bindToLifecycle()) + .subscribe({ + rvDelegate.setNewData(it) + }, { + rvDelegate.loadErr(true) + }) + + + + binding.tvAddSuperAdmin.setOnClickListener { + var roomUids = "" + adminAdapter.data.forEach { + if (it.hasManage) { + roomUids += "${it.hallRoomUid}," + } + } + + if (roomUids.isNotEmpty()) { + HallModel.get().setSuperAdmin(roomUids.substring(0, roomUids.length - 1), uid) + .compose(bindToLifecycle()) + .subscribe({ + "设置成功".toast() + finish() + }, { + it.message.toast() + }) + } else { + "请最少选择一个房间".toast() + } + } + } + + override fun needSteepStateBar() = true + + override fun setStatusBar() { + super.setStatusBar() + StatusBarUtil.transparencyBar(this) + } +} \ No newline at end of file diff --git a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/ManageRoomAdapter.kt b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/ManageRoomAdapter.kt new file mode 100644 index 000000000..7a93aa7fe --- /dev/null +++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/ManageRoomAdapter.kt @@ -0,0 +1,17 @@ +package com.yizhuan.erban.module_hall.hall.adapter + +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.SuperAdminHall + +class ManageRoomAdapter : + BaseQuickAdapter(R.layout.item_manage_room) { + + override fun convert(helper: BaseViewHolder, item: SuperAdminHall) { + + ImageLoadUtils.loadAvatar(item.hallAvatar, helper.getView(R.id.iv_avatar)) + + } +} \ No newline at end of file diff --git a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/ManageRoomSetAdapter.kt b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/ManageRoomSetAdapter.kt new file mode 100644 index 000000000..14d27d855 --- /dev/null +++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/ManageRoomSetAdapter.kt @@ -0,0 +1,22 @@ +package com.yizhuan.erban.module_hall.hall.adapter + +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.SuperAdminHall + +class ManageRoomSetAdapter : + BaseQuickAdapter(R.layout.item_manage_room_set) { + + override fun convert(helper: BaseViewHolder, item: SuperAdminHall) { + ImageLoadUtils.loadAvatar(item.hallAvatar, helper.getView(R.id.iv_avatar)) + helper.setText(R.id.tv_nickname, item.hallName) + .setText(R.id.tv_id, item.hallRoomId) + .setImageResource( + R.id.iv_check, + if (item.hasManage) R.mipmap.common_ic_checked else R.mipmap.common_ic_unchecked + ) + .addOnClickListener(R.id.iv_check) + } +} \ No newline at end of file diff --git a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/ManageSuperAdminAdapter.kt b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/ManageSuperAdminAdapter.kt new file mode 100644 index 000000000..31ba5cf9d --- /dev/null +++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/ManageSuperAdminAdapter.kt @@ -0,0 +1,37 @@ +package com.yizhuan.erban.module_hall.hall.adapter + +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import com.chad.library.adapter.base.BaseQuickAdapter +import com.chad.library.adapter.base.BaseViewHolder +import com.yizhuan.erban.R +import com.yizhuan.erban.common.EmptyViewHelper +import com.yizhuan.erban.ui.utils.ImageLoadUtils +import com.yizhuan.erban.ui.utils.RVDelegate +import com.yizhuan.xchat_android_core.module_hall.hall.bean.SuperAdminHall +import com.yizhuan.xchat_android_core.module_hall.hall.bean.SuperAdminInfo + +class ManageSuperAdminAdapter : + BaseQuickAdapter(R.layout.item_manage_super_admin) { + + override fun convert(helper: BaseViewHolder, item: SuperAdminInfo) { + ImageLoadUtils.loadAvatar("", helper.getView(R.id.iv_avatar)) + + val rvRoom = helper.getView(R.id.rv_room) + if (rvRoom.adapter == null) { + RVDelegate.Builder() + .setLayoutManager( + LinearLayoutManager( + mContext, + LinearLayoutManager.HORIZONTAL, + false + ) + ) + .setRecyclerView(rvRoom) + .setEmptyView(EmptyViewHelper.createEmptyView(mContext, "暂无管理的房间")) + .setAdapter(ManageRoomAdapter()) + .build() + } + (rvRoom.adapter as BaseQuickAdapter<*, *>).setNewData(ArrayList()) + } +} \ No newline at end of file diff --git a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/SearchAdminAdapter.kt b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/SearchAdminAdapter.kt new file mode 100644 index 000000000..762438875 --- /dev/null +++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/adapter/SearchAdminAdapter.kt @@ -0,0 +1,25 @@ +package com.yizhuan.erban.module_hall.hall.adapter + +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 + +class SearchAdminAdapter : + BaseQuickAdapter(R.layout.item_search_admin) { + + override fun convert(helper: BaseViewHolder, item: SuperAdminInfo) { + + 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) "已设置为超管" else "设置为超管") + .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) + } +} \ No newline at end of file diff --git a/app/src/module_labour_union/res/drawable-xhdpi/ic_hall_manage_more.png b/app/src/module_labour_union/res/drawable-xhdpi/ic_hall_manage_more.png new file mode 100644 index 0000000000000000000000000000000000000000..fcae332a5602a00727fefc296799dd654c8fd5a0 GIT binary patch literal 567 zcmV-70?7S|P)Px$@kvBMR9Hvtl|M)vQ4q$z*;`f%i`a=+*ho@nl?Vz7iV8wV7fa#LyOl^v|J^3S ziFyZ7!89T4p0I_*!C6=Y6cWf40gI#zC>jtkh(+KG5l{B+c4XBv-tt!LY~GeT- zd3pfn%vdWH3)8l}a4gb~j2J!4hy!Q?_z!?|F86mjllgE;!^1{%D1LG!rfV9fqqltv(;T!ugA7Ci}|vNMxcxQPjgb zR{p9-AVY+g0R$E;D>;7K7LCR}6H#w~(=pRbEcr^d4d98mWTip6!bDpD)!nD5f}0lK z9OtOdw(WC4({2cwd~c!<4dZ>uhHvsoujUhf23i)||NBe3!%gk*= + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/module_labour_union/res/layout/activity_super_admin_manege.xml b/app/src/module_labour_union/res/layout/activity_super_admin_manege.xml new file mode 100644 index 000000000..eb0a475b8 --- /dev/null +++ b/app/src/module_labour_union/res/layout/activity_super_admin_manege.xml @@ -0,0 +1,36 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/module_labour_union/res/layout/activity_super_admin_room_set.xml b/app/src/module_labour_union/res/layout/activity_super_admin_room_set.xml new file mode 100644 index 000000000..8394a3407 --- /dev/null +++ b/app/src/module_labour_union/res/layout/activity_super_admin_room_set.xml @@ -0,0 +1,36 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/module_labour_union/res/layout/item_manage_room.xml b/app/src/module_labour_union/res/layout/item_manage_room.xml new file mode 100644 index 000000000..43574b26f --- /dev/null +++ b/app/src/module_labour_union/res/layout/item_manage_room.xml @@ -0,0 +1,35 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/module_labour_union/res/layout/item_manage_room_set.xml b/app/src/module_labour_union/res/layout/item_manage_room_set.xml new file mode 100644 index 000000000..64735e117 --- /dev/null +++ b/app/src/module_labour_union/res/layout/item_manage_room_set.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + diff --git a/app/src/module_labour_union/res/layout/item_manage_super_admin.xml b/app/src/module_labour_union/res/layout/item_manage_super_admin.xml new file mode 100644 index 000000000..23e173155 --- /dev/null +++ b/app/src/module_labour_union/res/layout/item_manage_super_admin.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/module_labour_union/res/layout/item_search_admin.xml b/app/src/module_labour_union/res/layout/item_search_admin.xml new file mode 100644 index 000000000..83126b656 --- /dev/null +++ b/app/src/module_labour_union/res/layout/item_search_admin.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/src/model_labour_union/java/com/yizhuan/xchat_android_core/module_hall/hall/HallModel.java b/core/src/model_labour_union/java/com/yizhuan/xchat_android_core/module_hall/hall/HallModel.java index 81cbbd2c7..fa6b3b028 100644 --- a/core/src/model_labour_union/java/com/yizhuan/xchat_android_core/module_hall/hall/HallModel.java +++ b/core/src/model_labour_union/java/com/yizhuan/xchat_android_core/module_hall/hall/HallModel.java @@ -14,6 +14,8 @@ import com.yizhuan.xchat_android_core.module_hall.hall.bean.HallMenuByUidResult; import com.yizhuan.xchat_android_core.module_hall.hall.bean.ListMemberInfo; import com.yizhuan.xchat_android_core.module_hall.hall.bean.OptionInfo; import com.yizhuan.xchat_android_core.module_hall.hall.bean.OwnerHallInfo; +import com.yizhuan.xchat_android_core.module_hall.hall.bean.SuperAdminHall; +import com.yizhuan.xchat_android_core.module_hall.hall.bean.SuperAdminInfo; import com.yizhuan.xchat_android_core.module_hall.hall.event.UserHallUpdateEvent; import com.yizhuan.xchat_android_core.statistic.StatisticManager; import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol; @@ -287,6 +289,25 @@ public class HallModel extends BaseModel implements IHallModel { .compose(RxHelper.handleCommon()); } + @Override + public Single> getSuperAdminHallList(long clanId, long uid) { + return api.getSuperAdminHallList(clanId, uid) + .compose(RxHelper.handleCommon()); + } + + @Override + public Single searchSuperAdminInfo(long erbanNo) { + return api.searchSuperAdminInfo(erbanNo) + .compose(RxHelper.handleCommon()); + } + + + @Override + public Single setSuperAdmin(String roomUids ,long uid) { + return api.setSuperAdmin(roomUids,uid) + .compose(RxHelper.handleStringData()); + } + private interface Api { /** @@ -444,6 +465,26 @@ public class HallModel extends BaseModel implements IHallModel { @GET("/clan/getUserHallAndClan") Single> getUserHallAndClan(@Query("uid") long uid); + /** + * 获取设置超管可以管理的房间列表 + */ + @GET("/hall/superManager/listHallInClan") + Single>> getSuperAdminHallList(@Query("clanId") long clanId, @Query("uid") long uid); + + /** + * 搜索超管信息 + */ + @GET("/hall/superManager/search") + Single> searchSuperAdminInfo(@Query("erbanNo") long erbanNo); + + /** + * 设置超管信息 + * @param roomUids 设置的房间uid,都会隔开 + * @param uid 需要设置的用户uid + */ + @FormUrlEncoded + @POST("/hall/superManager/setSuperManage") + Single> setSuperAdmin(@Field("roomUids") String roomUids,@Field("uid") long uid); } } \ No newline at end of file diff --git a/core/src/model_labour_union/java/com/yizhuan/xchat_android_core/module_hall/hall/IHallModel.java b/core/src/model_labour_union/java/com/yizhuan/xchat_android_core/module_hall/hall/IHallModel.java index 994d09690..1b8e07bd2 100644 --- a/core/src/model_labour_union/java/com/yizhuan/xchat_android_core/module_hall/hall/IHallModel.java +++ b/core/src/model_labour_union/java/com/yizhuan/xchat_android_core/module_hall/hall/IHallModel.java @@ -8,6 +8,8 @@ import com.yizhuan.xchat_android_core.module_hall.hall.bean.ApplyResult; import com.yizhuan.xchat_android_core.module_hall.hall.bean.HallInfo; import com.yizhuan.xchat_android_core.module_hall.hall.bean.ListMemberInfo; import com.yizhuan.xchat_android_core.module_hall.hall.bean.OwnerHallInfo; +import com.yizhuan.xchat_android_core.module_hall.hall.bean.SuperAdminHall; +import com.yizhuan.xchat_android_core.module_hall.hall.bean.SuperAdminInfo; import java.util.List; @@ -73,4 +75,10 @@ public interface IHallModel { Single getClanAllMembers(long clanId, int page, int pageSize); Single getUserHallAndClan(long uid); + + Single> getSuperAdminHallList(long clanId, long uid); + + Single searchSuperAdminInfo(long erbanNo); + + Single setSuperAdmin(String roomUids ,long uid); } diff --git a/core/src/model_labour_union/java/com/yizhuan/xchat_android_core/module_hall/hall/bean/SuperAdminHall.kt b/core/src/model_labour_union/java/com/yizhuan/xchat_android_core/module_hall/hall/bean/SuperAdminHall.kt new file mode 100644 index 000000000..dd4dabd19 --- /dev/null +++ b/core/src/model_labour_union/java/com/yizhuan/xchat_android_core/module_hall/hall/bean/SuperAdminHall.kt @@ -0,0 +1,9 @@ +package com.yizhuan.xchat_android_core.module_hall.hall.bean + +data class SuperAdminHall( + val hallAvatar: String? = null, + val hallName: String? = null, + val hallRoomId: String? = null, + val hallRoomUid: Long = 0, + var hasManage: Boolean = false +) \ No newline at end of file diff --git a/core/src/model_labour_union/java/com/yizhuan/xchat_android_core/module_hall/hall/bean/SuperAdminInfo.kt b/core/src/model_labour_union/java/com/yizhuan/xchat_android_core/module_hall/hall/bean/SuperAdminInfo.kt new file mode 100644 index 000000000..40275ac8c --- /dev/null +++ b/core/src/model_labour_union/java/com/yizhuan/xchat_android_core/module_hall/hall/bean/SuperAdminInfo.kt @@ -0,0 +1,10 @@ +package com.yizhuan.xchat_android_core.module_hall.hall.bean + +data class SuperAdminInfo( + val avatar: String? = null, + val erbanNo: String? = null, + val gender: Int = 0, + var hasSet: Boolean = false, + val nick: String? = null, + val uid: Long = 0 +) \ No newline at end of file