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