Explorar o código

增加老师端个人主页趣纠课程设置列表和删除接口业务流程

Pq hai 8 meses
pai
achega
3f87bbbe95

+ 6 - 3
teacher/src/main/java/com/cooleshow/teacher/contract/InterestCoursePageContract.java

@@ -1,9 +1,12 @@
 package com.cooleshow.teacher.contract;
 package com.cooleshow.teacher.contract;
 
 
 import com.cooleshow.base.presenter.view.BaseView;
 import com.cooleshow.base.presenter.view.BaseView;
+import com.cooleshow.teacher.bean.CourseOptionListBean;
 import com.cooleshow.teacher.bean.VideoCourseListBean;
 import com.cooleshow.teacher.bean.VideoCourseListBean;
 import com.cooleshow.usercenter.bean.TeacherUserInfo;
 import com.cooleshow.usercenter.bean.TeacherUserInfo;
 
 
+import java.util.ArrayList;
+
 /**
 /**
  * 创建日期:2022/6/7 9:41
  * 创建日期:2022/6/7 9:41
  *
  *
@@ -13,11 +16,11 @@ import com.cooleshow.usercenter.bean.TeacherUserInfo;
 public interface InterestCoursePageContract {
 public interface InterestCoursePageContract {
 
 
     interface View extends BaseView {
     interface View extends BaseView {
-        void queryVideoCourseGroupSuccess(int page, VideoCourseListBean data);
 
 
-        void queryVideoCourseGroupError(int page);
+        void queryInterestCourseOptionsSuccess(ArrayList<CourseOptionListBean> data);
+
+        void delOptionSuccess();
 
 
-        void getTeacherInfoSuccess(TeacherUserInfo data);
 
 
     }
     }
 
 

+ 21 - 18
teacher/src/main/java/com/cooleshow/teacher/presenter/homePage/InterestCoursePagePresenter.java

@@ -5,6 +5,7 @@ import com.cooleshow.base.presenter.BasePresenter;
 import com.cooleshow.base.rx.BaseObserver;
 import com.cooleshow.base.rx.BaseObserver;
 import com.cooleshow.base.utils.RequestBodyUtil;
 import com.cooleshow.base.utils.RequestBodyUtil;
 import com.cooleshow.teacher.api.APIService;
 import com.cooleshow.teacher.api.APIService;
+import com.cooleshow.teacher.bean.CourseOptionListBean;
 import com.cooleshow.teacher.bean.VideoCourseListBean;
 import com.cooleshow.teacher.bean.VideoCourseListBean;
 import com.cooleshow.teacher.contract.InterestCoursePageContract;
 import com.cooleshow.teacher.contract.InterestCoursePageContract;
 import com.cooleshow.teacher.contract.VIPCustomCoursePageContract;
 import com.cooleshow.teacher.contract.VIPCustomCoursePageContract;
@@ -13,6 +14,9 @@ import com.cooleshow.usercenter.bean.TeacherUserInfo;
 import org.json.JSONException;
 import org.json.JSONException;
 import org.json.JSONObject;
 import org.json.JSONObject;
 
 
+import java.util.ArrayList;
+import java.util.HashMap;
+
 /**
 /**
  * 创建日期:2022/6/7 9:40
  * 创建日期:2022/6/7 9:40
  *
  *
@@ -20,41 +24,40 @@ import org.json.JSONObject;
  * 类说明:
  * 类说明:
  */
  */
 public class InterestCoursePagePresenter extends BasePresenter<InterestCoursePageContract.View> implements InterestCoursePageContract.Presenter {
 public class InterestCoursePagePresenter extends BasePresenter<InterestCoursePageContract.View> implements InterestCoursePageContract.Presenter {
-    public void queryVideoCourseGroup(boolean isLoading) {
+    public void queryVIPCourseOptions(boolean isLoading) {
         if (isLoading && getView() != null) {
         if (isLoading && getView() != null) {
             getView().showLoading();
             getView().showLoading();
         }
         }
         JSONObject jsonObject = new JSONObject();
         JSONObject jsonObject = new JSONObject();
         try {
         try {
-            jsonObject.putOpt("auditStatus","PASS");
-            jsonObject.putOpt("rows", Constants.DEFAULT_DATA_SIZE);
+            jsonObject.putOpt("courseType",Constants.INTEREST_COURSE_TAG);
+            jsonObject.putOpt("page", 1);
+            jsonObject.putOpt("rows", Integer.MAX_VALUE);
         } catch (JSONException e) {
         } catch (JSONException e) {
             e.printStackTrace();
             e.printStackTrace();
         }
         }
-        addSubscribe(create(APIService.class).getVideoCourses(RequestBodyUtil.convertToRequestBodyJson(jsonObject.toString())), new BaseObserver<VideoCourseListBean>(getView()) {
+        addSubscribe(create(APIService.class).getVIPCourseOpetionsList(RequestBodyUtil.convertToRequestBodyJson(jsonObject.toString())), new BaseObserver<ArrayList<CourseOptionListBean>>(getView()) {
             @Override
             @Override
-            protected void onSuccess(VideoCourseListBean data) {
+            protected void onSuccess(ArrayList<CourseOptionListBean> data) {
                 if (getView() != null) {
                 if (getView() != null) {
-//                    getView().queryVideoCourseGroupSuccess(page, data);
-                }
-            }
-
-            @Override
-            public void onError(Throwable e) {
-                super.onError(e);
-                if (getView() != null) {
-//                    getView().queryVideoCourseGroupError(page);
+                    getView().queryInterestCourseOptionsSuccess(data);
                 }
                 }
             }
             }
         });
         });
     }
     }
 
 
-    public void getTeacherUserInfo() {
-        addSubscribe(create(APIService.class).getTeacherUserInfo(), new BaseObserver<TeacherUserInfo>(getView()) {
+
+    public void delCourseOptions(String id) {
+        if (getView() != null) {
+            getView().showLoading();
+        }
+        HashMap<String, String> map = new HashMap<>();
+        map.put("id", id);
+        addSubscribe(create(APIService.class).delVIPCourseOpetions(map), new BaseObserver<Object>(getView()) {
             @Override
             @Override
-            protected void onSuccess(TeacherUserInfo data) {
+            protected void onSuccess(Object data) {
                 if (getView() != null) {
                 if (getView() != null) {
-                    getView().getTeacherInfoSuccess(data);
+                    getView().delOptionSuccess();
                 }
                 }
             }
             }
         });
         });

+ 71 - 27
teacher/src/main/java/com/cooleshow/teacher/ui/homepage/InterestCorrectCoursePageFragment.java

@@ -3,12 +3,18 @@ package com.cooleshow.teacher.ui.homepage;
 import android.view.View;
 import android.view.View;
 
 
 import com.chad.library.adapter.base.BaseQuickAdapter;
 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.OnItemClickListener;
 import com.cooleshow.base.ui.fragment.BaseMVPFragment;
 import com.cooleshow.base.ui.fragment.BaseMVPFragment;
+import com.cooleshow.base.utils.ToastUtil;
+import com.cooleshow.base.utils.UiUtils;
 import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.base.widgets.EmptyViewLayout;
+import com.cooleshow.base.widgets.dialog.CommonDialog;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.adapter.HomePageVipCourseAdapter;
 import com.cooleshow.teacher.adapter.HomePageVipCourseAdapter;
+import com.cooleshow.teacher.bean.CourseOptionListBean;
 import com.cooleshow.teacher.bean.VideoCourseListBean;
 import com.cooleshow.teacher.bean.VideoCourseListBean;
+import com.cooleshow.teacher.contract.InterestCoursePageContract;
 import com.cooleshow.teacher.contract.VideoCoursePageContract;
 import com.cooleshow.teacher.contract.VideoCoursePageContract;
 import com.cooleshow.teacher.databinding.FragmentInterestCorrectCoursePageLayoutBinding;
 import com.cooleshow.teacher.databinding.FragmentInterestCorrectCoursePageLayoutBinding;
 import com.cooleshow.teacher.databinding.FragmentVipCustomCoursePageLayoutBinding;
 import com.cooleshow.teacher.databinding.FragmentVipCustomCoursePageLayoutBinding;
@@ -18,6 +24,8 @@ import com.cooleshow.usercenter.bean.TeacherUserInfo;
 import com.scwang.smart.refresh.layout.api.RefreshLayout;
 import com.scwang.smart.refresh.layout.api.RefreshLayout;
 import com.scwang.smart.refresh.layout.listener.OnRefreshListener;
 import com.scwang.smart.refresh.layout.listener.OnRefreshListener;
 
 
+import java.util.ArrayList;
+
 import androidx.annotation.NonNull;
 import androidx.annotation.NonNull;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 import androidx.recyclerview.widget.RecyclerView;
@@ -25,9 +33,9 @@ import androidx.recyclerview.widget.RecyclerView;
 /**
 /**
  * Author by pq, Date on 2022/5/9.
  * Author by pq, Date on 2022/5/9.
  */
  */
-public class InterestCorrectCoursePageFragment extends BaseMVPFragment<FragmentInterestCorrectCoursePageLayoutBinding, InterestCoursePagePresenter> implements VideoCoursePageContract.VideoCoursePageView, View.OnClickListener {
+public class InterestCorrectCoursePageFragment extends BaseMVPFragment<FragmentInterestCorrectCoursePageLayoutBinding, InterestCoursePagePresenter> implements InterestCoursePageContract.View, View.OnClickListener {
     public static final String TIP_CACHE_KEY = "interest_tip_key";
     public static final String TIP_CACHE_KEY = "interest_tip_key";
-    private HomePageVipCourseAdapter mPageVipCourseAdapter;
+    private HomePageVipCourseAdapter mAdapter;
 
 
     @Override
     @Override
     protected void initView(View rootView) {
     protected void initView(View rootView) {
@@ -38,36 +46,69 @@ public class InterestCorrectCoursePageFragment extends BaseMVPFragment<FragmentI
             }
             }
         });
         });
 
 
-        RecyclerView rvAddress = mViewBinding.recyclerView;
-        LinearLayoutManager manager = new LinearLayoutManager(getContext());
-        rvAddress.setLayoutManager(manager);
-        mPageVipCourseAdapter = new HomePageVipCourseAdapter();
-        EmptyViewLayout mEmptyView = new EmptyViewLayout(getContext());
-        mEmptyView.setContent(com.cooleshow.base.R.drawable.icon_empty_course, "暂无课程");
-        mPageVipCourseAdapter.setEmptyView(mEmptyView);
-        rvAddress.setAdapter(mPageVipCourseAdapter);
-        mPageVipCourseAdapter.setOnItemClickListener(new OnItemClickListener() {
-            @Override
-            public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
-            }
-        });
-
     }
     }
 
 
 
 
     @Override
     @Override
     protected void initData() {
     protected void initData() {
+        mAdapter = new HomePageVipCourseAdapter();
+        EmptyViewLayout emptyViewLayout = new EmptyViewLayout(getContext());
+        emptyViewLayout.setContent(com.cooleshow.base.R.drawable.icon_empty_course, "暂无课程");
+        mAdapter.setEmptyView(emptyViewLayout);
+        mViewBinding.recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
+        mViewBinding.recyclerView.setAdapter(mAdapter);
+
+        initListener();
+
+    }
+
+    private void initListener() {
         mViewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
         mViewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
             @Override
             @Override
             public void onRefresh(@NonNull RefreshLayout refreshLayout) {
             public void onRefresh(@NonNull RefreshLayout refreshLayout) {
-                queryCourse(true);
+                queryCourse(false);
             }
             }
         });
         });
 
 
