mirror of
https://github.com/henry4682/linebot_finance.git
synced 2026-05-16 04:41:52 +00:00
1. change query today
This commit is contained in:
@@ -227,24 +227,34 @@ def query_today(line_user_id: str) -> str:
|
||||
rows = db.execute(sql, {"user_id": user_id}).fetchall()
|
||||
|
||||
data_list = [dict(row) if hasattr(row, '_mapping') else row for row in rows]
|
||||
total = 0.0
|
||||
|
||||
# 2. 計算總額
|
||||
total = sum(float(r['total_amount']) for r in data_list)
|
||||
for r in rows:
|
||||
# 這裡依照妳 SQL 的別名抓資料,r.total_amount 或是 r['total_amount']
|
||||
amt = float(r.total_amount)
|
||||
total += amt
|
||||
|
||||
# 抓取顯示名稱與備註
|
||||
name = r.display_name if hasattr(r, 'display_name') else r.item_name
|
||||
note_str = f"({r.note})" if hasattr(r, 'note') and r.note else ""
|
||||
|
||||
data_list.append({
|
||||
"name": name,
|
||||
"amt": amt,
|
||||
"note": note_str
|
||||
})
|
||||
|
||||
# 3. 檢查是否有資料
|
||||
if not data_list:
|
||||
return "📋 今日還沒有記錄喔!💨"
|
||||
|
||||
# 3. 組裝每一行的文字 (注意欄位改用 ['display_name'] 和 ['total_amount'])
|
||||
lines = []
|
||||
for i, r in enumerate(data_list):
|
||||
# 這裡用 display_name 才會顯示 merchant_mapping 轉換後的好記名稱
|
||||
name = r.get('display_name') or r.get('item_name')
|
||||
amt = float(r['total_amount'])
|
||||
note_str = f"({r['note']})" if r.get('note') else ""
|
||||
# 4. 組裝每一行的文字
|
||||
lines = [
|
||||
f"{i+1}. {item['name']} ${item['amt']:.0f}{item['note']}"
|
||||
for i, item in enumerate(data_list)
|
||||
]
|
||||
|
||||
lines.append(f"{i+1}. {name} ${amt:.0f}{note_str}")
|
||||
|
||||
# 4. 回傳最終訊息
|
||||
# 5. 回傳最終訊息
|
||||
header = "📋 今日記錄:\n"
|
||||
footer = f"\n\n💰 合計:${total:.0f}\n\n🗑 刪除請輸入:刪除 編號\n例如:刪除 1"
|
||||
return header + "\n".join(lines) + footer
|
||||
|
||||
Reference in New Issue
Block a user