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

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

@ -42,6 +42,7 @@ import com.unionmed.unionmedtv.utils.CacheUtil;
import com.unionmed.unionmedtv.utils.Constants; import com.unionmed.unionmedtv.utils.Constants;
import com.unionmed.unionmedtv.utils.FastJsonUtil; import com.unionmed.unionmedtv.utils.FastJsonUtil;
import com.unionmed.unionmedtv.utils.OnChildClickListener; import com.unionmed.unionmedtv.utils.OnChildClickListener;
import com.unionmed.unionmedtv.utils.UserInfoByServerUtil;
import org.jetbrains.annotations.NotNull; 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) { private void getUserInfoByServer(Message message, int postion, TextView tv_name, ImageView iv_avatar) {
EasyHttp.post((LifecycleOwner) getContext()) UserInfoByServerUtil.getUserInfoByServer(getContext(), message.getSenderUserId(), new UserInfoByServerUtil.UserInfoInterface() {
.api(new GetImUserInfoApi(CacheUtil.getToken().getToken(), message.getSenderUserId())) @Override
.request(new OnHttpListener<HttpData<ApiResponse<ImUserInfoBean>>>() { public void success(HttpData<ApiResponse<ImUserInfoBean>> result) {
@Override if (null != result.getData() && result.getData().isInnerRequestSucceed()
public void onHttpSuccess(HttpData<ApiResponse<ImUserInfoBean>> result) { && null != result.getData().getData()) {
if (null != result.getData() && result.getData().isInnerRequestSucceed() tv_name.setText(result.getData().getData().getName());
&& null != result.getData().getData()) { Glide.with(getContext())
tv_name.setText(result.getData().getData().getName()); .load(result.getData().getData().getHeadImg())
Glide.with(getContext()) .apply(new RequestOptions()
.load(result.getData().getData().getHeadImg()) .placeholder(R.mipmap.rc_default_portrait)
.apply(new RequestOptions() .circleCrop()
.placeholder(R.mipmap.rc_default_portrait) )
.circleCrop() .into(iv_avatar);
) }
.into(iv_avatar); }
}
}
@Override @Override
public void onHttpFail(Exception e) { public void Fail(String e) {
ToastUtils.showLong(e.getMessage()); ToastUtils.showLong(e);
LogUtils.e("用户信息失败", "失败:" + e); LogUtils.e("用户信息失败", "失败:" + e);
} }
}); });
} }
public void MeetingClick(BaseViewHolder vh, Message message) { 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.CacheUtil;
import com.unionmed.unionmedtv.utils.Constants; import com.unionmed.unionmedtv.utils.Constants;
import com.unionmed.unionmedtv.utils.OnChildClickListener; import com.unionmed.unionmedtv.utils.OnChildClickListener;
import com.unionmed.unionmedtv.utils.UserInfoByServerUtil;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.json.JSONArray; import org.json.JSONArray;
@ -68,32 +69,29 @@ public class MsgListAdapter extends BaseQuickAdapter<MyConversation, BaseViewHol
} }
//获取用户信息 //获取用户信息
private void getUserInfoByServer(MyConversation conversation, int postion) { private void getUserInfoByServer(MyConversation conversation, int postion) {
EasyHttp.post((LifecycleOwner) getContext()) UserInfoByServerUtil.getUserInfoByServer(getContext(), conversation.getConversation().getTargetId(), new UserInfoByServerUtil.UserInfoInterface() {
.api(new GetImUserInfoApi(CacheUtil.getToken().getToken(), conversation.getConversation().getTargetId())) @Override
.request(new OnHttpListener<HttpData<ApiResponse<ImUserInfoBean>>>() { public void success(HttpData<ApiResponse<ImUserInfoBean>> result) {
@Override if (postion == 0) {
public void onHttpSuccess(HttpData<ApiResponse<ImUserInfoBean>> result) { LiveDataBus.get().with(Constants.MSG_LIST_SELECT_ITEM).postValue(0);
if (postion == 0) { }
LiveDataBus.get().with(Constants.MSG_LIST_SELECT_ITEM).postValue(0); conversation.setFirstLoad(false);
} if (null != result.getData() && result.getData().isInnerRequestSucceed()
conversation.setFirstLoad(false); && null != result.getData().getData()) {
if (null != result.getData() && result.getData().isInnerRequestSucceed() conversation.setName(result.getData().getData().getName());
&& null != result.getData().getData()) { conversation.setImgPath(result.getData().getData().getHeadImg());
conversation.setName(result.getData().getData().getName()); notifyItemChanged(postion);
conversation.setImgPath(result.getData().getData().getHeadImg()); }
notifyItemChanged(postion); }
}
} @Override
public void Fail(String e) {
@Override ToastUtils.showLong(e);
public void onHttpFail(Exception e) { LogUtils.e("用户信息失败", "失败:" + e);
ToastUtils.showLong(e.getMessage()); }
LogUtils.e("用户信息失败", "失败:" + e); });
}
});
} }
@Override @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