程式碼(clone 下來接著繼續做即可,裡面也有.sql檔可以匯入DB,也有 postman 的測試集合可以直import):
https://github.com/lucashsu95/coffee-shop-springboot
你受僱於一家剛起步的文青咖啡廳 "Code & Coffee"。老闆需要一個「庫存管理系統」來追蹤店內的咖啡豆和甜點。
老闆說:「我們賣兩種東西:咖啡豆 和 甜點。我需要你幫我管理庫存,包括進貨、出貨、查詢剩餘數量。特別注意,每次出貨時,要同時扣除庫存並記錄這筆交易,不然會計會瘋掉!」
| 欄位名稱 | 型別 | 說明 | 限制 |
|---|---|---|---|
| id | Long | 主鍵 | Auto Increment |
| name | String | 產品名稱 | NOT NULL, 最多50字 |
| type | String | 產品類型 | 只能是 "BEAN" 或 "DESSERT" |
| price | Integer | 單價 | NOT NULL, 必須 > 0 |
| stock | Integer | 庫存數量 | NOT NULL, 不可為負數 |
| 欄位名稱 | 型別 | 說明 | 限制 |
|---|---|---|---|
| id | Long | 主鍵 | Auto Increment |
| productId | Long | 關聯的產品ID | Foreign Key |
| type | String | 交易類型 | "IN" (進貨) 或 "OUT" (出貨) |
| quantity | Integer | 數量 | NOT NULL, 必須 > 0 |
| timestamp | LocalDateTime | 交易時間 | 自動記錄 |
GET /api/v1/products