Selaa lähdekoodia

修改老师端首页认证弹窗UI,以及我的曲谱

Pq 2 vuotta sitten
vanhempi
commit
372bda240d

+ 5 - 0
BaseLibrary/src/main/res/drawable/shape_border_0086ff_11dp.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <corners android:radius="11dp"/>
+    <stroke android:color="@color/color_0086ff" android:width="1dp"/>
+</shape>

+ 5 - 0
BaseLibrary/src/main/res/drawable/shape_fff1e7_11dp.xml

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

+ 2 - 0
BaseLibrary/src/main/res/values/colors.xml

@@ -118,6 +118,7 @@
     <color name="color_fce2b7">#FCE2B7</color>
     <color name="color_d8fff8">#D8FFF8</color>
     <color name="color_40000000">#40000000</color>
+    <color name="color_fff1e7">#fff1e7</color>
 
     <color name="color_25292e">#25292E</color>
     <color name="color_F8F8F8">#F8F8F8</color>
@@ -141,5 +142,6 @@
     <color name="color_25333333">#25333333</color>
     <color name="color_eeeeee">#EEEEEE</color>
     <color name="color_4877ff">#4877FF</color>
+    <color name="color_ff4902">#ff4902</color>
 
 </resources>

+ 11 - 1
teacher/src/main/java/com/cooleshow/teacher/adapter/MineScoreAdapter.java

@@ -20,6 +20,7 @@ import com.cooleshow.base.utils.GlideUtils;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.bean.MineLiveCourseListBean;
 import com.cooleshow.teacher.bean.MusicSheetListBean;
