From 50f6dd3b617f769e7fc6094c2dd0752747541489 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 23 十一月 2023 18:04:05 +0800
Subject: [PATCH] 修复导出充值记录bug 优化充值记录加载逻辑和速度 优化导出记录逻辑

---
 app/src/main/java/com/dayu/recharge/activity/MyActivity.java |   94 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 64 insertions(+), 30 deletions(-)

diff --git a/app/src/main/java/com/dayu/recharge/activity/MyActivity.java b/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
index 6dfe6ef..69f46bc 100644
--- a/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
@@ -6,9 +6,13 @@
 import android.content.pm.PackageManager;
 import android.os.Build;
 import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;
+
+import androidx.annotation.NonNull;
 
 import com.dayu.recharge.MyApplication;
 import com.dayu.recharge.databinding.ActivityMyBinding;
@@ -119,42 +123,72 @@
     }
 
 
+    Handler handler = new Handler(new Handler.Callback() {
+        @Override
+        public boolean handleMessage(@NonNull Message msg) {
+            switch (msg.what) {
+                case 1:
+                    TipUtil.show(MyActivity.this, "瀵煎嚭鎴愬姛!");
+                    break;
+                default:
+                    TipUtil.show(MyActivity.this, "瀵煎嚭澶辫触!");
+                    break;
+            }
+            stopAnim();
+            return false;
+        }
+    });
+
     /**
      * 瀵煎嚭鎴怑xcel
      */
     private void outExcl() {
         startAnim();
-        File file = new File(ExcelUtil.outPath);
-        //鏂囦欢澶规槸鍚﹀凡缁忓瓨鍦�
-        if (!file.exists()) {
-            file.mkdirs();
-        }
-        List listData = new ArrayList();
-        try {
-            if (isRechargeList) {
-                listData = baseDao.rechargeDao().findByTime(beginTime, endTime);
-            } else {
-                listData = baseDao.userCardDao().findByTime(beginTime, endTime);
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                {
+                    try {
+                        File file = new File(ExcelUtil.outPath);
+                        //鏂囦欢澶规槸鍚﹀凡缁忓瓨鍦�
+                        if (!file.exists()) {
+                            file.mkdirs();
+                        }
+                        List listData = new ArrayList();
+                        try {
+                            if (isRechargeList) {
+                                listData = asynchBaseDao.rechargeDao().ansyFindByTime(beginTime, endTime);
+                            } else {
+                                listData = baseDao.userCardDao().findByTime(beginTime, endTime);
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        String[] title;
+                        String fileName;
+                        if (listData == null || listData.size() == 0) {
+                            TipUtil.show(MyActivity.this, "璁板綍涓虹┖");
+                            return;
+                        }
+                        if (isRechargeList) {
+                            title = new String[]{"璁惧搴忓垪鍙�", "鐢ㄦ埛鍚�", "韬唤璇佸彿", "鍏呭�兼棩鏈�", "鍏呭�奸噾棰濓紙鍏冿級", "鍓╀綑閲戦锛堝厓锛�"};
+                            fileName = file.toString() + "/" + ExcelUtil.outRechargePathName;
+                        } else {
+                            title = new String[]{"璁惧搴忓垪鍙�", "鐢ㄦ埛鍚�", "韬唤璇佸彿", "娉ㄥ唽鏃ユ湡", "鐢佃瘽"};
+                            fileName = file.toString() + "/" + ExcelUtil.outUserPathName;
+                        }
+                        ExcelUtil.initExcel(fileName, title);
+                        ExcelUtil.writeObjListToExcel(listData, fileName, MyActivity.this);
+                        handler.sendEmptyMessage(1);
+                    } catch (Exception e) {
+                        handler.sendEmptyMessage(2);
+                        e.printStackTrace();
+                    }
+                }
             }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        String[] title;
-        String fileName;
-        if (listData == null || listData.size() == 0) {
-            TipUtil.show(MyActivity.this, "璁板綍涓虹┖");
-            return;
-        }
-        if (isRechargeList) {
-            title = new String[]{"璁惧搴忓垪鍙�", "鐢ㄦ埛鍚�", "韬唤璇佸彿", "鍏呭�兼棩鏈�", "鍏呭�奸噾棰濓紙鍏冿級", "鍓╀綑閲戦锛堝厓锛�"};
-            fileName = file.toString() + "/" + ExcelUtil.outRechargePathName;
-        } else {
-            title = new String[]{"璁惧搴忓垪鍙�", "鐢ㄦ埛鍚�", "韬唤璇佸彿", "娉ㄥ唽鏃ユ湡", "鐢佃瘽"};
-            fileName = file.toString() + "/" + ExcelUtil.outUserPathName;
-        }
-        ExcelUtil.initExcel(fileName, title);
-        ExcelUtil.writeObjListToExcel(listData, fileName, MyActivity.this);
-        stopAnim();
+        }).start();
+
+
     }
 
     void getVersion(Activity context) {

--
Gitblit v1.8.0