Browse Source

修改bug一堆

Ryan8057 3 years ago
parent
commit
96ed0b06a0
71 changed files with 942 additions and 227 deletions
  1. 2 1
      BaseLibrary/build.gradle
  2. 8 0
      BaseLibrary/src/main/java/com/cooleshow/base/common/WebConstants.java
  3. 7 0
      BaseLibrary/src/main/java/com/cooleshow/base/utils/FileUtils.java
  4. 8 0
      BaseLibrary/src/main/res/drawable/bg_teachable_instrument.xml
  5. 0 2
      rong_im/common_im_ui/src/main/java/com/common/im/presenter/ChatGroupSettingPresenter.java
  6. 0 2
      rong_im/common_im_ui/src/main/java/com/common/im/presenter/MessagePresenter.java
  7. 0 1
      rong_im/common_im_ui/src/main/java/com/common/im/ui/MessageFragment.java
  8. 9 2
      rong_im/kit/src/main/java/io/rong/imkit/conversation/messgelist/provider/RCChatShareMusicProvider.java
  9. 1 1
      student/build.gradle
  10. BIN
      student/libs/openDefault-10.10.0.aar
  11. 4 1
      student/src/main/java/com/cooleshow/student/adapter/AddressListAdapter.java
  12. 1 1
      student/src/main/java/com/cooleshow/student/adapter/HomeWonderfulInfoAdapter.java
  13. 1 1
      student/src/main/java/com/cooleshow/student/contract/VideoCourseContract.java
  14. 2 1
      student/src/main/java/com/cooleshow/student/presenter/course/VideoCoursePresenter.java
  15. 2 1
      student/src/main/java/com/cooleshow/student/ui/course/VideoCourseFragment.java
  16. 1 0
      student/src/main/java/com/cooleshow/student/ui/main/HomeFragment.java
  17. 5 0
      student/src/main/java/com/cooleshow/student/ui/main/MallFragment.java
  18. 15 2
      student/src/main/java/com/cooleshow/student/ui/mine/EditAddressActivity.java
  19. 8 0
      student/src/main/java/com/cooleshow/student/ui/mine/ModifyPasswordActivity.java
  20. 10 2
      student/src/main/java/com/cooleshow/student/ui/mine/TeachableInstrumentActivity.java
  21. 5 0
      student/src/main/java/com/cooleshow/student/ui/web/AccompanyFragment.java
  22. 22 0
      student/src/main/java/com/cooleshow/student/ui/web/HtmlActivity.java
  23. 5 0
      student/src/main/java/com/cooleshow/student/ui/web/HtmlHorizontalScreenActivity.java
  24. 11 0
      student/src/main/java/com/cooleshow/student/widgets/helper/JsInterfaceAccomPanyUtils.java
  25. 29 11
      student/src/main/java/com/cooleshow/student/widgets/helper/JsInterfaceUtils.java
  26. 1 1
      student/src/main/res/layout/activity_check_modify_phonenum.xml
  27. 1 0
      student/src/main/res/layout/activity_edit_address.xml
  28. 31 11
      student/src/main/res/layout/activity_teachable_instrument.xml
  29. 0 1
      student/src/main/res/layout/fragment_mine_layout.xml
  30. 2 2
      student/src/main/res/layout/layout_home_live_course_item.xml
  31. 2 2
      student/src/main/res/layout/layout_home_video_course_item.xml
  32. 10 1
      student/src/main/res/layout/layout_teachable_instrument_item.xml
  33. 1 1
      teacher/build.gradle
  34. BIN
      teacher/libs/openDefault-10.10.0.aar
  35. 14 11
      teacher/src/main/java/com/cooleshow/teacher/adapter/AddressListAdapter.java
  36. 3 0
      teacher/src/main/java/com/cooleshow/teacher/adapter/MineVideoCourseAdapter.java
  37. 3 3
      teacher/src/main/java/com/cooleshow/teacher/bean/TeacherSelfStyleInfoBean.java
  38. 2 0
      teacher/src/main/java/com/cooleshow/teacher/contract/LiveCoursePageContract.java
  39. 5 0
      teacher/src/main/java/com/cooleshow/teacher/contract/SparringCoursePageContract.java
  40. 5 1
      teacher/src/main/java/com/cooleshow/teacher/contract/VideoCoursePageContract.java
  41. 13 0
      teacher/src/main/java/com/cooleshow/teacher/presenter/homePage/LiveCoursePagePresenter.java
  42. 12 0
      teacher/src/main/java/com/cooleshow/teacher/presenter/homePage/SparringCoursePagePresenter.java
  43. 12 0
      teacher/src/main/java/com/cooleshow/teacher/presenter/homePage/VideoCoursePagePresenter.java
  44. 2 2
      teacher/src/main/java/com/cooleshow/teacher/ui/course/MineVideoCourseFragment.java
  45. 13 0
      teacher/src/main/java/com/cooleshow/teacher/ui/course/VideoCourseFragment.java
  46. 54 5
      teacher/src/main/java/com/cooleshow/teacher/ui/homepage/LiveCoursePageFragment.java
  47. 48 3
      teacher/src/main/java/com/cooleshow/teacher/ui/homepage/SparringCoursePageFragment.java
  48. 49 2
      teacher/src/main/java/com/cooleshow/teacher/ui/homepage/VideoCoursePageFragment.java
  49. 2 2
      teacher/src/main/java/com/cooleshow/teacher/ui/income/MineIncomeActivity.java
  50. 27 3
      teacher/src/main/java/com/cooleshow/teacher/ui/income/WithdrawalActivity.java
  51. 9 0
      teacher/src/main/java/com/cooleshow/teacher/ui/main/HomeFragment.kt
  52. 5 0
      teacher/src/main/java/com/cooleshow/teacher/ui/main/MallFragment.java
  53. 6 5
      teacher/src/main/java/com/cooleshow/teacher/ui/mine/BindBankCardActivity.java
  54. 15 2
      teacher/src/main/java/com/cooleshow/teacher/ui/mine/EditAddressActivity.java
  55. 9 0
      teacher/src/main/java/com/cooleshow/teacher/ui/mine/ModifyPasswordActivity.java
  56. 1 0
      teacher/src/main/java/com/cooleshow/teacher/ui/minestyle/MineStylePageActivity.java
  57. 1 1
      teacher/src/main/java/com/cooleshow/teacher/ui/minestyle/TeachableInstrumentActivity.java
  58. 5 0
      teacher/src/main/java/com/cooleshow/teacher/ui/web/AccompanyFragment.java
  59. 5 0
      teacher/src/main/java/com/cooleshow/teacher/ui/web/HtmlActivity.java
  60. 5 0
      teacher/src/main/java/com/cooleshow/teacher/ui/web/HtmlHorizontalScreenActivity.java
  61. 5 3
      teacher/src/main/java/com/cooleshow/teacher/widgets/DialogUtils.java
  62. 12 0
      teacher/src/main/java/com/cooleshow/teacher/widgets/helper/JsInterfaceAccomPanyUtils.java
  63. 22 8
      teacher/src/main/java/com/cooleshow/teacher/widgets/helper/JsInterfaceUtils.java
  64. 1 1
      teacher/src/main/res/layout/activity_check_modify_phonenum.xml
  65. 1 0
      teacher/src/main/res/layout/activity_edit_address.xml
  66. 63 3
      teacher/src/main/res/layout/fragment_home_layout.xml
  67. 98 41
      teacher/src/main/res/layout/fragment_live_course_page_layout.xml
  68. 100 41
      teacher/src/main/res/layout/fragment_sparring_course_page_layout.xml
  69. 98 39
      teacher/src/main/res/layout/fragment_video_course_page_layout.xml
  70. 3 2
      teacher/src/main/res/layout/layout_mine_video_course_item.xml
  71. 10 1
      teacher/src/main/res/layout/layout_teachable_instrument_item.xml

+ 2 - 1
BaseLibrary/build.gradle

