邓琴文 3 tahun lalu
induk
melakukan
5f240ad190

+ 1 - 1
BaseLibrary/src/main/res/drawable/shape_couse_type_text_bg.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <shape xmlns:android="http://schemas.android.com/apk/res/android">
     <solid android:color="@color/color_fff1de"/>
-    <corners android:radius="2dp"/>
+    <corners android:radius="4dp"/>
 </shape>

+ 3 - 3
student/src/main/java/com/cooleshow/student/adapter/LiveCourseListAdapter.java

@@ -29,14 +29,14 @@ public class LiveCourseListAdapter extends BaseQuickAdapter<LiveCourseListBean.R
         //时间
         holder.setText(R.id.tv_time, data.startTime);
         //title
-        holder.setText(R.id.tv_title, data.courseGroupName);
+        holder.setText(R.id.tv_title, data.name);
         //subjectName
         holder.setText(R.id.tv_course_name, data.subjectName);
         //购买人数
-        holder.setText(R.id.tv_buy_num, getContext().getString(R.string.pay_count_str, data.studentCount));
+        holder.setText(R.id.tv_buy_num, getContext().getString(R.string.pay_count_str, data.payCount));
         //头像
         ImageView iv_avatar = holder.getView(R.id.iv_bg);
-        GlideUtils.INSTANCE.loadImage(getContext(), data.backgroundPic, iv_avatar, R.drawable.icon_teacher_default_head);
+        GlideUtils.INSTANCE.loadImage(getContext(), data.avatar, iv_avatar, R.drawable.icon_teacher_default_head);
 
         TextView tvCourseStatusBt = holder.getView(R.id.tv_course_status);
 

+ 33 - 15
student/src/main/java/com/cooleshow/student/bean/LiveCourseListBean.java

@@ -57,24 +57,42 @@ public class LiveCourseListBean {
     }
 
     public static class RowsBean {
-        /**
-         * backgroundPic :
-         * courseGroupId : 0
-         * courseGroupName :
-         * endTime :
-         * startTime :
-         * status :
-         * studentCount : 0
-         * subjectName :
-         */
+        /*"status": "NOT_START",
+        "endTime": "2022-07-06 15:45:00",
+        "startTime": "2022-07-06 15:00:00",
+        "courseType": "LIVE",
+        "subjectName": "架子鼓",
+        "courseId": 1376,
+        "imGroupId": "15f6b6db-b491-4eb0-a650-377b9705f4e9COURSE",
+        "subjectId": 19,
+        "avatar": "https://ks3-cn-beijing.ksyuncs.com/daya/1656388583679image.jpeg",
+        "studentReplied": 0,
+        "userId": "hkd",
+        "classDate": "2022-07-06 00:00:00",
+        "teacherReplied": 0,
+        "courseGoupId": 467,
+        "cover": "https://daya.ks3-cn-beijing.ksyun.com/202204/T3unJdK.png",
+        "payCount": "2",
+        "name": "直播一下架子鼓-第1课",
+        "realName": ""*/
 
-        public String backgroundPic;
-        public int courseGroupId;
-        public String courseGroupName;
+        public String status;
         public String endTime;
         public String startTime;
-        public String status;
-        public String studentCount;
+        public String courseType;
         public String subjectName;
+        public int courseId;
+        public String imGroupId;
+        public int subjectId;
+        public String avatar;
+        public int studentReplied;
+        public String userId;
+        public String classDate;
+        public int teacherReplied;
+        public int courseGoupId;
+        public String cover;
+        public String payCount;
+        public String name;
+        public String realName;
     }
 }

+ 1 - 1
student/src/main/java/com/cooleshow/student/presenter/course/LiveCoursePresenter.java

@@ -30,7 +30,7 @@ public class LiveCoursePresenter extends BasePresenter<LiveCourseContract.LiveCo
         JSONObject jsonObject = new JSONObject();
         try {
             jsonObject.putOpt("classDate", month);
-            jsonObject.putOpt("status", status);
+            jsonObject.putOpt("courseState", status);
             if (subjectId != 0) {
                 jsonObject.putOpt("subjectId", subjectId);
             }

+ 1 - 1
student/src/main/java/com/cooleshow/student/ui/course/LiveCourseFragment.java

@@ -153,7 +153,7 @@ public class LiveCourseFragment extends BaseMVPFragment<FragmentLiveCourseLayout
             LiveCourseListBean.RowsBean item = (LiveCourseListBean.RowsBean) adapter.getItem(position);
             ARouter.getInstance()
                     .build(RouterPath.WebCenter.ACTIVITY_HTML)
-                    .withString(WebConstants.WEB_URL, WebConstants.TEACHER_LIVE_DETAIL + "?groupId=" + item.courseGroupId)
+                    .withString(WebConstants.WEB_URL, WebConstants.TEACHER_LIVE_DETAIL + "?groupId=" + item.courseGoupId)
                     .navigation();
         });
     }

