Browse Source

增加老师端琴房课课程组详情进入教室逻辑

Pq 3 months ago
parent
commit
876e368762

+ 51 - 1
teacher/src/main/java/com/cooleshow/teacher/ui/course/PianoCourseGroupDetailFragment.java

@@ -6,19 +6,24 @@ import android.text.TextUtils;
 import android.view.View;
 import android.widget.TextView;
 
+import com.alibaba.android.arouter.launcher.ARouter;
 import com.bigkoo.pickerview.builder.TimePickerBuilder;
 import com.bigkoo.pickerview.listener.CustomListener;
 import com.bigkoo.pickerview.listener.OnDismissListener;
 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.cooleshow.base.bean.CommonCourseConfigBean;
 import com.cooleshow.base.constanst.Constants;
 import com.cooleshow.base.constanst.CourseAttendanceStatusType;
 import com.cooleshow.base.constanst.CourseGroupStatusType;
 import com.cooleshow.base.interfaces.IFilterViewData;
+import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.fragment.BaseFragment;
 import com.cooleshow.base.ui.fragment.BaseMVPFragment;
 import com.cooleshow.base.utils.TimeUtils;
+import com.cooleshow.base.utils.ToastUtil;
 import com.cooleshow.base.utils.UiUtils;
 import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.base.widgets.dialog.CommonFilterDialog;
@@ -32,6 +37,7 @@ import com.cooleshow.teacher.constants.CourseConstants;
 import com.cooleshow.teacher.contract.PianoCourseGroupDetailContract;
 import com.cooleshow.teacher.databinding.FgPianoCourseGroupDetailLayoutBinding;
 import com.cooleshow.teacher.presenter.course.PianoCourseGroupDetailPresenter;
+import com.dayayuemeng.classroom.helper.OpenClassRoomHelper;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -39,6 +45,7 @@ import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 
+import androidx.annotation.NonNull;
 import androidx.recyclerview.widget.LinearLayoutManager;
 
 /**
@@ -59,6 +66,7 @@ public class PianoCourseGroupDetailFragment extends BaseMVPFragment<FgPianoCours
     private int currentSelectAttendancePosition = 0;
     private CommonFilterDialog mAttendanceStatusFilterDialog;
     private CommonFilterDialog mStatusFilterDialog;
+    private CommonCourseConfigBean mConfigBean;
 
     @Override
     protected FgPianoCourseGroupDetailLayoutBinding getLayoutView() {
@@ -103,6 +111,45 @@ public class PianoCourseGroupDetailFragment extends BaseMVPFragment<FgPianoCours
         mViewBinding.flTime.setOnClickListener(this);
         mViewBinding.flStatus.setOnClickListener(this);
         mViewBinding.flAttendance.setOnClickListener(this);
+
+        mAdapter.setOnItemClickListener(new OnItemClickListener() {
+            @Override
+            public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
+                if (position < mAdapter.getData().size()) {
+                    VIPCourseGroupDetailListBean bean = mAdapter.getData().get(position);
+                    ARouter.getInstance().build(RouterPath.CourseCenter.PIANO_ROOM_COURSE_DETAIL)
+                            .withString(CourseConstants.COURSE_ID, bean.getCourseId())
+                            .navigation();
+                }
+            }
+        });
+
+        mAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
+            @Override
+            public void onItemChildClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
+                //去上课
+                if (UiUtils.isFastClick()) {
+                    return;
+                }
+                if (view.getId() == R.id.tv_go_start) {
+                    if (position < mAdapter.getData().size()) {
+                        VIPCourseGroupDetailListBean bean = mAdapter.getData().get(position);
+                        goCourse(bean.getId(), bean.getStartTime(), bean.getSubjectName());
+                    }
+                }
+            }
+        });
+    }
+
+    private void goCourse(String id, String startTime, String subjectName) {
+        if (mConfigBean != null) {
+            boolean lessThanTargetTime = TimeUtils.isLessThanTargetTime(mConfigBean.getPianoStartTime(), startTime);
+            if (!lessThanTargetTime) {
+                ToastUtil.getInstance().showShort("课程还未开始,请在上课前" + mConfigBean.getPianoStartTime() + "分钟进入");
+                return;
+            }
+            OpenClassRoomHelper.start(getActivity(), id, subjectName);
+        }
     }
 
     @Override
@@ -156,7 +203,10 @@ public class PianoCourseGroupDetailFragment extends BaseMVPFragment<FgPianoCours
 
     @Override
     public void getCourseConfigSuccess(CommonCourseConfigBean data) {
-
+        if (isDetached()) {
+            return;
+        }
+        this.mConfigBean = data;
     }
 
     @Override