2025-10-28 16:56:13 +08:00
|
|
|
|
package com.xscm.modulemain.adapter;
|
2025-10-20 10:16:44 +08:00
|
|
|
|
|
|
|
|
|
|
import android.graphics.Color;
|
|
|
|
|
|
import android.text.TextUtils;
|
|
|
|
|
|
import android.view.View;
|
|
|
|
|
|
import android.widget.ImageView;
|
|
|
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
|
|
|
|
|
|
import com.chad.library.adapter.base.BaseQuickAdapter;
|
|
|
|
|
|
import com.chad.library.adapter.base.BaseViewHolder;
|
2025-10-28 16:56:13 +08:00
|
|
|
|
import com.xscm.modulemain.R;
|
2025-10-20 10:16:44 +08:00
|
|
|
|
import com.xscm.moduleutil.bean.RewardUserBean;
|
|
|
|
|
|
import com.xscm.moduleutil.utils.ImageUtils;
|
|
|
|
|
|
import com.xscm.moduleutil.utils.SpUtil;
|
|
|
|
|
|
import com.xscm.moduleutil.widget.BaseWheatView;
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 项目名称 qipao-android
|
|
|
|
|
|
* 包名:com.qpyy.room.adapter
|
|
|
|
|
|
* 创建人 黄强
|
|
|
|
|
|
* 创建时间 2020/8/6 14:48
|
|
|
|
|
|
* 描述 describe
|
|
|
|
|
|
*/
|
|
|
|
|
|
public class GiftUserAdapter extends BaseQuickAdapter<RewardUserBean, BaseViewHolder> {
|
|
|
|
|
|
private int ownerModel = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public GiftUserAdapter() {
|
|
|
|
|
|
super(R.layout.room_rv_item_gift_wheat);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
protected void convert(BaseViewHolder helper, RewardUserBean item) {
|
|
|
|
|
|
ImageUtils.loadHeadCC(item.getAvatar(), helper.getView(R.id.riv_gift_wheat_head_pic));
|
|
|
|
|
|
ImageView rivPit = helper.getView(R.id.riv_pit);
|
|
|
|
|
|
TextView tvPit = helper.getView(R.id.tv_pit);
|
|
|
|
|
|
rivPit.setVisibility(item.isSelect() ? View.VISIBLE : View.INVISIBLE);
|
|
|
|
|
|
|
|
|
|
|
|
if (TextUtils.isEmpty(item.getPit_number()) || "0".equals(item.getPit_number())) {
|
|
|
|
|
|
helper.setVisible(R.id.tv_pit, false);
|
|
|
|
|
|
} else {
|
|
|
|
|
|
helper.setVisible(R.id.tv_pit, true);
|
|
|
|
|
|
int pitNumber = Integer.parseInt(item.getPit_number());
|
2025-10-24 17:52:11 +08:00
|
|
|
|
if (pitNumber > 10) {
|
2025-10-20 10:16:44 +08:00
|
|
|
|
helper.setText(R.id.tv_pit, item.getNickname());
|
2025-10-24 17:52:11 +08:00
|
|
|
|
} else {
|
2025-10-20 10:16:44 +08:00
|
|
|
|
helper.setText(R.id.tv_pit, String.format("%s号麦", item.getPit_number()));
|
|
|
|
|
|
}
|
2025-10-24 17:52:11 +08:00
|
|
|
|
if (item.getPit_number().equals("10")) {
|
2025-10-20 10:16:44 +08:00
|
|
|
|
helper.setText(R.id.tv_pit, "嘉宾");
|
|
|
|
|
|
}
|
|
|
|
|
|
if (BaseWheatView.WHEAT_HOST.equals(item.getPit_number())) {
|
|
|
|
|
|
if (2 == ownerModel || 0 == ownerModel) {
|
|
|
|
|
|
helper.setText(R.id.tv_pit, "主持人");
|
|
|
|
|
|
} else {
|
|
|
|
|
|
helper.setText(R.id.tv_pit, "房主");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
if (item.isSelect()) {
|
|
|
|
|
|
helper.getView(R.id.tv_pit).setBackgroundResource(com.xscm.moduleutil.R.mipmap.gift_show);
|
|
|
|
|
|
tvPit.setTextColor(Color.parseColor("#ffffff"));
|
|
|
|
|
|
} else {
|
|
|
|
|
|
helper.getView(R.id.tv_pit).setBackgroundResource(com.xscm.moduleutil.R.mipmap.gift_show_b);
|
|
|
|
|
|
tvPit.setTextColor(Color.parseColor("#ff333333"));
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public boolean isAll() {
|
|
|
|
|
|
int count = 0;
|
|
|
|
|
|
List<RewardUserBean> data = getData();
|
|
|
|
|
|
for (RewardUserBean item : data) {
|
|
|
|
|
|
if (item.isSelect()) {
|
|
|
|
|
|
count++;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return count > 0 && count == data.size();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void allElection(boolean b) {
|
|
|
|
|
|
List<RewardUserBean> data = getData();
|
|
|
|
|
|
for (RewardUserBean item : data) {
|
|
|
|
|
|
item.setSelect(b);
|
|
|
|
|
|
}
|
|
|
|
|
|
notifyDataSetChanged();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public int getSelectCount() {
|
2025-10-24 17:52:11 +08:00
|
|
|
|
int count = 0;
|
2025-10-20 10:16:44 +08:00
|
|
|
|
List<RewardUserBean> data = getData();
|
|
|
|
|
|
for (RewardUserBean item : data) {
|
2025-10-24 17:52:11 +08:00
|
|
|
|
if (!item.getUser_id().equals(SpUtil.getUserId() + "")) {
|
|
|
|
|
|
if (item.isSelect()) {
|
|
|
|
|
|
count++;
|
|
|
|
|
|
}
|
2025-10-20 10:16:44 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return count;
|
|
|
|
|
|
}
|
2025-10-24 17:52:11 +08:00
|
|
|
|
///获取当前选中的人数
|
|
|
|
|
|
public int getUserIdCount(){
|
|
|
|
|
|
int count = 0;
|
|
|
|
|
|
List<RewardUserBean> data = getData();
|
|
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
|
|
for (int i = 0; i < data.size(); i++) {
|
|
|
|
|
|
if (!data.get(i).getUser_id().equals(SpUtil.getUserId() + "")) {
|
|
|
|
|
|
if (data.get(i).isSelect()) {
|
|
|
|
|
|
count++;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return count;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-10-20 10:16:44 +08:00
|
|
|
|
|
|
|
|
|
|
public List<RewardUserBean> getSelectRoomPitUserModel() {
|
|
|
|
|
|
List<RewardUserBean> selects = getData();
|
|
|
|
|
|
List<RewardUserBean> data = getData();
|
|
|
|
|
|
for (RewardUserBean item : data) {
|
|
|
|
|
|
if (item.isSelect()) {
|
|
|
|
|
|
selects.add(item);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return selects;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public String getUserIdToString() {
|
|
|
|
|
|
List<RewardUserBean> data = getData();
|
|
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
|
|
for (int i = 0; i < data.size(); i++) {
|
2025-10-24 17:52:11 +08:00
|
|
|
|
if (!data.get(i).getUser_id().equals(SpUtil.getUserId() + "")) {
|
2025-10-20 10:16:44 +08:00
|
|
|
|
if (data.get(i).isSelect()) {
|
|
|
|
|
|
if (sb.length() > 0) {//该步即不会第一位有逗号,也防止最后一位拼接逗号!
|
|
|
|
|
|
sb.append(",");
|
|
|
|
|
|
}
|
|
|
|
|
|
sb.append(data.get(i).getUser_id());
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return sb.toString();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public String getUserPitToString() {
|
|
|
|
|
|
List<RewardUserBean> data = getData();
|
|
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
|
|
for (int i = 0; i < data.size(); i++) {
|
|
|
|
|
|
if (data.get(i).isSelect()) {
|
|
|
|
|
|
if (sb.length() > 0) {//该步即不会第一位有逗号,也防止最后一位拼接逗号!
|
|
|
|
|
|
sb.append(",");
|
|
|
|
|
|
}
|
2025-10-24 17:52:11 +08:00
|
|
|
|
if (data != null && data.get(i) != null && data.get(i).getPit_number() != null) {
|
2025-10-20 10:16:44 +08:00
|
|
|
|
sb.append(data.get(i).getPit_number());
|
2025-10-24 17:52:11 +08:00
|
|
|
|
} else {
|
2025-10-20 10:16:44 +08:00
|
|
|
|
sb.append("");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return sb.toString();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public List<RewardUserBean> getGiftUser() {
|
|
|
|
|
|
List<RewardUserBean> data = getData();
|
|
|
|
|
|
List<RewardUserBean> giftUserList = new ArrayList<>();
|
|
|
|
|
|
for (RewardUserBean item : data) {
|
|
|
|
|
|
if (item.isSelect()) {
|
|
|
|
|
|
giftUserList.add(item);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return giftUserList;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 清除所有选中
|
|
|
|
|
|
*/
|
|
|
|
|
|
public List<String> clearAllSelected() {
|
|
|
|
|
|
List<String> ids = new ArrayList<>();
|
|
|
|
|
|
List<RewardUserBean> data = getData();
|
|
|
|
|
|
for (RewardUserBean item : data) {
|
|
|
|
|
|
if (item.isSelect()) {
|
|
|
|
|
|
ids.add(item.getUser_id());
|
|
|
|
|
|
}
|
|
|
|
|
|
item.setSelect(false);
|
|
|
|
|
|
}
|
|
|
|
|
|
notifyDataSetChanged();
|
|
|
|
|
|
return ids;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void setOwnerModel(int ownerModel) {
|
|
|
|
|
|
this.ownerModel = ownerModel;
|
|
|
|
|
|
notifyDataSetChanged();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public List<String> getAllSelectedIds() {
|
|
|
|
|
|
List<String> ids = new ArrayList<>();
|
|
|
|
|
|
List<RewardUserBean> data = getData();
|
|
|
|
|
|
for (RewardUserBean item : data) {
|
|
|
|
|
|
if (item.isSelect()) {
|
|
|
|
|
|
|
2025-10-24 17:52:11 +08:00
|
|
|
|
ids.add(item.getUser_id());
|
2025-10-20 10:16:44 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return ids;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|