+ 1 - 1
student/src/main/java/com/cooleshow/student/ui/course/PianoRoomCourseDetailActivity.java

@@ -38,7 +38,7 @@ public class PianoRoomCourseDetailActivity extends BaseMVPActivity<ActivityPiano
     protected void initView() {
         initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "课程详情");
         mCourseId = getIntent().getStringExtra(COURSE_ID);
-        if (TextUtils.isEmpty(mCourseId)){
+        if (TextUtils.isEmpty(mCourseId)) {
             finish();
             return;
         }

+ 29 - 23
student/src/main/java/com/cooleshow/student/ui/course/PracticeCourseDetailActivity.java

@@ -50,6 +50,9 @@ public class PracticeCourseDetailActivity extends BaseMVPActivity<ActivityPracti
     private String mCourseId;
     private String mCourseGroupId;
     private String courseStatus = "";
+    private RecyclerView rvVideo;
+    private PracticeVideoWorkAdapter practiceVideoWorkAdapter;
+    private SparringCourseHomeworkBean mInfoBean;
 
     @Override
     public void onClick(View view) {
@@ -73,12 +76,16 @@ public class PracticeCourseDetailActivity extends BaseMVPActivity<ActivityPracti
                         }
                         if (submitContent.contains(",")) {
                             submitContent = submitContent.substring(0, submitContent.length() - 1);
-                            presenter.submitSparringCourseHomework(submitContent,mCourseId);
+                            presenter.submitSparringCourseHomework(submitContent, mCourseId);
                         }
                         break;
                 }
                 break;
             case R.id.tv_evaluate:
+                if (!TextUtils.equals(mInfoBean.courseStatus, CourseConstants.COURSE_STATUS_COMPLETE)) {
+                    ToastUtil.getInstance().show(this, "课程结束之后才可以评价哦~");
+                    return;
+                }
                 //评价老师
                 ARouter.getInstance()
                         .build(RouterPath.CourseCenter.SPARRING_EVALUATE_TEACHER)
@@ -89,8 +96,6 @@ public class PracticeCourseDetailActivity extends BaseMVPActivity<ActivityPracti
         }
     }
 
-    private RecyclerView rvVideo;
-    private PracticeVideoWorkAdapter practiceVideoWorkAdapter;
 
     @Override
     protected void initView() {
@@ -105,12 +110,7 @@ public class PracticeCourseDetailActivity extends BaseMVPActivity<ActivityPracti
         rvVideo.setLayoutManager(manager);
         practiceVideoWorkAdapter = new PracticeVideoWorkAdapter(listData);
         rvVideo.setAdapter(practiceVideoWorkAdapter);
-        practiceVideoWorkAdapter.setItemAddClickAction(new PracticeVideoWorkAdapter.ItemAddClickAction() {
-            @Override
-            public void add() {
-                getVideoPermission();
-            }
-        });
+        practiceVideoWorkAdapter.setItemAddClickAction(() -> getVideoPermission());
 
     }
 
