1.送礼错误处理流程修改 2.贵族礼物标识和礼物tag重叠问题处理
This commit is contained in:
@@ -54,7 +54,6 @@ import com.yizhuan.erban.ui.widget.GiftDialog
|
||||
import com.yizhuan.erban.ui.widget.GiftDialog.OnGiftDialogBtnClickListener
|
||||
import com.yizhuan.erban.ui.widget.GiftDialog.SenGiftCallback
|
||||
import com.yizhuan.erban.ui.widget.UserInfoDialog
|
||||
import com.yizhuan.erban.ui.widget.dialog.OpenNobleDialog
|
||||
import com.yizhuan.erban.ui.widget.dynamicface.DynamicFaceDialog
|
||||
import com.yizhuan.erban.ui.widget.rollviewpager.RollPagerView
|
||||
import com.yizhuan.erban.ui.widget.rollviewpager.Util
|
||||
@@ -66,10 +65,8 @@ import com.yizhuan.xchat_android_core.Constants
|
||||
import com.yizhuan.xchat_android_core.UriProvider
|
||||
import com.yizhuan.xchat_android_core.auth.AuthModel
|
||||
import com.yizhuan.xchat_android_core.bean.RoomMicInfo
|
||||
import com.yizhuan.xchat_android_core.bean.response.ServiceResult
|
||||
import com.yizhuan.xchat_android_core.gift.GiftModel
|
||||
import com.yizhuan.xchat_android_core.gift.bean.GiftInfo
|
||||
import com.yizhuan.xchat_android_core.gift.bean.GiftMultiReceiverInfo
|
||||
import com.yizhuan.xchat_android_core.home.bean.BannerInfo
|
||||
import com.yizhuan.xchat_android_core.im.custom.bean.RoomFollowOwnerAttachment
|
||||
import com.yizhuan.xchat_android_core.im.custom.bean.RoomFollowOwnerAttachment2
|
||||
@@ -78,17 +75,13 @@ import com.yizhuan.xchat_android_core.manager.AudioEngineManager
|
||||
import com.yizhuan.xchat_android_core.manager.AvRoomDataManager
|
||||
import com.yizhuan.xchat_android_core.manager.IMNetEaseManager
|
||||
import com.yizhuan.xchat_android_core.manager.RoomEvent
|
||||
import com.yizhuan.xchat_android_core.market_verify.MarketVerifyModel
|
||||
import com.yizhuan.xchat_android_core.mentoring_relationship.event.MentoringStopCountingEvent
|
||||
import com.yizhuan.xchat_android_core.music.model.PlayerModel
|
||||
import com.yizhuan.xchat_android_core.room.anotherroompk.ShowGiftDialogEvent
|
||||
import com.yizhuan.xchat_android_core.room.anotherroompk.ShowUserInfoDialogEvent
|
||||
import com.yizhuan.xchat_android_core.room.bean.RoomInfo
|
||||
import com.yizhuan.xchat_android_core.room.event.RoomClearScreenEvent
|
||||
import com.yizhuan.xchat_android_core.room.face.FaceInfo
|
||||
import com.yizhuan.xchat_android_core.room.game.GameStatus
|
||||
import com.yizhuan.xchat_android_core.room.giftvalue.helper.GiftValueMrg
|
||||
import com.yizhuan.xchat_android_core.room.model.MicQueueModel
|
||||
import com.yizhuan.xchat_android_core.room.queue.bean.MicMemberInfo
|
||||
import com.yizhuan.xchat_android_core.share.bean.SessionType
|
||||
import com.yizhuan.xchat_android_core.statistic.StatisticManager
|
||||
@@ -99,13 +92,13 @@ import com.yizhuan.xchat_android_core.super_admin.util.SuperAdminUtil
|
||||
import com.yizhuan.xchat_android_core.user.UserModel
|
||||
import com.yizhuan.xchat_android_core.user.bean.BaseInfo
|
||||
import com.yizhuan.xchat_android_core.user.bean.UserInfo
|
||||
import com.yizhuan.xchat_android_core.utils.net.VipLevelNotEnoughException
|
||||
import com.yizhuan.xchat_android_library.net.rxnet.utils.RxNetWorkUtils
|
||||
import com.yizhuan.xchat_android_library.rxbus.RxBus
|
||||
import com.yizhuan.xchat_android_library.utils.*
|
||||
import com.yizhuan.xchat_android_library.utils.config.BasicConfig
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.disposables.Disposable
|
||||
import io.reactivex.functions.BiConsumer
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
@@ -659,22 +652,22 @@ open class BaseRoomFragment<V : IBaseRoomView?, P : BaseRoomPresenter<V>?> :
|
||||
for (i in micMemberInfos.indices) {
|
||||
targetUids.add(micMemberInfos[i].account.toLong())
|
||||
}
|
||||
val canUseNobleGiftOrNot = GiftModel.get().canUseNobleGiftOrNot(giftInfo)
|
||||
if (canUseNobleGiftOrNot) {
|
||||
GiftModel.get()
|
||||
.sendRoomGift(giftInfo.giftId, targetUids, number, msg, isKnap, isWholdMic)
|
||||
.compose(bindUntilEvent(FragmentEvent.DESTROY))
|
||||
.subscribe { throwable, _ ->
|
||||
if (throwable != null) {
|
||||
callback.onFail()
|
||||
} else {
|
||||
callback.onSuccess()
|
||||
}
|
||||
GiftModel.get()
|
||||
.sendRoomGift(giftInfo.giftId, targetUids, number, msg, isKnap, isWholdMic)
|
||||
.compose(bindUntilEvent(FragmentEvent.DESTROY))
|
||||
.doOnError {
|
||||
if (it is VipLevelNotEnoughException) {
|
||||
dialogManager.showOkDialog("尚未达到赠送${giftInfo.giftName}所需贵族等级,所需贵族等级:${giftInfo.giftVipInfo?.vipName}")
|
||||
}
|
||||
} else {
|
||||
dialogManager.showOkDialog("尚未达到赠送${giftInfo.giftName}所需贵族等级,所需贵族等级:${giftInfo.giftVipInfo?.vipName}")
|
||||
callback.onFail()
|
||||
}
|
||||
}
|
||||
.subscribe { throwable, _ ->
|
||||
if (throwable != null) {
|
||||
callback.onFail()
|
||||
} else {
|
||||
callback.onSuccess()
|
||||
}
|
||||
}
|
||||
|
||||
if (AvRoomDataManager.get().isCpRoom) {
|
||||
StatisticManager.Instance()
|
||||
.onEvent(StatisticsProtocol.Event.roomcp_gift_open_click, "礼物面板按钮")
|
||||
|
@@ -7,7 +7,6 @@ import com.netease.nim.uikit.business.session.helper.MessageListPanelHelper;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.common.widget.dialog.DialogManager;
|
||||
import com.yizhuan.erban.ui.widget.GiftDialog;
|
||||
import com.yizhuan.erban.ui.widget.dialog.OpenNobleDialog;
|
||||
import com.yizhuan.xchat_android_core.gift.GiftModel;
|
||||
import com.yizhuan.xchat_android_core.gift.bean.GiftInfo;
|
||||
import com.yizhuan.xchat_android_core.gift.toolbox.GiftToolbox;
|
||||
@@ -18,13 +17,11 @@ import com.yizhuan.xchat_android_core.pay.PayModel;
|
||||
import com.yizhuan.xchat_android_core.room.queue.bean.MicMemberInfo;
|
||||
import com.yizhuan.xchat_android_core.statistic.StatisticManager;
|
||||
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
|
||||
import com.yizhuan.xchat_android_core.user.UserModel;
|
||||
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
|
||||
import com.yizhuan.xchat_android_core.utils.net.BeanObserver;
|
||||
import com.yizhuan.xchat_android_core.utils.net.VipLevelNotEnoughException;
|
||||
import com.yizhuan.xchat_android_library.utils.SingleToastUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by xiaoyu
|
||||
@@ -58,31 +55,29 @@ public class GiftAction extends BaseAction implements GiftDialog.OnGiftDialogBtn
|
||||
@Override
|
||||
public void onSendGiftBtnClick(GiftInfo giftInfo, ArrayList<MicMemberInfo> micMemberInfos, int number, String msg, boolean isknap, boolean isWholeMic, GiftDialog.SenGiftCallback callback) {
|
||||
if (giftInfo == null) return;
|
||||
boolean canUseNobleGiftOrNot = GiftModel.get().canUseNobleGiftOrNot(giftInfo);
|
||||
if (canUseNobleGiftOrNot) {
|
||||
GiftModel.get().sendPersonalGift(giftInfo.getGiftId(), micMemberInfos.get(0).getAccount(), number, msg, isknap)
|
||||
.doOnError(throwable -> {
|
||||
if (callback != null) {
|
||||
callback.onFail();
|
||||
}
|
||||
})
|
||||
.flatMap(serviceResult -> GiftToolbox.sendGiftPrivateChatMessage(serviceResult.getData()))
|
||||
.subscribe(imMessage -> {
|
||||
// 手动更新送礼物的消息
|
||||
MessageListPanelHelper.getInstance().notifyAddMessage(imMessage);
|
||||
if (callback != null) {
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_PRIVATECHAT_SENDGIFT,
|
||||
"私聊_送礼物");
|
||||
callback.onSuccess();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
new DialogManager(getActivity()).showOkDialog("尚未达到赠送" +
|
||||
giftInfo.getGiftName() +
|
||||
"所需贵族等级,所需贵族等级:" +
|
||||
giftInfo.getGiftVipInfo().getVipName());
|
||||
callback.onFail();
|
||||
}
|
||||
GiftModel.get().sendPersonalGift(giftInfo.getGiftId(), micMemberInfos.get(0).getAccount(), number, msg, isknap)
|
||||
.doOnError(throwable -> {
|
||||
if (callback != null) {
|
||||
callback.onFail();
|
||||
}
|
||||
if (throwable instanceof VipLevelNotEnoughException) {
|
||||
new DialogManager(getActivity()).showOkDialog("尚未达到赠送" +
|
||||
giftInfo.getGiftName() +
|
||||
"所需贵族等级,所需贵族等级:" +
|
||||
giftInfo.getGiftVipInfo().getVipName());
|
||||
}
|
||||
})
|
||||
.flatMap(serviceResult -> GiftToolbox.sendGiftPrivateChatMessage(serviceResult.getData()))
|
||||
.subscribe(imMessage -> {
|
||||
// 手动更新送礼物的消息
|
||||
MessageListPanelHelper.getInstance().notifyAddMessage(imMessage);
|
||||
if (callback != null) {
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_PRIVATECHAT_SENDGIFT,
|
||||
"私聊_送礼物");
|
||||
callback.onSuccess();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -9,6 +9,7 @@
|
||||
type="com.yizhuan.erban.ui.gift.dialog.GiftInfoVm" />
|
||||
|
||||
<import type="android.view.View" />
|
||||
<import type="android.text.TextUtils" />
|
||||
</data>
|
||||
|
||||
<RelativeLayout
|
||||
@@ -16,7 +17,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="105dp"
|
||||
android:gravity="center"
|
||||
tools:layout_width="75dp">
|
||||
tools:layout_width="100dp">
|
||||
|
||||
<View
|
||||
android:id="@+id/view_room_gift_select"
|
||||
@@ -67,6 +68,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentRight="true"
|
||||
android:gravity="center"
|
||||
android:layout_marginTop="4dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
@@ -105,6 +107,17 @@
|
||||
android:src="@drawable/icon_gift_effect"
|
||||
android:visibility="@{item.isShowEffect ? View.VISIBLE : View.GONE}"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_noble_tag"
|
||||
nomalUrl="@{item.vipIcon}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="16dp"
|
||||
android:layout_marginEnd="@dimen/dp_3"
|
||||
android:adjustViewBounds="true"
|
||||
android:visibility="@{TextUtils.isEmpty(item.vipIcon) ? View.GONE : View.VISIBLE}"
|
||||
tools:src="@drawable/icon_gift_effect" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
@@ -120,16 +133,6 @@
|
||||
android:textSize="@dimen/sp_9"
|
||||
android:visibility="@{item.isKnap ? View.VISIBLE : View.GONE}" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_noble_tag"
|
||||
nomalUrl="@{item.vipIcon}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="16dp"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_marginTop="@dimen/dp_3"
|
||||
android:layout_marginEnd="@dimen/dp_3"
|
||||
android:adjustViewBounds="true"
|
||||
tools:src="@drawable/ic_tag_1" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_vip_locked"
|
||||
|
@@ -1,15 +1,15 @@
|
||||
package com.yizhuan.xchat_android_core.gift;
|
||||
|
||||
import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_ALL_MIC_LUCKY_GIFT;
|
||||
import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_LUCKY_GIFT;
|
||||
import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_MULTI_LUCK_GIFT;
|
||||
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.netease.nim.uikit.common.util.log.LogUtil;
|
||||
import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage;
|
||||
import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum;
|
||||
@@ -17,7 +17,6 @@ import com.yizhuan.xchat_android_core.auth.AuthModel;
|
||||
import com.yizhuan.xchat_android_core.base.BaseModel;
|
||||
import com.yizhuan.xchat_android_core.bean.response.ServiceResult;
|
||||
import com.yizhuan.xchat_android_core.gift.bean.GiftInfo;
|
||||
import com.yizhuan.xchat_android_core.gift.bean.GiftList;
|
||||
import com.yizhuan.xchat_android_core.gift.bean.GiftListInfo;
|
||||
import com.yizhuan.xchat_android_core.gift.bean.GiftMultiReceiverInfo;
|
||||
import com.yizhuan.xchat_android_core.gift.bean.GiftSendType;
|
||||
@@ -38,11 +37,8 @@ import com.yizhuan.xchat_android_core.initial.InitialModel;
|
||||
import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
|
||||
import com.yizhuan.xchat_android_core.manager.IMNetEaseManager;
|
||||
import com.yizhuan.xchat_android_core.manager.RoomEvent;
|
||||
import com.yizhuan.xchat_android_core.noble.NobleInfo;
|
||||
import com.yizhuan.xchat_android_core.pay.PayModel;
|
||||
import com.yizhuan.xchat_android_core.radish.RadishModel;
|
||||
import com.yizhuan.xchat_android_core.room.bean.RoomInfo;
|
||||
import com.yizhuan.xchat_android_core.room.face.IFaceCore;
|
||||
import com.yizhuan.xchat_android_core.room.giftvalue.bean.GiftValueCommonUpdate;
|
||||
import com.yizhuan.xchat_android_core.room.giftvalue.helper.GiftValueMrg;
|
||||
import com.yizhuan.xchat_android_core.user.UserModel;
|
||||
@@ -50,6 +46,7 @@ import com.yizhuan.xchat_android_core.user.bean.UserInfo;
|
||||
import com.yizhuan.xchat_android_core.utils.net.BalanceNotEnoughExeption;
|
||||
import com.yizhuan.xchat_android_core.utils.net.RadishNotEnoughException;
|
||||
import com.yizhuan.xchat_android_core.utils.net.RxHelper;
|
||||
import com.yizhuan.xchat_android_core.utils.net.VipLevelNotEnoughException;
|
||||
import com.yizhuan.xchat_android_core.vip.UserVipInfo;
|
||||
import com.yizhuan.xchat_android_library.net.rxnet.RxNet;
|
||||
import com.yizhuan.xchat_android_library.utils.ListUtils;
|
||||
@@ -70,12 +67,6 @@ import retrofit2.http.GET;
|
||||
import retrofit2.http.POST;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_ALL_MIC_LUCKY_GIFT;
|
||||
import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_LUCKY_GIFT;
|
||||
import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_MULTI_LUCK_GIFT;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
|
||||
/**
|
||||
* Created by yudi
|
||||
@@ -402,7 +393,10 @@ public class GiftModel extends BaseModel implements IGiftModel {
|
||||
if (serviceResult.getCode() == BalanceNotEnoughExeption.code) {
|
||||
IMNetEaseManager.get().getChatRoomEventObservable().onNext(new RoomEvent().setEvent(RoomEvent.RECHARGE));
|
||||
return Single.error(new BalanceNotEnoughExeption(serviceResult.getMessage()));
|
||||
} else if (RadishNotEnoughException.code == serviceResult.getCode()) {
|
||||
}
|
||||
else if (serviceResult.getCode() == VipLevelNotEnoughException.code) {
|
||||
return Single.error(new VipLevelNotEnoughException(serviceResult.getMessage()));
|
||||
}else if (RadishNotEnoughException.code == serviceResult.getCode()) {
|
||||
//萝卜不足
|
||||
IMNetEaseManager.get().getChatRoomEventObservable().onNext(
|
||||
new RoomEvent().setEvent(RoomEvent.RADISH_NOT_ENOUGH));
|
||||
|
@@ -0,0 +1,12 @@
|
||||
package com.yizhuan.xchat_android_core.utils.net;
|
||||
|
||||
/**
|
||||
* Created by huangmeng1 on 2018/5/14.
|
||||
*/
|
||||
|
||||
public class VipLevelNotEnoughException extends Exception {
|
||||
public final static int code = 8535;//VIP等级不足
|
||||
public VipLevelNotEnoughException(String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user