聊天列表详情获取用户信息接口整合

dev
李桢 1 year ago
parent 7d24add9fe
commit 9946124b15
  1. 53
      app/src/main/java/com/unionmed/unionmedtv/adapter/GroupMsgListAdapter.java
  2. 45
      app/src/main/java/com/unionmed/unionmedtv/adapter/MsgItemAdapter.java
  3. 46
      app/src/main/java/com/unionmed/unionmedtv/adapter/MsgListAdapter.java
  4. 50
      app/src/main/java/com/unionmed/unionmedtv/utils/UserInfoByServerUtil.java

@ -28,6 +28,7 @@ import com.unionmed.unionmedtv.network.HttpData;
import com.unionmed.unionmedtv.utils.CacheUtil;
import com.unionmed.unionmedtv.utils.Constants;
import com.unionmed.unionmedtv.utils.OnChildClickListener;
import com.unionmed.unionmedtv.utils.UserInfoByServerUtil;
import org.jetbrains.annotations.NotNull;
import org.json.JSONArray;
@ -111,29 +112,27 @@ public class GroupMsgListAdapter extends BaseQuickAdapter<MyConversation, BaseVi
//获取用户信息
private void getUserInfoByServer(MyConversation conversation, int postion) {
EasyHttp.post((LifecycleOwner) getContext())
.api(new GetImUserInfoApi(CacheUtil.getToken().getToken(), conversation.getConversation().getTargetId()))
.request(new OnHttpListener<HttpData<ApiResponse<ImUserInfoBean>>>() {
@Override
public void onHttpSuccess(HttpData<ApiResponse<ImUserInfoBean>> result) {
if (postion == 0) {
LiveDataBus.get().with(Constants.GROUP_MSG_LIST_SELECT_ITEM).postValue(0);
}
conversation.setFirstLoad(false);
if (null != result.getData() && result.getData().isInnerRequestSucceed()
&& null != result.getData().getData()) {
conversation.setName(result.getData().getData().getName());
conversation.setImgPath(result.getData().getData().getHeadImg());
notifyItemChanged(postion);
}
}
UserInfoByServerUtil.getUserInfoByServer(getContext(), conversation.getConversation().getTargetId(), new UserInfoByServerUtil.UserInfoInterface() {
@Override
public void success(HttpData<ApiResponse<ImUserInfoBean>> result) {
if (postion == 0) {
LiveDataBus.get().with(Constants.GROUP_MSG_LIST_SELECT_ITEM).postValue(0);
}
conversation.setFirstLoad(false);
if (null != result.getData() && result.getData().isInnerRequestSucceed()
&& null != result.getData().getData()) {
conversation.setName(result.getData().getData().getName());
conversation.setImgPath(result.getData().getData().getHeadImg());
notifyItemChanged(postion);
}
}
@Override
public void onHttpFail(Exception e) {
ToastUtils.showLong(e.getMessage());
LogUtils.e("用户信息失败", "失败:" + e);
}
});
@Override
public void Fail(String e) {
ToastUtils.showLong(e);
LogUtils.e("用户信息失败", "失败:" + e);
}
});
}
@Override
@ -141,11 +140,11 @@ public class GroupMsgListAdapter extends BaseQuickAdapter<MyConversation, BaseVi
TextView tv_title = vh.findView(R.id.tv_title);
ImageView iv_avatar = vh.findView(R.id.iv_avatar);
tv_title.setText(conversation.getName());
int drawable=0;
if(conversation.getConversation().getConversationType()== Conversation.ConversationType.GROUP){
drawable=R.mipmap.icon_group;
}else {
drawable=R.mipmap.rc_default_portrait;
int drawable = 0;
if (conversation.getConversation().getConversationType() == Conversation.ConversationType.GROUP) {
drawable = R.mipmap.icon_group;
} else {
drawable = R.mipmap.rc_default_portrait;
}
Glide.with(getContext())
.load(conversation.getImgPath())

@ -42,6 +42,7 @@ import com.unionmed.unionmedtv.utils.CacheUtil;
import com.unionmed.unionmedtv.utils.Constants;
import com.unionmed.unionmedtv.utils.FastJsonUtil;
import com.unionmed.unionmedtv.utils.OnChildClickListener;
import com.unionmed.unionmedtv.utils.UserInfoByServerUtil;
import org.jetbrains.annotations.NotNull;
@ -226,30 +227,28 @@ public class MsgItemAdapter extends BaseDelegateMultiAdapter<Message, BaseViewHo
//获取用户信息
private void getUserInfoByServer(Message message, int postion, TextView tv_name, ImageView iv_avatar) {
EasyHttp.post((LifecycleOwner) getContext())
.api(new GetImUserInfoApi(CacheUtil.getToken().getToken(), message.getSenderUserId()))
.request(new OnHttpListener<HttpData<ApiResponse<ImUserInfoBean>>>() {
@Override
public void onHttpSuccess(HttpData<ApiResponse<ImUserInfoBean>> result) {
if (null != result.getData() && result.getData().isInnerRequestSucceed()
&& null != result.getData().getData()) {
tv_name.setText(result.getData().getData().getName());
Glide.with(getContext())
.load(result.getData().getData().getHeadImg())
.apply(new RequestOptions()
.placeholder(R.mipmap.rc_default_portrait)
.circleCrop()
)
.into(iv_avatar);
}
}
UserInfoByServerUtil.getUserInfoByServer(getContext(), message.getSenderUserId(), new UserInfoByServerUtil.UserInfoInterface() {
@Override
public void success(HttpData<ApiResponse<ImUserInfoBean>> result) {
if (null != result.getData() && result.getData().isInnerRequestSucceed()
&& null != result.getData().getData()) {
tv_name.setText(result.getData().getData().getName());
Glide.with(getContext())
.load(result.getData().getData().getHeadImg())
.apply(new RequestOptions()
.placeholder(R.mipmap.rc_default_portrait)
.circleCrop()
)
.into(iv_avatar);
}
}
@Override
public void onHttpFail(Exception e) {
ToastUtils.showLong(e.getMessage());
LogUtils.e("用户信息失败", "失败:" + e);
}
});
@Override
public void Fail(String e) {
ToastUtils.showLong(e);
LogUtils.e("用户信息失败", "失败:" + e);
}
});
}
public void MeetingClick(BaseViewHolder vh, Message message) {

@ -35,6 +35,7 @@ import com.unionmed.unionmedtv.network.HttpData;
import com.unionmed.unionmedtv.utils.CacheUtil;
import com.unionmed.unionmedtv.utils.Constants;
import com.unionmed.unionmedtv.utils.OnChildClickListener;
import com.unionmed.unionmedtv.utils.UserInfoByServerUtil;
import org.jetbrains.annotations.NotNull;
import org.json.JSONArray;
@ -68,32 +69,29 @@ public class MsgListAdapter extends BaseQuickAdapter<MyConversation, BaseViewHol
}
//获取用户信息
private void getUserInfoByServer(MyConversation conversation, int postion) {
EasyHttp.post((LifecycleOwner) getContext())
.api(new GetImUserInfoApi(CacheUtil.getToken().getToken(), conversation.getConversation().getTargetId()))
.request(new OnHttpListener<HttpData<ApiResponse<ImUserInfoBean>>>() {
@Override
public void onHttpSuccess(HttpData<ApiResponse<ImUserInfoBean>> result) {
if (postion == 0) {
LiveDataBus.get().with(Constants.MSG_LIST_SELECT_ITEM).postValue(0);
}
conversation.setFirstLoad(false);
if (null != result.getData() && result.getData().isInnerRequestSucceed()
&& null != result.getData().getData()) {
conversation.setName(result.getData().getData().getName());
conversation.setImgPath(result.getData().getData().getHeadImg());
notifyItemChanged(postion);
}
}
@Override
public void onHttpFail(Exception e) {
ToastUtils.showLong(e.getMessage());
LogUtils.e("用户信息失败", "失败:" + e);
}
});
UserInfoByServerUtil.getUserInfoByServer(getContext(), conversation.getConversation().getTargetId(), new UserInfoByServerUtil.UserInfoInterface() {
@Override
public void success(HttpData<ApiResponse<ImUserInfoBean>> result) {
if (postion == 0) {
LiveDataBus.get().with(Constants.MSG_LIST_SELECT_ITEM).postValue(0);
}
conversation.setFirstLoad(false);
if (null != result.getData() && result.getData().isInnerRequestSucceed()
&& null != result.getData().getData()) {
conversation.setName(result.getData().getData().getName());
conversation.setImgPath(result.getData().getData().getHeadImg());
notifyItemChanged(postion);
}
}
@Override
public void Fail(String e) {
ToastUtils.showLong(e);
LogUtils.e("用户信息失败", "失败:" + e);
}
});
}
@Override

@ -0,0 +1,50 @@
package com.unionmed.unionmedtv.utils;
import android.content.Context;
import android.text.TextUtils;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.lifecycle.LifecycleOwner;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.StringUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.google.gson.Gson;
import com.hjq.http.EasyHttp;
import com.hjq.http.listener.OnHttpListener;
import com.tencent.mmkv.MMKV;
import com.unionmed.unionmedtv.R;
import com.unionmed.unionmedtv.api.GetImUserInfoApi;
import com.unionmed.unionmedtv.bean.City;
import com.unionmed.unionmedtv.bean.ImUserInfoBean;
import com.unionmed.unionmedtv.bean.TokenBean;
import com.unionmed.unionmedtv.network.ApiResponse;
import com.unionmed.unionmedtv.network.HttpData;
import io.rong.imlib.model.Message;
public class UserInfoByServerUtil {
//获取用户信息
public static void getUserInfoByServer(Context context,String senderUserId, UserInfoInterface userInfoInterface) {
EasyHttp.post((LifecycleOwner) context)
.api(new GetImUserInfoApi(CacheUtil.getToken().getToken(), senderUserId))
.request(new OnHttpListener<HttpData<ApiResponse<ImUserInfoBean>>>() {
@Override
public void onHttpSuccess(HttpData<ApiResponse<ImUserInfoBean>> result) {
userInfoInterface.success(result);
}
@Override
public void onHttpFail(Exception e) {
userInfoInterface.Fail(e.getMessage());
}
});
}
public interface UserInfoInterface{
void success(HttpData<ApiResponse<ImUserInfoBean>> result);
void Fail(String E);
}
}
Loading…
Cancel
Save