From 9755d9eefb12f95fa45c785e526038e10c9c7115 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期五, 25 四月 2025 18:15:51 +0800
Subject: [PATCH] 短信fix

---
 app/src/main/java/com/example/firstapp/utils/CodeUtils.kt |   78 ++++++++++++++++++---------------------
 1 files changed, 36 insertions(+), 42 deletions(-)

diff --git a/app/src/main/java/com/example/firstapp/utils/CodeUtils.kt b/app/src/main/java/com/example/firstapp/utils/CodeUtils.kt
index bc7cbda..21e7762 100644
--- a/app/src/main/java/com/example/firstapp/utils/CodeUtils.kt
+++ b/app/src/main/java/com/example/firstapp/utils/CodeUtils.kt
@@ -7,37 +7,41 @@
 object CodeUtils {
     private const val TAG = "CodeUtils"
 
+    private val lock = Any()
+
     /**
      * 保存code到数据库,如果已存在则跳过
      * @param code 要保存的code对象
      * @return Boolean 是否成功保存
      */
     fun saveCode(code: Code): Boolean {
-        // 检查必要字段是否为空
-        if (code.oneLevel.isEmpty() || code.code.isEmpty()) {
-            Log.d(TAG, "保存失败:必要字段为空")
-            return false
-        }
+        synchronized(lock) {
+            // 检查必要字段是否为空
+            if (code.oneLevel.isEmpty() || code.code.isEmpty()) {
+                Log.d(TAG, "保存失败:必要字段为空")
+                return false
+            }
 
-        // 检查是否已存在相同记录
-        val existingCode = Core.code.queryByTypeAndCodeAndDate(
-            code.category,
-            code.code,
-            code.smsTimestamp
-        )
+            // 检查是否已存在相同记录
+            val existingCode = Core.code.queryByTypeAndCodeAndDate(
+                code.category,
+                code.code,
+                code.createTime
+            )
 
-        return if (existingCode == null) {
-            try {
-                Core.code.insert(code)
-                Log.d(TAG, "成功保存${code.category}记录: ${code.code}")
-                true
-            } catch (e: Exception) {
-                Log.e(TAG, "保存${code.category}记录失败: ${e.message}")
+            return if (existingCode == null) {
+                try {
+                    Core.code.insert(code)
+                    Log.d(TAG, "成功保存${code.category}记录: ${code.code}")
+                    true
+                } catch (e: Exception) {
+                    Log.e(TAG, "保存${code.category}记录失败: ${e.message}")
+                    false
+                }
+            } else {
+                Log.d(TAG, "发现重复${code.category}记录,跳过保存: ${code.code}")
                 false
             }
-        } else {
-            Log.d(TAG, "发现重复${code.category}记录,跳过保存: ${code.code}")
-            false
         }
     }
 
@@ -51,8 +55,7 @@
         company: String?,
         pickupCode: String?,
         address: String?,
-        time: String?,
-        smsTimestamp: Long = 0
+        time: String?
     ): Code {
 //        val secondLevel = if (company.isNullOrEmpty()) "未知" else company
         return Code(
@@ -70,8 +73,7 @@
             pickupTime = "",
             overTime = "",
             address = address ?: "",
-            remarks = time ?: "",
-            smsTimestamp = smsTimestamp
+            remarks = time ?: ""
         )
     }
 
@@ -87,8 +89,7 @@
         date: String?,
         address: String?,
         minAmount: String?,
-        number: String?,
-        smsTimestamp: Long = 0
+        number: String?
     ): Code {
         return Code(
             id = 0,
@@ -105,8 +106,7 @@
             pickupTime = "",
             overTime = date ?: "",
             address = address ?: "",
-            remarks = "最小还款金额${minAmount ?: ""}还款卡号${number ?: ""}",
-            smsTimestamp = smsTimestamp
+            remarks = "最小还款金额${minAmount ?: ""}还款卡号${number ?: ""}"
         )
     }
 
@@ -120,8 +120,7 @@
         amount: String?,
         datetime: String?,
         address: String?,
-        balance: String?,
-        smsTimestamp: Long = 0
+        balance: String?
     ): Code {
         return Code(
             id = 0,
@@ -138,8 +137,7 @@
             pickupTime = "",
             overTime = datetime ?: "",
             address = address ?: "",
-            remarks = "余额${balance ?: ""}",
-            smsTimestamp = smsTimestamp
+            remarks = "余额${balance ?: ""}"
         )
     }
 
@@ -154,8 +152,7 @@
         end: String?,
         seat: String?,
         time: String?,
-        address: String?,
-        smsTimestamp: Long = 0
+        address: String?
     ): Code {
         return Code(
             id = 0,
@@ -172,8 +169,7 @@
             pickupTime = "",
             overTime = time ?: "",
             address = address ?: "",
-            remarks = seat ?: "",
-            smsTimestamp = smsTimestamp
+            remarks = seat ?: ""
         )
     }
 
@@ -187,8 +183,7 @@
         seat: String?,
         time: String?,
         address: String?,
-        trips: String?,
-        smsTimestamp: Long = 0
+        trips: String?
     ): Code {
         return Code(
             id = 0,
@@ -205,8 +200,7 @@
             pickupTime = "",
             overTime = time ?: "",
             address = address ?: "",
-            remarks = trips ?: "",
-            smsTimestamp = smsTimestamp
+            remarks = trips ?: ""
         )
     }
-} 
\ No newline at end of file
+}
\ No newline at end of file

--
Gitblit v1.9.3