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