1:羽声新版本

This commit is contained in:
2025-10-24 17:52:11 +08:00
parent 437a623f81
commit a809b02ebb
827 changed files with 25795 additions and 1193698 deletions

View File

@@ -10,6 +10,7 @@ import lombok.Data;
public class AppPay {
private String ali;
private WxBean wx;
private BeanPayData tl;
@Data
public static class WxBean {
@@ -20,4 +21,20 @@ public class AppPay {
private String timestamp;
private String sign;
}
@Data
public static class BeanPayData {
private String appid;
private String body;
private String cusid;
private String notify_url;
private String paytype;
private String randomstr;
private String remark;
private String reqsn;
private String sign;
private String signtype;
private String trxamt;
private String version;
}
}

View File

@@ -15,11 +15,13 @@ public class FirstChargeGiftBean {
private List<GiftBag> gift_bag;
@Data
public static class GiftBag {
private String gift_bag_id;
private String name;
private String title1;
private String title2;
private String money;
private List<RoonGiftModel> gift_list;
private int status;
// @Data
// public static class GiftList {

View File

@@ -1,15 +1,66 @@
package com.xscm.moduleutil.bean;
import lombok.Data;
import java.io.Serializable;
import java.util.Objects;
import lombok.Data;
/**
*@author qx
*@data 2025/8/27
*@description: 推送过来的礼物信息,复用在盲盒活动获取礼物信息中
*/
@Data
public class GiftBean {
private String gift_id;
private String periods;
private String gift_name;
private String gift_price;
private int file_type;
private String play_image;
private String base_image;
private String gift_type;
private int number;
private String createtime;
private String nickname;
private int count;
private String user_id;
private int num;
private boolean is_paly =false;
private long timestamp;
//谁送的
private String userAvatar;
// 发送者名称
private String senderName;
// 发送者头像URL
private String senderAvatarUrl;
// 判断两个礼物是否相同(同一人送同一礼物)
public boolean isSameGiftFromSameSender(GiftBean other) {
if (other == null) return false;
return Objects.equals(gift_id, other.gift_id) &&
Objects.equals(senderName, other.senderName);
}
// 生成礼物唯一键
public String getGiftKey() {
return (senderName != null ? senderName : "unknown") + "_" +
(gift_id != null ? gift_id : "unknown");
}
@Override
public GiftBean clone() {
GiftBean clone = new GiftBean();
clone.gift_id = this.gift_id;
clone.gift_name = this.gift_name;
clone.base_image = this.base_image;
clone.senderName = this.senderName;
clone.userAvatar = this.userAvatar;
clone.senderAvatarUrl = this.senderAvatarUrl;
clone.number = this.number;
clone.timestamp = this.timestamp;
return clone;
}
}

View File

@@ -2,12 +2,23 @@ package com.xscm.moduleutil.bean;
import lombok.Data;
import java.util.List;
@Data
public class HeavenGiftBean {
private String title;
private String picture;
private int type;
private String quantity;
private String gold;
private String days;
private int gift_bag_id;
private String name; //活动名称
private String bag_name;//礼包名称
private String effective_time;//倒计时时间 秒
private String rule;//规则地址
private String counter;
private String money;
private String diamond;
private List<RoonGiftModel> gift_list;
}

View File

@@ -13,7 +13,7 @@ public class MusicSongBean implements Serializable {
private String did;//歌曲id
private String room_id;
private String song_code;//歌曲唯一标识
private String song_code="";//歌曲唯一标识
private String song_name;//歌曲名称
private String singer;//歌手
private String poster;//封面

View File

@@ -4,9 +4,10 @@ import lombok.Data;
@Data
public class MyBagDataBean {
private String title;
private String giftName;
private String time;
private String base_image;
private String remarks; //收入说明
private String gift_num;//礼物数量
private String gift_name;//礼物名称
private String gift_image;//礼物图片
private String time;//时间
}

View File

@@ -53,13 +53,16 @@ public class PlaceholderBean {
@Data
public static class ListsBean {
private String user_id;
private String user_code;
private String nickname;
private String nickname1;
private String avatar;
private String total;
private String rank;
private List<String> icon;
private String room_name;
private String room_id;
private String room_number;
private String room_cover;
private int id;//公会id

View File

@@ -1,9 +1,7 @@
package com.xscm.moduleutil.bean;
import com.xscm.moduleutil.bean.room.FriendInfo;
import com.xscm.moduleutil.bean.room.RoomAuction;
import com.xscm.moduleutil.bean.room.RoomBean;
import com.xscm.moduleutil.bean.room.RoomPitBean;
import com.xscm.moduleutil.bean.blindboxwheel.BlindBoxBean;
import com.xscm.moduleutil.bean.room.*;
import java.util.List;
@@ -15,6 +13,9 @@ public class RoomMessageEvent {
private String RoomId; // 房间 ID
private T Text; // 携带的数据对象
public RoomMessageEvent() {
}
public RoomMessageEvent(int msgType, String roomId, T text) {
MsgType = msgType;
RoomId = roomId;
@@ -30,7 +31,9 @@ public class RoomMessageEvent {
private String jia_jia;
private UserInfo FromUserInfo;
private UserInfo ToUserInfo;
private List<UserInfo> ToUserInfos;
private GiftBean GiftInfo;
private List<GiftBean> GiftInfos;
private int room_up_pit_type;
private MusicSongBean songInfo;
private MusicSongBean nextInfo;
@@ -47,7 +50,7 @@ public class RoomMessageEvent {
private String AcceptRoomId;//接收者所在的房间id
private String PkId;
private String room_id;//当type==1的时候。这个roomId是对方的房间id
private String user_id;
private String user_id="";
private String pk_end_times;//pk结束时间
private List<RoomPitBean> userCharmList;
@@ -67,10 +70,32 @@ public class RoomMessageEvent {
private int count;//排麦模式下的人数
private int step ; //1:等待邂逅 2心动连线 3牵手良缘
private int friend_id; //场次id
private List<FriendInfo.HeartList> heart_list;//交友心动值发生变化
// private List<FriendInfo.HeartList> list;//交友心动值发生变化
private List<UserInfo> list;//交友房麦位发生变化 //推送的事麦上用户信息这里使用了userinfo接收的
private FriendUserBean friend_user;//这是推送过来需要卡关系的数据
private String relation_name;
private String user1_id;
private String user2_id;
private String user1_avatar;
private String user1_nickname;
private String user2_nickname;
private String user2_avatar;
private long time_day;
private int online_number;//在线人数
private BlindBoxBean.XlhData xlh_data;
private String from_pit_number;
private String to_pit_number;
private String gift_num;
private RedPacketInfo redpacketInfo;
private String redpacket_id;
private EmotionDeatils emoji;
}
@Data

View File

@@ -1,26 +0,0 @@
package com.xscm.moduleutil.bean;
import lombok.Data;
@Data
public class RoomMessageEvent1 {
private int MsgType; // 消息类型,如 QXRoomMessageTypeJoin
private String RoomId; // 房间 ID
private RoomMessageEvent.T Text; // 携带的数据对象
public RoomMessageEvent1(int msgType, String roomId, RoomMessageEvent.T text) {
MsgType = msgType;
RoomId = roomId;
Text = text;
}
@Data
public static class T {
private String text;
private String GiftNum;
private UserInfo FromUserInfo;
private UserInfo ToUserInfo;
private GiftBean GiftInfo;
}
}

View File

@@ -1,41 +1,84 @@
package com.xscm.moduleutil.bean;
import com.blankj.utilcode.util.GsonUtils;
import com.tencent.imsdk.v2.V2TIMManager;
import com.tencent.imsdk.v2.V2TIMMessage;
import com.tencent.imsdk.v2.V2TIMSendCallback;
import com.xscm.moduleutil.bean.room.Children;
import com.xscm.moduleutil.bean.room.EmotionDeatils;
import com.xscm.moduleutil.event.RoomTaskEvent;
import com.xscm.moduleutil.utils.SpUtil;
import org.greenrobot.eventbus.EventBus;
import java.nio.charset.StandardCharsets;
import java.util.Random;
public class RoomMessageManager {
public String roomId;
private static RoomMessageManager instance ;
private static final RoomMessageManager instance = new RoomMessageManager();
public String getRoomId() {
return roomId;
}
private RoomMessageManager() {}
public void setRoomId(String roomId) {
this.roomId = roomId;
}
public static RoomMessageManager getInstance() {
if (instance == null){
instance = new RoomMessageManager();
}
return instance;
}
/**
* 接收原始消息,转换后发送到 EventBus
*/
public void onNewMessage(String roomId, int msgType, RoomMessageEvent.T data) {
RoomMessageEvent event = new RoomMessageEvent(msgType, roomId, data);
EventBus.getDefault().post(event);
public void sendChatEmoji(EmotionDeatils emotionDeatils){
EmotionDeatils event = new EmotionDeatils();
if (emotionDeatils != null&& emotionDeatils.getChildren()!=null && !emotionDeatils.getChildren().isEmpty() && emotionDeatils.getChildren().size()>0){
int position = new Random().nextInt(emotionDeatils.getChildren().size());
Children children = emotionDeatils.getChildren().get(position);
event.setImage(children.getImage());
event.setAnimate_image(emotionDeatils.getAnimate_image());
}else {
event= emotionDeatils;
}
RoomMessageEvent roomMessageEvent=new RoomMessageEvent();
roomMessageEvent.setRoomId(roomId);
roomMessageEvent.setMsgType(2);//这是表情类型1单发文本消息 2单发表情消息
UserInfo userInfo= SpUtil.getUserInfo();
RoomMessageEvent.T t=new RoomMessageEvent.T();
t.setFromUserInfo(userInfo);
t.setEmoji(event);
roomMessageEvent.setText(t);
String json = GsonUtils.toJson(roomMessageEvent);
// 转换为 byte[]
byte[] binaryData = json.getBytes(StandardCharsets.UTF_8);
// 创建自定义消息
V2TIMMessage v2TIMMessage = V2TIMManager.getMessageManager().createCustomMessage(binaryData);
// 发送消息
V2TIMManager.getMessageManager().sendMessage(v2TIMMessage, null, "room" + roomId, V2TIMMessage.V2TIM_PRIORITY_NORMAL, false, null, new V2TIMSendCallback<V2TIMMessage>() {
@Override
public void onProgress(int progress) {
// 自定义消息不会回调进度
}
@Override
public void onSuccess(V2TIMMessage message) {
// 发送群聊自定义消息成功
// EventBus.getDefault().post(new RoomTaskEvent());
}
@Override
public void onError(int code, String desc) {
// 发送群聊自定义消息失败
}
});
}
/**
* 注册监听器(如 Fragment 或 Activity
*/
public void register(Object subscriber) {
if (!EventBus.getDefault().isRegistered(subscriber)) {
EventBus.getDefault().register(subscriber);
}
}
/**
* 反注册监听器
*/
public void unregister(Object subscriber) {
if (EventBus.getDefault().isRegistered(subscriber)) {
EventBus.getDefault().unregister(subscriber);
}
}
}

View File

@@ -19,4 +19,14 @@ public class RoomSearchResp {
private String hot_value;
private String room_id;
private String room_name;
private String room_cover;
private String room_number;
private int label_id;
private String today_hot_value;
}

View File

@@ -31,7 +31,8 @@ public class RoonGiftModel {
private boolean isSelected;
private boolean can_send_self;//是否能送自己
private int num;//礼物数量
private int activities_id;//4盲盒 5天空之境
private int gift_bag;//10天空之境 11岁月之城 12时空之巅
public boolean isCan_send_self() {
if ( isManghe()) {
return true;

View File

@@ -19,6 +19,10 @@ public class UserBean implements Serializable {
private String mobile;
private int sex;
private int auth;
private int is_can_chat;//是否可以私聊1可以0不可以
private int can_chat_money;//需要充值的金额
private String dress;//头像框
private String chat_bubble;//聊天气泡
private List<MultiUserBean> multi_user;

View File

@@ -1,5 +1,8 @@
package com.xscm.moduleutil.bean;
import com.google.gson.annotations.SerializedName;
import com.xscm.moduleutil.bean.room.FriendInfo;
import java.io.Serializable;
import java.util.List;
@@ -14,7 +17,7 @@ public class UserInfo implements Serializable {
private static final long serialVersionUID = 1L;
public static final String FEMALE = "2";
public static final String MALE = "1";
// @SerializedName(value = "id", alternate = "user_id")
private int id;
private int user_id; //用户id
private String user_code;//用户id码
private String avatar;//头像
@@ -39,6 +42,7 @@ public class UserInfo implements Serializable {
private int age;//年龄
private String is_room;
private String dress;//头像框
private String chat_bubble;//聊天气泡
private String charm;//魅力值
private String room_id;
private String guild;//公会名称
@@ -53,9 +57,16 @@ public class UserInfo implements Serializable {
private String red_status;
private String gift_num;
private int is_can_chat;//是否可以私聊1可以0不可以
private int can_chat_money;//需要充值的金额
private RelationshipBean qinmi;
private RelationshipBean zhenai;
private int heartId; // "heartId": 4,
private int heartNum; //
private String red_num;
private String ta;

View File

@@ -1,8 +1,11 @@
package com.xscm.moduleutil.bean;
import lombok.Data;
@Data
public class UserResultResp {
private String room_id;
private String user_id;
private String user_code;
private String nickname;
@@ -14,83 +17,4 @@ public class UserResultResp {
private String good_number;
private String id_color;
public String getUser_id() {
return user_id;
}
public void setUser_id(String user_id) {
this.user_id = user_id;
}
public String getUser_code() {
return user_code;
}
public void setUser_code(String user_code) {
this.user_code = user_code;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getHead_picture() {
return head_picture;
}
public void setHead_picture(String head_picture) {
this.head_picture = head_picture;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getFollow() {
return follow;
}
public void setFollow(String follow) {
this.follow = follow;
}
public String getFans_count() {
return fans_count;
}
public void setFans_count(String fans_count) {
this.fans_count = fans_count;
}
public String getOnline_text() {
return online_text;
}
public void setOnline_text(String online_text) {
this.online_text = online_text;
}
public String getGood_number() {
return good_number;
}
public void setGood_number(String good_number) {
this.good_number = good_number;
}
public String getId_color() {
return id_color;
}
public void setId_color(String id_color) {
this.id_color = id_color;
}
}

View File

@@ -11,7 +11,11 @@ import lombok.Data;
public class WithdrawalBean {
private String name;
private String money;
private String status;
private int status;
private String status_str;
private String createtime;
private String withdraw_fee;
private String surplus_money;
private String received_tax_amount;
}

View File

@@ -94,6 +94,22 @@ public class EMMessageInfo implements MultiItemEntity {
public static final int QXRoomMessageTypeSeatDidChanged = 1053;
/// 心动值发生变化
public static final int QXRoomMessageTypeHeartDidChanged = 1054;
/// 小黑屋有人退出房间
public static final int QXRoomMessageTypeHeartDid = 1055;
///盲盒抽奖进度条
public static final int QXRoomMessageTypeMangH = 1056;
///巡乐会
public static final int QXRoomMessageTypeXlh = 1057;
///在离线
public static final int QXRoomMessageTypezailx = 1058;
///清除个人魅力值
public static final int QXRoomMessageTypeQingGRMl = 1059;
//有红包列表
public static final int QXRoomMessageTypeQXRoomMessageRed = 1060;
public static final int QXRoomMessageTypeQXRoomMessageRedRemove = 1061;
///房间内换麦
public static final int QXRoomMessageTypehm = 1039;
private RoomMessageEvent emMessage;
private int custom = 0;
@@ -145,13 +161,15 @@ public class EMMessageInfo implements MultiItemEntity {
case QXRoomMessageTypeRoomDress:
case QXRoomMessageTypeRoomOnline:
case QXRoomMessageTypeRoomOPK:
case QXRoomMessageTypeRoomOMh:
case QXRoomMessageTypeRoomFriendPartDidChanged:
case QXRoomMessageTypeSeatDidChanged:
case QXRoomMessageTypehm:
return 1;
case QXRoomMessageTypeRoomOMh:
case QXRoomMessageTypeGift:
return 3;
case 1:
case 2:
return 2;
case QXRoomMessageTypeRoomTypeChanged://房间类型发生变化
return 4;

View File

@@ -1,5 +1,6 @@
package com.xscm.moduleutil.bean.room;
import java.io.Serializable;
import java.util.List;
import lombok.Data;
@@ -10,14 +11,14 @@ import lombok.Data;
* @description: 交友房的实体类
*/
@Data
public class FriendInfo {
public class FriendInfo implements Serializable {
private int friend_id;
private long end_time;
private int step;
private List<HeartList> heart_list;
@Data
public static class HeartList {
public static class HeartList implements Serializable {
private int heartId; // "heartId": 4,
private int heartNum; // "heartNum": 10510
}

View File

@@ -40,7 +40,7 @@ public class RoomAuction implements Serializable {
}
@Data
public class AuctionListBean implements Serializable {
public static class AuctionListBean implements Serializable {
private String user_id;
private String user_code;
private String nickname;

View File

@@ -29,6 +29,8 @@ public class RoomInfoResp implements Serializable {
private PkRoomInfo pk_info;
private List<RoomPitBean> song_pit_list;
private FriendInfo friend_info;
private GiftXlh gift_cycle;
private int hour_ranking_open;//1:开启 0关闭
//弹出麦位操作弹出
@@ -114,4 +116,18 @@ public class RoomInfoResp implements Serializable {
public boolean isFreedomMode() {
return "1".equals(room_info.getWheat());
}
@Data
public class GiftXlh implements Serializable{
private XlhInfo xlh_info ;
}
@Data
public class XlhInfo implements Serializable{
private String activities_name;
private String icon;
private String xlh_status;
private String end_time;
}
}

View File

@@ -34,7 +34,7 @@ public class RoomPitBean implements Serializable {
private int is_lock;//0未锁麦 1锁麦
private int is_mute;//0未禁麦 1禁麦
private int count_down;//麦位倒计时
private String user_id;//麦位上用户id
private String user_id="";//麦位上用户id
private String nickname;//麦位上用户昵称
private String avatar;//用户头像
private String sex;//性别

View File

@@ -18,6 +18,7 @@ public class RoomSettingBean implements MultiItemEntity {
public static final int QXRoomSettingTypeRoomTypeGirl = 13;
///交友 房
public static final int QXRoomSettingTypeRoomTypeJiaoy = 27;
public static final int QXRoomSettingTypeRoomTypeHUYU = 28;
/// 常用工具
/// 房间补贴
@@ -48,6 +49,8 @@ public class RoomSettingBean implements MultiItemEntity {
public static final int QXRoomSettingTypeRoomCloseEffects = 25;
/// 意见反馈
public static final int QXRoomSettingTypeRoomReport = 26;
public static final int QXRoomSettingTypeRoomFloatingScreen = 29;//关闭飘屏
public static final int QXRoomSettingTypeRoomFloatingRed = 30;//红包
public static final int ITEM_TYPE_DEFAULT = 0;
public static final int ITEM_TYPE_WITH_ICON = 1;