1:修改金币钻石收支接口

2:修改进入房间添加字段
3:修改所有的图片展示,使用url作为key
This commit is contained in:
2026-01-07 17:05:48 +08:00
parent d1cd2aeef7
commit 3dcdd1e599
14 changed files with 185 additions and 88 deletions

View File

@@ -1,7 +1,10 @@
package com.xscm.modulemain.activity.user.activity;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener;
import com.xscm.modulemain.R;
import com.xscm.modulemain.adapter.BlackAdapter;
import com.xscm.modulemain.databinding.ActivityBlacklistBinding;
@@ -25,6 +28,7 @@ public class BlacklistActivity extends BaseMvpActivity<BlacklistPresenter,Activi
BlackAdapter blackAdapter;
private String[] mTitles = new String[]{"关注", "黑名单", "粉丝","访客"};
List<BlackUserBean> blackUserBeans;
private int page=1;
@Override
protected void initData() {
@@ -74,6 +78,20 @@ public class BlacklistActivity extends BaseMvpActivity<BlacklistPresenter,Activi
}
});
mBinding.srlBlacklist.setOnRefreshLoadMoreListener(new OnRefreshLoadMoreListener() {
@Override
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
page++;
MvpPre.getUserFollowList(String.valueOf(type), page+"", "10");
}
@Override
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
page = 1;
MvpPre.getUserFollowList(String.valueOf(type), page+"", "10");
}
});
}
@@ -84,6 +102,8 @@ public class BlacklistActivity extends BaseMvpActivity<BlacklistPresenter,Activi
@Override
public void getUserFollowList(List<BlackUserBean> list, String type) {
mBinding.srlBlacklist.finishRefresh();
mBinding.srlBlacklist.finishLoadMore();
if (type.equals("0")){
if (list!=null){
List<BlackUserBean> blackUserBeans = new ArrayList<>();
@@ -91,7 +111,11 @@ public class BlacklistActivity extends BaseMvpActivity<BlacklistPresenter,Activi
item.setType(0);
blackUserBeans.add(item);
}
blackAdapter.setNewData(blackUserBeans);
if (page==1) {
blackAdapter.setNewData(blackUserBeans);
}else {
blackAdapter.addData(blackUserBeans);
}
}
}else if (type.equals("1")){
if (list!=null){
@@ -100,7 +124,11 @@ public class BlacklistActivity extends BaseMvpActivity<BlacklistPresenter,Activi
item.setType(1);
blackUserBeans.add(item);
}
blackAdapter.setNewData(blackUserBeans);
if (page==1) {
blackAdapter.setNewData(blackUserBeans);
}else {
blackAdapter.addData(blackUserBeans);
}
}
}else if (type.equals("2")){
if (list!=null){
@@ -109,7 +137,11 @@ public class BlacklistActivity extends BaseMvpActivity<BlacklistPresenter,Activi
item.setType(2);
blackUserBeans.add(item);
}
blackAdapter.setNewData(blackUserBeans);
if (page==1) {
blackAdapter.setNewData(blackUserBeans);
}else {
blackAdapter.addData(blackUserBeans);
}
}
}else if (type.equals("3")){
if (list!=null){
@@ -118,7 +150,11 @@ public class BlacklistActivity extends BaseMvpActivity<BlacklistPresenter,Activi
item.setType(3);
blackUserBeans.add(item);
}
blackAdapter.setNewData(blackUserBeans);
if (page==1) {
blackAdapter.setNewData(blackUserBeans);
}else {
blackAdapter.addData(blackUserBeans);
}
}
}

View File

@@ -16,7 +16,7 @@ public class RevenueConacts {
}
public interface IMePre extends IPresenter {
void getRevenueData(String page,String page_limit,String in_out_type,String start_time,String end_time,String gift_type);
void getRevenueData(int id,String page_limit,String in_out_type,String start_time,String end_time,String gift_type);
}
}

View File