+        mAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
+            @Override
+            public void onItemChildClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
+                int id = view.getId();
+                if (UiUtils.isFastClick()) {
+                    return;
+                }
+                if (id == R.id.fl_del) {
+                    CourseOptionListBean courseOptionListBean = mAdapter.getData().get(position);
+                    showConfirmDialog(courseOptionListBean.getId());
+                    return;
+                }
+            }
+        });
+    }
+
+    private void showConfirmDialog(String id) {
+        CommonDialog commonDialog = new CommonDialog(getContext());
+        commonDialog.show();
+        commonDialog.setTitle("提示");
+        commonDialog.setContent("确认删除该课程方案吗?");
+        commonDialog.setConfirmText("确认");
+        commonDialog.setOnCancelClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                commonDialog.dismiss();
+            }
+        });
+        commonDialog.setOnConfirmClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                commonDialog.dismiss();
+                presenter.delCourseOptions(id);
+            }
+        });
     }
     }
 
 
     private void queryCourse(boolean isLoading) {
     private void queryCourse(boolean isLoading) {
-        presenter.queryVideoCourseGroup(isLoading);
+        presenter.queryVIPCourseOptions(isLoading);
     }
     }
 
 
     @Override
     @Override
@@ -82,28 +123,31 @@ public class InterestCorrectCoursePageFragment extends BaseMVPFragment<FragmentI
 
 
     @Override
     @Override
     public void onClick(View view) {
     public void onClick(View view) {
-        switch (view.getId()) {
-        }
-    }
-
-    @Override
-    public void queryVideoCourseGroupSuccess(int page, VideoCourseListBean data) {
     }
     }
 
 
     @Override
     @Override
     public void onResume() {
     public void onResume() {
         super.onResume();
         super.onResume();
+        queryCourse(false);
     }
     }
 
 
     @Override
     @Override