+import com.cooleshow.teacher.ui.score.MineScoreActivity;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -31,9 +32,12 @@ import java.util.List;
  * 类说明:
  */
 public class MineScoreAdapter extends BaseQuickAdapter<MusicSheetListBean.RowsBean, BaseViewHolder> implements LoadMoreModule {
+    public String scoreStatus = "";
 
-    public MineScoreAdapter() {
+    public MineScoreAdapter(String auditStatus) {
         super(R.layout.layout_mine_score_item);
+        this.scoreStatus = auditStatus;
+        addChildClickViewIds(R.id.tv_take_down);
     }
 
 
@@ -46,6 +50,12 @@ public class MineScoreAdapter extends BaseQuickAdapter<MusicSheetListBean.RowsBe
         TextView tv_teacher_name = helper.getView(R.id.tv_teacher_name);
         RecyclerView rv_mark = helper.getView(R.id.rv_mark);
         ImageView im_music_mark = helper.getView(R.id.im_music_mark);
+        TextView tv_take_down = helper.getView(R.id.tv_take_down);
+        if (TextUtils.equals(scoreStatus, MineScoreActivity.TYPE_PASS)) {
+            tv_take_down.setVisibility(View.VISIBLE);
+        } else {
+            tv_take_down.setVisibility(View.GONE);
+        }
         if (!TextUtils.isEmpty(item.titleImg)) {
             GlideUtils.INSTANCE.loadImage(getContext(), item.titleImg, im_music_mark, R.drawable.icon_music_mark);
         } else {

+ 9 - 0
teacher/src/main/java/com/cooleshow/teacher/api/APIService.java

@@ -526,6 +526,15 @@ public interface APIService {
     @POST(TEACHER_GROUP + "music/sheet/my")
     Observable<BaseResponse<MusicSheetListBean>> queryBuyMusicList(@Body RequestBody body);
 
+
+    /**
+     * 下架曲谱
+     *
+     * @return
+     */
+    @POST(TEACHER_GROUP + "music/sheet/state/{id}")
+    Observable<BaseResponse<Object>> takeDownMusicSheet(@Path("id") String id);
+
     /**
      * 乐谱分享
      *

+ 2 - 0
teacher/src/main/java/com/cooleshow/teacher/contract/MineScoreContract.java

@@ -13,6 +13,8 @@ public interface MineScoreContract {
     interface MineScoreView extends BaseView {
         void queryMusicListSuccess(int page , MusicSheetListBean data);
         void queryMusicListError(int page);
+
+        void takeDownMusicSheetSuccess();
     }
     interface Presenter {
     }

+ 23 - 0
teacher/src/main/java/com/cooleshow/teacher/presenter/score/MineScorePresenter.java

@@ -105,4 +105,27 @@ public class MineScorePresenter extends BasePresenter<MineScoreContract.MineScor
         });
     }
 
+    /**
+     * 下架曲谱
+     *
+     * @param id
+     */
+    public void takeDownMusicSheet(String id) {
+        if (getView() != null) {
+            getView().showLoading();
+        }
+        addSubscribe(create(APIService.class).takeDownMusicSheet(id), new BaseObserver<Object>(getView()) {
+            @Override
+            protected void onSuccess(Object data) {
+                if (getView() != null) {
+                    getView().takeDownMusicSheetSuccess();
+                }
+            }
+
+            @Override
+            public void onError(Throwable e) {
+                super.onError(e);
+            }
+        });
+    }
 }

+ 5 - 0
teacher/src/main/java/com/cooleshow/teacher/ui/main/NewHomeFragment.java

@@ -457,6 +457,11 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
     }
 
     private void handleBadgeUI(String tag) {
+        if (isEnableForBadge(tag, TeacherInfoConstants.DEGREE) && isEnableForBadge(tag, TeacherInfoConstants.TEACHER)) {
+            mViewBinding.viewCertRedPoint.setVisibility(View.GONE);
+        } else {
+            mViewBinding.viewCertRedPoint.setVisibility(View.VISIBLE);
+        }
         int badgeAbleCount = 0;
         boolean enableStyleBadge = isEnableForBadge(tag, STYLE_TYPE);
         if (enableStyleBadge) {

+ 29 - 11
teacher/src/main/java/com/cooleshow/teacher/ui/score/MineScoreFragment.java

@@ -14,12 +14,14 @@ import androidx.recyclerview.widget.RecyclerView;
 
 import com.alibaba.android.arouter.launcher.ARouter;
 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.common.WebConstants;
 import com.cooleshow.base.constanst.Constants;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.fragment.BaseMVPFragment;
+import com.cooleshow.base.utils.UiUtils;
 import com.cooleshow.base.utils.helper.WebStartHelper;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.adapter.MineScoreAdapter;
@@ -96,7 +98,7 @@ public class MineScoreFragment extends BaseMVPFragment<FragmentMineScoreBinding,
         mViewBinding.llUploadScore.setOnClickListener(this);
         LinearLayoutManager manager = new LinearLayoutManager(getContext());
         rvAddress.setLayoutManager(manager);
-        mineScoreAdapter = new MineScoreAdapter();
+        mineScoreAdapter = new MineScoreAdapter(auditStatus);
         LayoutInflater inflater = LayoutInflater.from(getContext());
         View emptyLayout = inflater.inflate(R.layout.layout_empty_conent, null);
         ImageView im_empty_logo = emptyLayout.findViewById(R.id.im_empty_logo);
@@ -143,16 +145,7 @@ public class MineScoreFragment extends BaseMVPFragment<FragmentMineScoreBinding,
         mineScoreAdapter.setOnItemClickListener((adapter, view, position) -> {
             List<MusicSheetListBean.RowsBean> data = mineScoreAdapter.getData();
             MusicSheetListBean.RowsBean rowsBean = data.get(position);
-            if (TextUtils.equals(rowsBean.auditStatus, MineScoreActivity.TYPE_UNPASS)||TextUtils.equals(rowsBean.auditStatus, MineScoreActivity.TYPE_OUT_SALE)) {
-                ARouter.getInstance().build(RouterPath.WebCenter.ACTIVITY_HTML)
-                        .withString(WebConstants.WEB_URL, String.format(WebConstants.EDIT_SCORE_PAGE, rowsBean.id))
-                        .navigation();
-                return;
-            }
-            if (TextUtils.equals(rowsBean.auditStatus, MineScoreActivity.TYPE_OUT_SALE)) {
-                return;
-            }
-            if (TextUtils.equals(rowsBean.auditStatus, MineScoreActivity.TYPE_UNPASS)) {
+            if (TextUtils.equals(auditStatus, MineScoreActivity.TYPE_UNPASS) || TextUtils.equals(auditStatus, MineScoreActivity.TYPE_OUT_SALE)) {
                 ARouter.getInstance().build(RouterPath.WebCenter.ACTIVITY_HTML)
                         .withString(WebConstants.WEB_URL, String.format(WebConstants.EDIT_SCORE_PAGE, rowsBean.id))
                         .navigation();
@@ -167,6 +160,22 @@ public class MineScoreFragment extends BaseMVPFragment<FragmentMineScoreBinding,
                     .navigation();
         });
 
+        mineScoreAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
+            @Override
+            public void onItemChildClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
+                if (view.getId() == R.id.tv_take_down) {
+                    if (UiUtils.isFastClick()) {
+                        return;
+                    }
+                    //下架
+                    if (position < mineScoreAdapter.getData().size()) {
+                        MusicSheetListBean.RowsBean rowsBean = mineScoreAdapter.getData().get(position);
+                        presenter.takeDownMusicSheet(rowsBean.id);
+                    }
+                }
+            }
+        });
+
     }
 
     private int currentPage;
@@ -261,4 +270,13 @@ public class MineScoreFragment extends BaseMVPFragment<FragmentMineScoreBinding,
             }
         }
     }
