package com.cooleshow.chatmodule.api; import com.cooleshow.base.common.BaseConstant; import com.cooleshow.base.data.net.BaseResponse; import com.cooleshow.chatmodule.bean.ContactListBean; import com.cooleshow.chatmodule.bean.ContactRoomListBean; import com.cooleshow.chatmodule.bean.GroupApplyBean; import com.cooleshow.chatmodule.bean.GroupMemberBean; import com.cooleshow.chatmodule.bean.GroupNoticeBean; import com.cooleshow.chatmodule.bean.IMGroupInfo; import com.cooleshow.chatmodule.bean.IMUserInfo; import com.cooleshow.chatmodule.bean.MusicSheetListBean; import java.util.List; import io.reactivex.rxjava3.core.Observable; import okhttp3.RequestBody; import retrofit2.http.Body; import retrofit2.http.Field; import retrofit2.http.FormUrlEncoded; import retrofit2.http.GET; import retrofit2.http.POST; import retrofit2.http.Path; import retrofit2.http.Query; import static com.cooleshow.base.common.BaseConstant.TEACHER_GROUP; /** * Author by pq, Date on 2023/6/25. */ public interface IMApi { /** * 退出群组 * * @param * @return */ @POST("{group_name}" + "/imGroup/quit/{groupId}") Observable> quitChatGroup(@Path("groupId") String groupId,@Path("group_name")String group_name); /** * 解散群组 * * @param * @return */ @POST("{group_name}" + "/imGroup/dismiss/{groupId}") Observable> dissolveChatGroup(@Path("groupId") String groupId,@Path("group_name")String group_name); /** * 查询群详情 * * @returnClassListAdapter */ @POST("{group_name}" + "/imGroup/getDetail/{groupId}") Observable> queryGroupDetail(@Path("groupId") String groupId,@Path("group_name")String group_name); /** * 获取群成员列表-学员 * * @param body * @return */ @POST("{group_name}" + "/imGroupMember/queryAll") Observable>> queryGroupAllMembers(@Body RequestBody body,@Path("group_name")String group_name); /** * 群公告-学生 * * @param body * @return */ @POST("{group_name}" + "/imGroupNotice/queryPage") Observable> queryTeaGroupNotice(@Body RequestBody body,@Path("group_name")String group_name); /** * 修改群公告 * * @param body * @return */ @POST("{group_name}" + "/imGroupNotice/update") Observable> updateGroupNotice(@Body RequestBody body,@Path("group_name")String group_name); /** * 修改群公告 * * @return */ @FormUrlEncoded @POST("{group_name}" + "/imGroupNotice/remove") Observable> noticeDel(@Field("id") String id,@Path("group_name")String group_name); /** * 群公告详情 * * @return */ @GET("{group_name}" + "/imGroupNotice/get/{id}") Observable> noticeDetail(@Path("group_name") String group_name,@Path("id") String id); /** * 新增群公告 * * @param body * @return */ @POST("{group_name}" + "/imGroupNotice/create") Observable> createGroupNotice(@Body RequestBody body, @Path("group_name") String group_name); /** * @param body * @return */ @POST("{group_name}" + "/sysImComplaint/add") Observable> sysImComplaint(@Body RequestBody body,@Path("group_name")String group_name); /** * 群列表-学员 * * @return */ @POST("{group_name}" + "/imGroup/queryAll") Observable>> queryGroupList(@Body RequestBody requestBody, @Path("group_name") String group_name); /** * 获取好友列表-学员 * * @return */ @POST("{group_name}" + "/imUserFriend/queryAll") Observable>> queryFriendList(@Body RequestBody requestBody,@Path("group_name") String group_name); /** * 申请入群列表 * * @param body * @return */ @POST("{group_name}" + "/imGroupMemberAudit/queryAll") Observable>> groupApplyList(@Body RequestBody body,@Path("group_name")String group_name); /** * 申请入群批量审核 * * @param body * @return */ @POST("{group_name}" + "/imGroupMemberAudit/applyAudit") Observable> doGroupApply(@Body RequestBody body,@Path("group_name")String group_name); /** * 分页查询分页查询 * * @param body * @return */ @POST("{group_name}" + "/music/sheet/list") Observable> queryMusicList(@Body RequestBody body,@Path("group_name")String group_name); /** * 创建粉丝群 * * @param body * @return */ @POST(TEACHER_GROUP + "imGroup/create/v2") Observable> createImGroup(@Body RequestBody body); @POST("{group_name}" + "/imGroup/addGroupMember/v2") Observable> addGroupMembers(@Body RequestBody body,@Path("group_name")String group_name); /** * 修改群信息 * * @param body * @return */ @POST(TEACHER_GROUP + "imGroup/update") Observable> updateGroupInfo(@Body RequestBody body); @POST("{group_name}" + "/imGroupMember/groupMute") Observable> groupMemberMute(@Body RequestBody body,@Path("group_name")String group_name); @POST("{group_name}" + "/imGroup/muteAll") Observable> groupMute(@Body RequestBody body,@Path("group_name")String group_name); /** * 根据用户编号获取用户基本信息-老师 * * @param userId * @return */ @POST("{group_name}" + "/imUserFriend/getDetail/{imUserId}") Observable> queryFriendDetail(@Path("group_name")String group_name,@Path("imUserId") String imUserId); }