[Modify]修复个播沒有頭飾和修改尋愛接口邏輯

This commit is contained in:
wushaocheng
2023-03-27 20:50:47 +08:00
parent 14a1e2d5c8
commit 1d882041a7
9 changed files with 157 additions and 42 deletions

View File

@@ -84,11 +84,6 @@ class SingleRoomFragment : BaseRoomFragment<ISingleRoomView?, SingleRoomPresente
super.initiate()
mvpPresenter?.getBannerList()
initSpeedyMessage(gameBinding.flSpeedyMessage)
// UserModel.get().currentUserInfo
// .compose(bindToLifecycle())
// .subscribe { userInfo ->
// gameBinding.ivFirstChargeEnter.isVisible = userInfo.isFirstCharge
// }
GoldBoxHelper.isHideBox().subscribe(
{
if (it == false) {

View File

@@ -22,6 +22,13 @@
android:layout_height="60dp"
android:layout_gravity="center" />
<ImageView
android:id="@+id/iv_head_wear"
android:layout_width="@dimen/dp_60"
android:layout_height="@dimen/dp_60"
android:layout_gravity="center"
tools:visibility="gone" />
<ImageView
android:id="@+id/up_image"
android:layout_width="40dp"

View File

@@ -120,7 +120,6 @@ public class TreasureBoxActivity extends BaseBindingActivity<ActivityTreasureBox
.getKeyInfo(boxType)
.compose(bindToLifecycle())
.subscribe(keyInfo -> {
changeKeyNum(keyInfo.getKeyNum());
price = keyInfo.getKeyPrice();
sendMessageSwitchLevel = keyInfo.getSendMessageSwitchLevel();
});
@@ -184,23 +183,22 @@ public class TreasureBoxActivity extends BaseBindingActivity<ActivityTreasureBox
mBinding.ivOpen.setEnabled(false);
mBinding.ivBoxOpen.startAnimation();
long startTime = System.currentTimeMillis();
BoxModel.get().openBox(boxType, count, sendMessage)
.compose(bindToLifecycle())
.doOnError(throwable -> {
mBinding.ivOpen.setEnabled(true);
SingleToastUtil.showToast(throwable.getMessage());
})
.toObservable()
.delay(startTime - System.currentTimeMillis() + 300, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread())
.flatMap(openBoxResult -> {
mBinding.ivOpen.setEnabled(true);
changeKeyNum(openBoxResult.getRemainKeyNum());
cacheList.addAll(openBoxResult.getPrizeItemList());
return Observable.fromIterable(openBoxResult.getPrizeItemList());
})
.filter(prizeInfo -> prizeInfo.getPrizeLevel() > 2)
.subscribe(prizeInfo -> hintPrizeCacheList.add(prizeInfo));
// BoxModel.get().openBoxDraw(count, sendMessage)
// .compose(bindToLifecycle())
// .doOnError(throwable -> {
// mBinding.ivOpen.setEnabled(true);
// SingleToastUtil.showToast(throwable.getMessage());
// })
// .toObservable()
// .delay(startTime - System.currentTimeMillis() + 300, TimeUnit.MILLISECONDS)
// .observeOn(AndroidSchedulers.mainThread())
// .flatMap(openBoxResult -> {
// mBinding.ivOpen.setEnabled(true);
// cacheList.addAll(openBoxResult.getPrizeItemList());
// return Observable.fromIterable(openBoxResult.getPrizeItemList());
// })
// .filter(prizeInfo -> prizeInfo.getPrizeLevel() > 2)
// .subscribe(prizeInfo -> hintPrizeCacheList.add(prizeInfo));
}
@SuppressLint("CheckResult")
@@ -257,17 +255,6 @@ public class TreasureBoxActivity extends BaseBindingActivity<ActivityTreasureBox
((TextView) linearLayout.findViewById(R.id.tv_prize_num)).setText("x" + prizeInfo.getPrizeNum());
}
/**
* 更新钥匙(锤子)数量
*
* @param num
*/
private void changeKeyNum(int num) {
keyNum = num;
mBinding.tvKeyNum.setText(keyNum + "");
}
/**
* 更新钱包
*

View File

@@ -39,16 +39,16 @@ public class BoxRankingModel {
private interface Api {
/**
* 首页动态
* 排行榜
*
* @return -
*/
@GET("/box/rankings")
@GET("/findLove/rank")
Single<ServiceResult<BoxRankingInfo>> apiNewbieList(
@Query("uid") String uid,
@Query("types") String types,
@Query("ticket") String ticket,
@Query("datetype") int datetype,
@Query("type") int type,
@Query("page") int page,
@Query("pageSize") int pageSize);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -0,0 +1,18 @@
package com.yizhuan.treasure_box.bean;
import java.io.Serializable;
import java.util.List;
public class OpenBoxDrawResult implements Serializable {
private List<PrizeNewInfo> prizeItemList;
public List<PrizeNewInfo> getPrizeItemList() {
return prizeItemList;
}
public void setPrizeItemList(List<PrizeNewInfo> prizeItemList) {
this.prizeItemList = prizeItemList;
}
}

View File

@@ -0,0 +1,60 @@
package com.yizhuan.treasure_box.bean;
import java.io.Serializable;
public class PrizeNewInfo implements Serializable {
/**
* prizeName :
* prizeImgUrl :
* prizeLevel : 1
* drawTime : 11111
*/
private int rewardId;
private String rewardName;
private String picUrl;
private int diamonds;
private int num;
public int getRewardId() {
return rewardId;
}
public void setRewardId(int rewardId) {
this.rewardId = rewardId;
}
public String getRewardName() {
return rewardName;
}
public void setRewardName(String rewardName) {
this.rewardName = rewardName;
}
public String getPicUrl() {
return picUrl;
}
public void setPicUrl(String picUrl) {
this.picUrl = picUrl;
}
public int getDiamonds() {
return diamonds;
}
public void setDiamonds(int diamonds) {
this.diamonds = diamonds;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
}

View File

@@ -1,14 +1,15 @@
package com.yizhuan.treasure_box.model;
import com.yizhuan.xchat_android_core.R;
import com.yizhuan.treasure_box.bean.BoxOpenStatusInfo;
import com.yizhuan.treasure_box.bean.ConfigImgUrl;
import com.yizhuan.treasure_box.bean.HonourBuyKeyResultInfo;
import com.yizhuan.treasure_box.bean.HonourKeyInfo;
import com.yizhuan.treasure_box.bean.KeyInfo;
import com.yizhuan.treasure_box.bean.OpenBoxDrawResult;
import com.yizhuan.treasure_box.bean.OpenBoxHonourResult;
import com.yizhuan.treasure_box.bean.OpenBoxResult;
import com.yizhuan.treasure_box.bean.PrizeInfo;
import com.yizhuan.xchat_android_core.R;
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;
@@ -58,6 +59,29 @@ public class BoxModel extends BaseModel implements IBoxModel {
.compose(RxHelper.handleSchedulers());
}
@Override
public Single<OpenBoxDrawResult> openBoxDraw(int keyNum, boolean sendMessage) {
if (AvRoomDataManager.get().mCurrentRoomInfo == null) {
return Single.error(new Throwable(ResUtil.getString(R.string.treasure_box_model_boxmodel_01)));
}
return api.openBoxDraw(keyNum, sendMessage, AvRoomDataManager.get().mCurrentRoomInfo.getUid())
.compose(RxHelper.handleSchedulers())
.flatMap(openBoxResultServiceResult -> {
if (openBoxResultServiceResult == null) {
return Single.error(new Throwable("no response"));
}
if (openBoxResultServiceResult.isSuccess()) {
if (openBoxResultServiceResult.getData() != null) {
return Single.just(openBoxResultServiceResult.getData());
} else {
return Single.error(new Throwable("data is null"));
}
}
return Single.error(new FailReasonException(openBoxResultServiceResult.getMessage(),
openBoxResultServiceResult.getCode()));
});
}
@Override
public Single<OpenBoxResult> openBox(int boxType, int keyNum, boolean sendMessage) {
if (AvRoomDataManager.get().mCurrentRoomInfo == null) {
@@ -175,6 +199,20 @@ public class BoxModel extends BaseModel implements IBoxModel {
@Query("sortType") String sortType,
@Query("uid") long uid);
/**
* 寻爱抽奖
*
* @param num
* @param sendMessage
* @param roomUid
* @return
*/
@FormUrlEncoded
@POST("/findLove/draw")
Single<ServiceResult<OpenBoxDrawResult>> openBoxDraw(@Field("num") int num,
@Field("sendMessage") boolean sendMessage,
@Field("roomUid") long roomUid);
/**
* 开宝箱
*

View File

@@ -5,6 +5,7 @@ import com.yizhuan.treasure_box.bean.ConfigImgUrl;
import com.yizhuan.treasure_box.bean.HonourBuyKeyResultInfo;
import com.yizhuan.treasure_box.bean.HonourKeyInfo;
import com.yizhuan.treasure_box.bean.KeyInfo;
import com.yizhuan.treasure_box.bean.OpenBoxDrawResult;
import com.yizhuan.treasure_box.bean.OpenBoxHonourResult;
import com.yizhuan.treasure_box.bean.OpenBoxResult;
import com.yizhuan.treasure_box.bean.PrizeInfo;
@@ -24,6 +25,15 @@ public interface IBoxModel extends IModel {
*/
Single<ConfigImgUrl> getRule();
/**
* 寻爱抽奖
*
* @param keyNum
* @param sendMessage
* @return
*/
Single<OpenBoxDrawResult> openBoxDraw(int keyNum, boolean sendMessage);
/**
* 开箱子
*