@@ -23,24 +23,25 @@ import java.util.List;
import java.util.Locale;
/**
*@author qx
*@data 2025/5/27
*@description: 收支展示的页面根据type展示收入和支出根据revenueType展示钻石还是金币
* @author qx
* @data 2025/5/27
* @description: 收支展示的页面根据type展示收入和支出根据revenueType展示钻石还是金币
*/
public class RevenueFragment extends BaseMvpFragment<RevenuePresenter, FragmentRevenueBinding> implements RevenueConacts.View{
public class RevenueFragment extends BaseMvpFragment<RevenuePresenter, FragmentRevenueBinding> implements RevenueConacts.View {
private String type;
private String revenueType;
private RevenueAdapter adapter;
private boolean isLoaded = false;
private int page = 1;
private int id = 0;
@Override
protected RevenuePresenter bindPresenter() {
return new RevenuePresenter(this,getActivity());
return new RevenuePresenter(this, getActivity());
}
public static RevenueFragment newInstance(String type, String revenueType) {
public static RevenueFragment newInstance(String type, String revenueType) {
Bundle args = new Bundle();
args.putString("type", type);
args.putString("revenueType", revenueType);
@@ -68,13 +69,13 @@ public class RevenueFragment extends BaseMvpFragment<RevenuePresenter, FragmentR
public void refreshData(int type, String direction) {
isLoaded = false;
this.type= String.valueOf(type);
this.revenueType=direction;
this.type = String.valueOf(type);
this.revenueType = direction;
loadData();
}
private void loadData() {
MvpPre.getRevenueData(page+"","50",revenueType,"","",type);
MvpPre.getRevenueData(0, "", revenueType, "", "", type);
}
@Override
@@ -90,8 +91,8 @@ public class RevenueFragment extends BaseMvpFragment<RevenuePresenter, FragmentR
mBinding.tv2.setText(sdf.format(startDate));
Log.d("SelectedTime", "结束时间:" + sdf.format(endDate));
mBinding.tv22.setText(sdf.format(endDate));
page=1;
MvpPre.getRevenueData(page+"","50",revenueType,mBinding.tv2.getText().toString(),mBinding.tv22.getText().toString(),type);
id = 0;
MvpPre.getRevenueData(id, "", revenueType, mBinding.tv2.getText().toString(), mBinding.tv22.getText().toString(), type);
});
dialog.show(getParentFragmentManager(), "DoubleTimePicker");
});
@@ -103,20 +104,20 @@ public class RevenueFragment extends BaseMvpFragment<RevenuePresenter, FragmentR
adapter = new RevenueAdapter();
mBinding.revenueView.setAdapter(adapter);
mBinding.smartRefreshLayout.setOnRefreshLoadMoreListener(new OnRefreshLoadMoreListener() {
mBinding.smartRefreshLayout.setOnRefreshLoadMoreListener(new OnRefreshLoadMoreListener() {
@Override
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
page++;
String startDate = mBinding.tv2.getText().toString();
String endDate = mBinding.tv22.getText().toString();
if ( startDate!=null && !startDate.equals("") ){
if ( endDate!=null && !endDate.equals("") ){
MvpPre.getRevenueData(page+"","50",revenueType,startDate,endDate,type);
}else {
MvpPre.getRevenueData(page+"","50",revenueType,"",endDate,type);
if (startDate != null && !startDate.equals("")) {
if (endDate != null && !endDate.equals("")) {
MvpPre.getRevenueData(id, "", revenueType, startDate, endDate, type);
} else {
MvpPre.getRevenueData(id, "", revenueType, "", endDate, type);
}
}else {
MvpPre.getRevenueData(page+"","50",revenueType,"","",type);
} else {
MvpPre.getRevenueData(id, "", revenueType, "", "", type);
}
// MvpPre.getRevenueData(page+"","50",revenueType,"","",type);
@@ -125,18 +126,18 @@ public class RevenueFragment extends BaseMvpFragment<RevenuePresenter, FragmentR
@Override
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
// EventBus.getDefault().post(new BannerRefreshEvent());
page = 1;
// MvpPre.getRevenueData(page+"","50",revenueType,"","",type);
id = 0;
String startDate = mBinding.tv2.getText().toString();
String endDate = mBinding.tv22.getText().toString();
if ( startDate!=null && !startDate.equals("") ){
if ( endDate!=null && !endDate.equals("") ){
MvpPre.getRevenueData(page+"","50",revenueType,startDate,endDate,type);
}else {
MvpPre.getRevenueData(page+"","50",revenueType,"",endDate,type);
if (startDate != null && !startDate.equals("")) {
if (endDate != null && !endDate.equals("")) {
MvpPre.getRevenueData(id, "", revenueType, startDate, endDate, type);
} else {
MvpPre.getRevenueData(id, "", revenueType, "", endDate, type);
}
}else {
MvpPre.getRevenueData(page+"","50",revenueType,"","",type);
} else {
MvpPre.getRevenueData(id, "", revenueType, "", "", type);
}
}
});
@@ -150,17 +151,22 @@ public class RevenueFragment extends BaseMvpFragment<RevenuePresenter, FragmentR
@Override
public void saveRevenueData(List<RevenueBean> bean) {
if (bean !=null && bean.size() > 0) {
if (bean != null && bean.size() > 0) {
List<RevenueBean> list = new ArrayList<>();
for (RevenueBean revenueBean : bean) {
revenueBean.setType(Integer.parseInt(type));
list.add(revenueBean);
}
if (page == 1) {
if(id == 0){
adapter.setNewData(list);
}else {
adapter.addData(list);
}
id = bean.get(bean.size() - 1).getId();
// }else {
// adapter.addData(list);
// }
}
// else {
// adapter.setNewData(new ArrayList<>());

View File

@@ -19,10 +19,10 @@ public class RevenuePresenter extends BasePresenter<RevenueConacts.View> impleme
mView = view;
}
// TODO: 2026/1/7 修改接口传递的是列表中的最后一个id初始的时候是0
@Override
public void getRevenueData(String page, String page_limit, String in_out_type, String start_time, String end_time, String gift_type) {
api.getRevenueData(page, page_limit, in_out_type, start_time, end_time, gift_type, new BaseObserver<List<RevenueBean>>() {
public void getRevenueData(int id, String page_limit, String in_out_type, String start_time, String end_time, String gift_type) {
api.getRevenueData(id, page_limit, in_out_type, start_time, end_time, gift_type, new BaseObserver<List<RevenueBean>>() {
@Override
public void onSubscribe(Disposable d) {
addDisposable(d);

View File

@@ -14,6 +14,7 @@ import com.xscm.moduleutil.bean.room.RoomPitBean
import com.xscm.moduleutil.utils.ImageUtils
import com.xscm.moduleutil.widget.AvatarFrameView
import com.xscm.moduleutil.widget.BaseWheatView
import com.xscm.moduleutil.widget.WheatGiftAnim
class RoomPubWheatView : BaseWheatView {
constructor(context: Context?) : super(context)
@@ -33,7 +34,7 @@ class RoomPubWheatView : BaseWheatView {
private var hostTv: TextView? = null
private var tv_time: TextView? = null
private var ll_bottom: LinearLayout? = null
private var iv_gift: AvatarFrameView? = null
private var iv_gift: ImageView? = null
var ivYueT: ImageView? = null
var ivLiaoT: ImageView? = null
@@ -120,8 +121,8 @@ class RoomPubWheatView : BaseWheatView {
mCharmView.setSex("", "", value, format)
}
fun setPitGift(giftPlayString: String){
iv_gift?.visibility=VISIBLE
iv_gift?.setSource(giftPlayString, 2)
mIvGift?.visibility=VISIBLE
WheatGiftAnim.addGift(mIvGift, giftPlayString);
}
private fun handleOnState(bean: RoomPitBean) {

View File

@@ -12,20 +12,29 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.xscm.moduleutil.widget.CustomTopBar
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<androidx.recyclerview.widget.RecyclerView
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/srl_blacklist"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/rv_blacklist"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
android:overScrollMode="never"
android:scrollbars="none"
android:clipToPadding="false"
android:paddingBottom="10dp"
android:paddingTop="10dp"/>
android:layout_height="match_parent"
app:srlEnableLoadMore="true"
app:srlEnableRefresh="true">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_blacklist"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:overScrollMode="never"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:scrollbars="none"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</LinearLayout>
</layout>

View File

@@ -60,7 +60,7 @@
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_percent="0.6" />
<com.xscm.moduleutil.widget.AvatarFrameView
<ImageView
android:id="@+id/iv_gift"
android:layout_width="0dp"
android:layout_height="0dp"