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 | 48 ++++++++++++++++++++++++++---------------------- 1 files changed, 26 insertions(+), 22 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 7ac26fe..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.createTime - ) + // 检查是否已存在相同记录 + 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 } } @@ -199,4 +203,4 @@ remarks = trips ?: "" ) } -} \ No newline at end of file +} \ No newline at end of file -- Gitblit v1.9.3