From 93775e1f3d79a1e11b839abbf24201dafcd9e646 Mon Sep 17 00:00:00 2001
From: tj <1378534974@qq.com>
Date: 星期五, 25 四月 2025 13:45:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
app/src/main/java/com/example/firstapp/receiver/SmsReceiver.kt | 116 +++++++++++++++++++++++++++++++---------------------------
1 files changed, 62 insertions(+), 54 deletions(-)
diff --git a/app/src/main/java/com/example/firstapp/receiver/SmsReceiver.kt b/app/src/main/java/com/example/firstapp/receiver/SmsReceiver.kt
index 9a611bb..fc12fec 100644
--- a/app/src/main/java/com/example/firstapp/receiver/SmsReceiver.kt
+++ b/app/src/main/java/com/example/firstapp/receiver/SmsReceiver.kt
@@ -22,6 +22,7 @@
import java.time.ZoneId
import java.util.Date
import java.util.Locale
+import com.example.firstapp.utils.CodeUtils
class SmsReceiver : BroadcastReceiver() {
@@ -38,9 +39,15 @@
val messages = arrayOfNulls<SmsMessage>(pdus.size)
val messageBody = StringBuilder()
+ // 获取短信时间戳(使用第一条短信的时间戳)
+ var timestamp: Long = 0
+
for (i in pdus.indices) {
messages[i] = SmsMessage.createFromPdu(pdus[i] as ByteArray)
messageBody.append(messages[i]?.messageBody)
+ if (i == 0) {
+ timestamp = messages[i]?.timestampMillis ?: System.currentTimeMillis()
+ }
}
// 保存原始短信
@@ -72,75 +79,76 @@
// 根据不同类型处理数据
when (response.data.category) {
"快递" -> {
- val code = Code(
- id = 0,
- category = response.data.category,
- categoryId = 1, // 1-快递类型
- typeId = 1, //暂时没有根据type分类
- ruleId = 1, //1-快递类型
+ val code = CodeUtils.createExpressCode(
msgId = msgId,
createTime = createtime,
- oneLevel = response.data.details.post ?: "",
- secondLevel = response.data.details.company ?: "",
- code = response.data.details.pickupCode ?: "",
- pickup = 0, // 0-未取件,1-已取件
- pickupTime = "", // 取件时间为空
- overTime = "", // 超时时间为空,暂时没有这块处理逻辑
- address = response.data.details.address ?: "",
- remarks = response.data.details.time ?: "",
+ post = response.data.details.post,
+ company = response.data.details.company,
+ pickupCode = response.data.details.pickupCode,
+ address = response.data.details.address,
+ time = response.data.details.time,
+ smsTimestamp = timestamp // 添加短信时间戳
)
- if(code.oneLevel!="" && code.secondLevel!="" && code.code!="") {
- Core.code.insert(code)
- }
+ CodeUtils.saveCode(code)
}
"还款" -> {
- val code = Code(
- id = 0,
- category = response.data.category,
- categoryId = 2, // 2-还款类型
- typeId = 1, //暂时没有根据type分类
- ruleId = 2, //1-还款类型
+ val code = CodeUtils.createRepaymentCode(
msgId = msgId,
createTime = createtime,
- oneLevel = response.data.details.type ?: "",
- secondLevel = response.data.details.bank ?: "",
- code = response.data.details.amount ?: "",
- pickup = 0, // 0-未取件,1-已取件
- pickupTime = "", // 取件时间为空
- overTime = response.data.details.date
- ?: "", // 超时时间为空,暂时没有这块处理逻辑
- address = response.data.details.address ?: "",
- remarks = "最小还款金额" + response.data.details.min_amount + "还款卡号" + response.data.details.number
- ?: "",
+ type = response.data.details.type,
+ bank = response.data.details.bank,
+ amount = response.data.details.amount,
+ date = response.data.details.date,
+ address = response.data.details.address,
+ minAmount = response.data.details.min_amount,
+ number = response.data.details.number,
+ smsTimestamp = timestamp // 添加短信时间戳
)
- if(code.oneLevel!="" && code.secondLevel!="" && code.code!="") {
- Core.code.insert(code)
- }
+ CodeUtils.saveCode(code)
}
"收入" -> {
- val code = Code(
- id = 0,
- category = response.data.category,
- categoryId = 3, // 3-收入类型
- typeId = 1, //暂时没有根据type分类
- ruleId = 2, //1-还款类型
+ val code = CodeUtils.createIncomeCode(
msgId = msgId,
createTime = createtime,
- oneLevel = response.data.details.bank ?: "",
- secondLevel = response.data.details.bank ?: "",
- code = response.data.details.amount ?: "",
- pickup = 0, // 0-未取件,1-已取件
- pickupTime = "", // 取件时间为空
- overTime = response.data.details.datetime
- ?: "", // 超时时间为空,暂时没有这块处理逻辑
- address = response.data.details.address ?: "",
- remarks = "余额" + response.data.details.balance ?: "",
+ bank = response.data.details.bank,
+ amount = response.data.details.amount,
+ datetime = response.data.details.datetime,
+ address = response.data.details.address,
+ balance = response.data.details.balance,
+ smsTimestamp = timestamp // 添加短信时间戳
)
- if(code.oneLevel!="" && code.secondLevel!="" && code.code!="") {
- Core.code.insert(code)
- }
+ CodeUtils.saveCode(code)
+ }
+
+ "航班" -> {
+ val code = CodeUtils.createFlightCode(
+ msgId = msgId,
+ createTime = createtime,
+ company = response.data.details.company,
+ start = response.data.details.start,
+ end = response.data.details.end,
+ seat = response.data.details.seat,
+ time = response.data.details.time,
+ address = response.data.details.address,
+ smsTimestamp = timestamp // 添加短信时间戳
+ )
+ CodeUtils.saveCode(code)
+ }
+
+ "火车票" -> {
+ val code = CodeUtils.createTrainTicketCode(
+ msgId = msgId,
+ createTime = createtime,
+ company = response.data.details.company,
+ seat = response.data.details.seat,
+ time = response.data.details.time,
+ address = response.data.details.address,
+ trips = response.data.details.trips,
+ smsTimestamp = timestamp // 添加短信时间戳
+ )
+ CodeUtils.saveCode(code)
}
}
--
Gitblit v1.9.3