[討論] 會過期的點數,獲得和使用的記錄方式

看板Database (資料庫)作者 (function(){})()時間1年前 (2023/01/18 17:20), 1年前編輯推噓1(106)
留言7則, 2人參與, 1年前最新討論串1/1
使用者可以獲得點數並用來買東西,但是點數有使用期限, 使用點數時會自動優先從最快過期的點數開始使用。 考慮到人為操作時總會有出錯的時候,或者使用者可能會想要取消購買, 所以資料表需要記錄足夠的資訊,讓資料可以進行修改或是刪除。 假設使用者 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, 1年前 , 1F
路過,只是覺得好有親切感,我前年第一份工作的點數
01/18 19:09, 1F

01/18 19:09, 1年前 , 2F
系統也是在想怎麼規劃XD
01/18 19:09, 2F

01/25 23:05, 1年前 , 3F
購買後點數逾期再取消購買你還不還點數
01/25 23:05, 3F

01/25 23:07, 1年前 , 4F
點數這種東西基本要累點兌點還點到期還要逾期扣點這五個型態
01/25 23:07, 4F

01/25 23:08, 1年前 , 5F
才會有正確的balance
01/25 23:08, 5F

01/25 23:11, 1年前 , 6F
要更多功能性還可能要延遲生效所以不只建立日還要一個生效日
01/25 23:11, 6F

01/25 23:13, 1年前 , 7F
預算可能來自不同單位的話還要名目及點數來源的欄位
01/25 23:13, 7F
這個實際上是公司內部使用的系統,所以需求沒有一般的點數系統那麼複雜, 逾期後取消購買、延遲生效、預算來自不同單位這些都不在需求內。 累點兌點應該是指獲得和使用點數,逾期扣點也沒有問題,剩下的兩個型態是指什麼呢? ※ 編輯: Kenqr (123.194.140.105 臺灣), 01/30/2023 17:42:58
文章代碼(AID): #1ZnxdLsx (Database)
文章代碼(AID): #1ZnxdLsx (Database)