1:修改拍卖房转盘问题

2:添加转盘参数竞拍问题
This commit is contained in:
2025-10-12 16:31:54 +08:00
parent 329d698550
commit 773db1da25
110 changed files with 4299 additions and 17681 deletions

View File

@@ -66,7 +66,6 @@ public class FirstChargeDialog extends BaseDialog<DialogFirstChargeBinding> {
mBinding.tvTitle2.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);
heavenGiftAdapter = new HeavenGiftAdapter();
mBinding.bannerViewPager
.setPageMargin(15)
.setAutoPlay(false)
.setRevealWidth(0, 0)
.setIndicatorVisibility(View.VISIBLE)
@@ -160,18 +159,6 @@ public class FirstChargeDialog extends BaseDialog<DialogFirstChargeBinding> {
}
});
// List<HeavenGiftBean> list = new ArrayList<>();
// for (int i = 0; i < 7; i++) {
// HeavenGiftBean bean = new HeavenGiftBean();
// bean.setTitle("礼物" + i);
// bean.setPicture("");
// bean.setType(1);
// bean.setQuantity("x" + i);
// bean.setGold(i + "");
// bean.setDays(i + "天");
// list.add(bean);
// }
// mBinding.bannerViewPager.create(baseListData(list, 4));
}
private List<BaseListData<RoonGiftModel>> baseListData(List<RoonGiftModel> list, int chunkSize) {
@@ -207,6 +194,7 @@ public class FirstChargeDialog extends BaseDialog<DialogFirstChargeBinding> {
mBinding.tvTitle2.setText(firstChargeGiftBean.getGift_bag().get(0).getTitle2());
mBinding.btn0.setText(firstChargeGiftBean.getGift_bag().get(0).getName());
list.addAll(firstChargeGiftBean.getGift_bag().get(0).getGift_list());
// mBinding.tvTitle22.setText(firstChargeGiftBean.getGift_bag().get(0).getTitle2());
mBinding.bannerViewPager.create(baseListData(list, 4));
mBinding.btn1.setText(firstChargeGiftBean.getGift_bag().get(1).getName());

View File

@@ -3,6 +3,7 @@ package com.xscm.moduleutil.dialog;
import android.content.Context;
import android.content.res.Resources;
import android.os.CountDownTimer;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
@@ -14,12 +15,18 @@ import com.xscm.moduleutil.R;
import com.xscm.moduleutil.adapter.GiftAdapter;
import com.xscm.moduleutil.adapter.HeavenGiftAdapter;
import com.xscm.moduleutil.bean.BaseListData;
import com.xscm.moduleutil.bean.FirstChargeGiftBean;
import com.xscm.moduleutil.bean.HeavenGiftBean;
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
import com.xscm.moduleutil.databinding.DialogHeavenGiftBinding;
import com.xscm.moduleutil.http.BaseObserver;
import com.xscm.moduleutil.http.RetrofitClient;
import com.xscm.moduleutil.utils.ColorManager;
import com.xscm.moduleutil.widget.dialog.BaseDialog;
import com.zhpan.bannerview.indicator.DrawableIndicator;
import com.zhpan.indicator.base.IIndicator;
import com.zhpan.indicator.enums.IndicatorSlideMode;
import io.reactivex.disposables.Disposable;
import java.util.ArrayList;
import java.util.List;
@@ -32,6 +39,8 @@ public class HeavenGiftDialog extends BaseDialog<DialogHeavenGiftBinding> {
GiftAdapter giftAdapter;
HeavenGiftAdapter heavenGiftAdapter;
private CountDownTimer countDownTimer;
public HeavenGiftDialog(@NonNull Context context) {
super(context,R.style.BaseDialogStyleH);
}
@@ -64,29 +73,87 @@ public class HeavenGiftDialog extends BaseDialog<DialogHeavenGiftBinding> {
.setIndicatorSlideMode(IndicatorSlideMode.NORMAL)
.setAdapter(heavenGiftAdapter)
.create();
ThemeableDrawableUtils.setThemeableRoundedBackground(mBinding.tvInvite, ColorManager.getInstance().getPrimaryColorInt(), 53);
mBinding.tvInvite.setTextColor(ColorManager.getInstance().getButtonColorInt());
}
@Override
public void initData() {
List<HeavenGiftBean> list=new ArrayList<>();
for (int i = 0; i < 7; i++){
HeavenGiftBean bean=new HeavenGiftBean();
bean.setTitle("礼物"+i);
bean.setPicture("");
bean.setType(1);
bean.setQuantity("x"+i);
bean.setGold(i+"");
bean.setDays(i+"");
list.add(bean);
RetrofitClient.getInstance().getDayDropGift(new BaseObserver<HeavenGiftBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(HeavenGiftBean heavenGiftBean) {
if (heavenGiftBean != null){
mBinding.tvTitle.setText(heavenGiftBean.getCounter().getCounter());
// 示例:假设从 HeavenGiftBean 中获取倒计时时间(单位:秒)
long countdownTime =Integer.parseInt(heavenGiftBean.getEffective_time()) * 1000L; // 转换为毫秒
startCountdown(countdownTime);
mBinding.bannerViewPager.create(baseListData(heavenGiftBean.getGift_list(),4));
}
}
});
// List<HeavenGiftBean> list=new ArrayList<>();
// for (int i = 0; i < 7; i++){
// HeavenGiftBean bean=new HeavenGiftBean();
// bean.setTitle("礼物"+i);
// bean.setPicture("");
// bean.setQuantity("x"+i);
// bean.setGold(i+"");
// bean.setDays(i+"天");
// list.add(bean);
// }
//// giftAdapter.setNewData(list);
// mBinding.bannerViewPager.create(baseListData(list,4));
}
private void startCountdown(long millisInFuture) {
if (countDownTimer != null) {
countDownTimer.cancel();
}
// giftAdapter.setNewData(list);
mBinding.bannerViewPager.create(baseListData(list,4));
countDownTimer = new CountDownTimer(millisInFuture, 1000) {
@Override
public void onTick(long millisUntilFinished) {
updateCountdownDisplay(millisUntilFinished);
}
@Override
public void onFinish() {
// 倒计时结束时的处理
mBinding.tvSj.setText("00:00:00");
}
}.start();
}
private List<BaseListData<HeavenGiftBean>> baseListData(List<HeavenGiftBean> list, int chunkSize){
List<BaseListData<HeavenGiftBean>> baseListData = new ArrayList<>();
private void updateCountdownDisplay(long millisUntilFinished) {
long totalSeconds = millisUntilFinished / 1000;
long hours = totalSeconds / 3600;
long minutes = (totalSeconds % 3600) / 60;
long seconds = totalSeconds % 60;
String timeFormatted = String.format("%02d:%02d:%02d", hours, minutes, seconds);
mBinding.tvSj.setText(timeFormatted);
}
@Override
public void dismiss() {
super.dismiss();
if (countDownTimer != null) {
countDownTimer.cancel();
countDownTimer = null;
}
}
private List<BaseListData<HeavenGiftBean.GiftList>> baseListData(List<HeavenGiftBean.GiftList> list, int chunkSize){
List<BaseListData<HeavenGiftBean.GiftList>> baseListData = new ArrayList<>();
for (int i = 0; i < list.size(); i += chunkSize) {
BaseListData<HeavenGiftBean> baseListData1 = new BaseListData<>();
BaseListData<HeavenGiftBean.GiftList> baseListData1 = new BaseListData<>();
baseListData1.setData(list.subList(i, Math.min(i + chunkSize, list.size())));
baseListData.add(baseListData1);
}

View File

@@ -0,0 +1,214 @@
package com.xscm.moduleutil.dialog;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Paint;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.RadioGroup;
import androidx.annotation.NonNull;
import com.blankj.utilcode.util.ScreenUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xscm.moduleutil.R;
import com.xscm.moduleutil.adapter.GiftAdapter;
import com.xscm.moduleutil.adapter.HeavenGiftAdapter;
import com.xscm.moduleutil.bean.BaseListData;
import com.xscm.moduleutil.bean.FirstChargeGiftBean;
import com.xscm.moduleutil.bean.RoonGiftModel;
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
import com.xscm.moduleutil.databinding.DialogFirstChargeBinding;
import com.xscm.moduleutil.databinding.DialogNewPeopleBinding;
import com.xscm.moduleutil.databinding.DialogNewPeopleBindingImpl;
import com.xscm.moduleutil.http.BaseObserver;
import com.xscm.moduleutil.http.RetrofitClient;
import com.xscm.moduleutil.utils.ColorManager;
import com.xscm.moduleutil.widget.dialog.BaseDialog;
import com.zhpan.bannerview.indicator.DrawableIndicator;
import com.zhpan.indicator.base.IIndicator;
import com.zhpan.indicator.enums.IndicatorSlideMode;
import io.reactivex.disposables.Disposable;
import java.util.ArrayList;
import java.util.List;
/**
* @author
* @data
* @description: 新人好礼
*/
public class NewPeopleDialog extends BaseDialog<DialogNewPeopleBinding> {
GiftAdapter giftAdapter;
HeavenGiftAdapter heavenGiftAdapter;
FirstChargeGiftBean firstChargeGiftBean;
private int type;
public NewPeopleDialog(@NonNull Context context) {
super(context, R.style.BaseDialogStyleH);
}
@Override
public int getLayoutId() {
return R.layout.dialog_new_people;
}
@Override
public void initView() {
setCancelable(false);
setCanceledOnTouchOutside(false);
Window window = getWindow();
window.setLayout((int) (ScreenUtils.getScreenWidth() * 375.f / 375), WindowManager.LayoutParams.WRAP_CONTENT);
mBinding.ivClose.setOnClickListener(v -> dismiss());
mBinding.tvTitle2.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);
heavenGiftAdapter = new HeavenGiftAdapter();
mBinding.bannerViewPager
.setPageMargin(15)
.setAutoPlay(false)
.setRevealWidth(0, 0)
.setIndicatorVisibility(View.VISIBLE)
.setIndicatorView(getVectorDrawableIndicator())
.setIndicatorSlideMode(IndicatorSlideMode.NORMAL)
.setAdapter(heavenGiftAdapter)
.create();
mBinding.rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
if (firstChargeGiftBean== null || firstChargeGiftBean.getGift_bag().size() == 0){
ToastUtils.showShort("暂无礼包");
return;
}
if (i == R.id.btn_0) {
List<RoonGiftModel> list = new ArrayList<>();
if (firstChargeGiftBean.getGift_bag().size() > 1) {
mBinding.tvTitle1.setText(firstChargeGiftBean.getGift_bag().get(0).getTitle1());
mBinding.tvTitle2.setText(firstChargeGiftBean.getGift_bag().get(0).getTitle2());
mBinding.btn0.setText(firstChargeGiftBean.getGift_bag().get(0).getName());
list.addAll(firstChargeGiftBean.getGift_bag().get(0).getGift_list());
mBinding.bannerViewPager.create(baseListData(list, 4));
}
type=1;
} else if (i == R.id.btn_1) {
List<RoonGiftModel> list = new ArrayList<>();
if (firstChargeGiftBean.getGift_bag().size() > 2) {
mBinding.tvTitle1.setText(firstChargeGiftBean.getGift_bag().get(1).getTitle1());
mBinding.tvTitle2.setText(firstChargeGiftBean.getGift_bag().get(1).getTitle2());
mBinding.btn1.setText(firstChargeGiftBean.getGift_bag().get(1).getName());
list.addAll(firstChargeGiftBean.getGift_bag().get(1).getGift_list());
mBinding.bannerViewPager.create(baseListData(list, 4));
}
type=2;
} else if (i == R.id.btn_2) {
List<RoonGiftModel> list = new ArrayList<>();
if (firstChargeGiftBean.getGift_bag().size() == 3) {
if (firstChargeGiftBean.getGift_bag().get(2)!=null) {
mBinding.tvTitle1.setText(firstChargeGiftBean.getGift_bag().get(2).getTitle1());
mBinding.tvTitle2.setText(firstChargeGiftBean.getGift_bag().get(2).getTitle2());
mBinding.btn2.setText(firstChargeGiftBean.getGift_bag().get(2).getName());
list.addAll(firstChargeGiftBean.getGift_bag().get(2).getGift_list());
mBinding.bannerViewPager.create(baseListData(list, 4));
type = 3;
}
}
}
}
});
mBinding.tvInvite.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// RechargeDialogFragment.show(roomId, getSupportFragmentManager());
if (listener != null) {
listener.onFirstChargeConfirmed(firstChargeGiftBean,type);
}
}
});
ThemeableDrawableUtils.setThemeableRoundedBackground(mBinding.tvInvite, ColorManager.getInstance().getPrimaryColorInt(), 53);
mBinding.tvInvite.setTextColor(ColorManager.getInstance().getButtonColorInt());
}
public interface OnFirstChargeListener {
void onFirstChargeConfirmed(FirstChargeGiftBean giftBean,int type);
void onFirstChargeCancelled();
}
private OnFirstChargeListener listener;
// 设置监听器的方法
public void setOnFirstChargeListener(OnFirstChargeListener listener) {
this.listener = listener;
}
@Override
public void initData() {
RetrofitClient.getInstance().getNewChargeGift(new BaseObserver<FirstChargeGiftBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(FirstChargeGiftBean firstChargeGiftBean) {
if (firstChargeGiftBean != null) {
showGift(firstChargeGiftBean);
}
}
});
}
private List<BaseListData<RoonGiftModel>> baseListData(List<RoonGiftModel> list, int chunkSize) {
List<BaseListData<RoonGiftModel>> baseListData = new ArrayList<>();
for (int i = 0; i < list.size(); i += chunkSize) {
BaseListData<RoonGiftModel> baseListData1 = new BaseListData<>();
baseListData1.setData(list.subList(i, Math.min(i + chunkSize, list.size())));
baseListData.add(baseListData1);
}
return baseListData;
}
private IIndicator getVectorDrawableIndicator() {
int dp6 = getResources().getDimensionPixelOffset(com.xscm.moduleutil.R.dimen.dp_6);
return new DrawableIndicator(getContext())
.setIndicatorGap(getResources().getDimensionPixelOffset(com.xscm.moduleutil.R.dimen.dp_2_5))
.setIndicatorDrawable(com.xscm.moduleutil.R.drawable.banner_indicator_nornal, com.xscm.moduleutil.R.drawable.banner_indicator_focus)
.setIndicatorSize(getResources().getDimensionPixelOffset(com.xscm.moduleutil.R.dimen.dp_13), dp6, getResources().getDimensionPixelOffset(com.xscm.moduleutil.R.dimen.dp_13), dp6);
}
private Resources getResources() {
return getContext().getResources();
}
public void showGift(FirstChargeGiftBean firstChargeGiftBean) {
this.firstChargeGiftBean = firstChargeGiftBean;
mBinding.rg.check(R.id.btn_0);
if (firstChargeGiftBean.getGift_bag() != null && firstChargeGiftBean.getGift_bag().size() > 0) {
if (firstChargeGiftBean.getGift_bag().size() >=0) {
type=1;
List<RoonGiftModel> list = new ArrayList<>();
mBinding.tvTitle1.setText(firstChargeGiftBean.getGift_bag().get(0).getTitle1());
mBinding.tvTitle2.setText(firstChargeGiftBean.getGift_bag().get(0).getTitle2());
mBinding.btn0.setText(firstChargeGiftBean.getGift_bag().get(0).getName());
list.addAll(firstChargeGiftBean.getGift_bag().get(0).getGift_list());
mBinding.bannerViewPager.create(baseListData(list, 4));
mBinding.btn1.setText(firstChargeGiftBean.getGift_bag().get(1).getName());
mBinding.btn2.setText(firstChargeGiftBean.getGift_bag().get(2).getName());
mBinding.btn3.setText(firstChargeGiftBean.getGift_bag().get(3).getName());
} else if (firstChargeGiftBean.getGift_bag().size() == 2) {
// mBinding.rg.check(R.id.btn_0);
// mBinding.btn1.setVisibility(View.VISIBLE);
// mBinding.btn2.setVisibility(View.INVISIBLE);
} else if (firstChargeGiftBean.getGift_bag().size() == 3) {
// mBinding.rg.check(R.id.btn_0);
// mBinding.btn1.setVisibility(View.VISIBLE);
// mBinding.btn2.setVisibility(View.VISIBLE);
}
// mBinding.rg.check(R.id.btn_0);
}
}
}