+
+    @Override
+    public void takeDownMusicSheetSuccess() {
+        if (isDetached()) {
+            return;
+        }
+        currentPage = 1;
+        queryScore(true);
+    }
 }

+ 8 - 1
teacher/src/main/java/com/cooleshow/teacher/widgets/dialog/HomeCertTipDialog.java

@@ -31,6 +31,7 @@ public class HomeCertTipDialog extends Dialog {
     private ImageView mIvTeachersCertStatus;
     private TextView mTvTeachersCertStatus;
     private TextView mTvProgress;
+    private TextView mTvGoCert;
 
     public HomeCertTipDialog(@NonNull Context context) {
         super(context, com.cooleshow.base.R.style.BaseDialog);
@@ -54,7 +55,8 @@ public class HomeCertTipDialog extends Dialog {
             }
         });
 
-        findViewById(R.id.tv_go_cert).setOnClickListener(new View.OnClickListener() {
+        mTvGoCert = findViewById(R.id.tv_go_cert);
+        mTvGoCert.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 ARouter.getInstance().build(RouterPath.WebCenter.ACTIVITY_HTML)
@@ -90,6 +92,11 @@ public class HomeCertTipDialog extends Dialog {
     }
 
     private void setProgress(int progress) {
+        if (progress != 100) {
+            mTvGoCert.setText("去认证");
+        } else {
+            mTvGoCert.setText("我知道了");
+        }
         if (mProgress != null) {
             float value = progress / 100f;
             mProgress.setProgress(progress);

+ 15 - 6
teacher/src/main/res/layout/fragment_new_home_layout.xml

@@ -109,11 +109,11 @@
                     app:layout_constraintTop_toTopOf="parent" />
 
                 <TextView
-                    android:layout_marginTop="2dp"
                     android:id="@+id/tv_score_name"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginStart="25dp"
+                    android:layout_marginTop="2dp"
                     android:text="评分"
                     android:textColor="@color/color_666666"
                     android:textSize="@dimen/sp_12"
@@ -179,12 +179,12 @@
 
                 <View
                     android:id="@+id/view_badge"
+                    android:layout_width="0dp"
+                    android:layout_height="25dp"
                     app:layout_constraintBottom_toBottomOf="@+id/iv_style_badge"
-                    app:layout_constraintTop_toTopOf="@+id/iv_style_badge"
                     app:layout_constraintLeft_toLeftOf="@+id/iv_style_badge"
                     app:layout_constraintRight_toRightOf="@+id/iv_album_badge"
-                    android:layout_width="0dp"
-                    android:layout_height="25dp"/>
+                    app:layout_constraintTop_toTopOf="@+id/iv_style_badge" />
 
                 <TextView
                     android:id="@+id/tv_medal_name"
@@ -226,6 +226,15 @@
                     app:layout_constraintTop_toTopOf="@+id/iv_style_badge" />
 
                 <View
+                    android:id="@+id/view_cert_red_point"
+                    android:layout_width="8dp"
+                    android:layout_height="8dp"
+                    android:background="@drawable/shape_red_point"
+                    android:visibility="gone"
+                    app:layout_constraintRight_toRightOf="@+id/iv_cert"
+                    app:layout_constraintTop_toTopOf="@+id/iv_cert" />
+
+                <View
                     android:id="@+id/top_help_line"
                     android:layout_width="1px"
                     android:layout_height="1px"
@@ -240,7 +249,6 @@
                     android:layout_marginLeft="@dimen/dp_14"
                     android:layout_marginTop="@dimen/dp_10"
                     android:layout_marginRight="@dimen/dp_14"
-                    app:banner_radius="10dp"
                     android:descendantFocusability="blocksDescendants"
                     app:banner_indicator_gravity="right"
                     app:banner_indicator_height="5dp"
@@ -250,6 +258,7 @@
                     app:banner_indicator_normal_width="5dp"
                     app:banner_indicator_selected_color="@color/white"
                     app:banner_indicator_selected_width="12dp"
+                    app:banner_radius="10dp"
                     app:layout_constraintTop_toBottomOf="@+id/top_view_bg" />
 
                 <androidx.cardview.widget.CardView
@@ -339,9 +348,9 @@
                     android:layout_marginTop="@dimen/dp_12"
                     android:layout_marginEnd="14dp"
                     android:visibility="gone"
-                    app:cardElevation="0dp"
                     app:cardBackgroundColor="@color/white"
                     app:cardCornerRadius="10dp"
+                    app:cardElevation="0dp"
                     app:layout_constraintLeft_toLeftOf="parent"
                     app:layout_constraintTop_toBottomOf="@+id/fl_top_menu">
 

+ 26 - 5
teacher/src/main/res/layout/layout_mine_score_item.xml

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="wrap_content">
 
@@ -18,22 +19,27 @@
             android:layout_height="@dimen/dp_40"
             android:layout_marginLeft="11dp"
             android:layout_marginTop="10dp"
-            app:qmui_corner_radius="5dp"
             android:src="@drawable/icon_music_mark"
             app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
+            app:layout_constraintTop_toTopOf="parent"
+            app:qmui_corner_radius="5dp" />
 
         <TextView
             android:id="@+id/tv_name"
-            android:layout_width="wrap_content"
+            android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:layout_marginLeft="14dp"
-            android:text="Exodus(出埃及记)"
+            android:layout_marginEnd="10dp"
+            android:ellipsize="end"
+            android:maxLines="1"
             android:textColor="@color/black_333"
             android:textSize="@dimen/sp_14"
             android:textStyle="bold"
             app:layout_constraintLeft_toRightOf="@+id/im_music_mark"
-            app:layout_constraintTop_toTopOf="@+id/im_music_mark" />
+            app:layout_constraintRight_toLeftOf="@+id/im_state"
+            app:layout_constraintTop_toTopOf="@+id/im_music_mark"
+            tools:text="Exodus(出埃及记)Exodus(出埃及记)Exodus(出埃及记)Exodus(出埃及记)" />
+
 
         <TextView
             android:id="@+id/tv_author_name"
@@ -55,6 +61,21 @@
             app:layout_constraintRight_toRightOf="parent"
             app:layout_constraintTop_toTopOf="@+id/im_music_mark" />
 
+
+        <TextView
+            android:id="@+id/tv_take_down"
+            android:layout_width="@dimen/dp_55"
+            android:layout_height="@dimen/dp_22"
+            android:layout_marginEnd="12dp"
+            android:gravity="center"
+            android:text="下架"
+            android:textColor="@color/color_ff4902"
+            android:textSize="@dimen/sp_12"
+            android:visibility="gone"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="@+id/view_line" />
+
         <View
             android:id="@+id/view_line"
             android:layout_width="match_parent"