diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/MyArnActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/MyArnActivity.java index e05f5582d..19165d452 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/MyArnActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/MyArnActivity.java @@ -4,8 +4,8 @@ package com.shayu.onetoone.activity; import android.os.Bundle; import android.widget.TextView; +import androidx.annotation.NonNull; import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; import com.alibaba.android.arouter.facade.annotation.Route; import com.shayu.onetoone.R; @@ -14,19 +14,28 @@ import com.shayu.onetoone.bean.FriendAppMoneyLogModel; import com.shayu.onetoone.bean.FriendAppMoneySumModel; import com.shayu.onetoone.manager.OTONetManager; import com.shayu.onetoone.manager.RouteManager; +import com.yanzhenjie.recyclerview.SwipeRecyclerView; import com.yunbao.common.http.base.HttpCallback; import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.views.weight.ViewClicksAntiShake; import java.util.List; +import io.rong.imkit.widget.refresh.SmartRefreshLayout; +import io.rong.imkit.widget.refresh.api.RefreshLayout; +import io.rong.imkit.widget.refresh.listener.OnLoadMoreListener; +import io.rong.imkit.widget.refresh.listener.OnRefreshListener; +import io.rong.imkit.widget.refresh.wrapper.RongRefreshHeader; + @Route(path = RouteManager.ACTIVITY_MY_ARN) public class MyArnActivity extends AbsOTOActivity { - private TextView todayEarnings, cumulativeIncome; + private TextView todayEarnings, cumulativeIncome, withdrawalSum,withdrawalMoney; private MyArnAdapter myArnAdapter; - private RecyclerView myArnList; + private SwipeRecyclerView myArnList; + private SmartRefreshLayout mRefreshLayout; + private int page = 1; @Override protected int getLayoutId() { @@ -44,9 +53,26 @@ public class MyArnActivity extends AbsOTOActivity { todayEarnings = findViewById(R.id.today_earnings); cumulativeIncome = findViewById(R.id.cumulative_income); myArnList = findViewById(R.id.my_arn_list); + withdrawalSum = findViewById(R.id.withdrawal_sum); + withdrawalMoney = findViewById(R.id.withdrawal_money); + mRefreshLayout = findViewById(R.id.swipeRefreshLayout); myArnList.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false)); myArnAdapter = new MyArnAdapter(); myArnList.setAdapter(myArnAdapter); + mRefreshLayout.setNestedScrollingEnabled(false); + mRefreshLayout.setRefreshHeader(new RongRefreshHeader(mContext)); + mRefreshLayout.setRefreshFooter(new RongRefreshHeader(mContext)); + mRefreshLayout.setOnRefreshListener(new OnRefreshListener() { + public void onRefresh(@NonNull RefreshLayout refreshLayout) { + page = 1; + refreshMyArn(); + } + }); + this.mRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() { + public void onLoadMore(@NonNull RefreshLayout refreshLayout) { + onConversationListLoadMore(); + } + }); ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.my_arn_back), new ViewClicksAntiShake.ViewClicksCallBack() { @Override public void onViewClicks() { @@ -57,19 +83,48 @@ public class MyArnActivity extends AbsOTOActivity { @Override public void onViewClicks() { Bundle bundle = new Bundle(); - bundle.putString("type","yuanbao"); - RouteManager.forwardActivity(RouteManager.ACTIVITY_DIAMOND_EXCHANGE,bundle); + bundle.putString("type", "yuanbao"); + RouteManager.forwardActivity(RouteManager.ACTIVITY_DIAMOND_EXCHANGE, bundle); } }); } + private void refreshMyArn() { + OTONetManager.getInstance(mContext).getFriendAppMoneyLogModel("3", "1", page, new HttpCallback>() { + @Override + public void onSuccess(List data) { + if (page != 1 && data.isEmpty()) { + mRefreshLayout.finishLoadMore(); + return; + } + if (page != 1) { + myArnAdapter.addLst(data); + } else { + myArnAdapter.showData(data); + } + mRefreshLayout.finishRefresh(); + } + + @Override + public void onError(String error) { + ToastUtil.show(error); + mRefreshLayout.finishRefresh(); + } + }); + } + private void initData() { OTONetManager.getInstance(mContext).getFriendAppMoneySum(new HttpCallback() { @Override public void onSuccess(FriendAppMoneySumModel data) { todayEarnings.setText(data.getToday()); cumulativeIncome.setText(data.getSum()); + withdrawalSum.setText(data.getWithdrawalModel().getSum()); + StringBuffer stringBuffer = new StringBuffer(); + stringBuffer.append("$ ") + .append(data.getWithdrawalModel().getMoney()); + withdrawalMoney.setText(stringBuffer.toString()); } @Override @@ -77,16 +132,12 @@ public class MyArnActivity extends AbsOTOActivity { ToastUtil.show(error); } }); - OTONetManager.getInstance(mContext).getFriendAppMoneyLogModel("3", "1", new HttpCallback>() { - @Override - public void onSuccess(List data) { - myArnAdapter.showData(data); - } + refreshMyArn(); + } - @Override - public void onError(String error) { - ToastUtil.show(error); - } - }); + private void onConversationListLoadMore() { + page++; + refreshMyArn(); + mRefreshLayout.finishLoadMore(); } } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/adapter/MyArnAdapter.java b/OneToOne/src/main/java/com/shayu/onetoone/adapter/MyArnAdapter.java index f11933518..ca90a92f0 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/adapter/MyArnAdapter.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/adapter/MyArnAdapter.java @@ -40,4 +40,9 @@ public class MyArnAdapter extends RecyclerView.Adapter { friendAppMoneyLogModels.addAll(mFriendAppMoneyLogModels); notifyDataSetChanged(); } + + public void addLst(List mFriendAppMoneyLogModels) { + this.friendAppMoneyLogModels.addAll(mFriendAppMoneyLogModels); + notifyDataSetChanged(); + } } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/bean/FriendAppMoneySumModel.java b/OneToOne/src/main/java/com/shayu/onetoone/bean/FriendAppMoneySumModel.java index 1016cd6e6..33bfb7845 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/bean/FriendAppMoneySumModel.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/bean/FriendAppMoneySumModel.java @@ -9,6 +9,17 @@ public class FriendAppMoneySumModel extends BaseModel { private String today; @SerializedName("sum") private String sum; + @SerializedName("withdrawal") + private WithdrawalModel withdrawalModel; + + public WithdrawalModel getWithdrawalModel() { + return withdrawalModel; + } + + public FriendAppMoneySumModel setWithdrawalModel(WithdrawalModel withdrawalModel) { + this.withdrawalModel = withdrawalModel; + return this; + } public String getToday() { return today; diff --git a/OneToOne/src/main/java/com/shayu/onetoone/bean/WithdrawalModel.java b/OneToOne/src/main/java/com/shayu/onetoone/bean/WithdrawalModel.java new file mode 100644 index 000000000..42fef9a69 --- /dev/null +++ b/OneToOne/src/main/java/com/shayu/onetoone/bean/WithdrawalModel.java @@ -0,0 +1,28 @@ +package com.shayu.onetoone.bean; + +import com.google.gson.annotations.SerializedName; +import com.yunbao.common.bean.BaseModel; + +public class WithdrawalModel extends BaseModel { + + @SerializedName("sum") + private String sum; + @SerializedName("money") + private int money; + + public String getSum() { + return sum; + } + + public void setSum(String sum) { + this.sum = sum; + } + + public int getMoney() { + return money; + } + + public void setMoney(int money) { + this.money = money; + } +} diff --git a/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java b/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java index e516472ad..7d50ed27c 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java @@ -1122,9 +1122,9 @@ public class OTONetManager { * @param currencyType 1星币 2砖石 3社交新币种 * @param income 1收入 2支出 */ - public void getFriendAppMoneyLogModel(String currencyType, String income, HttpCallback> callback) { + public void getFriendAppMoneyLogModel(String currencyType, String income, int page, HttpCallback> callback) { API.get().otoApi(mContext). - getFriendAppMoneyLogModel(currencyType, income) + getFriendAppMoneyLogModel(currencyType, income,page) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Consumer>>() { diff --git a/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java b/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java index 1f3021af8..3a06a97b6 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java @@ -227,7 +227,8 @@ public interface OneToOneApi { @GET("/api/public/?service=Friendappmoney.logs") Observable>> getFriendAppMoneyLogModel( @Query("currency_type") String currencyType, - @Query("income") String income + @Query("income") String income, + @Query("p") int page ); /** diff --git a/OneToOne/src/main/res/layout/activity_my_arnings.xml b/OneToOne/src/main/res/layout/activity_my_arnings.xml index 8271df617..586463e44 100644 --- a/OneToOne/src/main/res/layout/activity_my_arnings.xml +++ b/OneToOne/src/main/res/layout/activity_my_arnings.xml @@ -1,6 +1,7 @@ @@ -89,9 +94,13 @@ android:textSize="14sp" /> @@ -200,10 +209,20 @@ app:cardCornerRadius="14dp" app:cardElevation="0dp"> - + android:layout_height="match_parent"> + + + +