From b2f7736d17699f006445ec792512ca4e3ffc6b77 Mon Sep 17 00:00:00 2001 From: nilupeng <qingingrunt2010@qq.com> Date: Thu, 11 Aug 2022 09:49:13 +0000 Subject: [PATCH] 金币记录 --- app/src/main/java/com/runt/open/mvvm/base/activities/LoadPageActivity.java | 2 app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailActivity.java | 2 app/src/main/java/com/runt/open/mvvm/ui/adapter/CoinTransAdapter.java | 68 +++++++++++++++++ app/src/main/java/com/runt/open/mvvm/ui/adapter/MsgAdapter.java | 2 app/src/main/java/com/runt/open/mvvm/data/Results.java | 15 +++ app/src/main/java/com/runt/open/mvvm/ui/loadpage/PageActivitys.java | 14 +++ app/src/main/java/com/runt/open/mvvm/retrofit/api/CommonApiCenter.java | 9 ++ app/src/main/java/com/runt/open/mvvm/ui/loadpage/PageViewModels.java | 7 + app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailViewModel.java | 2 app/src/main/java/com/runt/open/mvvm/ui/loadpage/PageFragments.java | 2 app/src/main/res/layout/item_coin_report.xml | 72 ++++++++++++++++++ app/src/main/java/com/runt/open/mvvm/ui/main/mine/MineFragment.java | 11 ++ 12 files changed, 199 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/runt/open/mvvm/base/activities/LoadPageActivity.java b/app/src/main/java/com/runt/open/mvvm/base/activities/LoadPageActivity.java index 35e5ca6..40cb405 100644 --- a/app/src/main/java/com/runt/open/mvvm/base/activities/LoadPageActivity.java +++ b/app/src/main/java/com/runt/open/mvvm/base/activities/LoadPageActivity.java @@ -28,6 +28,8 @@ //适配器 protected A adapter; + protected abstract String initTitle(); + @Override public void initViews() { try { diff --git a/app/src/main/java/com/runt/open/mvvm/data/Results.java b/app/src/main/java/com/runt/open/mvvm/data/Results.java index b9fc8b6..a5a5143 100644 --- a/app/src/main/java/com/runt/open/mvvm/data/Results.java +++ b/app/src/main/java/com/runt/open/mvvm/data/Results.java @@ -1,5 +1,9 @@ package com.runt.open.mvvm.data; +import com.runt.open.mvvm.ui.login.UserBean; + +import java.util.Date; + /** * My father is Object, ites purpose of * @@ -23,4 +27,15 @@ public String version,detail,access; } + //金币记录 + public class CustomCoin{ + public String id; + public UserBean toUser,fromUser; + public int count,after,before,type; + public Date cTime; + /** + * 备注 + **/ + public Object remark; + } } diff --git a/app/src/main/java/com/runt/open/mvvm/retrofit/api/CommonApiCenter.java b/app/src/main/java/com/runt/open/mvvm/retrofit/api/CommonApiCenter.java index f8ad90d..22ddc5f 100644 --- a/app/src/main/java/com/runt/open/mvvm/retrofit/api/CommonApiCenter.java +++ b/app/src/main/java/com/runt/open/mvvm/retrofit/api/CommonApiCenter.java @@ -79,4 +79,13 @@ */ @GET("getMsgDetail") Observable<HttpApiResult<Results.Message>> getMsgDetail(@Query("id") String id); + + /** + * 获取金币记录 + * @param pageNum 页数 + * @param pageSize 每页数量 + * @return + */ + @GET("coinRecord") + Observable<HttpApiResult<PageResult<Results.CustomCoin>>> getCoinRecord(@Query("page") int pageNum, @Query("size") int pageSize, @Query("inOrOut") int inOrOut); } diff --git a/app/src/main/java/com/runt/open/mvvm/ui/adapter/CoinTransAdapter.java b/app/src/main/java/com/runt/open/mvvm/ui/adapter/CoinTransAdapter.java new file mode 100644 index 0000000..96bf470 --- /dev/null +++ b/app/src/main/java/com/runt/open/mvvm/ui/adapter/CoinTransAdapter.java @@ -0,0 +1,68 @@ +package com.runt.open.mvvm.ui.adapter; + +import android.content.Context; +import com.bumptech.glide.Glide; +import com.bumptech.glide.request.RequestOptions; +import com.runt.open.mvvm.BuildConfig; +import com.runt.open.mvvm.R; +import com.runt.open.mvvm.base.adapter.BaseAdapter; +import com.runt.open.mvvm.data.Results; +import com.runt.open.mvvm.databinding.ItemCoinReportBinding; +import com.runt.open.mvvm.ui.login.UserBean; +import com.runt.open.mvvm.util.HandleDate; + +/** + * @purpose Created by Runt (qingingrunt2010@qq.com) on 2020-10-29. + */ +public class CoinTransAdapter extends BaseAdapter<Results.CustomCoin, ItemCoinReportBinding> { + @Override + protected void onBindView(ItemCoinReportBinding binding, int position, Results.CustomCoin data) { + + Context context = binding.getRoot().getContext(); + RequestOptions options = new RequestOptions() + .placeholder(R.mipmap.default_head)//图片加载出来前,显示的图片 + .fallback(R.mipmap.default_head) //url为空的时候,显示的图片 + .error(R.mipmap.default_head);//图片加载失败后,显示的图片 + boolean isOut = data.fromUser != null && data.fromUser.getId().equals(UserBean.getUser().getId()); + String type = ""; + switch (data.type) { + case 0: + type = "赠送"; + break; + case 1: + type = "每日登录"; + break; + case 2: + type = "签到赠送"; + break; + case 3: + type = "广告赠送"; + break; + case 4: + type = "激励广告赠送"; + break; + case 5: + type = "转帐"; + break; + case 6: + type = "提现"; + break; + case 7: + type = "注册赠送"; + break; + + } + if (isOut) { + binding.txtName.setText((data.type == 5?"":"转账到-")+(data.toUser == null ? type : data.toUser.getUsername())); + binding.txtCount.setText("-" + data.count); + binding.txtCount.setTextColor(context.getResources().getColor(R.color.holo_red_light)); + Glide.with(binding.getRoot().getContext()).load(BuildConfig.HOST_IP_ADDR + (data.toUser == null ? "" : data.toUser.getHead())).apply(options).into(binding.imgHead); + } else { + binding.txtName.setText((data.fromUser == null ? type : data.fromUser.getUsername())+(data.type == 5?"-转账":"")); + binding.txtCount.setTextColor(context.getResources().getColor(R.color.green)); + binding.txtCount.setText("+" + data.count); + Glide.with(binding.getRoot().getContext()).load(BuildConfig.HOST_IP_ADDR + (data.fromUser == null ? "" : data.fromUser.getHead())).apply(options).into(binding.imgHead); + } + binding.txtTime.setText(HandleDate.getTimeStateNew(data.cTime)); + } +} diff --git a/app/src/main/java/com/runt/open/mvvm/ui/main/home/MsgAdapter.java b/app/src/main/java/com/runt/open/mvvm/ui/adapter/MsgAdapter.java similarity index 96% rename from app/src/main/java/com/runt/open/mvvm/ui/main/home/MsgAdapter.java rename to app/src/main/java/com/runt/open/mvvm/ui/adapter/MsgAdapter.java index 725df50..55b2ca8 100644 --- a/app/src/main/java/com/runt/open/mvvm/ui/main/home/MsgAdapter.java +++ b/app/src/main/java/com/runt/open/mvvm/ui/adapter/MsgAdapter.java @@ -1,4 +1,4 @@ -package com.runt.open.mvvm.ui.main.home; +package com.runt.open.mvvm.ui.adapter; import android.content.Intent; import android.view.View; diff --git a/app/src/main/java/com/runt/open/mvvm/ui/loadpage/PageActivitys.java b/app/src/main/java/com/runt/open/mvvm/ui/loadpage/PageActivitys.java index 8d057a0..d3cd5ce 100644 --- a/app/src/main/java/com/runt/open/mvvm/ui/loadpage/PageActivitys.java +++ b/app/src/main/java/com/runt/open/mvvm/ui/loadpage/PageActivitys.java @@ -1,7 +1,21 @@ package com.runt.open.mvvm.ui.loadpage; +import com.runt.open.mvvm.base.activities.LoadPageActivity; +import com.runt.open.mvvm.data.Results; +import com.runt.open.mvvm.databinding.RefreshRecyclerBinding; +import com.runt.open.mvvm.ui.adapter.CoinTransAdapter; + /** * @purpose Created by Runt (qingingrunt2010@qq.com) on 2020-9-17. */ public class PageActivitys { + + //金币记录 + public class CoinRecordActivity extends LoadPageActivity<RefreshRecyclerBinding, PageViewModels.CoinRecordViewModel, CoinTransAdapter, Results.CustomCoin>{ + @Override + protected String initTitle() { + return "金币记录"; + } + } + } diff --git a/app/src/main/java/com/runt/open/mvvm/ui/loadpage/PageFragments.java b/app/src/main/java/com/runt/open/mvvm/ui/loadpage/PageFragments.java index dd5d361..1adcdb2 100644 --- a/app/src/main/java/com/runt/open/mvvm/ui/loadpage/PageFragments.java +++ b/app/src/main/java/com/runt/open/mvvm/ui/loadpage/PageFragments.java @@ -3,7 +3,7 @@ import com.runt.open.mvvm.base.fragments.LoadPageFragment; import com.runt.open.mvvm.data.Results; import com.runt.open.mvvm.databinding.RefreshRecyclerBinding; -import com.runt.open.mvvm.ui.main.home.MsgAdapter; +import com.runt.open.mvvm.ui.adapter.MsgAdapter; /** * @purpose Created by Runt (qingingrunt2010@qq.com) on 2020-9-17. diff --git a/app/src/main/java/com/runt/open/mvvm/ui/loadpage/PageViewModels.java b/app/src/main/java/com/runt/open/mvvm/ui/loadpage/PageViewModels.java index b054b54..994ee5e 100644 --- a/app/src/main/java/com/runt/open/mvvm/ui/loadpage/PageViewModels.java +++ b/app/src/main/java/com/runt/open/mvvm/ui/loadpage/PageViewModels.java @@ -17,4 +17,11 @@ return commonApi.getMsgList(page,SIZE); } } + + public static class CoinRecordViewModel extends LoadPageViewModel<Results.CustomCoin>{ + @Override + public Observable<HttpApiResult<PageResult<Results.CustomCoin>>> request(int page, Object... objects) { + return commonApi.getCoinRecord(page,SIZE,(int)objects[0]); + } + } } diff --git a/app/src/main/java/com/runt/open/mvvm/ui/main/mine/MineFragment.java b/app/src/main/java/com/runt/open/mvvm/ui/main/mine/MineFragment.java index fb6b3ce..428d272 100644 --- a/app/src/main/java/com/runt/open/mvvm/ui/main/mine/MineFragment.java +++ b/app/src/main/java/com/runt/open/mvvm/ui/main/mine/MineFragment.java @@ -4,6 +4,7 @@ import android.content.Intent; import android.content.pm.ActivityInfo; import android.view.View; +import android.widget.TextView; import com.bumptech.glide.Glide; import com.bumptech.glide.request.RequestOptions; import com.luck.picture.lib.PictureSelector; @@ -14,10 +15,14 @@ import com.runt.open.mvvm.R; import com.runt.open.mvvm.base.fragments.BaseFragment; import com.runt.open.mvvm.databinding.FragmentMineBinding; +import com.runt.open.mvvm.listener.ResPonse; import com.runt.open.mvvm.retrofit.observable.HttpObserver; +import com.runt.open.mvvm.ui.loadpage.PageActivitys; import com.runt.open.mvvm.ui.login.UserBean; import com.runt.open.mvvm.util.GlideEngine; import com.runt.open.mvvm.util.MyLog; +import sakura.bottommenulibrary.bottompopfragmentmenu.BottomMenuFragment; +import sakura.bottommenulibrary.bottompopfragmentmenu.MenuItem; import java.io.File; import java.util.List; @@ -73,7 +78,7 @@ } }); break; - /* case R.id.lin_coin://金币 + case R.id.lin_coin://金币 new BottomMenuFragment(getActivity()) .addMenuItems(new MenuItem("查看记录")) .addMenuItems(new MenuItem("申请提现")) @@ -81,7 +86,7 @@ @Override public void onItemClick(TextView menu_item, int position) { if(position == 0){ - startActivity(new Intent(mActivity, CoinRecordActivity.class) ); + startActivity(new Intent(mActivity, PageActivitys.CoinRecordActivity.class) ); }else { if(mActivity.isNull(UserBean.getUser().getAlipay())){ mActivity.showDialog("设置支付宝", "您还没有设置支付宝账号", "设置", "取消", new ResPonse() { @@ -107,7 +112,7 @@ break; case R.id.lin_sign://签到 startActivityForResult(new Intent(getContext(), SignInActivity.class),REQUEST_CODE_SIGN); - break;*/ + break; } } diff --git a/app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailActivity.java b/app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailActivity.java index 68f16fd..bb1f58b 100644 --- a/app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailActivity.java +++ b/app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailActivity.java @@ -7,7 +7,7 @@ import com.runt.open.mvvm.util.HandleDate; /** - * @purpose Created by Runt (qingingrunt2010@qq.com) on 2022/8/11. + * @purpose Created by Runt (qingingrunt2010@qq.com) on 2020-10-29. */ public class MsgDetailActivity extends BaseActivity<ActivityMsgDetailBinding,MsgDetailViewModel> { @Override diff --git a/app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailViewModel.java b/app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailViewModel.java index 59fa1a2..6841156 100644 --- a/app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailViewModel.java +++ b/app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailViewModel.java @@ -7,7 +7,7 @@ import com.runt.open.mvvm.retrofit.observable.HttpObserver; /** - * @purpose Created by Runt (qingingrunt2010@qq.com) on 2022/8/11. + * @purpose Created by Runt (qingingrunt2010@qq.com) on 2020-10-29. */ public class MsgDetailViewModel extends BaseViewModel { diff --git a/app/src/main/res/layout/item_coin_report.xml b/app/src/main/res/layout/item_coin_report.xml new file mode 100644 index 0000000..baa7b1a --- /dev/null +++ b/app/src/main/res/layout/item_coin_report.xml @@ -0,0 +1,72 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:elevation="3dp" + android:background="@drawable/white_corner_border" + android:layout_marginTop="@dimen/default_margin_td" + android:layout_marginLeft="@dimen/default_margin_lr" + android:layout_marginRight="@dimen/default_margin_lr" + android:padding="@dimen/normal_padding" + android:orientation="vertical"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:gravity="center_vertical" + android:orientation="horizontal"> + + <!--设备类型 横屏 竖屏--> + <com.runt.open.mvvm.widgets.CircleImageView + android:id="@+id/img_head" + android:layout_width="wrap_content" + android:layout_height="50dp" + android:layout_gravity="center" + android:src="@mipmap/default_head" + android:layout_marginRight="@dimen/large_margin"/> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_weight="1" + android:orientation="vertical"> + <LinearLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:orientation="horizontal"> + + <TextView + android:id="@+id/txt_name" + style="@style/txt_normal" + android:text="用户名" /> + </LinearLayout> + <LinearLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/normal_margin" + android:orientation="horizontal"> + + <TextView + android:id="@+id/txt_time" + style="@style/txt_normal" + android:textSize="12sp" + android:textColor="@color/gray_normal" + android:text="时间" /> + </LinearLayout> + </LinearLayout> + <LinearLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/normal_margin" + android:orientation="horizontal"> + + <TextView + android:id="@+id/txt_count" + style="@style/txt_normal" + android:text="-20" /> + </LinearLayout> + </LinearLayout> + +</LinearLayout> \ No newline at end of file -- Gitblit v1.9.1