@@ -172,6 +172,8 @@ dependencies {
     api 'com.tencent.tauth:qqopensdk:3.53.0'//QQ官方SDK依赖库
     api 'com.umeng.umsdk:share-wx:7.1.6'
     api 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.7.9'//微信官方SDK依赖库
+    api  'com.umeng.umsdk:share-sina:7.1.7'
+    api 'io.github.sinaweibosdk:core:11.11.1@aar'
 //    api 'com.sina.weibo.sdk:core:10.10.0'  不能用
 
 
@@ -179,5 +181,4 @@ dependencies {
     api 'org.java-websocket:Java-WebSocket:1.5.1'
     api project(path: ':midiplaylib')
     api 'org.greenrobot:eventbus:3.1.1'
-
 }

+ 8 - 0
BaseLibrary/src/main/java/com/cooleshow/base/common/WebConstants.java

@@ -91,4 +91,12 @@ public abstract class WebConstants {
     //公告列表
     public static final String HELP_CENTER_CATALOGTYPE_2 = getBaseUrlH5() + "/#/helpCenter?catalogType=2";
 
+    //乐谱分享的详情
+    public static final String SCORE_DETAIL_LINK = BuildConfig.BASE_SERVER_URL + "/accompany/";
+
+    //云库琴房
+    public static final String PIANO_ROOM = getBaseUrlH5() + "#/pianoRoom";
+
+
+
 }

+ 7 - 0
BaseLibrary/src/main/java/com/cooleshow/base/utils/FileUtils.java

@@ -6,12 +6,14 @@ import android.content.Intent;
 import android.content.res.AssetFileDescriptor;
 import android.database.Cursor;
 import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
 import android.net.Uri;
 import android.os.Build;
 import android.os.Environment;
 import android.os.StatFs;
 import android.provider.OpenableColumns;
 import android.text.TextUtils;
+import android.util.Base64;
 import android.util.Log;
 
 import java.io.BufferedInputStream;
@@ -547,6 +549,7 @@ public final class FileUtils {
     private static boolean deleteFile(final File file) {
         return file != null && (!file.exists() || file.isFile() && file.delete());
     }
+
     /**
      * 删除文件
      *
@@ -570,6 +573,7 @@ public final class FileUtils {
         }
 
     }
+
     /**
      * Delete the all in directory.
      *
@@ -1584,6 +1588,7 @@ public final class FileUtils {
 
     /**
      * 获取本地文件
+     *
      * @param uri
      * @param context
      * @return
@@ -1621,4 +1626,6 @@ public final class FileUtils {
         }
         return file.getPath();
     }
+
+
 }

+ 8 - 0
BaseLibrary/src/main/res/drawable/bg_teachable_instrument.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+   <gradient android:startColor="@color/transparent" android:endColor="#a3000000"
+       android:angle="-90"/>
+    <corners android:radius="@dimen/dp_10" />
+</shape>

+ 0 - 2
rong_im/common_im_ui/src/main/java/com/common/im/presenter/ChatGroupSettingPresenter.java

@@ -151,7 +151,6 @@ public class ChatGroupSettingPresenter extends BasePresenter<ChatGroupSettingCon
             addSubscribe(create(IMApi.class).queryTeaGroupDetail(tempGroupId), new BaseObserver<RongIMGroupInfo>() {
                 @Override
                 protected void onSuccess(RongIMGroupInfo data) {
-                    Log.e("asdfasdfasdfas", "onSuccess: ==============" );
                     if (isViewAttached()) {
                         getView().onQueryGroupDetail(data);
                     }
@@ -167,7 +166,6 @@ public class ChatGroupSettingPresenter extends BasePresenter<ChatGroupSettingCon
                 @Override
                 public void onError(Throwable e) {
                     super.onError(e);
-                    Log.e("asdfasdfasdfas", "onError: =============="+e.getMessage() );
                 }
             });
         }

+ 0 - 2
rong_im/common_im_ui/src/main/java/com/common/im/presenter/MessagePresenter.java

@@ -69,7 +69,6 @@ public class MessagePresenter extends BasePresenter<MessageFragmentContract.Mess
             addSubscribe(create(IMApi.class).queryTeaGroupDetail(tempGroupId), new BaseObserver<RongIMGroupInfo>() {
                 @Override
                 protected void onSuccess(RongIMGroupInfo data) {
-                    Log.e("asdfasdfasdfas", "onSuccess: ==============" );
                     if (isViewAttached()) {
                         getView().onQueryGroupDetail(data);
                     }
@@ -85,7 +84,6 @@ public class MessagePresenter extends BasePresenter<MessageFragmentContract.Mess
                 @Override
                 public void onError(Throwable e) {
                     super.onError(e);
-                    Log.e("asdfasdfasdfas", "onError: =============="+e.getMessage() );
                 }
             });
         }

+ 0 - 1
rong_im/common_im_ui/src/main/java/com/common/im/ui/MessageFragment.java

@@ -111,7 +111,6 @@ public class MessageFragment extends BaseMVPFragment<FragmentMessageLayoutBindin
         RongIM.setGroupInfoProvider(new UserDataProvider.GroupInfoProvider() {
             @Override
             public Group getGroupInfo(String groupId) {
-                Log.e("asdfasdfasdfas", "groupId: =============="+groupId );
                 if (groupId.contains("S") || groupId.contains("DAYA") || groupId.contains("I")) {
                     return null;
                 }

+ 9 - 2
rong_im/kit/src/main/java/io/rong/imkit/conversation/messgelist/provider/RCChatShareMusicProvider.java

@@ -13,6 +13,9 @@ import android.widget.TextView;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
+import com.alibaba.android.arouter.launcher.ARouter;
+import com.cooleshow.base.common.WebConstants;
+import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.utils.GlideUtils;
 
 import java.util.ArrayList;
@@ -104,8 +107,12 @@ public class RCChatShareMusicProvider extends BaseMessageItemProvider<RCChatShar
 
     @Override
     protected boolean onItemClick(ViewHolder holder, RCChatShareMusicMessage shareMusicMessage, UiMessage uiMessage, int position, List<UiMessage> list, IViewProviderListener<UiMessage> listener) {
-
-
+        String linkUrl=WebConstants.SCORE_DETAIL_LINK+"?id="+shareMusicMessage.getSongId();
+        ARouter.getInstance()
+                .build(RouterPath.WebCenter.ACTIVITY_HORIZONTAL_SCREEN_HTML)
+                .withBoolean("statusBarTextColor", false)
+                .withString(WebConstants.WEB_URL, linkUrl)
+                .navigation();
         return true;
     }
 }

+ 1 - 1
student/build.gradle

@@ -97,6 +97,6 @@ dependencies {
     implementation "com.alibaba:arouter-api:$rootProject.ext.android.arouter_api_version"
     kapt "com.alibaba:arouter-compiler:$rootProject.ext.android.arouter_api_version"
 
-    api(name: 'openDefault-10.10.0', ext: 'aar')
+//    api(name: 'openDefault-10.10.0', ext: 'aar')
 
 }

BIN
student/libs/openDefault-10.10.0.aar


+ 4 - 1
student/src/main/java/com/cooleshow/student/adapter/AddressListAdapter.java

@@ -34,7 +34,10 @@ public class AddressListAdapter extends BaseQuickAdapter<AddressBean, BaseViewHo
         TextView tv_address=helper.getView(R.id.tv_address);
         View view_line=helper.getView(R.id.view_line);
         tv_name.setText(item.name);
-        String cPhone = item.phoneNumber.substring(0, 3) + "****" + item.phoneNumber.substring(7, item.phoneNumber.length());
+        String cPhone=item.phoneNumber;
+        if (item.phoneNumber.length()==11){
+            cPhone = item.phoneNumber.substring(0, 3) + "****" + item.phoneNumber.substring(7, item.phoneNumber.length());
+        }
         tv_phone.setText(cPhone);
         String addressDetail=item.province+item.city+item.region+item.detailAddress;
         tv_address.setText(addressDetail);

+ 1 - 1
student/src/main/java/com/cooleshow/student/adapter/HomeWonderfulInfoAdapter.java

@@ -29,7 +29,7 @@ public class HomeWonderfulInfoAdapter extends BaseQuickAdapter<AppHomeBean.ItemB
         ImageView im_pic=helper.getView(R.id.im_pic);
         GlideUtils.INSTANCE.loadImage(getContext(),item.coverImage,im_pic);
         TextView tv_content=helper.getView(R.id.tv_content);
-        tv_content.setText(item.content);
+        tv_content.setText(item.title);
         TextView tv_date=helper.getView(R.id.tv_date);
         tv_date.setText(item.createTime);
     }

+ 1 - 1
student/src/main/java/com/cooleshow/student/contract/VideoCourseContract.java

@@ -15,6 +15,6 @@ public interface VideoCourseContract {
     }
 
     interface Presenter {
-        void queryVideoCourse(boolean isShowLoading,int subjectId, int page);
+        void queryVideoCourse(boolean isShowLoading, String studentId,int subjectId, int page);
     }
 }

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

@@ -18,7 +18,7 @@ import org.json.JSONObject;
 public class VideoCoursePresenter extends BasePresenter<VideoCourseContract.VideoCourseView> implements VideoCourseContract.Presenter {
 
     @Override
-    public void queryVideoCourse(boolean isShowLoading, int subjectId, int page) {
+    public void queryVideoCourse(boolean isShowLoading, String studentId,int subjectId, int page) {
         if (isShowLoading && getView() != null) {
             getView().showLoading();
         }
@@ -27,6 +27,7 @@ public class VideoCoursePresenter extends BasePresenter<VideoCourseContract.Vide
             if (subjectId != 0) {
                 jsonObject.putOpt("subjectId", subjectId);
             }
+            jsonObject.putOpt("studentId", studentId);
             jsonObject.putOpt("page", page);
             jsonObject.putOpt("rows", Constants.DEFAULT_DATA_SIZE);
         } catch (JSONException e) {

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

@@ -27,6 +27,7 @@ import com.cooleshow.student.contract.VideoCourseContract;
 import com.cooleshow.student.databinding.FragmentVideoCourseLayoutBinding;
 import com.cooleshow.student.presenter.course.VideoCoursePresenter;
 import com.cooleshow.student.wxapi.VideoCourseListItemDecoration;
+import com.cooleshow.usercenter.helper.UserHelper;
 import com.scwang.smart.refresh.layout.api.RefreshLayout;
 import com.scwang.smart.refresh.layout.listener.OnRefreshListener;
 
@@ -150,7 +151,7 @@ public class VideoCourseFragment extends BaseMVPFragment<FragmentVideoCourseLayo
         //根据默认筛选条件查询
         LogUtils.i("pq", "currentSubjectId:" + currentSubjectId);
         LogUtils.i("pq", "currentPage:" + currentPage);
-        presenter.queryVideoCourse(isShowLoading, currentSubjectId, currentPage);
+        presenter.queryVideoCourse(isShowLoading,UserHelper.getUserId(), currentSubjectId, currentPage);
     }
 
     private void checkHasNext(int dataSize) {

+ 1 - 0
student/src/main/java/com/cooleshow/student/ui/main/HomeFragment.java

@@ -311,6 +311,7 @@ public class HomeFragment extends BaseMVPFragment<FragmentHomeLayoutBinding, Hom
 
         if (TextUtils.isEmpty(data.subjectName)) {
             ARouter.getInstance().build(RouterPath.MineCenter.MINE_TEACHABLE_INSTRUMENT)
+                    .withBoolean("hintBar",true)
                     .navigation();
         }
     }

+ 5 - 0
student/src/main/java/com/cooleshow/student/ui/main/MallFragment.java

@@ -548,6 +548,11 @@ public class MallFragment extends BaseMVPFragment<FragmentMallBinding, ShopMallP
         }
     }
 
+    @Override
+    public void savePicture(String base64,String uuid) {
+
+    }
+
     private boolean goPay = false;
 
     @Subscribe(threadMode = ThreadMode.MAIN)

+ 15 - 2
student/src/main/java/com/cooleshow/student/ui/mine/EditAddressActivity.java

@@ -68,9 +68,9 @@ public class EditAddressActivity extends BaseMVPActivity<ActivityEditAddressBind
             case R.id.im_set_default:
                 isDefaultAddress = !isDefaultAddress;
                 if (isDefaultAddress) {
-                    viewBinding.imSetDefault.setImageResource(R.drawable.icon_switch_off);
-                } else {
                     viewBinding.imSetDefault.setImageResource(R.drawable.icon_switch_open);
+                } else {
+                    viewBinding.imSetDefault.setImageResource(R.drawable.icon_switch_off);
                 }
                 break;
             case R.id.tv_district_detail:
@@ -91,6 +91,10 @@ public class EditAddressActivity extends BaseMVPActivity<ActivityEditAddressBind
                     ToastUtils.showShort("请输入收件人电话号码");
                     break;
                 }
+                if (phoneNumber.length()!=11) {
+                    ToastUtils.showShort("请输入正确电话号码");
+                    break;
+                }
                 if (TextUtils.isEmpty(province)) {
                     ToastUtils.showShort("请选择所在地区");
                     break;
@@ -159,11 +163,20 @@ public class EditAddressActivity extends BaseMVPActivity<ActivityEditAddressBind
             viewBinding.etName.setText(addressBean.name);
             viewBinding.etPhone.setText(addressBean.phoneNumber);
             if (!TextUtils.isEmpty(addressBean.province)) {
+                province=addressBean.province;
+                city= addressBean.city;
+                region=addressBean.region;
                 viewBinding.tvDistrictDetail.setText(addressBean.province + addressBean.city + addressBean.region);
                 viewBinding.tvDistrictDetail.setTextColor(getResources().getColor(com.cooleshow.base.R.color.color_1a1a1a));
             }
             viewBinding.etDetailAddress.setText(addressBean.detailAddress);
             id = addressBean.id;
+
+            if (addressBean.defaultStatus==1){
+                viewBinding.imSetDefault.setImageResource(R.drawable.icon_switch_open);
+            }else{
+                viewBinding.imSetDefault.setImageResource(R.drawable.icon_switch_off);
+            }
         }
     }
 

+ 8 - 0
student/src/main/java/com/cooleshow/student/ui/mine/ModifyPasswordActivity.java

@@ -1,6 +1,7 @@
 package com.cooleshow.student.ui.mine;
 
 import android.annotation.SuppressLint;
+import android.content.Intent;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
@@ -19,6 +20,8 @@ import com.cooleshow.student.R;
 import com.cooleshow.student.contract.ModifyPasswordContract;
 import com.cooleshow.student.databinding.ActivityModifyPasswordBinding;
 import com.cooleshow.student.presenter.mine.ModifyPasswordPresenter;
+import com.cooleshow.usercenter.UserConstants;
+import com.cooleshow.usercenter.helper.UserHelper;
 
 
 import org.json.JSONException;
@@ -102,6 +105,11 @@ public class ModifyPasswordActivity extends BaseMVPActivity<ActivityModifyPasswo
 
     @Override
     public void updatePasswordSuccess(Object object) {
+        UserHelper.saveUserToken("");
+        ARouter.getInstance().build(RouterPath.UserCenter.PATH_VERIFY_LOGIN)
+                .withString(UserConstants.PHONE_NUM_KEY, UserHelper.getUserPhone())
+                .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK)
+                .navigation();
         finish();
     }
 

+ 10 - 2
student/src/main/java/com/cooleshow/student/ui/mine/TeachableInstrumentActivity.java

@@ -71,7 +71,13 @@ public class TeachableInstrumentActivity extends BaseMVPActivity<ActivityTeachab
     @Override
     protected void initView() {
         ARouter.getInstance().inject(this);
-        initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "可教授乐器");
+        boolean hintBar = getIntent().getBooleanExtra("hintBar", false);
+        if (hintBar){
+            viewBinding.llTop.setVisibility(View.GONE);
+        }else{
+            initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "可教授乐器");
+        }
+
         instrumentList = viewBinding.rvInstrument;
         viewBinding.tvConfirm.setOnClickListener(this);
         LinearLayoutManager manager = new LinearLayoutManager(this);
@@ -124,11 +130,13 @@ public class TeachableInstrumentActivity extends BaseMVPActivity<ActivityTeachab
                                 subject.isSelect = true;
                             }
                         }
+                        dataList.add(datum);
                     }
+
                 }
             }
 
-            dataList.addAll(data);
+
             if (null != teachableInstrumentAdapter) {
                 teachableInstrumentAdapter.notifyDataSetChanged();
             }

+ 5 - 0
student/src/main/java/com/cooleshow/student/ui/web/AccompanyFragment.java

@@ -1840,6 +1840,11 @@ public class AccompanyFragment extends BaseMVPFragment<FragmentAccompanyBinding,
         }
     }
 
+    @Override
+    public void savePicture(String base64,String uuid) {
+
+    }
+
     private boolean goPay = false;
 
     @Subscribe(threadMode = ThreadMode.MAIN)

+ 22 - 0
student/src/main/java/com/cooleshow/student/ui/web/HtmlActivity.java

@@ -43,6 +43,7 @@ import androidx.constraintlayout.widget.ConstraintLayout;
 import com.alibaba.android.arouter.facade.annotation.Route;
 import com.alipay.sdk.app.PayTask;
 import com.cooleshow.base.BuildConfig;
+import com.cooleshow.base.common.BaseApplication;
 import com.cooleshow.base.common.WebConstants;
 import com.cooleshow.base.data.net.RetrofitClientNoToken;
 import com.cooleshow.base.router.RouterPath;
@@ -63,6 +64,7 @@ import com.cooleshow.student.widgets.FileUtils;
 import com.cooleshow.student.widgets.LollipopFixedWebView;
 import com.cooleshow.student.widgets.helper.JsInterfaceUtils;
 import com.cooleshow.usercenter.helper.UserHelper;
+import com.cooleshow.usercenter.utils.SavePicUtil;
 import com.daya.live_teaching.utils.GlideEngine;
 import com.google.gson.Gson;
 import com.gyf.immersionbar.ImmersionBar;
@@ -576,6 +578,26 @@ public class HtmlActivity extends BaseActivity<ActivityHtml1Binding> implements
         }
     }
 
+    @Override
+    public void savePicture(String base64,String uuid) {
+        Bitmap bitmap = FileUtils.base64ToBitmap(base64);
+        if (SavePicUtil.saveBitmap(BaseApplication.Companion.getContext(), bitmap, System.currentTimeMillis() + "")) {
+            ToastUtils.showShort("保存成功");
+        } else {
+            ToastUtils.showShort("保存失败");
+        }
+
+        try {
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.put("api", "downloadFile");
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+
+
+//        onSendMessage();
+    }
+
     private boolean goPay = false;
 
     @Subscribe(threadMode = ThreadMode.MAIN)

+ 5 - 0
student/src/main/java/com/cooleshow/student/ui/web/HtmlHorizontalScreenActivity.java

@@ -583,6 +583,11 @@ public class HtmlHorizontalScreenActivity extends BaseActivity<ActivityHtml1Bind
         }
     }
 
+    @Override
+    public void savePicture(String base64,String uuid) {
+
+    }
+
     private boolean goPay = false;
 
     @Subscribe(threadMode = ThreadMode.MAIN)

+ 11 - 0
student/src/main/java/com/cooleshow/student/widgets/helper/JsInterfaceAccomPanyUtils.java

@@ -303,6 +303,12 @@ public class JsInterfaceAccomPanyUtils extends Object {
                         onListener.paymentOrder(content.getString("orderNo"), content.getString("payChannel"), content.getString("payInfo"));
                     }
                 }
+                if ("savePicture".equalsIgnoreCase(api)) {
+                    JSONObject content = jsonObject.getJSONObject("content");
+                    if (onListener != null) {
+                        onListener.savePicture(content.getString("base64"),content.getString("uuid"));
+                    }
+                }
             } catch (Exception e) {
 
             }
@@ -569,6 +575,11 @@ public class JsInterfaceAccomPanyUtils extends Object {
          * @param payInfo
          */
         void paymentOrder(String orderNo, String payChannel, String payInfo);
+        /**
+         * 保存图片
+         * @param base64
+         */
+        void savePicture(String base64,String uuid);
     }
 
 }