View File

@@ -30,7 +30,7 @@ public class GiftLotteryContacts {
public interface IRoomPre extends IPresenter {
void getGiftList(String giftBagId,String roomId);
void drawGiftList(String giftBagId,String gift_user_ids,String roomId,String num,String heart_id);
void drawGiftList(String giftBagId,String gift_user_ids,String roomId,String num,String heart_id,String auction_id);
void getMyRecord(String giftBagId,String page,String pageSize,int type);//我的抽奖记录 type: 1:我的抽奖 2全服抽奖

View File

@@ -100,19 +100,21 @@ public class GiftLotteryDialog extends BaseMvpDialogFragment<GiftLotteryPresente
private BlindBoxBean.XlhData xlhData;
private int icon;//金币金额
private String heart_id = "";
private String auction_id="";
@Override
protected GiftLotteryPresenter bindPresenter() {
return new GiftLotteryPresenter(this, getActivity());
}
public static GiftLotteryDialog newInstance(String giftBagId, String roomId, String userIds, String heart_id) {
public static GiftLotteryDialog newInstance(String giftBagId, String roomId, String userIds, String heart_id,String auction_id) {
GiftLotteryDialog dialog = new GiftLotteryDialog();
Bundle args = new Bundle();
args.putString("giftBagId", giftBagId);
args.putString("roomId", roomId);
args.putString("userIds", userIds);
args.putString("heart_id", heart_id);
args.putString("auction_id", auction_id);
dialog.setArguments(args);
return dialog;
}
@@ -136,6 +138,7 @@ public class GiftLotteryDialog extends BaseMvpDialogFragment<GiftLotteryPresente
// 根据userIds确定类型
userIdType = LotteryEvent.fromLotteryEvent(giftBagId);
heart_id = getArguments().getString("heart_id");
auction_id = getArguments().getString("auction_id");
if (!EventBus.getDefault().isRegistered(this)) {
EventBus.getDefault().register(this);
@@ -379,7 +382,7 @@ public class GiftLotteryDialog extends BaseMvpDialogFragment<GiftLotteryPresente
isDrawing = true;
// init(1);
startType = 1;
MvpPre.drawGiftList(giftBagId, userIds, roomId, "1", heart_id);
MvpPre.drawGiftList(giftBagId, userIds, roomId, "1", heart_id,auction_id);
} else {
// com.hjq.toast.ToastUtils.show("正在抽奖中...");
return;
@@ -389,7 +392,7 @@ public class GiftLotteryDialog extends BaseMvpDialogFragment<GiftLotteryPresente
isDrawing = true;
// init(2);
startType = 2;
MvpPre.drawGiftList(giftBagId, userIds, roomId, "6", heart_id);
MvpPre.drawGiftList(giftBagId, userIds, roomId, "6", heart_id,auction_id);
} else {
// com.hjq.toast.ToastUtils.show("正在抽奖中...");
@@ -399,7 +402,7 @@ public class GiftLotteryDialog extends BaseMvpDialogFragment<GiftLotteryPresente
isDrawing = true;
// init(3);
startType = 3;
MvpPre.drawGiftList(giftBagId, userIds, roomId, "9", heart_id);
MvpPre.drawGiftList(giftBagId, userIds, roomId, "9", heart_id,auction_id);
} else {
// com.hjq.toast.ToastUtils.show("正在抽奖中...");
}

View File

@@ -42,8 +42,8 @@ public class GiftLotteryPresenter extends BasePresenter<GiftLotteryContacts.View
}
@Override
public void drawGiftList(String giftBagId, String gift_user_ids, String roomId, String num,String heart_id) {
api.drawGiftList(giftBagId, gift_user_ids, roomId, num,heart_id, new BaseObserver<BlindReslutBean>() {
public void drawGiftList(String giftBagId, String gift_user_ids, String roomId, String num,String heart_id,String auction_id) {
api.drawGiftList(giftBagId, gift_user_ids, roomId, num,heart_id,auction_id, new BaseObserver<BlindReslutBean>() {
@Override
public void onSubscribe(Disposable d) {