[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() super.initiate()
mvpPresenter?.getBannerList() mvpPresenter?.getBannerList()
initSpeedyMessage(gameBinding.flSpeedyMessage) initSpeedyMessage(gameBinding.flSpeedyMessage)
// UserModel.get().currentUserInfo
// .compose(bindToLifecycle())
// .subscribe { userInfo ->
// gameBinding.ivFirstChargeEnter.isVisible = userInfo.isFirstCharge
// }
GoldBoxHelper.isHideBox().subscribe( GoldBoxHelper.isHideBox().subscribe(
{ {
if (it == false) { if (it == false) {

View File

@@ -22,6 +22,13 @@
android:layout_height="60dp" android:layout_height="60dp"
android:layout_gravity="center" /> 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 <ImageView
android:id="@+id/up_image" android:id="@+id/up_image"
android:layout_width="40dp" android:layout_width="40dp"

View File

@@ -120,7 +120,6 @@ public class TreasureBoxActivity extends BaseBindingActivity<ActivityTreasureBox
.getKeyInfo(boxType) .getKeyInfo(boxType)
.compose(bindToLifecycle()) .compose(bindToLifecycle())
.subscribe(keyInfo -> { .subscribe(keyInfo -> {
changeKeyNum(keyInfo.getKeyNum());
price = keyInfo.getKeyPrice(); price = keyInfo.getKeyPrice();
sendMessageSwitchLevel = keyInfo.getSendMessageSwitchLevel(); sendMessageSwitchLevel = keyInfo.getSendMessageSwitchLevel();
}); });
@@ -184,23 +183,22 @@ public class TreasureBoxActivity extends BaseBindingActivity<ActivityTreasureBox
mBinding.ivOpen.setEnabled(false); mBinding.ivOpen.setEnabled(false);
mBinding.ivBoxOpen.startAnimation(); mBinding.ivBoxOpen.startAnimation();
long startTime = System.currentTimeMillis(); long startTime = System.currentTimeMillis();
BoxModel.get().openBox(boxType, count, sendMessage) // BoxModel.get().openBoxDraw(count, sendMessage)
.compose(bindToLifecycle()) // .compose(bindToLifecycle())
.doOnError(throwable -> { // .doOnError(throwable -> {
mBinding.ivOpen.setEnabled(true); // mBinding.ivOpen.setEnabled(true);
SingleToastUtil.showToast(throwable.getMessage()); // SingleToastUtil.showToast(throwable.getMessage());
}) // })
.toObservable() // .toObservable()
.delay(startTime - System.currentTimeMillis() + 300, TimeUnit.MILLISECONDS) // .delay(startTime - System.currentTimeMillis() + 300, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread()) // .observeOn(AndroidSchedulers.mainThread())
.flatMap(openBoxResult -> { // .flatMap(openBoxResult -> {
mBinding.ivOpen.setEnabled(true); // mBinding.ivOpen.setEnabled(true);
changeKeyNum(openBoxResult.getRemainKeyNum()); // cacheList.addAll(openBoxResult.getPrizeItemList());
cacheList.addAll(openBoxResult.getPrizeItemList()); // return Observable.fromIterable(openBoxResult.getPrizeItemList());
return Observable.fromIterable(openBoxResult.getPrizeItemList()); // })
}) // .filter(prizeInfo -> prizeInfo.getPrizeLevel() > 2)
.filter(prizeInfo -> prizeInfo.getPrizeLevel() > 2) // .subscribe(prizeInfo -> hintPrizeCacheList.add(prizeInfo));
.subscribe(prizeInfo -> hintPrizeCacheList.add(prizeInfo));
} }
@SuppressLint("CheckResult") @SuppressLint("CheckResult")
@@ -257,17 +255,6 @@ public class TreasureBoxActivity extends BaseBindingActivity<ActivityTreasureBox
((TextView) linearLayout.findViewById(R.id.tv_prize_num)).setText("x" + prizeInfo.getPrizeNum()); ((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 { private interface Api {
/** /**
* 首页动态 * 排行榜
* *
* @return - * @return -
*/ */
@GET("/box/rankings") @GET("/findLove/rank")
Single<ServiceResult<BoxRankingInfo>> apiNewbieList( Single<ServiceResult<BoxRankingInfo>> apiNewbieList(
@Query("uid") String uid, @Query("uid") String uid,
@Query("types") String types, @Query("types") String types,
@Query("ticket") String ticket, @Query("ticket") String ticket,
@Query("datetype") int datetype, @Query("type") int type,
@Query("page") int page, @Query("page") int page,
@Query("pageSize") int pageSize); @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; 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.BoxOpenStatusInfo;
import com.yizhuan.treasure_box.bean.ConfigImgUrl; import com.yizhuan.treasure_box.bean.ConfigImgUrl;
import com.yizhuan.treasure_box.bean.HonourBuyKeyResultInfo; import com.yizhuan.treasure_box.bean.HonourBuyKeyResultInfo;
import com.yizhuan.treasure_box.bean.HonourKeyInfo; import com.yizhuan.treasure_box.bean.HonourKeyInfo;
import com.yizhuan.treasure_box.bean.KeyInfo; 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.OpenBoxHonourResult;
import com.yizhuan.treasure_box.bean.OpenBoxResult; import com.yizhuan.treasure_box.bean.OpenBoxResult;
import com.yizhuan.treasure_box.bean.PrizeInfo; 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.auth.AuthModel;
import com.yizhuan.xchat_android_core.base.BaseModel; import com.yizhuan.xchat_android_core.base.BaseModel;
import com.yizhuan.xchat_android_core.bean.response.ServiceResult; import com.yizhuan.xchat_android_core.bean.response.ServiceResult;
@@ -59,12 +60,35 @@ public class BoxModel extends BaseModel implements IBoxModel {
} }
@Override @Override
public Single<OpenBoxResult> openBox(int boxType,int keyNum, boolean sendMessage) { public Single<OpenBoxDrawResult> openBoxDraw(int keyNum, boolean sendMessage) {
if (AvRoomDataManager.get().mCurrentRoomInfo == null) { if (AvRoomDataManager.get().mCurrentRoomInfo == null) {
return Single.error(new Throwable(ResUtil.getString(R.string.treasure_box_model_boxmodel_01))); return Single.error(new Throwable(ResUtil.getString(R.string.treasure_box_model_boxmodel_01)));
} }
return api.openBox(boxType,keyNum, sendMessage, AuthModel.get().getCurrentUid(), return api.openBoxDraw(keyNum, sendMessage, AvRoomDataManager.get().mCurrentRoomInfo.getUid())
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) {
return Single.error(new Throwable(ResUtil.getString(R.string.treasure_box_model_boxmodel_01)));
}
return api.openBox(boxType, keyNum, sendMessage, AuthModel.get().getCurrentUid(),
AvRoomDataManager.get().mCurrentRoomInfo.getUid())
.compose(RxHelper.handleSchedulers()) .compose(RxHelper.handleSchedulers())
.flatMap(openBoxResultServiceResult -> { .flatMap(openBoxResultServiceResult -> {
if (openBoxResultServiceResult == null) { if (openBoxResultServiceResult == null) {
@@ -113,7 +137,7 @@ public class BoxModel extends BaseModel implements IBoxModel {
@Override @Override
public Single<KeyInfo> getKeyInfo(int boxType) { public Single<KeyInfo> getKeyInfo(int boxType) {
return api.getKeyInfo(boxType,AuthModel.get().getCurrentUid()) return api.getKeyInfo(boxType, AuthModel.get().getCurrentUid())
.compose(RxHelper.handleSchedulers()) .compose(RxHelper.handleSchedulers())
.compose(RxHelper.handleBeanData()); .compose(RxHelper.handleBeanData());
} }
@@ -175,6 +199,20 @@ public class BoxModel extends BaseModel implements IBoxModel {
@Query("sortType") String sortType, @Query("sortType") String sortType,
@Query("uid") long uid); @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.HonourBuyKeyResultInfo;
import com.yizhuan.treasure_box.bean.HonourKeyInfo; import com.yizhuan.treasure_box.bean.HonourKeyInfo;
import com.yizhuan.treasure_box.bean.KeyInfo; 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.OpenBoxHonourResult;
import com.yizhuan.treasure_box.bean.OpenBoxResult; import com.yizhuan.treasure_box.bean.OpenBoxResult;
import com.yizhuan.treasure_box.bean.PrizeInfo; import com.yizhuan.treasure_box.bean.PrizeInfo;
@@ -24,6 +25,15 @@ public interface IBoxModel extends IModel {
*/ */
Single<ConfigImgUrl> getRule(); Single<ConfigImgUrl> getRule();
/**
* 寻爱抽奖
*
* @param keyNum
* @param sendMessage
* @return
*/
Single<OpenBoxDrawResult> openBoxDraw(int keyNum, boolean sendMessage);
/** /**
* 开箱子 * 开箱子
* *