Просмотр исходного кода

老师端首页筛选改成全部声部

Pq 2 лет назад
Родитель
Сommit
2eb678c085

+ 3 - 0
teacher/src/main/java/com/cooleshow/teacher/contract/HomeContract.java

@@ -9,6 +9,7 @@ import com.cooleshow.teacher.bean.HomeHotAlbumListBean;
 import com.cooleshow.teacher.bean.HomeHotMusicSheetBean;
 import com.cooleshow.teacher.bean.HomeHotMusicSheetBean;
 import com.cooleshow.teacher.bean.HomeLiveAndVideoBean;
 import com.cooleshow.teacher.bean.HomeLiveAndVideoBean;
 import com.cooleshow.teacher.bean.HomeMenuBean;
 import com.cooleshow.teacher.bean.HomeMenuBean;
+import com.cooleshow.teacher.bean.TeachableInstrumentBean;
 import com.cooleshow.teacher.bean.TeacherUserInfo;
 import com.cooleshow.teacher.bean.TeacherUserInfo;
 import com.cooleshow.usercenter.bean.UserInfo;
 import com.cooleshow.usercenter.bean.UserInfo;
 
 
@@ -35,6 +36,8 @@ public interface HomeContract {
         void getHotMusicSheetListSuccess(HomeHotMusicSheetBean homeHotMusicSheetBean);
         void getHotMusicSheetListSuccess(HomeHotMusicSheetBean homeHotMusicSheetBean);
 
 
         void getAwardStatus(AwardStatusBean awardStatusBean);
         void getAwardStatus(AwardStatusBean awardStatusBean);
+
+        void subjectSelectSuccess(List<TeachableInstrumentBean> data);
     }
     }
 
 
     interface Presenter {
     interface Presenter {

+ 18 - 0
teacher/src/main/java/com/cooleshow/teacher/presenter/main/HomePresenter.java

@@ -15,6 +15,7 @@ import com.cooleshow.teacher.bean.HomeHotAlbumListBean;
 import com.cooleshow.teacher.bean.HomeHotMusicSheetBean;
 import com.cooleshow.teacher.bean.HomeHotMusicSheetBean;
 import com.cooleshow.teacher.bean.HomeLiveAndVideoBean;
 import com.cooleshow.teacher.bean.HomeLiveAndVideoBean;
 import com.cooleshow.teacher.bean.HomeMenuBean;
 import com.cooleshow.teacher.bean.HomeMenuBean;
+import com.cooleshow.teacher.bean.TeachableInstrumentBean;
 import com.cooleshow.teacher.bean.TeacherUserInfo;
 import com.cooleshow.teacher.bean.TeacherUserInfo;
 import com.cooleshow.teacher.contract.HomeContract;
 import com.cooleshow.teacher.contract.HomeContract;
 import com.cooleshow.usercenter.bean.UserInfo;
 import com.cooleshow.usercenter.bean.UserInfo;
@@ -264,4 +265,21 @@ public class HomePresenter extends BasePresenter<HomeContract.HomeView> implemen
             }
             }
         });
         });
     }
     }
+
+    /**
+     * 获取全部声部
+     */
+    public void queryAllSubjects() {
+        if (getView() != null) {
+            getView().showLoading();
+        }
+        addSubscribe(create(APIService.class).subjectSelect(), new BaseObserver<List<TeachableInstrumentBean>>(getView()) {
+            @Override
+            protected void onSuccess(List<TeachableInstrumentBean> data) {
+                if (getView() != null) {
+                    getView().subjectSelectSuccess(data);
+                }
+            }
+        });
+    }
 }
 }

+ 4 - 0
teacher/src/main/java/com/cooleshow/teacher/ui/main/HomeFragment.kt

@@ -440,6 +440,10 @@ class HomeFragment : BaseMVPFragment<FragmentHomeLayoutBinding, HomePresenter>()
         TODO("Not yet implemented")
         TODO("Not yet implemented")
     }
     }
 
 