+ 29 - 11
student/src/main/java/com/cooleshow/student/widgets/helper/JsInterfaceUtils.java

@@ -212,29 +212,36 @@ public class JsInterfaceUtils extends Object {
                     }
                 }
                 //进入直播间
-                if ("joinLiveRoom".equals(api)){
+                if ("joinLiveRoom".equals(api)) {
                     JSONObject content = jsonObject.getJSONObject("content");
                     if (onListener != null) {
-                        onListener.joinLiveRoom(content.getString("roomId"),content.getString("teacherId"));
+                        onListener.joinLiveRoom(content.getString("roomId"), content.getString("teacherId"));
                     }
                 }
                 //进入聊天
-                if ("joinChatGroup".equals(api)){
+                if ("joinChatGroup".equals(api)) {
                     JSONObject content = jsonObject.getJSONObject("content");
                     if (onListener != null) {
-                        onListener.joinChatGroup(content.getString("type"),content.getString("id"));
+                        onListener.joinChatGroup(content.getString("type"), content.getString("id"));
                     }
                 }
                 //跳转地址页面
-                if ("setAddress".equals(api)){
+                if ("setAddress".equals(api)) {
                     ARouter.getInstance().build(RouterPath.MineCenter.MINE_SELECT_ADDRESS_LIST)
-                            .navigation(activity,1011);
+                            .navigation(activity, 1011);
                 }
                 //支付
-                if ("paymentOrder".equals(api)){
+                if ("paymentOrder".equals(api)) {
                     JSONObject content = jsonObject.getJSONObject("content");
                     if (onListener != null) {
-                        onListener.paymentOrder(content.getString("orderNo"),content.getString("payChannel"),content.getString("payInfo"));
+                        onListener.paymentOrder(content.getString("orderNo"), content.getString("payChannel"), content.getString("payInfo"));
+                    }
+                }
+                if ("savePicture".equalsIgnoreCase(api)) {
+                    JSONObject content = jsonObject.getJSONObject("content");
+
+                    if (onListener != null) {
+                        onListener.savePicture(content.getString("base64"),content.getString("uuid"));
                     }
                 }
 
@@ -270,12 +277,14 @@ public class JsInterfaceUtils extends Object {
         void onAccompanySelecResult(String id, String name);
 
         void downloadFile(String url);
+
         /**
          * 选择文件
          *
          * @param message
          */
         void chooseFile(JSONObject message);
+
         //分享
         void createRightNavToShareButton(String image, String url);
 
@@ -309,25 +318,34 @@ public class JsInterfaceUtils extends Object {
 
         /**
          * 进入直播间
+         *
          * @param roomId
          * @param teacherId
          */
-        void joinLiveRoom(String roomId,String teacherId);
+        void joinLiveRoom(String roomId, String teacherId);
 
         /**
          * 进入聊天
+         *
          * @param type // single 单人 multi 多人
          * @param id
          */
-        void joinChatGroup(String type,String id);
+        void joinChatGroup(String type, String id);
 
         /**
          * 支付
+         *
          * @param orderNo
          * @param payChannel
          * @param payInfo
          */
-        void paymentOrder(String orderNo,String payChannel,String payInfo);
+        void paymentOrder(String orderNo, String payChannel, String payInfo);
+
+        /**
+         * 保存图片
+         * @param base64
+         */
+        void savePicture(String base64,String uuid);
     }
 
 }

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

@@ -50,7 +50,7 @@
             android:background="@null"
             android:gravity="center_vertical"
             android:hint="请输入密码"
-            android:inputType="textPassword"
+            android:inputType="text"
             android:paddingLeft="14dp"
             android:paddingRight="14dp"
             android:textColor="@color/color_1a1a1a"

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

@@ -84,6 +84,7 @@
             android:hint="收件人电话号码"
             android:inputType="phone"
             android:paddingTop="12dp"
+            android:maxLength="11"
             android:textColor="@color/color_1a1a1a"
             android:textColorHint="@color/color_999999"
             android:textSize="@dimen/sp_16"

+ 31 - 11
student/src/main/res/layout/activity_teachable_instrument.xml

@@ -2,34 +2,56 @@
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content"
+    android:layout_height="match_parent"
     android:background="@color/color_f6f8f9"
     android:orientation="vertical">
 
-    <include
-        android:id="@+id/toolbar_include"
-        layout="@layout/common_toolbar_layout" />
+    <LinearLayout
+        android:id="@+id/ll_top"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+
+        <include
+            android:id="@+id/toolbar_include"
+            layout="@layout/common_toolbar_layout" />
+
+    </LinearLayout>
+
 
+    <TextView
+        android:id="@+id/tv_tips"
+        android:layout_width="match_parent"
+        android:layout_height="36dp"
+        android:layout_marginLeft="14dp"
+        android:layout_marginTop="15dp"
+        android:layout_below="@+id/ll_top"
+        android:layout_marginRight="14dp"
+        android:background="@drawable/bg_white_10dp"
+        android:gravity="center_vertical"
+        android:text="最多可选择1个乐器"
+        android:textColor="@color/color_ff9e5a"
+        android:textSize="@dimen/sp_14"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
 
     <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/rv_instrument"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_below="@+id/toolbar_include"
+        android:layout_below="@+id/tv_tips"
         android:layout_marginLeft="10dp"
         android:layout_marginTop="16dp"
-        android:overScrollMode="never"
         android:layout_marginRight="10dp"
         android:layout_marginBottom="119dp"
         android:nestedScrollingEnabled="false"
-        app:layout_constraintLeft_toLeftOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
+        android:overScrollMode="never" />
 
 
     <TextView
         android:id="@+id/tv_confirm"
         android:layout_width="match_parent"
         android:layout_height="44dp"
+        android:layout_alignParentBottom="true"
         android:layout_marginLeft="27dp"
         android:layout_marginRight="27dp"
         android:layout_marginBottom="48dp"
@@ -37,8 +59,6 @@
         android:gravity="center"
         android:text="确认"
         android:textColor="@color/white"
-        android:textSize="@dimen/sp_14"
-        android:layout_alignParentBottom="true"
-       />
+        android:textSize="@dimen/sp_14" />
 
 </RelativeLayout>

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

@@ -64,7 +64,6 @@
             android:layout_width="wrap_content"
             android:layout_height="@dimen/dp_16"
             android:layout_marginLeft="9dp"
-            app:layout_constraintBottom_toBottomOf="@+id/tv_nickname"
             app:layout_constraintLeft_toRightOf="@+id/tv_nickname"
             app:layout_constraintTop_toTopOf="@+id/tv_nickname" />
 

+ 2 - 2
student/src/main/res/layout/layout_home_live_course_item.xml

@@ -87,16 +87,16 @@
         android:id="@+id/tv_course_num"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_marginLeft="@dimen/dp_51"
         android:background="@drawable/shape_couse_type_text_bg"
         android:paddingLeft="@dimen/dp_4"
         android:paddingTop="@dimen/dp_2"
         android:paddingRight="@dimen/dp_4"
+        android:layout_marginLeft="@dimen/dp_4"
         android:paddingBottom="@dimen/dp_2"
         android:textColor="@color/color_ff9300"
         android:textSize="@dimen/sp_12"
         app:layout_constraintBottom_toBottomOf="@+id/tv_price"
-        app:layout_constraintLeft_toRightOf="@+id/im_pic"
+        app:layout_constraintLeft_toRightOf="@+id/tv_price"
         app:layout_constraintTop_toTopOf="@+id/tv_price"
         tools:text="12课时" />
 

+ 2 - 2
student/src/main/res/layout/layout_home_video_course_item.xml

@@ -75,7 +75,7 @@
         android:id="@+id/tv_course_num"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_marginLeft="@dimen/dp_51"
+        android:layout_marginLeft="@dimen/dp_4"
         android:background="@drawable/shape_couse_type_text_bg"
         android:paddingLeft="@dimen/dp_4"
         android:paddingTop="@dimen/dp_2"
@@ -84,7 +84,7 @@
         android:textColor="@color/color_ff9300"
         android:textSize="@dimen/sp_12"
         app:layout_constraintBottom_toBottomOf="@+id/tv_price"
-        app:layout_constraintLeft_toRightOf="@+id/im_pic"
+        app:layout_constraintLeft_toRightOf="@+id/tv_price"
         app:layout_constraintTop_toTopOf="@+id/tv_price"
         tools:text="12课时" />
 

+ 10 - 1
student/src/main/res/layout/layout_teachable_instrument_item.xml

@@ -14,7 +14,16 @@
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintTop_toTopOf="parent"
         app:qmui_corner_radius="10dp" />
-
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="108dp"
+        android:layout_marginLeft="5dp"
+        android:layout_marginTop="5dp"
+        android:layout_marginRight="5dp"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        android:background="@drawable/bg_teachable_instrument"
+        />
 
     <ImageView
         android:id="@+id/im_check"

+ 1 - 1
teacher/build.gradle

@@ -107,5 +107,5 @@ dependencies {
         exclude(group: 'cn.rongcloud.sdk', module: 'rtc_lib')
     }
 
-    api(name: 'openDefault-10.10.0', ext: 'aar')
+//    api(name: 'openDefault-10.10.0', ext: 'aar')
 }

BIN
teacher/libs/openDefault-10.10.0.aar


+ 14 - 11
teacher/src/main/java/com/cooleshow/teacher/adapter/AddressListAdapter.java

@@ -20,7 +20,7 @@ import java.util.List;
  * @author Ryan
  * 类说明:
  */
-public class AddressListAdapter  extends BaseQuickAdapter<AddressBean, BaseViewHolder> {
+public class AddressListAdapter extends BaseQuickAdapter<AddressBean, BaseViewHolder> {
 
     public AddressListAdapter(List<AddressBean> data) {
         super(R.layout.layout_address_item, data);
@@ -29,18 +29,21 @@ public class AddressListAdapter  extends BaseQuickAdapter<AddressBean, BaseViewH
 
     @Override
     protected void convert(BaseViewHolder helper, AddressBean item) {
-        TextView tv_name=helper.getView(R.id.tv_name);
-        TextView tv_phone=helper.getView(R.id.tv_phone);
-        TextView tv_address=helper.getView(R.id.tv_address);
-        View view_line=helper.getView(R.id.view_line);
+        TextView tv_name = helper.getView(R.id.tv_name);
+        TextView tv_phone = helper.getView(R.id.tv_phone);
+        TextView tv_address = helper.getView(R.id.tv_address);
+        View view_line = helper.getView(R.id.view_line);
         tv_name.setText(item.name);
-        String cPhone = item.phoneNumber.substring(0, 3) + "****" + item.phoneNumber.substring(7, item.phoneNumber.length());
+        String cPhone = item.phoneNumber;
+        if (item.phoneNumber.length() == 11) {
+            cPhone = item.phoneNumber.substring(0, 3) + "****" + item.phoneNumber.substring(7, item.phoneNumber.length());
+        }
         tv_phone.setText(cPhone);
-        String addressDetail=item.province+item.city+item.region+item.detailAddress;
+        String addressDetail = item.province + item.city + item.region + item.detailAddress;
         tv_address.setText(addressDetail);
-        if (getData().size()-1==getItemPosition(item)){
+        if (getData().size() - 1 == getItemPosition(item)) {
             view_line.setVisibility(View.GONE);
-        }else {
+        } else {
             view_line.setVisibility(View.VISIBLE);
         }
         ImageView im_modify = helper.getView(R.id.im_modify);
@@ -51,8 +54,8 @@ public class AddressListAdapter  extends BaseQuickAdapter<AddressBean, BaseViewH
                 bundle.putSerializable("AddressBean", item);
 
                 ARouter.getInstance().build(RouterPath.MineCenter.MINE_EDIT_ADDRESS)
-                        .withBoolean("isAdd",false)
-                        .withBundle("bundle",bundle)
+                        .withBoolean("isAdd", false)
+                        .withBundle("bundle", bundle)
                         .navigation();
             }
         });

+ 3 - 0
teacher/src/main/java/com/cooleshow/teacher/adapter/MineVideoCourseAdapter.java

@@ -37,6 +37,9 @@ public class MineVideoCourseAdapter extends BaseQuickAdapter<VideoCourseListBean
         TextView tv_title=helper.getView(R.id.tv_title);
         tv_title.setText(item.lessonName);
         ImageView im_header=helper.getView(R.id.im_header);
+
+        TextView  tv_teacher_name=helper.getView(R.id.tv_teacher_name);
+        tv_teacher_name.setText(item.username);
 //        GlideUtils.INSTANCE.loadImage(getContext(), item.avatar, im_header,R.drawable.icon_teacher_default_head);
         TextView tv_price=helper.getView(R.id.tv_price);
 //        tv_price.setText("¥"+item.coursePrice+"/"+item.courseNum+"课时");

+ 3 - 3
teacher/src/main/java/com/cooleshow/teacher/bean/TeacherSelfStyleInfoBean.java

@@ -76,7 +76,7 @@ public class TeacherSelfStyleInfoBean implements Serializable {
     public String teacherType;
     public String technicalTitles;
     public String updateTime;
-    public int userId;
+    public String userId;
     public String username;
     public String verifyUser;
     public String workUnit;
@@ -98,9 +98,9 @@ public class TeacherSelfStyleInfoBean implements Serializable {
         public int browse;
         public String createTime;
         public String describe;
-        public int id;
+        public String id;
         public String updateTime;
-        public int userId;
+        public String userId;
         public String videoUrl;
         //默认为0 为视频展示 为1时添加视频
         public int type;

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

@@ -3,6 +3,7 @@ package com.cooleshow.teacher.contract;
 import com.cooleshow.base.presenter.view.BaseView;
 import com.cooleshow.teacher.bean.LiveCourseListBean;
 import com.cooleshow.teacher.bean.TeacherSelfStyleInfoBean;
+import com.cooleshow.teacher.bean.TeacherUserInfo;
 
 /**
  * Author by pq, Date on 2022/4/20.
@@ -12,6 +13,7 @@ public interface LiveCoursePageContract {
     interface LiveCoursePageView extends BaseView {
         void onGetLiveCourseSuccess(int page, LiveCourseListBean liveCourseListBean);
         void onGetCourseError(int page);
+        void getTeacherInfoSuccess(TeacherUserInfo data);
     }
 
     interface Presenter {

+ 5 - 0
teacher/src/main/java/com/cooleshow/teacher/contract/SparringCoursePageContract.java

@@ -3,6 +3,7 @@ package com.cooleshow.teacher.contract;
 import com.cooleshow.base.presenter.view.BaseView;
 import com.cooleshow.teacher.bean.CourseCommentListBean;
 import com.cooleshow.teacher.bean.SparringCourseListBean;
+import com.cooleshow.teacher.bean.TeacherUserInfo;
 
 /**
  * 创建日期:2022/6/6 17:41
@@ -13,8 +14,12 @@ import com.cooleshow.teacher.bean.SparringCourseListBean;
 public interface SparringCoursePageContract {
     interface SparringCoursePageView extends BaseView {
         void onGetSparringCourseSuccess(int page, SparringCourseListBean sparringCourseBean);
+
         void onGetCourseError(int page);
+
+        void getTeacherInfoSuccess(TeacherUserInfo data);
     }
+
     interface Presenter {
 
     }

+ 5 - 1
teacher/src/main/java/com/cooleshow/teacher/contract/VideoCoursePageContract.java

@@ -1,6 +1,7 @@
 package com.cooleshow.teacher.contract;
 
 import com.cooleshow.base.presenter.view.BaseView;
+import com.cooleshow.teacher.bean.TeacherUserInfo;
 import com.cooleshow.teacher.bean.VideoCourseListBean;
 
 /**
@@ -12,9 +13,12 @@ import com.cooleshow.teacher.bean.VideoCourseListBean;
 public interface VideoCoursePageContract {
 
     interface VideoCoursePageView extends BaseView {
-        void queryVideoCourseGroupSuccess(int page ,VideoCourseListBean data);
+        void queryVideoCourseGroupSuccess(int page, VideoCourseListBean data);
+
         void queryVideoCourseGroupError(int page);
 
+        void getTeacherInfoSuccess(TeacherUserInfo data);
+
     }
 
     interface Presenter {

+ 13 - 0
teacher/src/main/java/com/cooleshow/teacher/presenter/homePage/LiveCoursePagePresenter.java

@@ -7,6 +7,7 @@ import com.cooleshow.base.utils.RequestBodyUtil;
 import com.cooleshow.teacher.api.APIService;
 import com.cooleshow.teacher.bean.LiveCourseListBean;
 import com.cooleshow.teacher.bean.TeacherSelfStyleInfoBean;
+import com.cooleshow.teacher.bean.TeacherUserInfo;
 import com.cooleshow.teacher.contract.LiveCoursePageContract;
 import com.cooleshow.teacher.contract.MineStyleContract;
 import com.cooleshow.usercenter.bean.UserInfo;
@@ -48,4 +49,16 @@ public class LiveCoursePagePresenter extends BasePresenter<LiveCoursePageContrac
             }
         });
     }
+
+
+    public void getTeacherUserInfo() {
+        addSubscribe(create(APIService.class).getTeacherUserInfo(), new BaseObserver<TeacherUserInfo>(getView()) {
+            @Override
+            protected void onSuccess(TeacherUserInfo data) {
+                if (getView() != null) {
+                    getView().getTeacherInfoSuccess(data);
+                }
+            }
+        });
+    }
 }

+ 12 - 0
teacher/src/main/java/com/cooleshow/teacher/presenter/homePage/SparringCoursePagePresenter.java

@@ -6,6 +6,7 @@ import com.cooleshow.base.rx.BaseObserver;
 import com.cooleshow.base.utils.RequestBodyUtil;
 import com.cooleshow.teacher.api.APIService;
 import com.cooleshow.teacher.bean.SparringCourseListBean;
+import com.cooleshow.teacher.bean.TeacherUserInfo;
 import com.cooleshow.teacher.contract.SparringCoursePageContract;
 
 import org.json.JSONException;
@@ -47,4 +48,15 @@ public class SparringCoursePagePresenter extends BasePresenter<SparringCoursePag
             }
         });
     }
+
+    public void getTeacherUserInfo() {
+        addSubscribe(create(APIService.class).getTeacherUserInfo(), new BaseObserver<TeacherUserInfo>(getView()) {
+            @Override
+            protected void onSuccess(TeacherUserInfo data) {
+                if (getView() != null) {
+                    getView().getTeacherInfoSuccess(data);
+                }
+            }
+        });
+    }
 }

+ 12 - 0
teacher/src/main/java/com/cooleshow/teacher/presenter/homePage/VideoCoursePagePresenter.java

@@ -5,6 +5,7 @@ import com.cooleshow.base.presenter.BasePresenter;
 import com.cooleshow.base.rx.BaseObserver;
 import com.cooleshow.base.utils.RequestBodyUtil;
 import com.cooleshow.teacher.api.APIService;
+import com.cooleshow.teacher.bean.TeacherUserInfo;
 import com.cooleshow.teacher.bean.VideoCourseListBean;
 import com.cooleshow.teacher.contract.LiveCoursePageContract;
 import com.cooleshow.teacher.contract.VideoCoursePageContract;
@@ -47,4 +48,15 @@ public class VideoCoursePagePresenter extends BasePresenter<VideoCoursePageContr
             }
         });
     }
+
+    public void getTeacherUserInfo() {
+        addSubscribe(create(APIService.class).getTeacherUserInfo(), new BaseObserver<TeacherUserInfo>(getView()) {
+            @Override
+            protected void onSuccess(TeacherUserInfo data) {
+                if (getView() != null) {
+                    getView().getTeacherInfoSuccess(data);
+                }
+            }
+        });
+    }
 }

+ 2 - 2
teacher/src/main/java/com/cooleshow/teacher/ui/course/MineVideoCourseFragment.java

@@ -102,10 +102,10 @@ public class MineVideoCourseFragment extends BaseMVPFragment<FragmentMineVideoCo
         mineVideoCourseAdapter.setOnItemClickListener(new OnItemClickListener() {
             @Override
             public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
-                MineVideoCourseListBean.RowsBean item = (MineVideoCourseListBean.RowsBean) adapter.getItem(position);
+                VideoCourseListBean.RowsBean item = (VideoCourseListBean.RowsBean) adapter.getItem(position);
                 ARouter.getInstance()
                         .build(RouterPath.WebCenter.ACTIVITY_HTML)
-                        .withString(WebConstants.WEB_URL, WebConstants.TEACHER_VIDEO_DETAIL + "?groupId=" + item.videoLessonGroupId)
+                        .withString(WebConstants.WEB_URL, WebConstants.TEACHER_VIDEO_DETAIL + "?groupId=" + item.id)
                         .navigation();
             }
         });

+ 13 - 0
teacher/src/main/java/com/cooleshow/teacher/ui/course/VideoCourseFragment.java

@@ -7,10 +7,13 @@ import android.widget.ImageView;
 import android.widget.PopupWindow;
 import android.widget.TextView;
 
+import com.alibaba.android.arouter.launcher.ARouter;
 import com.chad.library.adapter.base.BaseQuickAdapter;
 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.LogUtils;
 import com.cooleshow.base.utils.PopupUtil;
@@ -118,6 +121,16 @@ public class VideoCourseFragment extends BaseMVPFragment<FragmentVideoCourseLayo
         mViewBinding.recyclerView.setAdapter(mAdapter);
         buildDefaultCourseStatusFilterList();
         reBuildFilter();
+        mAdapter.setOnItemClickListener(new OnItemClickListener() {
+            @Override
+            public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
+                VideoCourseListBean.RowsBean item = (VideoCourseListBean.RowsBean) adapter.getItem(position);
+                ARouter.getInstance()
+                        .build(RouterPath.WebCenter.ACTIVITY_HTML)
+                        .withString(WebConstants.WEB_URL, WebConstants.TEACHER_VIDEO_DETAIL + "?groupId=" + item.id)
+                        .navigation();
+            }
+        });
     }
 
 

+ 54 - 5
teacher/src/main/java/com/cooleshow/teacher/ui/homepage/LiveCoursePageFragment.java

@@ -1,5 +1,6 @@
 package com.cooleshow.teacher.ui.homepage;
 
+import android.text.TextUtils;
 import android.view.View;
 
 import androidx.annotation.NonNull;
@@ -16,6 +17,8 @@ import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.adapter.LiveCourseListAdapter;
 import com.cooleshow.teacher.bean.LiveCourseListBean;
 import com.cooleshow.base.ui.fragment.BaseMVPFragment;
+import com.cooleshow.teacher.bean.TeacherUserInfo;
+import com.cooleshow.teacher.constants.TeacherInfoConstants;
 import com.cooleshow.teacher.contract.LiveCoursePageContract;
 import com.cooleshow.teacher.databinding.FragmentLiveCoursePageLayoutBinding;
 import com.cooleshow.teacher.presenter.homePage.LiveCoursePagePresenter;
@@ -33,14 +36,16 @@ public class LiveCoursePageFragment extends BaseMVPFragment<FragmentLiveCoursePa
     private EmptyViewLayout mEmptyView;
     private boolean hasNext = true;
     private String currentFilterDate;
+
     @Override
     protected void initView(View rootView) {
         mViewBinding.llCreateLive.setOnClickListener(this);
+        mViewBinding.tvOpen.setOnClickListener(this);
     }
 
     @Override
     protected void initData() {
-        Date currentSelectDate =  TimeUtils.getNowDate();
+        Date currentSelectDate = TimeUtils.getNowDate();
         String targetDateTimeStr = TimeUtils.date2String(currentSelectDate, TimeUtils.getSafeDateFormat("yyyy-MM"));
         currentFilterDate = targetDateTimeStr;
         mViewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
@@ -67,8 +72,7 @@ public class LiveCoursePageFragment extends BaseMVPFragment<FragmentLiveCoursePa
         });
         mViewBinding.recyclerView.setLayoutManager(new LinearLayoutManager(requireContext()));
         mViewBinding.recyclerView.setAdapter(mAdapter);
-        currentPage = 1;
-        queryCourse();
+
     }
 
     @Override
@@ -83,20 +87,41 @@ public class LiveCoursePageFragment extends BaseMVPFragment<FragmentLiveCoursePa
 
     @Override
     public void onClick(View view) {
-        switch (view.getId()){
+        switch (view.getId()) {
             case R.id.ll_create_live:
                 ARouter.getInstance()
                         .build(RouterPath.WebCenter.ACTIVITY_HTML)
                         .withString(WebConstants.WEB_URL, WebConstants.TEACHER_LIVE_CREATE)
                         .navigation();
                 break;
+            case R.id.tv_open:
+                if (mViewBinding.tvOpen.getText().toString().equals("去认证")){
+                    ARouter.getInstance().build(RouterPath.WebCenter.ACTIVITY_HTML)
+                            .withString(WebConstants.WEB_URL, WebConstants.TEACHER_CERT)
+                            .navigation();
+                }else if (mViewBinding.tvOpen.getText().toString().equals("立即开通")){
+                    ARouter.getInstance()
+                            .build(RouterPath.WebCenter.ACTIVITY_HTML)
+                            .withString(WebConstants.WEB_URL, WebConstants.TEACHER_OPEN_LIVE)
+                            .navigation();
+                }
+
+                break;
         }
 
     }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        presenter.getTeacherUserInfo();
+    }
+
     private void queryCourse() {
         //根据默认筛选条件查询
-        presenter.queryLiveCourse(currentFilterDate,currentPage);
+        presenter.queryLiveCourse(currentFilterDate, currentPage);
     }
+
     @Override
     public void onGetLiveCourseSuccess(int page, LiveCourseListBean liveCourseListBean) {
         if (isDetached()) {
@@ -158,4 +183,28 @@ public class LiveCoursePageFragment extends BaseMVPFragment<FragmentLiveCoursePa
         mAdapter.setEmptyView(mEmptyView);
     }
 
+    @Override
+    public void getTeacherInfoSuccess(TeacherUserInfo teacherUserInfo) {
+        if (TextUtils.equals(teacherUserInfo.entryStatus, TeacherInfoConstants.ENTRY_STATUS_DOING)) {
+            //入驻审核中
+            mViewBinding.llContent.setVisibility(View.GONE);
+            mViewBinding.clEmptyFlag.setVisibility(View.VISIBLE);
+            mViewBinding.tvEmptyHint.setText("老师认证审核中!");
+            mViewBinding.tvOpen.setVisibility(View.GONE);
+        } else if (TextUtils.equals(teacherUserInfo.entryStatus, TeacherInfoConstants.ENTRY_STATUS_PASS)) {
+            //入驻审核通过
+            mViewBinding.llContent.setVisibility(View.VISIBLE);
+            mViewBinding.clEmptyFlag.setVisibility(View.GONE);
+            currentPage = 1;
+            queryCourse();
+        } else {
+            //未通过或者未申请
+            mViewBinding.llContent.setVisibility(View.GONE);
+            mViewBinding.clEmptyFlag.setVisibility(View.VISIBLE);
+            mViewBinding.tvEmptyHint.setText("您还没有完成老师认证\n认证后才可创建直播课哦~");
+            mViewBinding.tvOpen.setVisibility(View.VISIBLE);
+            mViewBinding.tvOpen.setText("去认证");
+        }
+
+    }
 }

+ 48 - 3
teacher/src/main/java/com/cooleshow/teacher/ui/homepage/SparringCoursePageFragment.java

@@ -1,5 +1,6 @@
 package com.cooleshow.teacher.ui.homepage;
 
+import android.text.TextUtils;
 import android.view.View;
 
 import androidx.annotation.NonNull;
@@ -16,6 +17,8 @@ import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.adapter.SparringCourseListAdapter;
 import com.cooleshow.teacher.bean.SparringCourseListBean;
+import com.cooleshow.teacher.bean.TeacherUserInfo;
+import com.cooleshow.teacher.constants.TeacherInfoConstants;
 import com.cooleshow.teacher.contract.SparringCoursePageContract;
 import com.cooleshow.teacher.databinding.FragmentSparringCoursePageLayoutBinding;
 import com.cooleshow.teacher.presenter.homePage.SparringCoursePagePresenter;
@@ -35,6 +38,7 @@ public class SparringCoursePageFragment extends BaseMVPFragment<FragmentSparring
     @Override
     protected void initView(View rootView) {
         mViewBinding.llPracticeSet.setOnClickListener(this);
+        mViewBinding.tvOpen.setOnClickListener(this);
     }
 
     @Override
@@ -78,8 +82,7 @@ public class SparringCoursePageFragment extends BaseMVPFragment<FragmentSparring
         });
         mViewBinding.recyclerView.setLayoutManager(new LinearLayoutManager(requireContext()));
         mViewBinding.recyclerView.setAdapter(mAdapter);
-        currentPage = 1;
-        queryCourse();
+
     }
 
     @Override
@@ -91,7 +94,11 @@ public class SparringCoursePageFragment extends BaseMVPFragment<FragmentSparring
     protected SparringCoursePagePresenter createPresenter() {
         return new SparringCoursePagePresenter();
     }
-
+    @Override
+    public void onResume() {
+        super.onResume();
+        presenter.getTeacherUserInfo();
+    }
     @Override
     public void onClick(View view) {
         switch (view.getId()){
@@ -101,6 +108,19 @@ public class SparringCoursePageFragment extends BaseMVPFragment<FragmentSparring
                         .withString(WebConstants.WEB_URL, WebConstants.TEACHER_PRACTICE_SETTING)
                         .navigation();
                 break;
+            case R.id.tv_open:
+                if (mViewBinding.tvOpen.getText().toString().equals("去认证")){
+                    ARouter.getInstance().build(RouterPath.WebCenter.ACTIVITY_HTML)
+                            .withString(WebConstants.WEB_URL, WebConstants.TEACHER_CERT)
+                            .navigation();
+                }else if (mViewBinding.tvOpen.getText().toString().equals("立即开通")){
+                    ARouter.getInstance()
+                            .build(RouterPath.WebCenter.ACTIVITY_HTML)
+                            .withString(WebConstants.WEB_URL, WebConstants.TEACHER_OPEN_LIVE)
+                            .navigation();
+                }
+
+                break;
         }
     }
     private void queryCourse() {
@@ -166,4 +186,29 @@ public class SparringCoursePageFragment extends BaseMVPFragment<FragmentSparring
             }
         }
     }
+
+    @Override
+    public void getTeacherInfoSuccess(TeacherUserInfo teacherUserInfo) {
+        if (TextUtils.equals(teacherUserInfo.entryStatus, TeacherInfoConstants.ENTRY_STATUS_DOING)) {
+            //入驻审核中
+            mViewBinding.llContent.setVisibility(View.GONE);
+            mViewBinding.clEmptyFlag.setVisibility(View.VISIBLE);
+            mViewBinding.tvEmptyHint.setText("老师认证审核中!");
+            mViewBinding.tvOpen.setVisibility(View.GONE);
+        } else if (TextUtils.equals(teacherUserInfo.entryStatus, TeacherInfoConstants.ENTRY_STATUS_PASS)) {
+            //入驻审核通过
+            mViewBinding.llContent.setVisibility(View.VISIBLE);
+            mViewBinding.clEmptyFlag.setVisibility(View.GONE);
+            currentPage = 1;
+            queryCourse();
+        } else {
+            //未通过或者未申请
+            mViewBinding.llContent.setVisibility(View.GONE);
+            mViewBinding.clEmptyFlag.setVisibility(View.VISIBLE);
+            mViewBinding.tvEmptyHint.setText("您还没有完成老师认证\n认证后才可创建直播课哦~");
+            mViewBinding.tvOpen.setVisibility(View.VISIBLE);
+            mViewBinding.tvOpen.setText("去认证");
+        }
+
+    }
 }

+ 49 - 2
teacher/src/main/java/com/cooleshow/teacher/ui/homepage/VideoCoursePageFragment.java

@@ -1,5 +1,6 @@
 package com.cooleshow.teacher.ui.homepage;
 
+import android.text.TextUtils;
 import android.view.View;
 
 import androidx.annotation.NonNull;
@@ -18,7 +19,9 @@ import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.adapter.MineVideoCourseAdapter;
 import com.cooleshow.teacher.bean.MineVideoCourseListBean;
+import com.cooleshow.teacher.bean.TeacherUserInfo;
 import com.cooleshow.teacher.bean.VideoCourseListBean;
+import com.cooleshow.teacher.constants.TeacherInfoConstants;
 import com.cooleshow.teacher.contract.VideoCoursePageContract;
 import com.cooleshow.teacher.presenter.homePage.VideoCoursePagePresenter;
 import com.cooleshow.base.ui.fragment.BaseMVPFragment;
@@ -39,6 +42,7 @@ public class VideoCoursePageFragment extends BaseMVPFragment<FragmentVideoCourse
     @Override
     protected void initView(View rootView) {
         mViewBinding.llCreateVideo.setOnClickListener(this);
+        mViewBinding.tvOpen.setOnClickListener(this);
         RecyclerView rvAddress = mViewBinding.recyclerView;
         LinearLayoutManager manager = new GridLayoutManager(getContext(), 2);
         rvAddress.setLayoutManager(manager);
@@ -83,8 +87,7 @@ public class VideoCoursePageFragment extends BaseMVPFragment<FragmentVideoCourse
                 }
             }
         });
-        currentPage = 1;
-        queryCourse(true);
+
     }
 
     private boolean hasNext = true;
@@ -121,6 +124,19 @@ public class VideoCoursePageFragment extends BaseMVPFragment<FragmentVideoCourse
                         .withString(WebConstants.WEB_URL, WebConstants.TEACHER_VIDEO_CREATE)
                         .navigation();
                 break;
+            case R.id.tv_open:
+                if (mViewBinding.tvOpen.getText().toString().equals("去认证")){
+                    ARouter.getInstance().build(RouterPath.WebCenter.ACTIVITY_HTML)
+                            .withString(WebConstants.WEB_URL, WebConstants.TEACHER_CERT)
+                            .navigation();
+                }else if (mViewBinding.tvOpen.getText().toString().equals("立即开通")){
+                    ARouter.getInstance()
+                            .build(RouterPath.WebCenter.ACTIVITY_HTML)
+                            .withString(WebConstants.WEB_URL, WebConstants.TEACHER_OPEN_LIVE)
+                            .navigation();
+                }
+
+                break;
         }
     }
 
@@ -151,6 +167,12 @@ public class VideoCoursePageFragment extends BaseMVPFragment<FragmentVideoCourse
     }
 
     @Override
+    public void onResume() {
+        super.onResume();
+        presenter.getTeacherUserInfo();
+    }
+
+    @Override
     public void queryVideoCourseGroupError(int page) {
         if (isDetached()) {
             return;
@@ -164,4 +186,29 @@ public class VideoCoursePageFragment extends BaseMVPFragment<FragmentVideoCourse
             }
         }
     }
+
+    @Override
+    public void getTeacherInfoSuccess(TeacherUserInfo teacherUserInfo) {
+        if (TextUtils.equals(teacherUserInfo.entryStatus, TeacherInfoConstants.ENTRY_STATUS_DOING)) {
+            //入驻审核中
+            mViewBinding.llContent.setVisibility(View.GONE);
+            mViewBinding.clEmptyFlag.setVisibility(View.VISIBLE);
+            mViewBinding.tvEmptyHint.setText("老师认证审核中!");
+            mViewBinding.tvOpen.setVisibility(View.GONE);
+        } else if (TextUtils.equals(teacherUserInfo.entryStatus, TeacherInfoConstants.ENTRY_STATUS_PASS)) {
+            //入驻审核通过
+            mViewBinding.llContent.setVisibility(View.VISIBLE);
+            mViewBinding.clEmptyFlag.setVisibility(View.GONE);
+            currentPage = 1;
+            queryCourse(true);
+        } else {
+            //未通过或者未申请
+            mViewBinding.llContent.setVisibility(View.GONE);
+            mViewBinding.clEmptyFlag.setVisibility(View.VISIBLE);
+            mViewBinding.tvEmptyHint.setText("您还没有完成老师认证\n认证后才可创建直播课哦~");
+            mViewBinding.tvOpen.setVisibility(View.VISIBLE);
+            mViewBinding.tvOpen.setText("去认证");
+        }
+
+    }
 }

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

@@ -310,11 +310,11 @@ public class MineIncomeActivity extends BaseMVPActivity<ActivityMineIncomeBindin
                 @Override
                 public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
                     Object object = incomeFilterAdapter.getData().get(position);
-                    if (object instanceof CourseFilterStatusBean) {
+                    if (object instanceof IncomeFilterBean) {
                         if (incomeFilterAdapter != null) {
                             incomeFilterAdapter.setSelect(position);
                         }
-                        CourseFilterStatusBean filterStatusBean = (CourseFilterStatusBean) object;
+                        IncomeFilterBean filterStatusBean = (IncomeFilterBean) object;
                         viewBinding.tvIncomeType.setText(filterStatusBean.showText);
                         reBuildFilter(currentSelectDate, filterStatusBean.value);
                     }

+ 27 - 3
teacher/src/main/java/com/cooleshow/teacher/ui/income/WithdrawalActivity.java

@@ -9,12 +9,15 @@ import com.alibaba.android.arouter.facade.annotation.Route;
 import com.alibaba.android.arouter.launcher.ARouter;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
+import com.cooleshow.base.utils.ToastUtils;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.bean.WithdrawalInfoBean;
 import com.cooleshow.teacher.contract.WithdrawalContract;
 import com.cooleshow.teacher.databinding.ActivityWithdrawalBinding;
 import com.cooleshow.teacher.presenter.income.WithdrawalPresenter;
 
+import java.text.DecimalFormat;
+
 import io.rong.imkit.utils.StatusBarUtil;
 
 /**
@@ -37,15 +40,29 @@ public class WithdrawalActivity extends BaseMVPActivity<ActivityWithdrawalBindin
                 break;
             case R.id.tv_confirm_withdrawal:
                 String amountWithdrawal = viewBinding.etPrice.getText().toString().trim();
+                if (Double.parseDouble(amountWithdrawal) <= mWithdrawalInfo.withdrawalServiceFee) {
+                    ToastUtils.showShort("提现金额需要大于手续费");
+                    break;
+                }
+                if (null == mWithdrawalInfo.userBankCard) {
+                    ToastUtils.showShort("请先绑定银行卡");
+                    ARouter.getInstance().build(RouterPath.MineCenter.MINE_MY_BANKCARD)
+                            .navigation();
+                    break;
+                }
+
+
                 presenter.userAccountPage(amountWithdrawal, mWithdrawalInfo.userBankCard.id + "");
                 break;
         }
     }
+
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         StatusBarUtil.setStatusBarDarkTheme(this, true);
     }
+
     @Override
     protected void initView() {
         initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "提现");
@@ -79,13 +96,20 @@ public class WithdrawalActivity extends BaseMVPActivity<ActivityWithdrawalBindin
     @Override
     public void getWithdrawalInfoSuccess(WithdrawalInfoBean data) {
         mWithdrawalInfo = data;
-        viewBinding.tvAvailablePrice.setText("可提现余额 " + data.amountWithdrawal);
-        viewBinding.tvServiceFee.setText("单次收入提现时,平台将收取" + data.withdrawalServiceFee + "元手续费");
+        viewBinding.tvAvailablePrice.setText("可提现余额 " + getTwoDecimal(data.amountWithdrawal));
+        viewBinding.tvServiceFee.setText("单次收入提现时,平台将收取" + getTwoDecimal(data.withdrawalServiceFee) + "元手续费");
         if (null != data.userBankCard) {
-            viewBinding.tvBankName.setText(data.userBankCard.bankName );
+            viewBinding.tvBankName.setText(data.userBankCard.bankName);
         }
     }
 
+    private String getTwoDecimal(double num) {
+        DecimalFormat df=new DecimalFormat("#,##0.00");
+        String str=df.format(num);
+        return str;
+
+    }
+
     @Override
     public void doWithdrawalSuccess(Object o) {
         ARouter.getInstance().build(RouterPath.IncomeCenter.TEACHER_MINE_WITHDRAWAL_SUCCESS)

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

@@ -46,6 +46,7 @@ class HomeFragment : BaseMVPFragment<FragmentHomeLayoutBinding, HomePresenter>()
         mViewBinding.ivChat.setOnClickListener(this)
         mViewBinding.tvNoticeContent.setOnClickListener(this)
         mViewBinding.imNoticeList.setOnClickListener(this)
+        mViewBinding.cardKotofusa.setOnClickListener(this)
     }
 
     override fun createPresenter(): HomePresenter {
@@ -188,6 +189,13 @@ class HomeFragment : BaseMVPFragment<FragmentHomeLayoutBinding, HomePresenter>()
                     .withString(WebConstants.WEB_URL, WebConstants.HELP_CENTER_CATALOGTYPE_2)
                     .navigation()
             }
+            R.id.card_Kotofusa->{
+                //云库琴房
+                ARouter.getInstance()
+                    .build(RouterPath.WebCenter.ACTIVITY_HTML)
+                    .withString(WebConstants.WEB_URL, WebConstants.PIANO_ROOM)
+                    .navigation()
+            }
         }
 
     }
@@ -208,6 +216,7 @@ class HomeFragment : BaseMVPFragment<FragmentHomeLayoutBinding, HomePresenter>()
             mViewBinding.tvMineMusicSheetCount.text = "共" + data.musicSheet + "支\n乐谱"
             mViewBinding.tvMineAssessCount.text = "本周收到\n" + data.studentReplied + "个评价"
             mViewBinding.tvMineIncomeCount.text = "本月收入\n" + data.decimal + "元"
+            mViewBinding.tvMineKotofusaCount.text="剩余\n"+"0分钟"
         }
     }
 

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

@@ -543,6 +543,11 @@ public class MallFragment extends BaseMVPFragment<FragmentMallBinding, ShopMallP
         }
     }
 
+    @Override
+    public void savePicture(String base64,String uuid) {
+
+    }
+
     private boolean goPay = false;
 
     @Subscribe(threadMode = ThreadMode.MAIN)

+ 6 - 5
teacher/src/main/java/com/cooleshow/teacher/ui/mine/BindBankCardActivity.java

@@ -78,13 +78,13 @@ public class BindBankCardActivity extends BaseMVPActivity<ActivityBindBankcardBi
                     e.printStackTrace();
                 }
 
-                ARouter.getInstance().build(RouterPath.MineCenter.MINE_INPUT_BANK_VCODE)
+              /*  ARouter.getInstance().build(RouterPath.MineCenter.MINE_INPUT_BANK_VCODE)
                         .withString("jsonString", jsonObject.toString())
                         .withString("phone", bankPhone)
-                        .navigation(this, 1001);
+                        .navigation(this, 1001);*/
 
 
-//                presenter.bindBankCard(jsonObject.toString());
+                presenter.bindBankCard(jsonObject.toString());
                 break;
             case R.id.cl_bankname:
                 if (bankList.size() > 0) {
@@ -132,8 +132,9 @@ public class BindBankCardActivity extends BaseMVPActivity<ActivityBindBankcardBi
     @Override
     public void bindBankCardSuccess(ResponseBindCardBean data) {
         ToastUtils.showShort("绑卡成功");
-        //接口里没有验证码的字段
-//        ARouter.getInstance().build(RouterPath.MineCenter.MINE_INPUT_BANK_VCODE).navigation();
+        ARouter.getInstance().build(RouterPath.MineCenter.MINE_BIND_CARD_SUCCESS)
+                .navigation();
+        setResult(RESULT_OK);
         finish();
     }
 

+ 15 - 2
teacher/src/main/java/com/cooleshow/teacher/ui/mine/EditAddressActivity.java

@@ -67,9 +67,9 @@ public class EditAddressActivity extends BaseMVPActivity<ActivityEditAddressBind
             case R.id.im_set_default:
                 isDefaultAddress = !isDefaultAddress;
                 if (isDefaultAddress) {
-                    viewBinding.imSetDefault.setImageResource(R.drawable.icon_switch_off);
-                } else {
                     viewBinding.imSetDefault.setImageResource(R.drawable.icon_switch_open);
+                } else {
+                    viewBinding.imSetDefault.setImageResource(R.drawable.icon_switch_off);
                 }
                 break;
             case R.id.tv_district_detail:
@@ -90,6 +90,10 @@ public class EditAddressActivity extends BaseMVPActivity<ActivityEditAddressBind
                     ToastUtils.showShort("请输入收件人电话号码");
                     break;
                 }
+                if (phoneNumber.length()!=11) {
+                    ToastUtils.showShort("请输入正确电话号码");
+                    break;
+                }
                 if (TextUtils.isEmpty(province)) {
                     ToastUtils.showShort("请选择所在地区");
                     break;
@@ -158,11 +162,20 @@ public class EditAddressActivity extends BaseMVPActivity<ActivityEditAddressBind
             viewBinding.etName.setText(addressBean.name);
             viewBinding.etPhone.setText(addressBean.phoneNumber);
             if (!TextUtils.isEmpty(addressBean.province)) {
+                province=addressBean.province;
+                city= addressBean.city;
+                region=addressBean.region;
                 viewBinding.tvDistrictDetail.setText(addressBean.province + addressBean.city + addressBean.region);
                 viewBinding.tvDistrictDetail.setTextColor(getResources().getColor(com.cooleshow.base.R.color.color_1a1a1a));
             }
             viewBinding.etDetailAddress.setText(addressBean.detailAddress);
             id = addressBean.id;
+
+           if (addressBean.defaultStatus==1){
+               viewBinding.imSetDefault.setImageResource(R.drawable.icon_switch_open);
+           }else{
+               viewBinding.imSetDefault.setImageResource(R.drawable.icon_switch_off);
+           }
         }
     }
 

+ 9 - 0
teacher/src/main/java/com/cooleshow/teacher/ui/mine/ModifyPasswordActivity.java

@@ -1,6 +1,7 @@
 package com.cooleshow.teacher.ui.mine;
 
 import android.annotation.SuppressLint;
+import android.content.Intent;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
@@ -19,6 +20,8 @@ import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.contract.ModifyPasswordContract;
 import com.cooleshow.teacher.databinding.ActivityModifyPasswordBinding;
 import com.cooleshow.teacher.presenter.mine.ModifyPasswordPresenter;
+import com.cooleshow.usercenter.UserConstants;
+import com.cooleshow.usercenter.helper.UserHelper;
 
 import org.json.JSONException;
 import org.json.JSONObject;
@@ -102,6 +105,12 @@ public class ModifyPasswordActivity extends BaseMVPActivity<ActivityModifyPasswo
 
     @Override
     public void updatePasswordSuccess(Object object) {
+        UserHelper.saveUserToken("");
+        ARouter.getInstance().build(RouterPath.UserCenter.PATH_VERIFY_LOGIN)
+                .withString(UserConstants.PHONE_NUM_KEY, UserHelper.getUserPhone())
+                .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK)
+                .navigation();
+
         finish();
     }
 

+ 1 - 0
teacher/src/main/java/com/cooleshow/teacher/ui/minestyle/MineStylePageActivity.java

@@ -30,6 +30,7 @@ import com.cooleshow.teacher.bean.TeacherSelfStyleInfoBean;
 import com.cooleshow.teacher.contract.MineStylePageContract;
 import com.cooleshow.teacher.databinding.ActivityMineStylePageBinding;
 import com.cooleshow.teacher.presenter.minestyle.MineStylePagePresenter;
+import com.cooleshow.usercenter.helper.UserHelper;
 import com.google.android.flexbox.AlignItems;
 import com.google.android.flexbox.FlexDirection;
 import com.google.android.flexbox.FlexWrap;

+ 1 - 1
teacher/src/main/java/com/cooleshow/teacher/ui/minestyle/TeachableInstrumentActivity.java

@@ -126,11 +126,11 @@ public class TeachableInstrumentActivity extends BaseMVPActivity<ActivityTeachab
                                 }
                             }
                         }
+                        dataList.add(datum);
                     }
                 }
             }
 
