[討論] 會過期的點數,獲得和使用的記錄方式
使用者可以獲得點數並用來買東西,但是點數有使用期限,
使用點數時會自動優先從最快過期的點數開始使用。
考慮到人為操作時總會有出錯的時候,或者使用者可能會想要取消購買,
所以資料表需要記錄足夠的資訊,讓資料可以進行修改或是刪除。
假設使用者 foo 獲得了 200 點會在 2023-05-01 過期的點數,
以及 300 點會在 2023-07-01 過期的點數。
之後花費 450 點進行購買,會把 5 月過期的 200 點都用掉,
並且把 7 月過期的 300 點用掉 250 點,剩下 50 點。
目前設想的記錄方式如下(時間、備註等欄位省略):
credit
id  user    balance expire      credit_id   payment_id
1   foo     200     2023-05-01  null        null
2   foo     300     2023-07-01  null        null
3   foo     -200    null        1           1
4   foo     -250    null        2           1
payment
id  user    credit  product_id
1   foo     450     5
不知道這樣的設計是否合理,或者應該要如何修改比較好?
感覺應該是很常見的問題,但就算想 Google 也只會跑出一堆不相關的結果。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.140.105 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1674033621.A.DBB.html
※ 編輯: Kenqr (123.194.140.105 臺灣), 01/18/2023 17:27:07
→
01/18 19:09, 
                                2年前
                            , 1F
01/18 19:09, 1F
→
01/18 19:09, 
                                2年前
                            , 2F
01/18 19:09, 2F
推
01/25 23:05, 
                                2年前
                            , 3F
01/25 23:05, 3F
→
01/25 23:07, 
                                2年前
                            , 4F
01/25 23:07, 4F
→
01/25 23:08, 
                                2年前
                            , 5F
01/25 23:08, 5F
→
01/25 23:11, 
                                2年前
                            , 6F
01/25 23:11, 6F
→
01/25 23:13, 
                                2年前
                            , 7F
01/25 23:13, 7F
這個實際上是公司內部使用的系統,所以需求沒有一般的點數系統那麼複雜,
逾期後取消購買、延遲生效、預算來自不同單位這些都不在需求內。
累點兌點應該是指獲得和使用點數,逾期扣點也沒有問題,剩下的兩個型態是指什麼呢?
※ 編輯: Kenqr (123.194.140.105 臺灣), 01/30/2023 17:42:58
Database 近期熱門文章
PTT數位生活區 即時熱門文章
                            12
                        
                            32