瀏覽代碼

修改bug

Pq 3 年之前
父節點
當前提交
571c55900a
共有 20 個文件被更改,包括 107 次插入24 次删除
  1. 2 1
      live_teaching/src/main/java/com/daya/live_teaching/im/IMManager.java
  2. 1 1
      rong_im/common_im_ui/src/main/java/com/common/im/bean/MusicSheetListBean.java
  3. 3 3
      rong_im/common_im_ui/src/main/java/com/common/im/presenter/MessagePresenter.java
  4. 2 2
      rong_im/common_im_ui/src/main/java/com/common/im/ui/MessageFragment.java
  5. 2 1
      rong_im/common_im_ui/src/main/java/com/common/im/ui/activity/SearchHistoryMessageActivity.java
  6. 2 1
      rong_im/kit/src/main/java/io/rong/imkit/activity/ForwardSelectConversationActivity.java
  7. 13 0
      rong_im/kit/src/main/java/io/rong/imkit/utils/helper/ConversationFilterHelper.java
  8. 21 0
      rong_im/kit/src/main/java/io/rong/imkit/utils/helper/OpenChatHelper.java
  9. 5 1
      student/src/main/java/com/cooleshow/student/adapter/CourseTableListAdapter.kt
  10. 1 0
      student/src/main/java/com/cooleshow/student/bean/CourseTableDataBean.java
  11. 15 0
      student/src/main/java/com/cooleshow/student/ui/main/CourseTableFragment.kt
  12. 15 5
      student/src/main/java/com/cooleshow/student/ui/mine/SelectAddressListActivity.java
  13. 1 0
      student/src/main/res/layout/item_course_table_layout.xml
  14. 1 0
      teacher/src/main/java/com/cooleshow/teacher/adapter/CourseTableListAdapter.kt
  15. 1 0
      teacher/src/main/java/com/cooleshow/teacher/bean/CourseTableDataBean.java
  16. 2 2
      teacher/src/main/java/com/cooleshow/teacher/bean/HomePageSheetMusicListBean.java
  17. 1 1
      teacher/src/main/java/com/cooleshow/teacher/bean/MusicSheetListBean.java
  18. 10 6
      teacher/src/main/java/com/cooleshow/teacher/ui/main/CourseTableFragment.kt
  19. 8 0
      teacher/src/main/java/com/cooleshow/teacher/ui/mine/SelectAddressListActivity.java
  20. 1 0
      teacher/src/main/res/layout/item_course_table_layout.xml

+ 2 - 1
live_teaching/src/main/java/com/daya/live_teaching/im/IMManager.java

@@ -30,6 +30,7 @@ import com.daya.live_teaching.im.provider.RoleChangedMessageItemProvider;
 import com.daya.live_teaching.model.RoleChangedUser;
 
 import io.rong.imkit.conversation.messgelist.provider.RCChatShareMusicProvider;
+import io.rong.imkit.utils.helper.ConversationFilterHelper;
 import io.rong.imkit.widget.RCChatShareMusicMessage;
 
 import java.util.ArrayList;