-            dataList.addAll(data);
             if (null != teachableInstrumentAdapter) {
                 teachableInstrumentAdapter.notifyDataSetChanged();
             }

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

@@ -1845,6 +1845,11 @@ public class AccompanyFragment extends BaseMVPFragment<FragmentAccompanyBinding,
         }
     }
 
+    @Override
+    public void savePicture(String base64, String uuid) {
+
+    }
+
     private boolean goPay = false;
 
     @Subscribe(threadMode = ThreadMode.MAIN)

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

@@ -576,6 +576,11 @@ public class HtmlActivity extends BaseActivity<ActivityHtml1Binding> implements
         }
     }
 
+    @Override
+    public void savePicture(String base64,String uuid) {
+
+    }
+
     private boolean goPay = false;
 
     @Subscribe(threadMode = ThreadMode.MAIN)

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

@@ -582,6 +582,11 @@ public class HtmlHorizontalScreenActivity extends BaseActivity<ActivityHtml1Bind
         }
     }
 
+    @Override
+    public void savePicture(String base64,String uuid) {
+
+    }
+
     private boolean goPay = false;
 
     @Subscribe(threadMode = ThreadMode.MAIN)

+ 5 - 3
teacher/src/main/java/com/cooleshow/teacher/widgets/DialogUtils.java