+    override fun subjectSelectSuccess(data: MutableList<TeachableInstrumentBean>?) {
+        TODO("Not yet implemented")
+    }
+
     /**
     /**
      * 跳转直播课详情页面
      * 跳转直播课详情页面
      *
      *

+ 25 - 19
teacher/src/main/java/com/cooleshow/teacher/ui/main/NewHomeFragment.java

@@ -39,6 +39,7 @@ import com.cooleshow.teacher.bean.HomeLiveAndVideoBean;
 import com.cooleshow.teacher.bean.HomeMenuBean;
 import com.cooleshow.teacher.bean.HomeMenuBean;
 import com.cooleshow.teacher.bean.QuerySubjectBean;
 import com.cooleshow.teacher.bean.QuerySubjectBean;
 import com.cooleshow.teacher.bean.SubjectBean;
 import com.cooleshow.teacher.bean.SubjectBean;
+import com.cooleshow.teacher.bean.TeachableInstrumentBean;
 import com.cooleshow.teacher.bean.TeacherUserInfo;
 import com.cooleshow.teacher.bean.TeacherUserInfo;
 import com.cooleshow.teacher.constants.CourseConstants;
 import com.cooleshow.teacher.constants.CourseConstants;
 import com.cooleshow.teacher.constants.TeacherInfoConstants;
 import com.cooleshow.teacher.constants.TeacherInfoConstants;
@@ -156,6 +157,7 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
         //banner自带图片轮播的适配器
         //banner自带图片轮播的适配器
         mViewBinding.banner.setAdapter(mBannerImageAdapter, true);
         mViewBinding.banner.setAdapter(mBannerImageAdapter, true);
         initListener();
         initListener();
+        presenter.queryAllSubjects();
     }
     }
 
 
 
 
@@ -511,6 +513,29 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
         }
         }
     }
     }
 
 
+    @Override
+    public void subjectSelectSuccess(List<TeachableInstrumentBean> data) {
+        if (isDetached() || !isAdded()) {
+            return;
+        }
+        //添加所有声部
+        subjectBeanList.clear();
+        if (data != null && data.size() > 0) {
+            for (int i = 0; i < data.size(); i++) {
+                TeachableInstrumentBean teachableInstrumentBean = data.get(i);
+                SubjectBean subjectBean = new SubjectBean(teachableInstrumentBean.name, String.valueOf(teachableInstrumentBean.id));
+                subjectBeanList.add(subjectBean);
+                if( teachableInstrumentBean.subjects!=null &&  teachableInstrumentBean.subjects.size()>0){
+                    for (int j = 0; j < teachableInstrumentBean.subjects.size(); j++) {
+                        TeachableInstrumentBean child = teachableInstrumentBean.subjects.get(j);
+                        SubjectBean childSubjectBean = new SubjectBean(child.name, String.valueOf(child.id));
+                        subjectBeanList.add(childSubjectBean);
+                    }
+                }
+            }
+        }
+    }
+
     private void showAwardTipDialog() {
     private void showAwardTipDialog() {
         if (UserHelper.getShowAwardDialogTipIsCompleted()) {
         if (UserHelper.getShowAwardDialogTipIsCompleted()) {
             return;
             return;
@@ -533,7 +558,6 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
         //处理声部
         //处理声部
         currentSubjectId = teacherUserInfo.getDefaultSubject();
         currentSubjectId = teacherUserInfo.getDefaultSubject();
         mViewBinding.tvCurrentSubject.setText(!TextUtils.isEmpty(teacherUserInfo.defaultSubjectName) ? teacherUserInfo.defaultSubjectName : "全部");
         mViewBinding.tvCurrentSubject.setText(!TextUtils.isEmpty(teacherUserInfo.defaultSubjectName) ? teacherUserInfo.defaultSubjectName : "全部");
-        handleSubjects(teacherUserInfo.subjectName, teacherUserInfo.subjectId);
         refreshMusicData();
         refreshMusicData();
         //昵称
         //昵称
         if (teacherUserInfo != null) {
         if (teacherUserInfo != null) {
@@ -589,24 +613,6 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
         }
         }
     }
     }
 
 
-    private void handleSubjects(String subjectName, String subjectId) {
-        try {
-            subjectBeanList.clear();
-            String[] subjectNames = UiUtils.splitSubjectName(subjectName);
-            String[] subjectIds = UiUtils.splitSubjectId(subjectId);
-            if (subjectIds != null && subjectIds.length > 0) {
-                for (int i = 0; i < subjectIds.length; i++) {
-                    String id = subjectIds[i];
-                    String name = subjectNames[i];
-                    SubjectBean querySubjectBean = new SubjectBean(name, id);
-                    subjectBeanList.add(querySubjectBean);
-                }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
     private void handleBadgeUI(String tag) {
     private void handleBadgeUI(String tag) {
         int badgeAbleCount = 0;
         int badgeAbleCount = 0;
         boolean enableStyleBadge = isEnableForBadge(tag, STYLE_TYPE);
         boolean enableStyleBadge = isEnableForBadge(tag, STYLE_TYPE);