From 5b9a5a629f8c31a8c05a918dcefc557b46651dfe Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 11 九月 2024 17:28:18 +0800
Subject: [PATCH] 修复bug不让外部应用访问

---
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeListActivity.java |  185 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 185 insertions(+), 0 deletions(-)

diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeListActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeListActivity.java
new file mode 100644
index 0000000..5159f8f
--- /dev/null
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeListActivity.java
@@ -0,0 +1,185 @@
+package com.dayu.qihealonelibrary.activity;
+
+
+import static com.dayu.baselibrary.view.TitleBar.ClickType_RIGHT_TEXT;
+
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+
+import androidx.recyclerview.widget.LinearLayoutManager;
+
+import com.dayu.baselibrary.utils.ArithUtil;
+import com.dayu.baselibrary.utils.TipUtil;
+import com.dayu.baselibrary.view.datepicker.CustomDatePicker;
+import com.dayu.baselibrary.view.datepicker.DateFormatUtils;
+import com.dayu.qihealonelibrary.adapter.RechargeAdapter;
+import com.dayu.qihealonelibrary.databinding.ActivityRechargeListQhaBinding;
+import com.dayu.qihealonelibrary.dbBean.RechargeBean;
+import com.scwang.smart.refresh.footer.ClassicsFooter;
+import com.scwang.smart.refresh.layout.api.RefreshLayout;
+import com.scwang.smart.refresh.layout.listener.OnLoadMoreListener;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
+import io.reactivex.rxjava3.core.Observable;
+import io.reactivex.rxjava3.schedulers.Schedulers;
+
+/**
+ * Copyright (C), 2023,
+ * Author: zuo
+ * Date: 2023-11-5 09:52
+ * Description: 鍏呭�艰褰�
+ */
+public class RechargeListActivity extends BaseActivity {
+
+    ActivityRechargeListQhaBinding rechargeListBinding;
+    RechargeAdapter adapter;
+    List<RechargeBean> rechargeList = new ArrayList<>();
+
+    private CustomDatePicker beginDatePicker;
+    private CustomDatePicker endDatePicker;
+    long beginTime;
+    long endTime;
+
+    int page = 0;
+
+    //姣忛〉鏁版嵁鏉℃暟
+    int limit = 30;
+    RefreshLayout myRefreshLayout;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        rechargeListBinding = ActivityRechargeListQhaBinding.inflate(LayoutInflater.from(this));
+        setContentView(rechargeListBinding.getRoot());
+        setRightButton();
+        initDatePicker();
+        initList();
+        getList();
+    }
+
+    private void initList() {
+        myRefreshLayout = (RefreshLayout) rechargeListBinding.refreshLayout;
+        myRefreshLayout.setEnableRefresh(false);
+        myRefreshLayout.setRefreshFooter(new ClassicsFooter(this));
+        myRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
+            @Override
+            public void onLoadMore(RefreshLayout refreshlayout) {
+                page = page + 1;
+                getList();
+            }
+        });
+        adapter = new RechargeAdapter(this, rechargeList);
+        LinearLayoutManager layoutManager = new LinearLayoutManager(this);
+        rechargeListBinding.recyclerView.setLayoutManager(layoutManager);
+        rechargeListBinding.recyclerView.setAdapter(adapter);
+    }
+
+    private void getTotal() {
+        if (rechargeList != null) {
+            double total = 0;
+            for (int i = 0; i < rechargeList.size(); i++) {
+                double b = Double.parseDouble(rechargeList.get(i).getMorny());
+                total = ArithUtil.add(total, b);
+            }
+            rechargeListBinding.rechargeTotal.setText("宸插姞杞芥暟鎹疮璁″厖鍊硷細" + String.valueOf(total) + "鍏�");
+        }
+
+    }
+
+    private void getList() {
+        // 鍒涘缓涓�涓� Observable
+        Observable<List<RechargeBean>> observable = Observable.create(emitter -> {
+            // 鍦ㄨ繖閲屾墽琛屽紓姝ユ搷浣�
+            List<RechargeBean> beanList;
+            if (beginTime == 0 && endTime == 0) {
+                beanList = asynchBaseDao.rechargeDao().findAll(page * limit, limit);
+            } else {
+                beanList = asynchBaseDao.rechargeDao().ansyFindByTime(beginTime, endTime);
+            }
+            // 灏嗙粨鏋滃彂閫佺粰瑙傚療鑰�
+            emitter.onNext(beanList);
+            emitter.onComplete();
+        });
+        // 璁㈤槄瑙傚療鑰�
+        observable.subscribeOn(Schedulers.io()) // 鎸囧畾鍦� IO 绾跨▼鎵ц
+                .observeOn(AndroidSchedulers.mainThread()) // 鎸囧畾鍦ㄥ崟涓�绾跨▼瑙傚療缁撴灉
+                .subscribe(
+                        result -> {
+                            // 鍦ㄨ繖閲屽鐞嗙粨鏋滐紝杩欓噷鏄湪涓荤嚎绋嬩腑
+//                            System.out.println("Result: " + result);
+                            if (result.size() < limit) {
+                                myRefreshLayout.finishLoadMoreWithNoMoreData();
+                            }
+                            if (result != null && result.size() > 0) {
+                                rechargeList.addAll(result);
+                            }
+                            adapter.notifyDataSetChanged();
+                            getTotal();
+                        },
+                        error -> {
+                            // 澶勭悊閿欒
+                            System.err.println("Error: " + error.getMessage());
+                        }
+                );
+    }
+
+
+    private void setRightButton() {
+        titleBar.setOnItemclickListner(ClickType_RIGHT_TEXT, new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                beginDatePicker.show(System.currentTimeMillis());
+            }
+        });
+    }
+
+    private void initDatePicker() {
+        long beginTimestamp = DateFormatUtils.str2Long("2009-05-01", false);
+        final long endTimestamp = System.currentTimeMillis();
+
+        // 閫氳繃鏃堕棿鎴冲垵濮嬪寲鏃ユ湡锛屾绉掔骇鍒�
+        beginDatePicker = new CustomDatePicker(this, "閫夋嫨寮�濮嬫椂闂�", new CustomDatePicker.Callback() {
+            @Override
+            public void onTimeSelected(long timestamp) {
+                beginTime = timestamp;
+                endDatePicker.show(timestamp);
+            }
+        }, beginTimestamp, endTimestamp);
+        // 涓嶅厑璁哥偣鍑诲睆骞曟垨鐗╃悊杩斿洖閿叧闂�
+        beginDatePicker.setCancelable(false);
+        // 涓嶆樉绀烘椂鍜屽垎
+        beginDatePicker.setCanShowPreciseTime(false);
+        // 涓嶅厑璁稿惊鐜粴鍔�
+        beginDatePicker.setScrollLoop(false);
+        // 涓嶅厑璁告粴鍔ㄥ姩鐢�
+        beginDatePicker.setCanShowAnim(false);
+
+        endDatePicker = new CustomDatePicker(this, "閫夋嫨缁撴潫鏃堕棿", new CustomDatePicker.Callback() {
+            @Override
+            public void onTimeSelected(long timestamp) {
+                endTime = timestamp;
+                if ((endTime < beginTime) && endTime != beginTime) {
+                    TipUtil.show(RechargeListActivity.this, "缁撴潫鏃堕棿涓嶈兘鏅氫簬寮�濮嬫椂闂�");
+                } else {
+                    endTime = endTime + (1000 * 60 * 60 * 24) - 1;
+                    rechargeList.clear();
+                    getList();
+                }
+            }
+        }, beginTimestamp, endTimestamp);
+        // 涓嶅厑璁哥偣鍑诲睆骞曟垨鐗╃悊杩斿洖閿叧闂�
+        endDatePicker.setCancelable(false);
+        // 涓嶆樉绀烘椂鍜屽垎
+        endDatePicker.setCanShowPreciseTime(false);
+        // 涓嶅厑璁稿惊鐜粴鍔�
+        endDatePicker.setScrollLoop(false);
+        // 涓嶅厑璁告粴鍔ㄥ姩鐢�
+        endDatePicker.setCanShowAnim(false);
+    }
+
+
+}

--
Gitblit v1.8.0