@@ -22,13 +22,13 @@ import androidx.recyclerview.widget.RecyclerView;
 import com.cooleshow.base.common.BaseApplication;
 import com.cooleshow.base.utils.GlideUtils;
 import com.cooleshow.base.utils.PopupUtil;
+import com.cooleshow.base.utils.ToastUtils;
 import com.cooleshow.base.widgets.dialog.CommonDialog;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.adapter.MessageBoxAdapter;
 import com.cooleshow.teacher.adapter.ScoreShareListAdapter;
 import com.cooleshow.teacher.bean.MusicSheetShareBean;
 import com.cooleshow.usercenter.utils.SavePicUtil;
-import com.daya.live_teaching.utils.ToastUtils;
 
 /**
  * 创建日期:2022/5/24 15:22
@@ -102,15 +102,17 @@ public class DialogUtils {
                 matrix.postScale(1.0f, 1.0f); //长和宽放大缩小的比例
                 bmp = Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), matrix, true);
                 if (SavePicUtil.saveBitmap(BaseApplication.Companion.getContext(), bmp, System.currentTimeMillis() + "")) {
-                    ToastUtils.showToast("保存成功");
+                    ToastUtils.showShort("保存成功");
                 } else {
-                    ToastUtils.showToast("保存失败");
+                    ToastUtils.showShort("保存失败");
                 }
+                mAlertDialog.dismiss();
             }
         });
         tv_share.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
+                mAlertDialog.dismiss();
                 if (null!=callback){
                     int w = cl_content.getWidth();
                     int h = cl_content.getHeight();

+ 12 - 0
teacher/src/main/java/com/cooleshow/teacher/widgets/helper/JsInterfaceAccomPanyUtils.java

@@ -303,6 +303,12 @@ public class JsInterfaceAccomPanyUtils extends Object {
                         onListener.paymentOrder(content.getString("orderNo"), content.getString("payChannel"), content.getString("payInfo"));
                     }
                 }
+                if ("savePicture".equalsIgnoreCase(api)) {
+                    JSONObject content = jsonObject.getJSONObject("content");
+                    if (onListener != null) {
+                        onListener.savePicture(content.getString("base64"),content.getString("uuid"));
+                    }
+                }
             } catch (Exception e) {
 
             }
@@ -570,6 +576,12 @@ public class JsInterfaceAccomPanyUtils extends Object {
          * @param payInfo
          */
         void paymentOrder(String orderNo, String payChannel, String payInfo);