@@ -142,7 +143,7 @@ public class IMManager {
                 for (Conversation conversation : data) {
                     if (conversation.getConversationType() == Conversation.ConversationType.GROUP) {
                         //群聊排除课程和fans群之外的,比如网络教室
-                        if (!conversation.getTargetId().contains("COURSE") && !conversation.getTargetId().contains("FAN")) {
+                        if (!ConversationFilterHelper.checkConversationEnable(conversation.getTargetId())) {
                             data.remove(conversation); //此处以过滤 "XXX" 这个群组会话为例。
                         }
                     }

+ 1 - 1
rong_im/common_im_ui/src/main/java/com/common/im/bean/MusicSheetListBean.java

@@ -83,7 +83,7 @@ public class MusicSheetListBean {
         public String metronomeUrl;
         public String midiUrl;
         public String mp3Type;
-        public double musicPrice;
+        public String musicPrice;
         public String musicSheetName;
         public String musicSubject;
         public String musicTag;

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

@@ -48,9 +48,9 @@ public class MessagePresenter extends BasePresenter<MessageFragmentContract.Mess
 
     //查询群详情
     public void queryGroupDetail(Context context, String groupId) {
-        String tempGroupId = groupId.replace("S", "").replace("s", "").replace("I", "").replace("i", "");
+//        String tempGroupId = groupId.replace("S", "").replace("s", "").replace("I", "").replace("i", "");
         if (!BaseApplication.Companion.isTeacherClient()) {
-            addSubscribe(create(IMApi.class).queryStuGroupDetail(tempGroupId), new BaseObserver<RongIMGroupInfo>() {
+            addSubscribe(create(IMApi.class).queryStuGroupDetail(groupId), new BaseObserver<RongIMGroupInfo>() {
                 @Override
                 protected void onSuccess(RongIMGroupInfo data) {
                     if (isViewAttached()) {
@@ -67,7 +67,7 @@ public class MessagePresenter extends BasePresenter<MessageFragmentContract.Mess
 
             });
         }else{
-            addSubscribe(create(IMApi.class).queryTeaGroupDetail(tempGroupId), new BaseObserver<RongIMGroupInfo>() {
+            addSubscribe(create(IMApi.class).queryTeaGroupDetail(groupId), new BaseObserver<RongIMGroupInfo>() {
                 @Override
                 protected void onSuccess(RongIMGroupInfo data) {
                     if (isViewAttached()) {

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

@@ -4,7 +4,6 @@ import android.content.Context;
 import android.graphics.Typeface;
 import android.net.Uri;
 import android.text.TextUtils;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.TextView;
@@ -12,6 +11,7 @@ import android.widget.TextView;
 import com.alibaba.android.arouter.launcher.ARouter;
 import com.common.im.adapter.MessagePagerAdapter;
 import com.common.im.contract.MessageFragmentContract;
+import io.rong.imkit.utils.helper.ConversationFilterHelper;
 import com.common.im.presenter.MessagePresenter;
 import com.common.im.ui.contact.ContactListTabFragment;
 import com.common.im_ui.R;
@@ -118,7 +118,7 @@ public class MessageFragment extends BaseMVPFragment<FragmentMessageLayoutBindin
         RongIM.setGroupInfoProvider(new UserDataProvider.GroupInfoProvider() {
             @Override
             public Group getGroupInfo(String groupId) {
-                if (groupId.contains("S") || groupId.contains("DAYA") || groupId.contains("I")) {
+                if (!ConversationFilterHelper.checkConversationEnable(groupId)) {
                     return null;
                 }
                 if (presenter != null) {

+ 2 - 1
rong_im/common_im_ui/src/main/java/com/common/im/ui/activity/SearchHistoryMessageActivity.java

@@ -23,6 +23,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.listener.OnItemClickListener;
 import com.common.im.adapter.MessageSearchAdapter;
 import com.common.im.contract.SearchHistoryMessageContract;
+import io.rong.imkit.utils.helper.ConversationFilterHelper;
 import com.common.im.presenter.SearchHistoryMessagePresenter;
 import com.common.im_ui.databinding.ActivitySearchHistoryMessageBinding;
 import com.cooleshow.base.router.RouterPath;
@@ -174,7 +175,7 @@ public class SearchHistoryMessageActivity extends BaseMVPActivity<ActivitySearch
                         Iterator<Message> it = messages.iterator();
                         while(it.hasNext()){
                             Message conversation = it.next();
-                            if (conversation.getTargetId().contains("S") || conversation.getTargetId().contains("DAYA") || conversation.getTargetId().contains("I")) {
+                            if (!ConversationFilterHelper.checkConversationEnable(conversation.getTargetId())) {
                                 it.remove();
                             }
                         }

+ 2 - 1
rong_im/kit/src/main/java/io/rong/imkit/activity/ForwardSelectConversationActivity.java

@@ -33,6 +33,7 @@ import io.rong.imkit.feature.forward.ForwardManager;
 import io.rong.imkit.feature.forward.IHistoryDataResultCallback;
 import io.rong.imkit.userinfo.RongUserInfoManager;
 import io.rong.imkit.userinfo.db.model.User;
+import io.rong.imkit.utils.helper.ConversationFilterHelper;
 import io.rong.imkit.widget.RongSwipeRefreshLayout;
 import io.rong.imlib.RongIMClient;
 import io.rong.imlib.model.Conversation;
@@ -134,7 +135,7 @@ public class ForwardSelectConversationActivity extends RongBaseNoActionbarActivi
                     Iterator<Conversation> it = data.iterator();
                     while(it.hasNext()){
                         Conversation conversation = it.next();
-                        if (conversation.getTargetId().contains("S") || conversation.getTargetId().contains("DAYA") || conversation.getTargetId().contains("I")) {
+                        if (!ConversationFilterHelper.checkConversationEnable(conversation.getTargetId())) {
                             it.remove();
                         }
                     }

+ 13 - 0
rong_im/kit/src/main/java/io/rong/imkit/utils/helper/ConversationFilterHelper.java

@@ -0,0 +1,13 @@
+package io.rong.imkit.utils.helper;
+
+/**
+ * Author by pq, Date on 2022/7/4.
+ */
+public class ConversationFilterHelper {
+    public static boolean checkConversationEnable(String groupId) {
+        if (!groupId.contains("COURSE") && !groupId.contains("FAN")) {
+            return false;
+        }
+        return true;
+    }
+}

+ 21 - 0
rong_im/kit/src/main/java/io/rong/imkit/utils/helper/OpenChatHelper.java

@@ -0,0 +1,21 @@
+package io.rong.imkit.utils.helper;
+
+import android.content.Context;
+
+import com.cooleshow.base.utils.Utils;
+
+import io.rong.imkit.RongIM;
+
+/**
+ * Author by pq, Date on 2022/7/4.
+ */
+public class OpenChatHelper {
+
+    public static void goChat(Context context,String groupId, String groupName) {
+        RongIM.getInstance().startPrivateChat(context, groupId, groupName);
+    }
+
+    public static void goGroupChat(Context context,String groupId, String groupName) {
+        RongIM.getInstance().startGroupChat(context, groupId, groupName);
+    }
+}

+ 5 - 1
student/src/main/java/com/cooleshow/student/adapter/CourseTableListAdapter.kt

@@ -27,6 +27,10 @@ class CourseTableListAdapter(layoutResId: Int) :
         const val CANCEL = "CANCEL"
     }
 
+    init {
+        addChildClickViewIds(R.id.iv_go_chat)
+    }
+
     override fun convert(
         baseViewHolder: BaseViewHolder,
         data: CourseTableDataBean.StudentListBean?
@@ -37,7 +41,7 @@ class CourseTableListAdapter(layoutResId: Int) :
         val tvBuyNum = baseViewHolder.getView<TextView>(R.id.tv_buy_num)
         val tvCourseStatusBt = baseViewHolder.getView<TextView>(R.id.tv_course_status_bt)
         //开始时间
-        tvTime.text = UiUtils.getCourseTimeString(data?.startTime,data?.endTime);
+        tvTime.text = UiUtils.getCourseTimeString(data?.startTime, data?.endTime);
         //title
         baseViewHolder.setText(R.id.tv_title, data?.name);
         //subjectName

+ 1 - 0
student/src/main/java/com/cooleshow/student/bean/CourseTableDataBean.java

@@ -61,5 +61,6 @@ public class CourseTableDataBean {
         public String cover;
         public String payCount;
         public String name;
+        public String imGroupId;
     }
 }

+ 15 - 0
student/src/main/java/com/cooleshow/student/ui/main/CourseTableFragment.kt

@@ -14,6 +14,7 @@ import com.bigkoo.pickerview.builder.TimePickerBuilder
 import com.bigkoo.pickerview.listener.CustomListener
 import com.bigkoo.pickerview.listener.OnTimeSelectListener
 import com.bigkoo.pickerview.view.TimePickerView
+import com.chad.library.adapter.base.listener.OnItemChildClickListener
 import com.chad.library.adapter.base.listener.OnItemClickListener
 import com.cooleshow.base.common.WebConstants
 import com.cooleshow.base.router.RouterPath
@@ -33,6 +34,7 @@ import com.cooleshow.base.ui.fragment.BaseMVPFragment
 import com.cooleshow.student.ui.course.SparringCourseDetailActivity
 import com.haibin.calendarview.CalendarView
 import com.scwang.smart.refresh.layout.listener.OnRefreshListener
+import io.rong.imkit.utils.helper.OpenChatHelper
 import kotlinx.android.synthetic.main.fragment_course_table_layout.*
 import java.util.*
 
@@ -141,6 +143,19 @@ class CourseTableFragment :
             }
         })
 
+        adapter.setOnItemChildClickListener(OnItemChildClickListener { adapter, view, position ->
+            var data: CourseTableDataBean.StudentListBean =
+                adapter.data[position] as CourseTableDataBean.StudentListBean;
+            if (view.id == R.id.iv_go_chat) {
+                if (TextUtils.equals(data.courseType, CourseTableListAdapter.OTHER_COURSE)) {
+                    //陪练课
+                    OpenChatHelper.goChat(context, data.userId, data.name)
+                } else {
+                    OpenChatHelper.goGroupChat(context, data.imGroupId, data.name)
+                }
+            }
+        })
+
         mViewBinding.refreshLayout.setOnRefreshListener(OnRefreshListener {
             queryCurrentDataCourse()
         })

+ 15 - 5
student/src/main/java/com/cooleshow/student/ui/mine/SelectAddressListActivity.java

@@ -15,6 +15,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.listener.OnItemClickListener;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
+import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.student.R;
 import com.cooleshow.student.adapter.AddressListAdapter;
 import com.cooleshow.student.bean.AddressBean;
@@ -45,11 +46,12 @@ public class SelectAddressListActivity extends BaseMVPActivity<ActivitySelectAdd
         switch (view.getId()) {
             case R.id.tv_add:
                 ARouter.getInstance().build(RouterPath.MineCenter.MINE_EDIT_ADDRESS)
-                        .withBoolean("isAdd",true)
+                        .withBoolean("isAdd", true)
                         .navigation();
                 break;
         }
     }
+
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -66,22 +68,30 @@ public class SelectAddressListActivity extends BaseMVPActivity<ActivitySelectAdd
         LinearLayoutManager manager = new LinearLayoutManager(this);
         rvAddress.setLayoutManager(manager);
         addressListAdapter = new AddressListAdapter(dataList);
+        setEmptyView();
         rvAddress.setAdapter(addressListAdapter);
         addressListAdapter.setOnItemClickListener(new OnItemClickListener() {
             @Override
             public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
                 AddressBean item = (AddressBean) adapter.getItem(position);
-                Gson gson=new Gson();
+                Gson gson = new Gson();
                 String s = gson.toJson(item);
-                Intent intent=new Intent();
-                intent.putExtra("selectAddress",s);
-                setResult(RESULT_OK,intent);
+                Intent intent = new Intent();
+                intent.putExtra("selectAddress", s);
+                setResult(RESULT_OK, intent);
                 finish();
 
             }
         });
     }
 
+    private void setEmptyView() {
+        EmptyViewLayout emptyView = new EmptyViewLayout(this);
+        emptyView.setContent(com.cooleshow.base.R.drawable.icon_empty_content, "暂无数据");
+        addressListAdapter.setEmptyView(emptyView);
+    }
+
+
     @Override
     protected void onResume() {
         super.onResume();

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

@@ -69,6 +69,7 @@
         tools:text="张豆豆" />
 
     <ImageView
+        android:id="@+id/iv_go_chat"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginStart="5dp"

+ 1 - 0
teacher/src/main/java/com/cooleshow/teacher/adapter/CourseTableListAdapter.kt

@@ -29,6 +29,7 @@ class CourseTableListAdapter(layoutResId: Int) :
 
     init {
         addChildClickViewIds(R.id.tv_course_status_bt)
+        addChildClickViewIds(R.id.iv_go_chat)
     }
 
     override fun convert(

+ 1 - 0
teacher/src/main/java/com/cooleshow/teacher/bean/CourseTableDataBean.java

@@ -60,6 +60,7 @@ public class CourseTableDataBean {
         public String classDate;
         public String cover;
         public String payCount;
+        public String imGroupId;
         public String name;
         public int teacherReplied;
     }

+ 2 - 2
teacher/src/main/java/com/cooleshow/teacher/bean/HomePageSheetMusicListBean.java

@@ -95,7 +95,7 @@ public class HomePageSheetMusicListBean {
         public String metronomeUrl;
         public String midiUrl;
         public String mp3Type;
-        public int musicPrice;
+        public String musicPrice;
         public String musicSheetName;
         public String musicSubject;
         public String musicTag;
@@ -177,7 +177,7 @@ public class HomePageSheetMusicListBean {
         public String metronomeUrl;
         public String midiUrl;
         public String mp3Type;
-        public int musicPrice;
+        public String musicPrice;
         public String musicSheetName;
         public String musicSubject;
         public String musicTag;

+ 1 - 1
teacher/src/main/java/com/cooleshow/teacher/bean/MusicSheetListBean.java

@@ -83,7 +83,7 @@ public class MusicSheetListBean {
         public String metronomeUrl;
         public String midiUrl;
         public String mp3Type;
-        public double musicPrice;
+        public String musicPrice;
         public String musicSheetName;
         public String musicSubject;
         public String musicTag;

+ 10 - 6
teacher/src/main/java/com/cooleshow/teacher/ui/main/CourseTableFragment.kt

@@ -13,12 +13,10 @@ import com.bigkoo.pickerview.builder.TimePickerBuilder
 import com.bigkoo.pickerview.listener.CustomListener
 import com.bigkoo.pickerview.listener.OnTimeSelectListener
 import com.bigkoo.pickerview.view.TimePickerView
-import com.chad.library.adapter.base.listener.OnItemChildClickListener
-import com.chad.library.adapter.base.listener.OnItemClickListener
+import io.rong.imkit.utils.helper.OpenChatHelper
 import com.cooleshow.base.common.WebConstants
 import com.cooleshow.base.router.RouterPath
 import com.cooleshow.base.ui.fragment.BaseMVPFragment
-import com.cooleshow.base.utils.LogUtils
 import com.cooleshow.base.utils.SizeUtils
 import com.cooleshow.base.utils.TimeUtils
 import com.cooleshow.base.widgets.EmptyViewLayout
@@ -30,8 +28,6 @@ import com.cooleshow.teacher.constants.CourseConstants
 import com.cooleshow.teacher.contract.CourseTableContract
 import com.cooleshow.teacher.databinding.FragmentCourseTableLayoutBinding
 import com.cooleshow.teacher.presenter.main.CourseTablePresenter
-import com.cooleshow.teacher.ui.comment.CourseCommentDetailActivity
-import com.cooleshow.teacher.ui.course.SparringCourseDetailActivity
 import com.cooleshow.teacher.widgets.CalendarExpandDecoration
 import com.cooleshow.teacher.widgets.CalendarShrinkDecoration
 import com.haibin.calendarview.CalendarView
@@ -119,6 +115,14 @@ class CourseTableFragment :
                     gotoCourseDetail(position);
                 }
             }
+            if (view.id == R.id.iv_go_chat) {
+                if (TextUtils.equals(data.courseType, CourseTableListAdapter.OTHER_COURSE)) {
+                    //陪练课
+                    OpenChatHelper.goChat(context, data.userId, data.name)
+                } else {
+                    OpenChatHelper.goGroupChat(context, data.imGroupId, data.name)
+                }
+            }
         }
 
         adapter.setOnItemClickListener { adapter, view, position ->
@@ -159,7 +163,7 @@ class CourseTableFragment :
                 .build(RouterPath.WebCenter.ACTIVITY_HTML)
                 .withString(
                     WebConstants.WEB_URL,
-                    WebConstants.TEACHER_LIVE_DETAIL + "?groupId=" + data.courseGoupId+"&classId="+data.courseId
+                    WebConstants.TEACHER_LIVE_DETAIL + "?groupId=" + data.courseGoupId + "&classId=" + data.courseId
                 )
                 .navigation()
         }

+ 8 - 0
teacher/src/main/java/com/cooleshow/teacher/ui/mine/SelectAddressListActivity.java

@@ -15,6 +15,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.listener.OnItemClickListener;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
+import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.adapter.AddressListAdapter;
 import com.cooleshow.teacher.bean.AddressBean;
@@ -66,6 +67,7 @@ public class SelectAddressListActivity extends BaseMVPActivity<ActivitySelectAdd
         rvAddress.setLayoutManager(manager);
         addressListAdapter = new AddressListAdapter(dataList);
         rvAddress.setAdapter(addressListAdapter);
+        setEmptyView();
         addressListAdapter.setOnItemClickListener(new OnItemClickListener() {
             @Override
             public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
@@ -81,6 +83,12 @@ public class SelectAddressListActivity extends BaseMVPActivity<ActivitySelectAdd
         });
     }
 
+    private void setEmptyView() {
+        EmptyViewLayout emptyView = new EmptyViewLayout(this);
+        emptyView.setContent(com.cooleshow.base.R.drawable.icon_empty_content,"暂无数据");
+        addressListAdapter.setEmptyView(emptyView);
+    }
+
     @Override
     protected void onResume() {
         super.onResume();

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

@@ -69,6 +69,7 @@
         tools:text="张豆豆" />
 
     <ImageView
+        android:id="@+id/iv_go_chat"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginStart="5dp"