第N+4次提交专属红包
This commit is contained in:
@@ -36,6 +36,7 @@ public class RedPacketAttachment extends CustomAttachment {
|
||||
private String receiverUid;
|
||||
private String receiveTime;
|
||||
private String isCashGift; //礼金
|
||||
private String receiverNickname;
|
||||
|
||||
public RedPacketAttachment() {
|
||||
super(ChatMessageType.CUSTOM_STICKER_RED_ENVELOPE);
|
||||
@@ -66,6 +67,40 @@ public class RedPacketAttachment extends CustomAttachment {
|
||||
|
||||
}
|
||||
|
||||
public RedPacketAttachment(String id, String status, String amount, String senderUid, String groupId,
|
||||
String count, String residualCount, String residualAmount, String sendTime,
|
||||
String finishTime, String remark, String senderNickname, String coinType,
|
||||
String receiverUid, String receiveTime,String receiverNickname) {
|
||||
super(ChatMessageType.CUSTOM_STICKER_RED_ENVELOPE);
|
||||
this.id = id;
|
||||
this.status = status;
|
||||
this.amount = amount;
|
||||
this.senderUid = senderUid;
|
||||
this.groupId = groupId;
|
||||
this.count = count;
|
||||
this.residualCount = residualCount;
|
||||
this.residualAmount = residualAmount;
|
||||
this.sendTime = sendTime;
|
||||
this.finishTime = finishTime;
|
||||
this.remark = remark;
|
||||
this.senderNickname = senderNickname;
|
||||
this.coinType = coinType;
|
||||
this.isCashGift = (coinType.equals("2") ? "1" : "0");
|
||||
// this.grabbers = grabbers;
|
||||
this.receiverUid = receiverUid;
|
||||
this.receiveTime = receiveTime;
|
||||
this.receiverNickname = receiverNickname;
|
||||
|
||||
}
|
||||
|
||||
public String getReceiverNickname() {
|
||||
return receiverNickname;
|
||||
}
|
||||
|
||||
public void setReceiverNickname(String receiverNickname) {
|
||||
this.receiverNickname = receiverNickname;
|
||||
}
|
||||
|
||||
public String getIsCashGift() {
|
||||
return isCashGift;
|
||||
}
|
||||
@@ -237,6 +272,7 @@ public class RedPacketAttachment extends CustomAttachment {
|
||||
// data.put("grabbers",grabbers);
|
||||
data.put("receiverUid", receiverUid);
|
||||
data.put("receiveTime", receiveTime);
|
||||
data.put("receiverNickname", receiverNickname);
|
||||
|
||||
} catch (Exception exception) {
|
||||
|
||||
@@ -265,6 +301,7 @@ public class RedPacketAttachment extends CustomAttachment {
|
||||
// this.grabbers = (List<GrabbersBean1>) data.getJSONArray("grabbers");
|
||||
this.receiverUid = data.getString("receiverUid");
|
||||
this.receiveTime = data.getString("receiveTime");
|
||||
this.receiverNickname = data.getString("receiverNickname");
|
||||
|
||||
} catch (Exception exception) {
|
||||
|
||||
|
||||
@@ -14,12 +14,16 @@ import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.netease.nim.highavailable.LogUtils;
|
||||
import com.netease.nimlib.sdk.NIMClient;
|
||||
import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum;
|
||||
import com.netease.nimlib.sdk.uinfo.UserService;
|
||||
import com.netease.nimlib.sdk.uinfo.model.NimUserInfo;
|
||||
import com.netease.yunxin.kit.alog.ALog;
|
||||
import com.netease.yunxin.kit.chatkit.model.UserInfoWithTeam;
|
||||
import com.netease.yunxin.kit.chatkit.repo.TeamRepo;
|
||||
import com.netease.yunxin.kit.chatkit.ui.R;
|
||||
import com.netease.yunxin.kit.chatkit.ui.common.ChatDataUtils;
|
||||
import com.netease.yunxin.kit.chatkit.ui.common.GsonUtils;
|
||||
@@ -45,6 +49,11 @@ import com.netease.yunxin.kit.chatkit.ui.page.fragment.ChatBaseFragment;
|
||||
import com.netease.yunxin.kit.chatkit.ui.view.message.viewholder.ChatBaseMessageViewHolder;
|
||||
import com.netease.yunxin.kit.common.ui.utils.ToastX;
|
||||
import com.netease.yunxin.kit.corekit.im.IMKitClient;
|
||||
import com.netease.yunxin.kit.corekit.im.provider.FetchCallback;
|
||||
import com.netease.yunxin.kit.corekit.model.ErrorMsg;
|
||||
import com.netease.yunxin.kit.corekit.model.ResultInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
@@ -77,6 +86,9 @@ public class RedPacketViewHolder extends ChatBaseMessageViewHolder {
|
||||
|
||||
Log.i("名片", "名片获取到的数据0:" + name);
|
||||
Log.i("名片", "名片获取到的数据2:" + GsonUtils.beanToJSONString(circleShareBean));
|
||||
//{"data":{"amount":"1000","coinType":"0","count":"1","groupId":"38605640048","id":"1917130493314334722","receiverUid":"61330236","remark":"恭喜发财,大吉大利","residualAmount":"1000",
|
||||
// "residualCount":"1","sendTime":"2025-04-29 16:15:03","senderNickname":"特朗普",
|
||||
// "senderUid":"61330233","status":"0"},"type":1005}
|
||||
|
||||
if (circleShareBean != null) {
|
||||
if (TextUtils.isEmpty(circleShareBean.data.getRemark())) {
|
||||
@@ -108,9 +120,9 @@ public class RedPacketViewHolder extends ChatBaseMessageViewHolder {
|
||||
Log.i("名片", "名片获取到的数据3:" + GsonUtils.beanToJSONString(circleShareBean));
|
||||
|
||||
changeInfo(circleShareBean.data, binding, message, null, null);
|
||||
|
||||
getRedInfo(circleShareBean.data, binding, message, false);
|
||||
|
||||
if(status == 0) {
|
||||
getRedInfo(circleShareBean.data, binding, message, false);
|
||||
}
|
||||
if (!message.getMessageData().getMessage().getFromAccount().equals(IMKitClient.account())) {
|
||||
baseViewBinding.otherUserAvatar.setVisibility(View.VISIBLE);
|
||||
}
|
||||
@@ -200,8 +212,18 @@ public class RedPacketViewHolder extends ChatBaseMessageViewHolder {
|
||||
ChatDataUtils.set(binding.bigLy.getContext(), "redpack_" + feedbackResp.data.getId(), feedbackResp.data.getStatus());
|
||||
if (isTopRed && feedbackResp.data.getStatus() > 0)
|
||||
RxBus.getInstance().post(new RxHongBaoBean(feedbackResp.data.getId() + ""));
|
||||
changeInfo(RedpacketBean1.getRedpacket(feedbackResp.data), binding, message, null, feedbackResp.data);
|
||||
RedpacketBean1 redpacketBean1 = RedpacketBean1.getRedpacket(feedbackResp.data);
|
||||
if(!TextUtils.isEmpty(data.getReceiverUid())){
|
||||
redpacketBean1.setReceiverUid(data.getReceiverUid());
|
||||
}
|
||||
changeInfo(redpacketBean1, binding, message, null, feedbackResp.data);
|
||||
// if(feedbackResp.data.getType() == 2){
|
||||
// binding.mingpianTv.setText("专属红包");
|
||||
// }
|
||||
if (isTopRed) {
|
||||
if(!TextUtils.isEmpty(data.getReceiverUid())){
|
||||
feedbackResp.data.setReceiverUid(data.getReceiverUid());
|
||||
}
|
||||
toTiaozhuanGroup(feedbackResp.data, message);
|
||||
}
|
||||
}
|
||||
@@ -223,8 +245,18 @@ public class RedPacketViewHolder extends ChatBaseMessageViewHolder {
|
||||
ChatDataUtils.set(binding.bigLy.getContext(), "redpack_" + feedbackResp.data.getId(), feedbackResp.data.getStatus());
|
||||
if (isTopRed && feedbackResp.data.getStatus() > 0)
|
||||
RxBus.getInstance().post(new RxHongBaoBean(feedbackResp.data.getId() + ""));
|
||||
changeInfo(RedpacketBean1.getRedpacket(feedbackResp.data), binding, message, null, feedbackResp.data);
|
||||
RedpacketBean1 redpacketBean1 = RedpacketBean1.getRedpacket(feedbackResp.data);
|
||||
if(!TextUtils.isEmpty(data.getReceiverUid())){
|
||||
redpacketBean1.setReceiverUid(data.getReceiverUid());
|
||||
}
|
||||
changeInfo(redpacketBean1, binding, message, null, feedbackResp.data);
|
||||
if(feedbackResp.data.getType() == 2){
|
||||
binding.mingpianTv.setText("专属红包");
|
||||
}
|
||||
if (isTopRed) {
|
||||
if(!TextUtils.isEmpty(data.getReceiverUid())){
|
||||
feedbackResp.data.setReceiverUid(data.getReceiverUid());
|
||||
}
|
||||
toTiaozhuanGroup(feedbackResp.data, message);
|
||||
}
|
||||
}
|
||||
@@ -310,8 +342,19 @@ public class RedPacketViewHolder extends ChatBaseMessageViewHolder {
|
||||
|
||||
private void changeInfo(RedpacketBean1 data, RedpacketViewheadBinding binding, ChatMessageBean message, RedpacketBean redpacketBean, RedpacketGroupBean redpacketGroupBean) {
|
||||
LogUtils.i("红包类型", "名片获取到的数据红包类型:" + data.getCoinType());
|
||||
LogUtils.i("红包类型", "名片获取到的数据红包类型1:" + GsonUtils.beanToJSONString(data));
|
||||
|
||||
if (data.getCoinType().equals("0")) {
|
||||
binding.mingpianTv.setText(binding.mingpianTv.getResources().getString(R.string.hongbao_des_txt));
|
||||
binding.mingpianTv.setText("拼手气红包");
|
||||
|
||||
if(!TextUtils.isEmpty(data.getReceiverUid())){
|
||||
LogUtils.i("红包类型", "名片获取到的数据红包类型2:" + GsonUtils.beanToJSONString(data));
|
||||
binding.mingpianTv.setText("专属红包");
|
||||
getTeamInfos(binding.itemTitleTv,data.getGroupId(),data.getReceiverUid());
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (Integer.parseInt(data.getStatus()) > 0) {
|
||||
binding.bigLy.setBackgroundResource(R.drawable.hongbnao_f_g);
|
||||
} else {
|
||||
@@ -344,6 +387,33 @@ public class RedPacketViewHolder extends ChatBaseMessageViewHolder {
|
||||
setStatusView(binding.layoutHongbao.getVisibility() == View.VISIBLE ? binding.itemStatusTv : binding.tvLijinstatus, data, message, redpacketGroupBean);
|
||||
}
|
||||
|
||||
private void getTeamInfos(TextView itemTitleTv,String groupId, String receiverUid) {
|
||||
|
||||
TeamRepo.getMemberInfo(
|
||||
groupId,
|
||||
receiverUid,
|
||||
new FetchCallback<UserInfoWithTeam>() {
|
||||
@Override
|
||||
public void onFailed(int i) {
|
||||
itemTitleTv.setText("给"+receiverUid+"的专属红包");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onException(@Nullable Throwable throwable) {
|
||||
itemTitleTv.setText("给"+receiverUid+"的专属红包");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(@Nullable UserInfoWithTeam userInfoWithTeam) {
|
||||
itemTitleTv.setText("给"+userInfoWithTeam.getName()+"的专属红包");
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
public void setStatusView(TextView tvstatus, RedpacketBean1 data, ChatMessageBean message, RedpacketGroupBean redpacketGroupBean) {
|
||||
switch (data.getStatus()) {
|
||||
case "0":
|
||||
|
||||
@@ -27,7 +27,9 @@ import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum;
|
||||
import com.netease.nimlib.sdk.msg.model.IMMessage;
|
||||
import com.netease.nimlib.sdk.uinfo.UserService;
|
||||
import com.netease.nimlib.sdk.uinfo.model.NimUserInfo;
|
||||
import com.netease.yunxin.kit.chatkit.model.UserInfoWithTeam;
|
||||
import com.netease.yunxin.kit.chatkit.repo.ChatRepo;
|
||||
import com.netease.yunxin.kit.chatkit.repo.TeamRepo;
|
||||
import com.netease.yunxin.kit.chatkit.ui.R;
|
||||
import com.netease.yunxin.kit.chatkit.ui.common.ChatDataUtils;
|
||||
import com.netease.yunxin.kit.chatkit.ui.common.GsonUtils;
|
||||
@@ -193,6 +195,15 @@ public class RedPacketDialog extends Dialog {
|
||||
}
|
||||
remarksTv.setText(redpacketGroupBean.getRemark());
|
||||
remarksTvGift.setText(redpacketGroupBean.getRemark());
|
||||
if(redpacketGroupBean.getType()==2){
|
||||
|
||||
if(!redpacketGroupBean.getReceiverUid().equals(IMKitClient.account())){
|
||||
getTeamInfos(remarksTv,redpacketGroupBean.getGroupId(),redpacketGroupBean.getReceiverUid());
|
||||
openIv.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
remarksTv.setText(tuiMessageBean.getRemark());
|
||||
}
|
||||
@@ -243,6 +254,31 @@ public class RedPacketDialog extends Dialog {
|
||||
|
||||
}
|
||||
|
||||
private void getTeamInfos(TextView itemTitleTv,String groupId, String receiverUid) {
|
||||
|
||||
TeamRepo.getMemberInfo(
|
||||
groupId,
|
||||
receiverUid,
|
||||
new FetchCallback<UserInfoWithTeam>() {
|
||||
@Override
|
||||
public void onFailed(int i) {
|
||||
itemTitleTv.setText("仅"+receiverUid+"可领取");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onException(@Nullable Throwable throwable) {
|
||||
itemTitleTv.setText("仅"+receiverUid+"可领取");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(@Nullable UserInfoWithTeam userInfoWithTeam) {
|
||||
itemTitleTv.setText("仅"+userInfoWithTeam.getName()+"可领取");
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
private void toDetails() {
|
||||
if (tuiMessageBean != null) {
|
||||
dismiss();
|
||||
@@ -449,21 +485,11 @@ public class RedPacketDialog extends Dialog {
|
||||
if ((feedbackResp.data.getGrabbers().get(i).getGrabberUid() + "").equals(IMKitClient.account())) {
|
||||
numberTv.setText(String.format("%.2f", feedbackResp.data.getGrabbers().get(i).getGrabAmount() / 100f));
|
||||
numberTvGift.setText(String.format("%.2f", feedbackResp.data.getGrabbers().get(i).getGrabAmount() / 100f));
|
||||
// danweiTv.setText(getContext().getResources().getString(R.string.danwei_txt));
|
||||
}
|
||||
}
|
||||
|
||||
ChatDataUtils.set(getContext(), "redpack_" + redpacketGroupBean.getId(), redpacketGroupBean.getStatus());
|
||||
|
||||
// List<GrabbersBean1> grabbersBean1List = null;
|
||||
// if(redpacketGroupBean.getGrabbers()!=null&&redpacketGroupBean.getGrabbers().size()>0){
|
||||
// //String redEnvelopeId, String grabberUid, String grabAmount, String grabTime, String grabberNickname, String grabberAvatar
|
||||
// grabbersBean1List = new ArrayList<>();
|
||||
// for (GrabbersBean grabbersBean:redpacketGroupBean.getGrabbers())
|
||||
// grabbersBean1List.add(new GrabbersBean1(grabbersBean.getRedEnvelopeId()+"",grabbersBean.getGrabberUid()+"",
|
||||
// grabbersBean.getGrabAmount()+"",grabbersBean.getGrabTime()+"",grabbersBean.getGrabberNickname(),grabbersBean.getGrabberAvatar()));
|
||||
// }
|
||||
|
||||
RedPacketGetAttachment redPacketAttachment = new RedPacketGetAttachment(redpacketGroupBean.getId() + "", redpacketGroupBean.getStatus() + "", redpacketGroupBean.getAmount() + "",
|
||||
redpacketGroupBean.getSenderUid() + "", groupId,
|
||||
redpacketGroupBean.getCount() + "", redpacketGroupBean.getResidualCount() + "", redpacketGroupBean.getResidualAmount() + "", redpacketGroupBean.getSendTime(),
|
||||
|
||||
@@ -94,6 +94,8 @@ public class RedpacketBean1 implements Serializable {
|
||||
redpacketBean.setResidualAmount(redpacketBean1.getResidualAmount()+"");
|
||||
redpacketBean.setFinishTime(redpacketBean1.getFinishTime());
|
||||
redpacketBean.setSenderNickname(redpacketBean1.getSenderNickname());
|
||||
redpacketBean.setReceiverUid(redpacketBean1.getReceiverUid());
|
||||
|
||||
// if(redpacketBean1.getGrabbers()!=null) {
|
||||
// redpacketBean.setGrabbers(GsonUtils.beanToJSONString(redpacketBean1.getGrabbers()));
|
||||
// }
|
||||
|
||||
@@ -23,6 +23,15 @@ public class RedpacketGroupBean implements Serializable {
|
||||
private String senderNickname;
|
||||
private Integer coinType;
|
||||
private List<GrabbersBean> grabbers;
|
||||
private String receiverUid;
|
||||
|
||||
public String getReceiverUid() {
|
||||
return receiverUid;
|
||||
}
|
||||
|
||||
public void setReceiverUid(String receiverUid) {
|
||||
this.receiverUid = receiverUid;
|
||||
}
|
||||
|
||||
public Integer getCoinType() {
|
||||
return coinType;
|
||||
|
||||
@@ -60,6 +60,7 @@ public interface ApiService {
|
||||
|
||||
String SUBSTATIONID = "1703655363476242434";
|
||||
// String SUBSTATIONID = "";
|
||||
String SUBSTATIONID1 = "1703655363476242434";
|
||||
|
||||
/**
|
||||
* 抢群红包
|
||||
|
||||
@@ -39,7 +39,6 @@
|
||||
android:ellipsize="end"
|
||||
android:gravity="center_vertical"
|
||||
android:lines="1"
|
||||
android:text="来自 黄黄不是嬛嬛 的赠送"
|
||||
android:textColor="#FFFEE3"
|
||||
android:textSize="14sp" />
|
||||
|
||||
@@ -52,7 +51,6 @@
|
||||
android:ellipsize="end"
|
||||
android:gravity="center_vertical"
|
||||
android:lines="1"
|
||||
android:text="待領取"
|
||||
android:textColor="#FEE391"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
|
||||
Reference in New Issue
Block a user