@@ -145,6 +145,10 @@ public class PracticeCourseDetailActivity extends BaseMVPActivity<ActivityPracti
 
     @Override
     public void getSparringCourseHomeworkSuccess(SparringCourseHomeworkBean infoBean) {
+        if (infoBean == null) {
+            return;
+        }
+        mInfoBean = infoBean;
         //时间
         viewBinding.tvCourseTime.setText(infoBean.classDate);
         //老师头像
@@ -226,7 +230,6 @@ public class PracticeCourseDetailActivity extends BaseMVPActivity<ActivityPracti
     private List<PracticeVideoWorkBean> listData = new ArrayList<>();
 
     private void handleHomeworkStudentSubmit(SparringCourseHomeworkBean infoBean) {
-
         switch (courseStatus) {
             case CourseConstants.COURSE_STATUS_NOT_START:
                 //课程未开始
@@ -237,20 +240,24 @@ public class PracticeCourseDetailActivity extends BaseMVPActivity<ActivityPracti
                 break;
             case CourseConstants.COURSE_STATUS_COMPLETE:
                 //课程已结束
-                rvVideo.setVisibility(View.VISIBLE);
-                viewBinding.tvVideoWork.setVisibility(View.GONE);
-                listData.clear();
-                if (!TextUtils.isEmpty(infoBean.studentAttachments)) {
-                    String[] results = TextUtils.split(infoBean.studentAttachments, ",");
-                    for (String result : results) {
-                        listData.add(new PracticeVideoWorkBean(result, 0));
+                if (infoBean.submitHomework == CourseConstants.COURSE_HOMEWORK_SET) {
+                    rvVideo.setVisibility(View.VISIBLE);
+                    viewBinding.tvVideoWork.setVisibility(View.GONE);
+                    listData.clear();
+                    if (!TextUtils.isEmpty(infoBean.studentAttachments)) {
+                        String[] results = TextUtils.split(infoBean.studentAttachments, ",");
+                        for (String result : results) {
+                            listData.add(new PracticeVideoWorkBean(result, 0));
+                        }
                     }
+                    listData.add(new PracticeVideoWorkBean("", 1));
+                    if (null != practiceVideoWorkAdapter) {
+                        practiceVideoWorkAdapter.notifyDataSetChanged();
+                    }
+                } else {
+                    rvVideo.setVisibility(View.GONE);
+                    viewBinding.tvVideoWork.setVisibility(View.VISIBLE);
                 }
-                listData.add(new PracticeVideoWorkBean("", 1));
-                if (null != practiceVideoWorkAdapter) {
-                    practiceVideoWorkAdapter.notifyDataSetChanged();
-                }
-
                 break;
         }
     }
@@ -287,7 +294,6 @@ public class PracticeCourseDetailActivity extends BaseMVPActivity<ActivityPracti
             viewBinding.tvHomework.setGravity(Gravity.LEFT | Gravity.TOP);
             viewBinding.tvHomework.setTextColor(getResources().getColor(com.cooleshow.base.R.color.color_333333));
             viewBinding.tvHomework.setText(infoBean.content);
-
         } else {
             //未布置课后作业
             viewBinding.tvHomework.setGravity(Gravity.CENTER);

+ 11 - 4
student/src/main/java/com/cooleshow/student/ui/main/HomeFragment.java

@@ -24,6 +24,7 @@ import com.cooleshow.base.common.WebConstants;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.fragment.BaseMVPFragment;
 import com.cooleshow.base.utils.GlideUtils;
+import com.cooleshow.base.utils.SPUtils;
 import com.cooleshow.base.utils.helper.QMUIDisplayHelper;
 import com.cooleshow.student.R;
 import com.cooleshow.student.adapter.HomeHotAlbumAdapter;
@@ -41,7 +42,9 @@ import com.cooleshow.student.bean.StudentUserInfo;
 import com.cooleshow.student.contract.HomeContract;
 import com.cooleshow.student.databinding.FragmentHomeLayoutBinding;
 import com.cooleshow.student.presenter.main.HomePresenter;
+import com.cooleshow.student.ui.course.SparringCourseDetailActivity;
 import com.cooleshow.student.widgets.DialogUtils;
+import com.cooleshow.usercenter.helper.UserHelper;
 import com.daya.live_teaching.utils.DisplayUtils;
 import com.scwang.smart.refresh.layout.api.RefreshLayout;
 import com.scwang.smart.refresh.layout.listener.OnRefreshListener;
@@ -107,9 +110,6 @@ public class HomeFragment extends BaseMVPFragment<FragmentHomeLayoutBinding, Hom
                         .withString(WebConstants.WEB_URL, WebConstants.STUDENT_VIDEO_CLASS)
                         .navigation();
                 break;
-            case R.id.tv_go_live:
-                //进入直播
-                break;
             case R.id.tv_teacher_style_more:
             case R.id.im_teacher_style_more:
                 //老师风采
@@ -156,7 +156,6 @@ public class HomeFragment extends BaseMVPFragment<FragmentHomeLayoutBinding, Hom
         mViewBinding.imLiveCourseMore.setOnClickListener(this);
         mViewBinding.tvVideoCourseMore.setOnClickListener(this);
         mViewBinding.imVideoCourseMore.setOnClickListener(this);
-        mViewBinding.tvGoLive.setOnClickListener(this);
         mViewBinding.tvTeacherStyleMore.setOnClickListener(this);
         mViewBinding.imTeacherStyleMore.setOnClickListener(this);
         mViewBinding.tvName.setOnClickListener(this);
@@ -338,6 +337,14 @@ public class HomeFragment extends BaseMVPFragment<FragmentHomeLayoutBinding, Hom
         GlideUtils.INSTANCE.loadImage(getContext(), recentCourses.avatar, mViewBinding.imLiveHeader, R.drawable.icon_student_default_head);
         mViewBinding.tvLiveTitle.setText(recentCourses.courseGroupName);
         mViewBinding.tvLiveTime.setText(recentCourses.courseStartTime);
+        mViewBinding.tvGoLive.setOnClickListener(v->{
+            //进入直播
+            ARouter.getInstance().build(RouterPath.CourseCenter.SPARRING_COURSE_DETAIL)
+                    .withString(SparringCourseDetailActivity.COURSE_ID, String.valueOf(recentCourses.courseId))
+                    .withString(SparringCourseDetailActivity.COURSE_GROUP_ID, String.valueOf(recentCourses.courseGroupId))
+                    .withString(SparringCourseDetailActivity.STUDENT_ID, UserHelper.getUserId())
+                    .navigation();
+        });
     }
 
     private void initLiveCourse(List<HomeLiveAndVideoBean.CourseBean> liveList) {

+ 0 - 3
student/src/main/res/layout/activity_practice_course_detail_layout.xml

@@ -109,9 +109,6 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="8dp"
-                    android:layout_marginBottom="@dimen/dp_5"
-                    android:background="@drawable/shape_couse_type_text_bg"
-                    app:layout_constraintBottom_toBottomOf="@+id/iv_avatar"
                     app:layout_constraintLeft_toLeftOf="@+id/tv_title"
                     app:layout_constraintTop_toBottomOf="@+id/tv_title" />
 

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

@@ -257,6 +257,7 @@
                     android:numStars="5"
                     android:rating="3"
                     android:stepSize="1"
+                    tools:visibility="visible"
                     app:layout_constraintBottom_toBottomOf="@+id/tv_stu_comment_title"
                     app:layout_constraintLeft_toRightOf="@+id/tv_stu_comment_title"
                     app:layout_constraintTop_toTopOf="@+id/tv_stu_comment_title" />

+ 1 - 1
student/src/main/res/layout/layout_mark_item.xml

@@ -6,7 +6,7 @@
     <TextView
         android:id="@+id/tv_content"
         android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
+        android:layout_height="@dimen/dp_16"
         android:layout_marginRight="6dp"
         android:gravity="center_vertical"
         android:background="@drawable/shape_couse_type_text_bg"

+ 1 - 1
teacher/src/main/java/com/cooleshow/teacher/presenter/income/MineIncomePresenter.java

@@ -57,7 +57,7 @@ public class MineIncomePresenter extends BasePresenter<MineIncomeContract.MineIn
         }
         JSONObject jsonObject = new JSONObject();
         try {
-            jsonObject.put("bizType",bizType);
+//            jsonObject.put("bizType",bizType);
             jsonObject.put("searchDate",searchDate);
             jsonObject.putOpt("page", page);
             jsonObject.putOpt("rows", Constants.DEFAULT_DATA_SIZE);

+ 36 - 20
teacher/src/main/java/com/cooleshow/teacher/ui/course/SparringCourseDetailActivity.java

@@ -9,6 +9,7 @@ import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
 import com.cooleshow.base.utils.GlideUtils;
 import com.cooleshow.base.utils.SizeUtils;
+import com.cooleshow.base.utils.ToastUtil;
 import com.cooleshow.base.widgets.VideoThumbnailView;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.bean.SparringCourseCommentBean;
@@ -35,6 +36,7 @@ public class SparringCourseDetailActivity extends BaseMVPActivity<ActivitySparri
     private String mCourseGroupId;
     private String studentId;
     private CourseSetCommentDialog mSetCommentDialog;
+    private SparringCourseHomeworkBean mInfoBean;
 
     @NonNull
     @Override
@@ -84,6 +86,7 @@ public class SparringCourseDetailActivity extends BaseMVPActivity<ActivitySparri
      */
     @Override
     public void getSparringCourseHomeworkSuccess(SparringCourseHomeworkBean infoBean) {
+        mInfoBean = infoBean;
         if (isFinishing() || isDestroyed()) {
             return;
         }
@@ -211,10 +214,6 @@ public class SparringCourseDetailActivity extends BaseMVPActivity<ActivitySparri
         }
     }
 
-    private void handleTeacherComment() {
-
-    }
-
 
     @Override
     public void getSparringCourseCommentSuccess(SparringCourseCommentBean commentBean) {
@@ -254,17 +253,37 @@ public class SparringCourseDetailActivity extends BaseMVPActivity<ActivitySparri
     @Override
     public void onClick(View v) {
         if (v.getId() == R.id.tv_set_homework) {
+            if (mInfoBean == null || !TextUtils.equals(mInfoBean.courseStatus, CourseConstants.COURSE_STATUS_COMPLETE)) {
+                ToastUtil.getInstance().show(this, "课程结束后才可以布置作业哦~");
+                return;
+            }
             //布置作业
             showSetCommentDialog(CourseSetCommentDialog.TYPE_SET_HOMEWORK);
             return;
         }
         if (v.getId() == R.id.tv_homework_set_comment) {
+            if (mInfoBean == null || !TextUtils.equals(mInfoBean.courseStatus, CourseConstants.COURSE_STATUS_COMPLETE)) {
+                ToastUtil.getInstance().show(this, "课程结束后才可以点评哦~");
+                return;
+            }
+            if (mInfoBean.decorateHomework != CourseConstants.COURSE_HOMEWORK_SET) {
+                ToastUtil.getInstance().show(this, "您还未布置作业~");
+                return;
+            }
+            if (mInfoBean.submitHomework != CourseConstants.COURSE_HOMEWORK_STU_SUBMIT) {
+                ToastUtil.getInstance().show(this, "尚未收到学生作业哦~");
+                return;
+            }
             //点评作业
             showSetCommentDialog(CourseSetCommentDialog.TYPE_SET_HOMEWORK_COMMENT);
             return;
         }
 
         if (v.getId() == R.id.tv_set_teacher_comment) {
+            if (mInfoBean == null || !TextUtils.equals(mInfoBean.courseStatus, CourseConstants.COURSE_STATUS_COMPLETE)) {
+                ToastUtil.getInstance().show(this, "课程结束后才可以评价哦~");
+                return;
+            }
             //提交老师评价
             showSetCommentDialog(CourseSetCommentDialog.TYPE_SET_TEACHER_COMMENT);
             return;
@@ -274,22 +293,19 @@ public class SparringCourseDetailActivity extends BaseMVPActivity<ActivitySparri
     private void showSetCommentDialog(int typeSetTeacherComment) {
         if (mSetCommentDialog == null) {
             mSetCommentDialog = new CourseSetCommentDialog(this);
-            mSetCommentDialog.setOnSubmitClickListener(new CourseSetCommentDialog.OnSubmitClickListener() {
-                @Override
-                public void onSubmit(String content, int type) {
-                    //提交
-                    if (type == CourseSetCommentDialog.TYPE_SET_TEACHER_COMMENT) {
-                        //提交老师点评
-                        presenter.submitSparringCourseComment(content, mCourseId, mCourseGroupId, studentId);
-                    }
-                    if (type == CourseSetCommentDialog.TYPE_SET_HOMEWORK) {
-                        //提交布置作业
-                        presenter.submitSparringCourseHomework(content, mCourseId);
-                    }
-                    if (type == CourseSetCommentDialog.TYPE_SET_HOMEWORK_COMMENT) {
-                        //提交作业点评
-                        presenter.submitSparringCourseHomeworkComment(content, mCourseId, studentId);
-                    }
+            mSetCommentDialog.setOnSubmitClickListener((content, type) -> {
+                //提交
+                if (type == CourseSetCommentDialog.TYPE_SET_TEACHER_COMMENT) {
+                    //提交老师点评
+                    presenter.submitSparringCourseComment(content, mCourseId, mCourseGroupId, studentId);
+                }
+                if (type == CourseSetCommentDialog.TYPE_SET_HOMEWORK) {
+                    //提交布置作业
+                    presenter.submitSparringCourseHomework(content, mCourseId);
+                }
+                if (type == CourseSetCommentDialog.TYPE_SET_HOMEWORK_COMMENT) {
+                    //提交作业点评
+                    presenter.submitSparringCourseHomeworkComment(content, mCourseId, studentId);
                 }
             });
         }

+ 4 - 7
teacher/src/main/java/com/cooleshow/teacher/ui/income/MineIncomeActivity.java

@@ -133,12 +133,10 @@ public class MineIncomeActivity extends BaseMVPActivity<ActivityMineIncomeBindin
     @Override
     public void initData() {
         super.initData();
-        viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
-            @Override
-            public void onRefresh(@NonNull RefreshLayout refreshLayout) {
-                currentPage = 1;
-                queryList(true);
-            }
+        viewBinding.refreshLayout.setOnRefreshListener(refreshLayout -> {
+            currentPage = 1;
+            queryList(true);
+            presenter.getUserAccountDetail();
         });
         mineIncomeAdapter.getLoadMoreModule().setOnLoadMoreListener(new OnLoadMoreListener() {
             @Override
@@ -156,7 +154,6 @@ public class MineIncomeActivity extends BaseMVPActivity<ActivityMineIncomeBindin
 
         buildDefaultStatusFilterList();
         reBuildFilter(null, "WITHDRAWAL");
-        queryList(true);
     }
 
     private ArrayList<IncomeFilterBean> mFilterStatusBeans;