-    public void queryVideoCourseGroupError(int page) {
+    public void queryInterestCourseOptionsSuccess(ArrayList<CourseOptionListBean> data) {
         if (isDetached()) {
         if (isDetached()) {
             return;
             return;
         }
         }
+        if (mAdapter != null) {
+            mViewBinding.refreshLayout.finishRefresh();
+            mAdapter.setNewInstance(data);
+        }
     }
     }
 
 
     @Override
     @Override
-    public void getTeacherInfoSuccess(TeacherUserInfo teacherUserInfo) {
-
+    public void delOptionSuccess() {
+        if (isDetached()) {
+            return;
+        }
+        ToastUtil.getInstance().showShort("删除成功");
+        queryCourse(false);
     }
     }
 }
 }

+ 1 - 18
teacher/src/main/java/com/cooleshow/teacher/ui/homepage/VIPCustomCoursePageFragment.java

@@ -38,7 +38,6 @@ import androidx.recyclerview.widget.RecyclerView;
  * Author by pq, Date on 2022/5/9.
  * Author by pq, Date on 2022/5/9.
  */
  */
 public class VIPCustomCoursePageFragment extends BaseMVPFragment<FragmentVipCustomCoursePageLayoutBinding, VIPCustomCoursePagePresenter> implements VIPCustomCoursePageContract.View, View.OnClickListener {
 public class VIPCustomCoursePageFragment extends BaseMVPFragment<FragmentVipCustomCoursePageLayoutBinding, VIPCustomCoursePagePresenter> implements VIPCustomCoursePageContract.View, View.OnClickListener {
-    private HomePageVipCourseAdapter mPageVipCourseAdapter;
     public static final String TIP_CACHE_KEY = "vip_course_tip_key";
     public static final String TIP_CACHE_KEY = "vip_course_tip_key";
     private HomePageVipCourseAdapter mAdapter;
     private HomePageVipCourseAdapter mAdapter;
 
 
@@ -53,22 +52,6 @@ public class VIPCustomCoursePageFragment extends BaseMVPFragment<FragmentVipCust
                         .navigation();
                         .navigation();
             }
             }
         });
         });
-
-        RecyclerView rvAddress = mViewBinding.recyclerView;
-        LinearLayoutManager manager = new LinearLayoutManager(getContext());
-        rvAddress.setLayoutManager(manager);
-        mPageVipCourseAdapter = new HomePageVipCourseAdapter();
-        EmptyViewLayout mEmptyView = new EmptyViewLayout(getContext());
-        mEmptyView.setContent(com.cooleshow.base.R.drawable.icon_empty_course, "暂无课程");
-        mPageVipCourseAdapter.setEmptyView(mEmptyView);
-        rvAddress.setAdapter(mPageVipCourseAdapter);
-
-        mPageVipCourseAdapter.setOnItemClickListener(new OnItemClickListener() {
-            @Override
-            public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
-            }
-        });
-
     }
     }
 
 
 
 
@@ -88,7 +71,7 @@ public class VIPCustomCoursePageFragment extends BaseMVPFragment<FragmentVipCust
         mViewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
         mViewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
             @Override
             @Override
             public void onRefresh(@NonNull RefreshLayout refreshLayout) {
             public void onRefresh(@NonNull RefreshLayout refreshLayout) {
-                queryCourse(true);
+                queryCourse(false);
             }
             }
         });
         });