+
+        /**
+         * 保存图片
+         * @param base64
+         */
+        void savePicture(String base64,String uuid);
     }
 
 }

+ 22 - 8
teacher/src/main/java/com/cooleshow/teacher/widgets/helper/JsInterfaceUtils.java

@@ -219,22 +219,28 @@ public class JsInterfaceUtils extends Object {
                     }
                 }
                 //进入聊天
-                if ("joinChatGroup".equals(api)){
+                if ("joinChatGroup".equals(api)) {
                     JSONObject content = jsonObject.getJSONObject("content");
                     if (onListener != null) {
-                        onListener.joinChatGroup(content.getString("type"),content.getString("id"));
+                        onListener.joinChatGroup(content.getString("type"), content.getString("id"));
                     }
                 }
                 //跳转地址页面
-                if ("setAddress".equals(api)){
+                if ("setAddress".equals(api)) {
                     ARouter.getInstance().build(RouterPath.MineCenter.MINE_SELECT_ADDRESS_LIST)
-                            .navigation(activity,1011);
+                            .navigation(activity, 1011);
                 }
                 //支付
-                if ("paymentOrder".equals(api)){
+                if ("paymentOrder".equals(api)) {
                     JSONObject content = jsonObject.getJSONObject("content");
                     if (onListener != null) {
-                        onListener.paymentOrder(content.getString("orderNo"),content.getString("payChannel"),content.getString("payInfo"));
+                        onListener.paymentOrder(content.getString("orderNo"), content.getString("payChannel"), content.getString("payInfo"));
+                    }
+                }
+                if ("savePicture".equalsIgnoreCase(api)) {
+                    JSONObject content = jsonObject.getJSONObject("content");
+                    if (onListener != null) {
+                        onListener.savePicture(content.getString("base64"),content.getString("uuid"));
                     }
                 }
             } catch (Exception e) {
@@ -317,18 +323,26 @@ public class JsInterfaceUtils extends Object {
 
         /**
          * 进入聊天
+         *
          * @param type // single 单人 multi 多人
          * @param id
          */
-        void joinChatGroup(String type,String id);
+        void joinChatGroup(String type, String id);
 
         /**
          * 支付
+         *
          * @param orderNo
          * @param payChannel
          * @param payInfo
          */
-        void paymentOrder(String orderNo,String payChannel,String payInfo);
+        void paymentOrder(String orderNo, String payChannel, String payInfo);
+
+        /**
+         * 保存图片
+         * @param base64
+         */
+        void savePicture(String base64,String uuid);
     }
 
 }

+ 1 - 1
teacher/src/main/res/layout/activity_check_modify_phonenum.xml

@@ -50,7 +50,7 @@
             android:background="@null"
             android:gravity="center_vertical"
             android:hint="请输入密码"
-            android:inputType="textPassword"
+            android:inputType="text"
             android:paddingLeft="14dp"
             android:paddingRight="14dp"
             android:textColor="@color/color_1a1a1a"

+ 1 - 0
teacher/src/main/res/layout/activity_edit_address.xml

@@ -83,6 +83,7 @@
             android:gravity="left"
             android:hint="收件人电话号码"
             android:inputType="phone"
+            android:maxLength="11"
             android:paddingTop="12dp"
             android:textColor="@color/color_1a1a1a"
             android:textColorHint="@color/color_999999"

+ 63 - 3
teacher/src/main/res/layout/fragment_home_layout.xml

@@ -1,9 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.core.widget.NestedScrollView 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="match_parent">
+    <androidx.constraintlayout.widget.ConstraintLayout
+
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
 
     <ImageView
         android:id="@+id/iv_header_bg"
@@ -347,6 +352,8 @@
                 android:text="本周剩余\n0课时"
                 android:textColor="@color/color_999999"
                 android:textSize="@dimen/sp_12" />
+
+
         </LinearLayout>
     </androidx.cardview.widget.CardView>
 
@@ -550,7 +557,7 @@
     </androidx.cardview.widget.CardView>
 
     <androidx.cardview.widget.CardView
-        android:id="@+id/card_mine_income"
+        android:id="@+id/card_Kotofusa"
         android:layout_width="0dp"
         android:layout_height="105dp"
         android:layout_marginTop="12dp"
@@ -581,6 +588,58 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:includeFontPadding="false"
+                android:text="云库琴房"
+                android:textColor="@color/color_1a1a1a"
+                android:textSize="@dimen/sp_16"
+                android:textStyle="bold" />
+
+            <TextView
+                android:id="@+id/tv_mine_Kotofusa_count"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="3dp"
+                android:includeFontPadding="false"
+                android:text="剩余\n0 分钟"
+                android:textColor="@color/color_999999"
+                android:textSize="@dimen/sp_12" />
+        </LinearLayout>
+    </androidx.cardview.widget.CardView>
+
+
+    <androidx.cardview.widget.CardView
+        android:id="@+id/card_mine_income"
+        android:layout_width="0dp"
+        android:layout_height="105dp"
+        android:layout_marginTop="12dp"
+        app:cardBackgroundColor="@color/white"
+        app:cardCornerRadius="10dp"
+        app:cardElevation="2dp"
+        app:cardPreventCornerOverlap="true"
+        android:layout_marginBottom="@dimen/dp_20"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:cardUseCompatPadding="false"
+        app:layout_constraintLeft_toLeftOf="@+id/card_mine_course"
+        app:layout_constraintRight_toRightOf="@+id/card_mine_course"
+        app:layout_constraintTop_toBottomOf="@+id/card_mine_assess">
+
+        <ImageView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical|end"
+            android:src="@drawable/icon_home_mine_income" />
+
+        <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="18dp"
+            android:layout_marginTop="18dp"
+            android:orientation="vertical"
+            android:paddingEnd="18dp">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:includeFontPadding="false"
                 android:text="我的收入"
                 android:textColor="@color/color_1a1a1a"
                 android:textSize="@dimen/sp_16"
@@ -597,4 +656,5 @@
                 android:textSize="@dimen/sp_12" />
         </LinearLayout>
     </androidx.cardview.widget.CardView>
-</androidx.constraintlayout.widget.ConstraintLayout>
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</androidx.core.widget.NestedScrollView>

+ 98 - 41
teacher/src/main/res/layout/fragment_live_course_page_layout.xml

@@ -1,53 +1,110 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
+    android:layout_height="match_parent">
+
     <LinearLayout
-        android:id="@+id/ll_create_live"
+        android:id="@+id/ll_content"
         android:layout_width="match_parent"
-        android:layout_height="@dimen/dp_40"
-        android:layout_marginLeft="14dp"
-        android:layout_marginRight="14dp"
-        android:layout_marginTop="14dp"
-        android:background="@drawable/bg_border_e5_radius"
-        android:gravity="center"
-        android:orientation="horizontal">
+        android:layout_height="match_parent"
+        android:orientation="vertical">
 
-        <ImageView
-            android:layout_width="@dimen/dp_26"
-            android:layout_height="@dimen/dp_26"
-            android:background="@drawable/icon_open_live" />
+        <LinearLayout
+            android:id="@+id/ll_create_live"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/dp_40"
+            android:layout_marginLeft="14dp"
+            android:layout_marginTop="14dp"
+            android:layout_marginRight="14dp"
+            android:background="@drawable/bg_border_e5_radius"
+            android:gravity="center"
+            android:orientation="horizontal">
 
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="2dp"
-            android:text="创建直播课"
-            android:textColor="@color/black_333"
-            android:textSize="@dimen/sp_15" />
+            <ImageView
+                android:layout_width="@dimen/dp_26"
+                android:layout_height="@dimen/dp_26"
+                android:background="@drawable/icon_open_live" />
 
-        <ImageView
-            android:layout_width="6dp"
-            android:layout_height="11dp"
-            android:layout_marginLeft="8dp"
-            android:background="@drawable/icon_go_right"/>
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="2dp"
+                android:text="创建直播课"
+                android:textColor="@color/black_333"
+                android:textSize="@dimen/sp_15" />
+
+            <ImageView
+                android:layout_width="6dp"
+                android:layout_height="11dp"
+                android:layout_marginLeft="8dp"
+                android:background="@drawable/icon_go_right" />
+        </LinearLayout>
+
+        <com.scwang.smart.refresh.layout.SmartRefreshLayout
+            android:id="@+id/refreshLayout"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
+
+            <com.scwang.smart.refresh.header.ClassicsHeader
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/recyclerView"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:overScrollMode="never"
+                android:scrollbars="none" />
+        </com.scwang.smart.refresh.layout.SmartRefreshLayout>
     </LinearLayout>
 
-    <com.scwang.smart.refresh.layout.SmartRefreshLayout
-        android:id="@+id/refreshLayout"
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/cl_empty_flag"
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
+        android:layout_height="wrap_content"
+        android:visibility="gone"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent">
 
-        <com.scwang.smart.refresh.header.ClassicsHeader
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content" />
 
-        <androidx.recyclerview.widget.RecyclerView
-            android:id="@+id/recyclerView"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:overScrollMode="never"
-            android:scrollbars="none" />
-    </com.scwang.smart.refresh.layout.SmartRefreshLayout>
-</LinearLayout>
+        <ImageView
+            android:id="@+id/im_empty_logo"
+            android:layout_width="@dimen/dp_260"
+            android:layout_height="@dimen/dp_230"
+            android:background="@drawable/icon_empty_mine_course"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <TextView
+            android:id="@+id/tv_empty_hint"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="14dp"
+            android:gravity="center"
+            android:lineSpacingExtra="4dp"
+            android:text="您还没有完成老师认证\n认证后才可创建直播课哦~"
+            android:textColor="@color/color_999999"
+            android:textSize="@dimen/sp_16"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/im_empty_logo" />
+
+        <TextView
+            android:id="@+id/tv_open"
+            android:layout_width="@dimen/dp_196"
+            android:layout_height="@dimen/dp_44"
+            android:layout_gravity="center_horizontal"
+            android:layout_marginTop="25dp"
+            android:background="@drawable/shape_course_status_ing"
+            android:gravity="center"
+            android:text="去认证"
+            android:textColor="@color/white"
+            android:textSize="@dimen/sp_14"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tv_empty_hint" />
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</RelativeLayout>

+ 100 - 41
teacher/src/main/res/layout/fragment_sparring_course_page_layout.xml

@@ -1,53 +1,112 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
+    android:layout_height="match_parent">
+
     <LinearLayout
-        android:id="@+id/ll_practice_set"
+        android:id="@+id/ll_content"
         android:layout_width="match_parent"
-        android:layout_height="@dimen/dp_40"
-        android:layout_marginLeft="14dp"
-        android:layout_marginRight="14dp"
-        android:layout_marginTop="14dp"
-        android:background="@drawable/bg_border_e5_radius"
-        android:gravity="center"
-        android:orientation="horizontal">
+        android:layout_height="match_parent"
+        android:orientation="vertical">
 
-        <ImageView
-            android:layout_width="@dimen/dp_26"
-            android:layout_height="@dimen/dp_26"
-            android:background="@drawable/icon_sparing_course_set" />
 
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="2dp"
-            android:text="陪练课设置"
-            android:textColor="@color/black_333"
-            android:textSize="@dimen/sp_15" />
+        <LinearLayout
+            android:id="@+id/ll_practice_set"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/dp_40"
+            android:layout_marginLeft="14dp"
+            android:layout_marginTop="14dp"
+            android:layout_marginRight="14dp"
+            android:background="@drawable/bg_border_e5_radius"
+            android:gravity="center"
+            android:orientation="horizontal">
 
-        <ImageView
-            android:layout_width="6dp"
-            android:layout_height="11dp"
-            android:layout_marginLeft="8dp"
-            android:background="@drawable/icon_go_right"/>
+            <ImageView
+                android:layout_width="@dimen/dp_26"
+                android:layout_height="@dimen/dp_26"
+                android:background="@drawable/icon_sparing_course_set" />
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="2dp"
+                android:text="陪练课设置"
+                android:textColor="@color/black_333"
+                android:textSize="@dimen/sp_15" />
+
+            <ImageView
+                android:layout_width="6dp"
+                android:layout_height="11dp"
+                android:layout_marginLeft="8dp"
+                android:background="@drawable/icon_go_right" />
+        </LinearLayout>
+
+        <com.scwang.smart.refresh.layout.SmartRefreshLayout
+            android:id="@+id/refreshLayout"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
+
+            <com.scwang.smart.refresh.header.ClassicsHeader
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/recyclerView"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:overScrollMode="never"
+                android:scrollbars="none" />
+        </com.scwang.smart.refresh.layout.SmartRefreshLayout>
     </LinearLayout>
 
-    <com.scwang.smart.refresh.layout.SmartRefreshLayout
-        android:id="@+id/refreshLayout"
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/cl_empty_flag"
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
+        android:layout_height="wrap_content"
+        android:visibility="gone"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent">
 
-        <com.scwang.smart.refresh.header.ClassicsHeader
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content" />
 
-        <androidx.recyclerview.widget.RecyclerView
-            android:id="@+id/recyclerView"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:overScrollMode="never"
-            android:scrollbars="none" />
-    </com.scwang.smart.refresh.layout.SmartRefreshLayout>
-</LinearLayout>
+        <ImageView
+            android:id="@+id/im_empty_logo"
+            android:layout_width="@dimen/dp_260"
+            android:layout_height="@dimen/dp_230"
+            android:background="@drawable/icon_empty_mine_course"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <TextView
+            android:id="@+id/tv_empty_hint"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="14dp"
+            android:gravity="center"
+            android:lineSpacingExtra="4dp"
+            android:text="您还没有完成老师认证\n认证后才可创建直播课哦~"
+            android:textColor="@color/color_999999"
+            android:textSize="@dimen/sp_16"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/im_empty_logo" />
+
+        <TextView
+            android:id="@+id/tv_open"
+            android:layout_width="@dimen/dp_196"
+            android:layout_height="@dimen/dp_44"
+            android:layout_gravity="center_horizontal"
+            android:layout_marginTop="25dp"
+            android:background="@drawable/shape_course_status_ing"
+            android:gravity="center"
+            android:text="去认证"
+            android:textColor="@color/white"
+            android:textSize="@dimen/sp_14"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tv_empty_hint" />
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</RelativeLayout>

+ 98 - 39
teacher/src/main/res/layout/fragment_video_course_page_layout.xml

@@ -1,53 +1,112 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical">
+
     <LinearLayout
-        android:id="@+id/ll_create_video"
+        android:id="@+id/ll_content"
         android:layout_width="match_parent"
-        android:layout_height="@dimen/dp_40"
-        android:layout_marginLeft="14dp"
-        android:layout_marginRight="14dp"
-        android:layout_marginTop="14dp"
-        android:background="@drawable/bg_border_e5_radius"
-        android:gravity="center"
-        android:orientation="horizontal">
+        android:layout_height="match_parent"
+        android:orientation="vertical">
 
-        <ImageView
-            android:layout_width="@dimen/dp_26"
-            android:layout_height="@dimen/dp_26"
-            android:background="@drawable/icon_video_course" />
 
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="2dp"
-            android:text="创建视频课"
-            android:textColor="@color/black_333"
-            android:textSize="@dimen/sp_15" />
+        <LinearLayout
+            android:id="@+id/ll_create_video"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/dp_40"
+            android:layout_marginLeft="14dp"
+            android:layout_marginTop="14dp"
+            android:layout_marginRight="14dp"
+            android:background="@drawable/bg_border_e5_radius"
+            android:gravity="center"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:layout_width="@dimen/dp_26"
+                android:layout_height="@dimen/dp_26"
+                android:background="@drawable/icon_video_course" />
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="2dp"
+                android:text="创建视频课"
+                android:textColor="@color/black_333"
+                android:textSize="@dimen/sp_15" />
+
+            <ImageView
+                android:layout_width="6dp"
+                android:layout_height="11dp"
+                android:layout_marginLeft="8dp"
+                android:background="@drawable/icon_go_right" />
+        </LinearLayout>
+
+        <com.scwang.smart.refresh.layout.SmartRefreshLayout
+            android:id="@+id/refreshLayout"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
+
+            <com.scwang.smart.refresh.header.ClassicsHeader
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/recyclerView"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:overScrollMode="never"
+                android:scrollbars="none" />
+        </com.scwang.smart.refresh.layout.SmartRefreshLayout>
 
-        <ImageView
-            android:layout_width="6dp"
-            android:layout_height="11dp"
-            android:layout_marginLeft="8dp"
-            android:background="@drawable/icon_go_right"/>
     </LinearLayout>
 
-    <com.scwang.smart.refresh.layout.SmartRefreshLayout
-        android:id="@+id/refreshLayout"
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/cl_empty_flag"
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
+        android:layout_height="wrap_content"
+        android:visibility="gone"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent">
 
-        <com.scwang.smart.refresh.header.ClassicsHeader
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content" />
 
-        <androidx.recyclerview.widget.RecyclerView
-            android:id="@+id/recyclerView"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:overScrollMode="never"
-            android:scrollbars="none" />
-    </com.scwang.smart.refresh.layout.SmartRefreshLayout>
-</LinearLayout>
+        <ImageView
+            android:id="@+id/im_empty_logo"
+            android:layout_width="@dimen/dp_260"
+            android:layout_height="@dimen/dp_230"
+            android:background="@drawable/icon_empty_mine_course"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <TextView
+            android:id="@+id/tv_empty_hint"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="14dp"
+            android:gravity="center"
+            android:lineSpacingExtra="4dp"
+            android:text="您还没有完成老师认证\n认证后才可创建直播课哦~"
+            android:textColor="@color/color_999999"
+            android:textSize="@dimen/sp_16"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/im_empty_logo" />
+
+        <TextView
+            android:id="@+id/tv_open"
+            android:layout_width="@dimen/dp_196"
+            android:layout_height="@dimen/dp_44"
+            android:layout_gravity="center_horizontal"
+            android:layout_marginTop="25dp"
+            android:background="@drawable/shape_course_status_ing"
+            android:gravity="center"
+            android:text="去认证"
+            android:textColor="@color/white"
+            android:textSize="@dimen/sp_14"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tv_empty_hint" />
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</RelativeLayout>

+ 3 - 2
teacher/src/main/res/layout/layout_mine_video_course_item.xml

@@ -2,7 +2,8 @@
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content">
+    android:layout_height="wrap_content"
+    xmlns:tools="http://schemas.android.com/tools">
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="match_parent"
@@ -50,7 +51,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginLeft="6dp"
-            android:text="李老师"
+            tools:text="李老师"
             android:textColor="@color/color_999999"
             android:textSize="@dimen/sp_12"
             app:layout_constraintBottom_toBottomOf="@+id/im_header"

+ 10 - 1
teacher/src/main/res/layout/layout_teachable_instrument_item.xml

@@ -14,7 +14,16 @@
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintTop_toTopOf="parent"
         app:qmui_corner_radius="10dp" />
-
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="108dp"
+        android:layout_marginLeft="5dp"
+        android:layout_marginTop="5dp"
+        android:layout_marginRight="5dp"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        android:background="@drawable/bg_teachable_instrument"
+        />
 
     <ImageView
         android:id="@+id/im_check"