Quellcode durchsuchen

增加机构端首页专辑跳转流程

Pq vor 1 Jahr
Ursprung
Commit
9493f4a8be

+ 2 - 1
BaseLibrary/src/main/java/com/cooleshow/base/bean/CoursewareInfoBean.java

@@ -151,6 +151,7 @@ public class CoursewareInfoBean {
             private String id;
             private String sn;
             private String type;
+            private String typeCode;
             private String content;
             private String courseTypeCode;
 
@@ -203,7 +204,7 @@ public class CoursewareInfoBean {
             }
 
             public String getType() {
-                return type;
+                return typeCode;
             }
 
             public void setType(String type) {

+ 11 - 1
institution/src/main/java/com/cooleshow/institution/stu/adapter/SwitchAlbumAdapter.java

@@ -8,9 +8,12 @@ import android.widget.ImageView;
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.viewholder.BaseViewHolder;
 import com.cooleshow.base.utils.GlideImageLoaderUtils;
+import com.cooleshow.base.utils.TimeUtils;
 import com.cooleshow.institution.stu.R;
 import com.cooleshow.institution.stu.bean.AlbumListBean;
 
+import java.util.Date;
+
 import androidx.annotation.NonNull;
 
 /**
@@ -35,7 +38,14 @@ public class SwitchAlbumAdapter extends BaseQuickAdapter<AlbumListBean, BaseView
     @Override
     protected void convert(@NonNull BaseViewHolder holder, AlbumListBean albumListBean) {
         holder.setText(R.id.tv_name, albumListBean.getName());
-        String tip = albumListBean.isStatus() ? "到期时间:xxx" : "暂未开通";
+        String expireTime = albumListBean.getExpireTime();
+        String tip = "";
+        if (TextUtils.isEmpty(expireTime)) {
+            tip = "暂未开通";
+        } else {
+            Date date = TimeUtils.string2Date(expireTime);
+            tip = "到期时间:" + TimeUtils.date2String(date, TimeUtils.getSafeDateFormatForDay());
+        }
         holder.setText(R.id.tv_des, tip);
 
         ImageView iv_cover = holder.getView(R.id.iv_cover);

+ 1 - 1
institution/src/main/java/com/cooleshow/institution/stu/api/APIService.java

@@ -79,7 +79,7 @@ public interface APIService {
      * @return
      */
     @GET(STUDENT_GROUP + "tenantGroupAlbum/buyAlbumInfoDetail")
-    Observable<BaseResponse<AlbumDetailBean>> getAlbumDetail(@Query("tenantAlbumId") String tenantAlbumId);
+    Observable<BaseResponse<AlbumDetailBean>> getAlbumDetail(@Query("tenantGroupAlbumId") String tenantGroupAlbumId);
 
     /**
      * app首页卡片专辑

+ 9 - 0
institution/src/main/java/com/cooleshow/institution/stu/bean/AlbumListBean.java

@@ -50,6 +50,15 @@ public class AlbumListBean {
     private String subjectTypes;
     private String tenantGroupAlbumId;
     private String tenantGroupId;
+    private String expireTime;
+
+    public String getExpireTime() {
+        return expireTime;
+    }
+
+    public void setExpireTime(String expireTime) {
+        this.expireTime = expireTime;
+    }
 
     public double getActualPrice() {
         return actualPrice;

+ 4 - 1
institution/src/main/java/com/cooleshow/institution/stu/constants/JGWebConstants.java

@@ -35,9 +35,12 @@ public class JGWebConstants {
     public static final String RANK_BOARD = getBaseUrlH5() + "/#/ranking-list";
     public static final String ACTIVATION_CODE = getBaseUrlH5() + "/#/activation-code";
     public static final String TRAIN_TOOLS = getBaseUrlH5() + "/#/train-tool?subjectType=%s";
-    public static final String TRAIN_LIST = getBaseUrlH5() + "/#/train-list?subjectType=%s";
+    public static final String TRAIN_TOOLS2 = getBaseUrlH5() + "/#/train-tool?subjectType=%s&albumId=%s&tenantGroupAlbumId=%s";
+    public static final String TRAIN_LIST = getBaseUrlH5() + "/#/train-list?subjectType=%s&albumId=%s&tenantGroupAlbumId=%s";
+    public static final String ACCOMPANY_HELP = getBaseUrlH5() + "/#/lessonCourseware?albumId=%s&tenantGroupAlbumId=%s";
     //我的乐谱
     public static final String MUSIC_PERSONAL = getBaseUrlH5() + "/#/music-personal";
+
     private static String getBaseUrlH5() {
         return BuildConfig.BASE_URL_H5_JG;
     }

+ 17 - 2
institution/src/main/java/com/cooleshow/institution/stu/constants/JGWebStartHelper.java

@@ -121,10 +121,17 @@ public class JGWebStartHelper {
                 .navigation();
     }
 
-    public static void startTrainList(String type){
+    public static void startTrainTools2(String subjectType,String  albumId,String tenantGroupAlbumId){
         ARouter.getInstance()
                 .build(RouterPath.WebCenter.ACTIVITY_HTML)
-                .withString(WebConstants.WEB_URL, String.format(JGWebConstants.TRAIN_LIST,type))
+                .withString(WebConstants.WEB_URL, String.format(JGWebConstants.TRAIN_TOOLS2,subjectType,albumId,tenantGroupAlbumId))
+                .navigation();
+    }
+
+    public static void startTrainList(String type,String albumId,String tenantGroupAlbumId){
+        ARouter.getInstance()
+                .build(RouterPath.WebCenter.ACTIVITY_HTML)
+                .withString(WebConstants.WEB_URL, String.format(JGWebConstants.TRAIN_LIST,type,albumId,tenantGroupAlbumId))
                 .navigation();
     }
 
@@ -134,4 +141,12 @@ public class JGWebStartHelper {
                 .withString(WebConstants.WEB_URL,JGWebConstants.MUSIC_PERSONAL)
                 .navigation();
     }
+
+    public static void startAccompanyHelp(String albumId) {
+        ARouter.getInstance()
+                .build(RouterPath.WebCenter.ACTIVITY_HTML)
+                .withString(WebConstants.WEB_URL, String.format(JGWebConstants.ACCOMPANY_HELP,albumId))
+                .navigation();
+
+    }
 }

+ 1 - 1
institution/src/main/java/com/cooleshow/institution/stu/presenter/HomeCardPresenter.java

@@ -20,7 +20,7 @@ import org.json.JSONObject;
  * Author by pq, Date on 2023/9/11.
  */
 public class HomeCardPresenter extends BasePresenter<HomeCardContract.HomeContractView> {
-    public void getAlbumList(String id) {
+    public void getAlbumDetail(String id) {
         addSubscribe(create(APIService.class).getAlbumDetail(id), new BaseObserver<AlbumDetailBean>(getView()) {
             @Override
             protected void onSuccess(AlbumDetailBean data) {

+ 26 - 11
institution/src/main/java/com/cooleshow/institution/stu/ui/main/CardAnimFragment.java

@@ -18,15 +18,23 @@ import com.cooleshow.institution.stu.databinding.FgCardAnimLayoutBinding;
 public class CardAnimFragment extends BaseFragment<FgCardAnimLayoutBinding> {
     private int pageType = HomePageType.EMPTY.getValue();
     private String pageTypeValue = HomePageType.EMPTY.getType();
+    private String albumId = "";
+    private String tenantGroupAlbumId = "";
     private int mStatus;
 
-    private boolean isCanPlay =false;
+    private boolean isCanPlay = false;
 
     public static CardAnimFragment newInstance(int type, String typeValue, int status) {
+        return newInstance(type, typeValue, "", "", status);
+    }
+
+    public static CardAnimFragment newInstance(int type, String typeValue, String albumId, String tenantGroupAlbumId, int status) {
         Bundle bundle = new Bundle();
         bundle.putInt("type", type);
         bundle.putString("typeValue", typeValue);
         bundle.putInt("status", status);
+        bundle.putString("albumId", albumId);
+        bundle.putString("tenantGroupAlbumId", tenantGroupAlbumId);
         CardAnimFragment cardAnimFragment = new CardAnimFragment();
         cardAnimFragment.setArguments(bundle);
         return cardAnimFragment;
@@ -40,9 +48,12 @@ public class CardAnimFragment extends BaseFragment<FgCardAnimLayoutBinding> {
     @Override
     protected void initView(View rootView) {
         if (getArguments() != null) {
-            pageType = getArguments().getInt("type", HomePageType.EMPTY.getValue());
-            pageTypeValue = getArguments().getString("typeValue", HomePageType.EMPTY.getType());
-            mStatus = getArguments().getInt("status", -1);
+            Bundle arguments = getArguments();
+            pageType = arguments.getInt("type", HomePageType.EMPTY.getValue());
+            pageTypeValue = arguments.getString("typeValue", HomePageType.EMPTY.getType());
+            mStatus = arguments.getInt("status", -1);
+            albumId = arguments.getString("albumId", "");
+            tenantGroupAlbumId = arguments.getString("tenantGroupAlbumId", "");
         }
         loadAnim();
         if (mStatus != -1) {
@@ -55,11 +66,15 @@ public class CardAnimFragment extends BaseFragment<FgCardAnimLayoutBinding> {
         mViewBinding.viewClick.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                if(UiUtils.isFastClick()){
+                if (UiUtils.isFastClick()) {
                     return;
                 }
                 if (!TextUtils.isEmpty(pageTypeValue)) {
-                    JGWebStartHelper.startTrainList(pageTypeValue);
+                    if (TextUtils.equals(pageTypeValue, HomePageType.ACCOMPANY_HELP.getType())) {
+                        JGWebStartHelper.startAccompanyHelp(albumId);
+                        return;
+                    }
+                    JGWebStartHelper.startTrainList(pageTypeValue, albumId,tenantGroupAlbumId);
                 }
             }
         });
@@ -84,17 +99,17 @@ public class CardAnimFragment extends BaseFragment<FgCardAnimLayoutBinding> {
             assetName = "lottieHome/accompany_help.json";
         }
         mViewBinding.viewLiveAnim.setAnimation(assetName);
-        if(isCanPlay){
+        if (isCanPlay) {
             mViewBinding.viewLiveAnim.playAnimation();
         }
     }
 
     public void startAnim(boolean isStart) {
         this.isCanPlay = isStart;
-        if(!isAdded()){
+        if (!isAdded()) {
             return;
         }
-        if(mViewBinding == null){
+        if (mViewBinding == null) {
             return;
         }
         if (isStart) {
@@ -120,10 +135,10 @@ public class CardAnimFragment extends BaseFragment<FgCardAnimLayoutBinding> {
         mViewBinding.viewUnlockAnim.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                if(UiUtils.isFastClick()){
+                if (UiUtils.isFastClick()) {
                     return;
                 }
-                JGWebStartHelper.startTrainTools(pageTypeValue);
+                JGWebStartHelper.startTrainTools2(pageTypeValue, albumId,tenantGroupAlbumId);
             }
         });
     }

+ 12 - 5
institution/src/main/java/com/cooleshow/institution/stu/ui/main/HomeCardFragment.java

@@ -53,6 +53,7 @@ public class HomeCardFragment extends BaseMVPFragment<FgHomeCardLayoutBinding, H
     private HomeCardPageAdapter mCardPageAdapter;
     private HomeViewModel mHomeViewModel;
     private String defaultAlbumId = "";
+    private String tenantGroupAlbumId = "";
 
     private ViewPager2.OnPageChangeCallback mPageChangeCallback = new ViewPager2.OnPageChangeCallback() {
         @Override
@@ -153,7 +154,7 @@ public class HomeCardFragment extends BaseMVPFragment<FgHomeCardLayoutBinding, H
         if (mSwitchAlbumView == null) {
             mSwitchAlbumView = new SwitchAlbumView(getContext());
         }
-        mSwitchAlbumView.setData(defaultAlbumId, allAlbumDatas);
+        mSwitchAlbumView.setData(tenantGroupAlbumId, allAlbumDatas);
         ViewGroup parent = (ViewGroup) mSwitchAlbumView.getParent();
         if (parent != null) {
             parent.removeView(mSwitchAlbumView);
@@ -164,7 +165,7 @@ public class HomeCardFragment extends BaseMVPFragment<FgHomeCardLayoutBinding, H
 //            }
 //        });
 
-        ExpandAndCollapseAnimPopupWindow popupWindow = new ExpandAndCollapseAnimPopupWindow(mSwitchAlbumView,ViewGroup.LayoutParams.MATCH_PARENT,
+        ExpandAndCollapseAnimPopupWindow popupWindow = new ExpandAndCollapseAnimPopupWindow(mSwitchAlbumView, ViewGroup.LayoutParams.MATCH_PARENT,
                 ViewGroup.LayoutParams.WRAP_CONTENT);
         popupWindow.setOnEventListener(new ExpandAndCollapseAnimPopupWindow.OnEventListener() {
             @Override
@@ -237,10 +238,14 @@ public class HomeCardFragment extends BaseMVPFragment<FgHomeCardLayoutBinding, H
         }
         this.currentPageTypeList = pageList;
 
+        if (currentPageTypeList.size() == 0) {
+            loadEmpty(Constants.HOME_PAGE_STATUS_EMPTY);
+            return;
+        }
         ArrayList<Fragment> list = new ArrayList<>();
         for (int i = 0; i < pageList.size(); i++) {
             HomePageType page = pageList.get(i);
-            CardAnimFragment cardAnimFragment = CardAnimFragment.newInstance(page.getValue(), page.getType(), tenantAlbumStatus);
+            CardAnimFragment cardAnimFragment = CardAnimFragment.newInstance(page.getValue(), page.getType(), defaultAlbumId, tenantGroupAlbumId, tenantAlbumStatus);
             list.add(cardAnimFragment);
         }
         this.currentStatus = tenantAlbumStatus;
@@ -314,8 +319,10 @@ public class HomeCardFragment extends BaseMVPFragment<FgHomeCardLayoutBinding, H
 
     private void setDefaultText(AlbumListBean defaultSelectAlbum) {
         this.defaultAlbumId = defaultSelectAlbum.getId();
+        this.tenantGroupAlbumId = defaultSelectAlbum.getTenantGroupAlbumId();
+        UserHelper.setCustomCache(UserHelper.DEFAULT_ALBUM_ID, tenantGroupAlbumId);
         mViewBinding.tvSwitchAlbum.setText(defaultSelectAlbum.getName());
-        presenter.getAlbumList(defaultAlbumId);
+        presenter.getAlbumDetail(tenantGroupAlbumId);
     }
 
     private AlbumListBean getDefaultSelectAlbum(ArrayList<AlbumListBean> data) {
@@ -325,7 +332,7 @@ public class HomeCardFragment extends BaseMVPFragment<FgHomeCardLayoutBinding, H
         }
         for (int i = 0; i < data.size(); i++) {
             AlbumListBean albumListBean = data.get(i);
-            if (TextUtils.equals(defaultAlbumId, albumListBean.getId())) {
+            if (TextUtils.equals(defaultAlbumId, albumListBean.getTenantGroupAlbumId())) {
                 return albumListBean;
             }
         }

+ 1 - 1
institution/src/main/res/layout/fg_home_card_layout.xml

@@ -44,7 +44,7 @@
 
 
     <TextView
-        app:layout_constraintRight_toLeftOf="@+id/iv_more_track"
+        app:layout_constraintRight_toLeftOf="@+id/tv_switch_album"
         android:id="@+id/tv_name"
         android:layout_width="0dp"
         android:maxLines="1"

+ 1 - 0
institution/src/main/res/layout/jg_activity_personal_setting.xml

@@ -17,6 +17,7 @@
 
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
+            android:paddingBottom="15dp"
             android:layout_height="wrap_content">