Browse Source

添加学生端点击聊天逻辑

Pq 3 years ago
parent
commit
85c6a5f816

+ 6 - 5
student/src/main/java/com/cooleshow/student/adapter/HomeworkAdapter.java

@@ -32,6 +32,7 @@ public class HomeworkAdapter extends BaseQuickAdapter<HomeworkListBean.RowsBean,
 
     public HomeworkAdapter(List<HomeworkListBean.RowsBean> data) {
         super(R.layout.layout_item_homework, data);
+        addChildClickViewIds(R.id.iv_go_chat);
     }
 
 
@@ -77,15 +78,15 @@ public class HomeworkAdapter extends BaseQuickAdapter<HomeworkListBean.RowsBean,
             tv_join_state.setTextColor(getContext().getResources().getColor(com.cooleshow.base.R.color.color_ff4e19));
         }
 
-        if (TextUtils.equals(item.homeworkStatus, HomeWorkConstants.COURSE_HOMEWORK_COMMIT)) {
-            tv_submit.setText("已提交");
-            tv_submit.setTextColor(getContext().getResources().getColor(com.cooleshow.base.R.color.color_999999));
-            tv_submit.setBackgroundResource(R.drawable.bg_999999_border);
-        } else if (TextUtils.equals(item.homeworkStatus, HomeWorkConstants.COURSE_HOMEWORK_UN_COMMIT)) {
+         if (TextUtils.equals(item.homeworkStatus, HomeWorkConstants.COURSE_HOMEWORK_UN_COMMIT)) {
             tv_submit.setText("去提交");
             tv_submit.setTextColor(getContext().getResources().getColor(com.cooleshow.base.R.color.color_2dc7aa));
             tv_submit.setBackgroundResource(R.drawable.bg_2dc7aa_border);
+             tv_submit.setVisibility(View.VISIBLE);
+        }else{
+            tv_submit.setVisibility(View.GONE);
         }
+
         if (TextUtils.equals(item.homeworkStatus, HomeWorkConstants.COURSE_HOMEWORK_NOTREVIEW)) {
             tv_state.setVisibility(View.VISIBLE);
             tv_state.setText("未评价");

+ 1 - 1
student/src/main/java/com/cooleshow/student/bean/HomeworkDetailBean.java

@@ -66,7 +66,7 @@ public class HomeworkDetailBean {
     public int submitHomework;
     public String submitTime;
     public String teacherAvatar;
-    public int teacherId;
+    public String teacherId;
     public String teacherName;
     public String teacherReplied;
     public String title;

+ 2 - 1
student/src/main/java/com/cooleshow/student/bean/HomeworkListBean.java

@@ -35,9 +35,10 @@ public class HomeworkListBean {
         public int absenteeism; //旷课 0:否,1:是,可用值:NO,YES
         public String courseGroupName;
         public String subjectName;
+        public String imGroupId;
         public String courseId;
         public int classNum;
-        public int teacherId;
+        public String teacherId;
         public int studentId;
         public Object submitTime;
         public int courseGroupId;

+ 15 - 0
student/src/main/java/com/cooleshow/student/ui/work/HomeWorkDetailActivity.java

@@ -42,6 +42,7 @@ import androidx.annotation.Nullable;
 import androidx.recyclerview.widget.GridLayoutManager;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
+import io.rong.imkit.utils.helper.OpenChatHelper;
 
 /**
  * Author by pq, Date on 2022/7/6.
@@ -72,6 +73,7 @@ public class HomeWorkDetailActivity extends BaseMVPActivity<ActivityHomeworkDeta
         }
         initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "作业详情");
         viewBinding.tvCommit.setOnClickListener(this);
+        viewBinding.ivGoChat.setOnClickListener(this);
     }
 
     @Override
@@ -348,6 +350,19 @@ public class HomeWorkDetailActivity extends BaseMVPActivity<ActivityHomeworkDeta
                 ToastUtil.getInstance().showShort("请选择作业视频后提交");
             }
         }
+
+        if (id == R.id.iv_go_chat) {
+            if (mInfoBean == null) {
+                return;
+            }
+            if (TextUtils.equals(mInfoBean.courseType, CourseConstants.OTHER_COURSE)) {
+                //陪练课
+                OpenChatHelper.goChat(HomeWorkDetailActivity.this, mInfoBean.teacherId, mInfoBean.teacherName);
+            } else {
+                //琴房课或者直播课
+                OpenChatHelper.goGroupChat(HomeWorkDetailActivity.this, mInfoBean.imGroupId, "");
+            }
+        }
     }
 
     private String getVideoHomeworkResult() {

+ 22 - 0
student/src/main/java/com/cooleshow/student/ui/work/HomeWorkFragment.java

@@ -9,12 +9,14 @@ import android.widget.TextView;
 import androidx.annotation.NonNull;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
+import io.rong.imkit.utils.helper.OpenChatHelper;
 
 import com.alibaba.android.arouter.launcher.ARouter;
 import com.bigkoo.pickerview.builder.TimePickerBuilder;
 import com.bigkoo.pickerview.listener.CustomListener;
 import com.bigkoo.pickerview.view.TimePickerView;
 import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.listener.OnItemChildClickListener;
 import com.chad.library.adapter.base.listener.OnItemClickListener;
 import com.chad.library.adapter.base.listener.OnLoadMoreListener;
 import com.cooleshow.base.constanst.Constants;
@@ -25,6 +27,7 @@ import com.cooleshow.base.utils.TimeUtils;
 import com.cooleshow.student.R;
 import com.cooleshow.student.adapter.HomeworkAdapter;
 import com.cooleshow.student.bean.HomeworkListBean;
+import com.cooleshow.student.constants.CourseConstants;
 import com.cooleshow.student.contract.HomeWorkContract;
 import com.cooleshow.student.databinding.FragmentHomeworkBinding;
 import com.cooleshow.student.presenter.homework.HomeWorkPresenter;
@@ -100,6 +103,25 @@ public class HomeWorkFragment extends BaseMVPFragment<FragmentHomeworkBinding, H
                 }
             }
         });
+
+        homeworkAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
+            @Override
+            public void onItemChildClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
+                if (position >= homeworkAdapter.getData().size()) {
+                    return;
+                }
+                HomeworkListBean.RowsBean rowsBean = homeworkAdapter.getData().get(position);
+                if (view.getId() == R.id.iv_go_chat) {
+                    if (TextUtils.equals(rowsBean.type, CourseConstants.OTHER_COURSE)) {
+                        //陪练课
+                        OpenChatHelper.goChat(getContext(), rowsBean.teacherId, rowsBean.teacherName);
+                    } else {
+                        //琴房课或者直播课
+                        OpenChatHelper.goGroupChat(getContext(), rowsBean.imGroupId, "");
+                    }
+                }
+            }
+        });
     }
 
     private int currentPage;

+ 1 - 0
student/src/main/res/layout/layout_item_homework.xml

@@ -91,6 +91,7 @@
             app:layout_constraintTop_toTopOf="@+id/im_header" />
 
         <ImageView
+            android:id="@+id/iv_go_chat"
             android:layout_width="@dimen/dp_19"
             android:layout_height="@dimen/dp_18"
             android:layout_marginLeft="5dp"