Browse Source

修复bug

Pq 3 years ago
parent
commit
00cd192893

+ 7 - 10
rong_im/common_im_ui/src/main/java/com/common/im/adapter/JoinGroupApplyAdapter.java

@@ -8,9 +8,12 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.viewholder.BaseViewHolder;
 import com.common.im.bean.GroupApplyBean;
 import com.common.im_ui.R;
+import com.cooleshow.base.utils.GlideUtils;
 
 import java.util.List;
 
+import javax.microedition.khronos.opengles.GL;
+
 /**
  * 创建日期:2022/6/13 17:20
  *
@@ -40,25 +43,19 @@ public class JoinGroupApplyAdapter extends BaseQuickAdapter<GroupApplyBean, Base
         TextView tv_name = helper.getView(R.id.tv_name);
         TextView tv_content = helper.getView(R.id.tv_content);
         TextView tv_date = helper.getView(R.id.tv_date);
-        if (isSelect){
+        if (isSelect) {
             im_check.setVisibility(View.VISIBLE);
             if (item.isSelect()) {
                 im_check.setBackgroundResource(R.drawable.icon_item_select);
             } else {
                 im_check.setBackgroundResource(R.drawable.icon_item_normal);
             }
-        }else{
+        } else {
             im_check.setVisibility(View.GONE);
         }
 
-
-        if (item.getRoleType().equals("TEACHER")) {
-            tv_name.setText("老师");
-            im_header.setImageResource(com.cooleshow.base.R.drawable.ic_stu_teacher_head);
-        } else {
-            tv_name.setText("学生");
-            im_header.setImageResource(com.cooleshow.base.R.drawable.ic_stu_student_head);
-        }
+        tv_name.setText(item.getUsername());
+        GlideUtils.INSTANCE.loadImage(getContext(),item.getAvatar(),im_header,R.drawable.ic_stu_student_head);
         tv_content.setText(item.getDesc());
         tv_date.setText(item.getCreateTime());
     }

+ 22 - 4
rong_im/common_im_ui/src/main/java/com/common/im/bean/GroupApplyBean.java

@@ -24,10 +24,28 @@ public class GroupApplyBean {
     private long id;
     private String roleType;
     private String updateTime;
-    private long userId;
-
+    private String username;
+    private String avatar;
+    private String userId;
     private boolean isSelect;
 
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getAvatar() {
+        return avatar;
+    }
+
+    public void setAvatar(String avatar) {
+        this.avatar = avatar;
+    }
+
+
     public String getAuditStatus() {
         return auditStatus;
     }
@@ -84,11 +102,11 @@ public class GroupApplyBean {
         this.updateTime = updateTime;
     }
 
-    public long getUserId() {
+    public String getUserId() {
         return userId;
     }
 
-    public void setUserId(long userId) {
+    public void setUserId(String userId) {
         this.userId = userId;
     }
 

+ 3 - 0
rong_im/common_im_ui/src/main/java/com/common/im/contract/ChatGroupSettingContract.java

@@ -1,5 +1,6 @@
 package com.common.im.contract;
 
+import com.common.im.bean.GroupApplyBean;
 import com.common.im.bean.GroupMemberBean;
 import com.common.im.bean.RongIMGroupInfo;
 import com.cooleshow.base.presenter.view.BaseView;
@@ -21,6 +22,8 @@ public interface ChatGroupSettingContract {
         void onQueryGroupDetail(RongIMGroupInfo data);
 
         void dissolveChatGroupSuccess(String targetId);
+
+        void groupApplyListSuccess(List<GroupApplyBean> data);
     }
 
     interface Presenter {

+ 32 - 2
rong_im/common_im_ui/src/main/java/com/common/im/presenter/ChatGroupSettingPresenter.java

@@ -6,6 +6,7 @@ import android.text.TextUtils;
 import android.util.Log;
 
 import com.common.im.api.IMApi;
+import com.common.im.bean.GroupApplyBean;
 import com.common.im.bean.GroupMemberBean;
 import com.common.im.bean.MusicSheetListBean;
 import com.common.im.bean.RongIMGroupInfo;
@@ -92,7 +93,7 @@ public class ChatGroupSettingPresenter extends BasePresenter<ChatGroupSettingCon
         });
     }
 
-    public void queryGroupMembers(Context context, String groupId) {
+    public void queryGroupMembers(String groupId) {
 
         JSONObject jsonObject = new JSONObject();
         try {
@@ -138,7 +139,7 @@ public class ChatGroupSettingPresenter extends BasePresenter<ChatGroupSettingCon
     }
 
     //查询群详情
-    public void queryGroupDetail(Context context, String groupId) {
+    public void queryGroupDetail(String groupId) {
         if (!BaseApplication.Companion.isTeacherClient()) {
             addSubscribe(create(IMApi.class).queryStuGroupDetail(groupId), new BaseObserver<RongIMGroupInfo>() {
                 @Override
@@ -215,4 +216,33 @@ public class ChatGroupSettingPresenter extends BasePresenter<ChatGroupSettingCon
             }
         });
     }
+
+    public void groupApplyList(String groupId){
+        if (getView() != null) {
+            getView().showLoading();
+        }
+        JSONObject jsonObject = new JSONObject();
+        try {
+            jsonObject.putOpt("auditStatus", "AUDITING");
+            jsonObject.putOpt("groupId", groupId);
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+        addSubscribe(create(IMApi.class).groupApplyList(RequestBodyUtil.convertToRequestBodyJson(jsonObject.toString())), new BaseObserver<List<GroupApplyBean>>(getView()) {
+            @Override
+            protected void onSuccess(List<GroupApplyBean> data) {
+                if (getView() != null) {
+                    getView().groupApplyListSuccess(data);
+                }
+            }
+
+            @Override
+            public void onComplete() {
+                super.onComplete();
+                if (getView() != null) {
+                    getView().hideLoading();
+                }
+            }
+        });
+    }
 }

+ 25 - 2
rong_im/common_im_ui/src/main/java/com/common/im/ui/activity/ChatGroupSettingActivity.java

@@ -21,6 +21,7 @@ import com.alibaba.android.arouter.launcher.ARouter;
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.listener.OnItemClickListener;
 import com.common.im.adapter.MessageSettingGroupMemberAdapter;
+import com.common.im.bean.GroupApplyBean;
 import com.common.im.bean.GroupMemberBean;
 import com.common.im.bean.RongIMGroupInfo;
 import com.common.im.contract.ChatGroupSettingContract;
@@ -213,8 +214,15 @@ public class ChatGroupSettingActivity extends BaseMVPActivity<ActivityChatGroupS
                 }
             }
         });
-        presenter.queryGroupDetail(this, targetId);
-        presenter.queryGroupMembers(this, targetId);
+
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        presenter.queryGroupDetail(targetId);
+        presenter.queryGroupMembers(targetId);
+        presenter.groupApplyList(targetId);
     }
 
     @Override
@@ -275,6 +283,21 @@ public class ChatGroupSettingActivity extends BaseMVPActivity<ActivityChatGroupS
     }
 
     @Override
+    public void groupApplyListSuccess(List<GroupApplyBean> data) {
+        if (!checkActivityExist()) {
+            return;
+        }
+        if (tv_group_apply_count == null) {
+            return;
+        }
+        if (data != null && data.size() > 0) {
+            tv_group_apply_count.setText(data.size() + "人");
+        } else {
+            tv_group_apply_count.setText("0人");
+        }
+    }
+
+    @Override
     protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
         if (resultCode == RESULT_OK) {

+ 33 - 6
rong_im/common_im_ui/src/main/java/com/common/im/ui/activity/JoinGroupApplyActivity.java

@@ -1,10 +1,12 @@
 package com.common.im.ui.activity;
 
+import android.os.Bundle;
 import android.text.TextUtils;
 import android.view.View;
 import android.widget.LinearLayout;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
@@ -19,6 +21,8 @@ import com.common.im_ui.R;
 import com.common.im_ui.databinding.ActivityJoinGroupApplyBinding;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
+import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
+import com.cooleshow.base.widgets.EmptyViewLayout;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -38,6 +42,12 @@ public class JoinGroupApplyActivity extends BaseMVPActivity<ActivityJoinGroupApp
     private LinearLayout ll_bottom;
 
     @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        QMUIStatusBarHelper.setStatusBarLightMode(this);
+    }
+
+    @Override
     protected void initView() {
         targetId = getIntent().getStringExtra("targetId");
         initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "入群申请");
@@ -52,6 +62,9 @@ public class JoinGroupApplyActivity extends BaseMVPActivity<ActivityJoinGroupApp
         LinearLayoutManager manager = new LinearLayoutManager(this);
         rvAddress.setLayoutManager(manager);
         joinGroupApplyAdapter = new JoinGroupApplyAdapter(dataList);
+        EmptyViewLayout emptyViewLayout = new EmptyViewLayout(this);
+        emptyViewLayout.setContent(com.cooleshow.base.R.drawable.icon_empty_content, "暂无入群申请");
+        joinGroupApplyAdapter.setEmptyView(emptyViewLayout);
         rvAddress.setAdapter(joinGroupApplyAdapter);
         joinGroupApplyAdapter.setOnItemClickListener(new OnItemClickListener() {
             @Override
@@ -68,6 +81,12 @@ public class JoinGroupApplyActivity extends BaseMVPActivity<ActivityJoinGroupApp
     @Override
     public void initData() {
         super.initData();
+
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
         presenter.groupApplyList(targetId);
     }
 
@@ -102,9 +121,10 @@ public class JoinGroupApplyActivity extends BaseMVPActivity<ActivityJoinGroupApp
                     auditIds = auditIds + groupApplyBean.getId() + ",";
                 }
             }
-            if (!TextUtils.isEmpty(auditIds)){
-                auditIds=auditIds.substring(0,auditIds.length()-1);
-                presenter.doGroupApply(auditIds,"REJECT",targetId);
+            if (!TextUtils.isEmpty(auditIds)) {
+                auditIds = auditIds.substring(0, auditIds.length() - 1);
+                presenter.doGroupApply(auditIds, "REJECT", targetId);
+                updateNormalStyle();
             }
 
         } else if (v.getId() == R.id.tv_pass) {
@@ -115,13 +135,20 @@ public class JoinGroupApplyActivity extends BaseMVPActivity<ActivityJoinGroupApp
                     auditIds = auditIds + groupApplyBean.getId() + ",";
                 }
             }
-            if (!TextUtils.isEmpty(auditIds)){
-                auditIds=auditIds.substring(0,auditIds.length()-1);
-                presenter.doGroupApply(auditIds,"OPEN",targetId);
+            if (!TextUtils.isEmpty(auditIds)) {
+                auditIds = auditIds.substring(0, auditIds.length() - 1);
+                presenter.doGroupApply(auditIds, "OPEN", targetId);
+                updateNormalStyle();
             }
         }
     }
 
+    private void updateNormalStyle() {
+        viewBinding.toolbarInclude.tvRightText.setText("批量操作");
+        joinGroupApplyAdapter.setSelect(false);
+        ll_bottom.setVisibility(View.GONE);
+    }
+
     @Override
     public void groupApplyListSuccess(List<GroupApplyBean> data) {
         dataList.clear();

+ 16 - 27
rong_im/common_im_ui/src/main/res/layout/activity_join_group_apply.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
@@ -10,31 +10,17 @@
         android:id="@+id/toolbar_include"
         layout="@layout/common_toolbar_layout" />
 
-    <androidx.core.widget.NestedScrollView
+
+    <androidx.recyclerview.widget.RecyclerView
+        android:id="@+id/recyclerView"
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
+        android:layout_height="0dp"
         android:overScrollMode="never"
-        android:layout_below="@+id/toolbar_include"
-        android:scrollbars="none">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="vertical">
-
-            <androidx.recyclerview.widget.RecyclerView
-                android:id="@+id/recyclerView"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="15dp"
-                android:overScrollMode="never"
-                android:scrollbars="none" />
-
-            <View
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/dp_80" />
-        </LinearLayout>
-    </androidx.core.widget.NestedScrollView>
+        android:scrollbars="none"
+        app:layout_constraintBottom_toTopOf="@+id/ll_bottom"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/toolbar_include" />
 
     <LinearLayout
         android:id="@+id/ll_bottom"
@@ -44,9 +30,12 @@
         android:layout_marginLeft="28dp"
         android:layout_marginTop="27dp"
         android:layout_marginRight="28dp"
-        android:visibility="gone"
         android:layout_marginBottom="48dp"
-        android:orientation="horizontal">
+        android:orientation="horizontal"
+        android:visibility="gone"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toRightOf="parent">
 
         <TextView
             android:id="@+id/tv_refuse"
@@ -73,4 +62,4 @@
             android:textSize="@dimen/sp_14" />
     </LinearLayout>
 
-</RelativeLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 1 - 1
rong_im/common_im_ui/src/main/res/layout/notice_popu_list_item.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
+    android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:orientation="vertical">
 

+ 1 - 1
teacher/src/main/res/layout/item_received_comment_layout.xml

@@ -56,7 +56,7 @@
         tools:text="单簧管" />
 
     <RatingBar
-        android:isIndicator="false"
+        android:isIndicator="true"
         android:id="@+id/rating_bar_for_student"
         style="@style/HomeRatingBar"
         android:layout_width="wrap_content"