左晓为主开发手持机充值管理机
zuoxiao
2023-11-21 fc6048b630901058ccd90529e32e031e612b8384
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
package com.dayu.recharge.activity;
 
import static com.dayu.recharge.view.TitleBar.ClickType_RIGHT_TEXT;
 
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
 
import com.dayu.recharge.adapter.RechargeAdapter;
import com.dayu.recharge.databinding.ActivityRechargeListBinding;
import com.dayu.recharge.dbBean.RechargeBean;
import com.dayu.recharge.utils.ArithUtil;
import com.dayu.recharge.utils.ToastUtil;
import com.dayu.recharge.view.datepicker.CustomDatePicker;
import com.dayu.recharge.view.datepicker.DateFormatUtils;
 
import java.util.List;
 
/**
 * Copyright (C), 2023,
 * Author: zuo
 * Date: 2023-11-5 09:52
 * Description: 充值记录
 */
public class RechargeListActivity extends BaseActivity {
 
    ActivityRechargeListBinding rechargeListBinding;
    RechargeAdapter adapter;
    List<RechargeBean> rechargeList;
 
    private CustomDatePicker beginDatePicker;
    private CustomDatePicker endDatePicker;
    long beginTime;
    long endTime;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        rechargeListBinding = ActivityRechargeListBinding.inflate(LayoutInflater.from(this));
        setContentView(rechargeListBinding.getRoot());
        setRightButton();
        setData();
        initDatePicker();
        getTotal();
    }
 
    private void setData() {
 
        rechargeList = baseDao.rechargeDao().findAll();
 
        adapter = new RechargeAdapter(this, rechargeList);
        rechargeListBinding.rechargeList.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 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) {
                    ToastUtil.show(RechargeListActivity.this, "结束时间不能晚于开始时间");
                } else {
                    endTime = endTime + (1000 * 60 * 60 * 24) - 1;
                    List<RechargeBean> userList = baseDao.rechargeDao().findByTime(beginTime, endTime);
                    rechargeList.clear();
                    rechargeList.addAll(userList);
                    adapter.notifyDataSetChanged();
                    getTotal();
 
                }
            }
        }, beginTimestamp, endTimestamp);
        // 不允许点击屏幕或物理返回键关闭
        endDatePicker.setCancelable(false);
        // 不显示时和分
        endDatePicker.setCanShowPreciseTime(false);
        // 不允许循环滚动
        endDatePicker.setScrollLoop(false);
        // 不允许滚动动画
        endDatePicker.setCanShowAnim(false);
    }
 
 
}