Table Schema.md
69 additions, 20 deletions
| ... | ... | @@ -4,17 +4,17 @@ |
| 4 | -| id | UUID / INT | 主鍵 | 1 | | |
| 5 | -| category | ENUM | 模版類型:<br>voucher 指定票券<br>referral 會員推薦<br>member_login 會員登入 | voucher | | |
| 6 | - | name | VARCHAR(100) | 樣板名稱 | 指定品牌與點數過濾模板 | | |
| 4 | + | id | INT | 主鍵 | 1 | | |
| 5 | +| category | VARCHAR2(20) | 模版類型:<br>voucher 指定票券<br>referral 會員推薦<br>member_login 會員登入 | voucher | | |
| 6 | +| name | VARCHAR2(100) | 樣板名稱 | 指定品牌與點數過濾模板 | | |
| 7 | -| created_at | TIMESTAMP | 建立時間 | | | |
| 8 | - | updated_at | TIMESTAMP | 更新時間 | | | |
| 7 | + | create_time | TIMESTAMP | 建立時間 | | | |
| 8 | +| update_time | TIMESTAMP | 更新時間 | | | |
| 9 | - * 2026/01/13 討論確定當 values 裡的條件都會是 or | |
| 9 | + * 2026/01/13 討論確定 values 裡的條件都會是 or | |
| 10 | - ## 運算子 | |
| 10 | + ## | |
| 11 | -| 類別 | 運算子代碼 (Code) | 名稱 | 邏輯說明 | 適用場景範例 | | |
| 12 | -| ---| ---| ---| ---| --- | | |
| 13 | -| 字串/清單 | `eq` | 等於 | 完全匹配指定的字串 | 品名完全等於 "iPhone 15" | | |
| 14 | -| | `ne` | 不等於 | 排除指定的字串 | 排除品名為 "測試商品" | | |
| 15 | -| | `ilike` | 包含 | 模糊匹配 (不分大小寫) | 品牌名稱包含 "Nike" | | |
| 16 | -| | `not_ilike` | 不包含 | 排除包含特定字眼的資料 | 品名不包含 "福利品" | | |
| 17 | -| | `in` | 屬於 | 比對值是否存在於清單中 | 會員身份在 [CUBE 卡友, OO 卡友] 之中 | | |
| 18 | -| | `not_in` | 不屬於 | 排除清單中的特定 ID | 排除指定序號 [S001, S002] | | |
| 19 | -| 數值比較 | `gt` | 大於 | 數值必須超過指定值 | 點數需 > 500 | | |
| 20 | -| | `gte` | 大於等於 | 包含指定的邊際值 | 連續登入天數 >= 7 天 | | |
| 21 | -| | `lt` | 小於 | 數值必須低於指定值 | 限制兌換點數 < 100 | | |
| 22 | -| | `lte` | 小於等於 | 包含指定的邊際值 | 當前累積次數 <= 10 次 | | |
| 23 | - | | `between` | 區間 | 數值需在範圍內 (含邊界) | 點數介於 [100, 500] | | |
| 11 | + ## 實際組給 B2E 的 content | |
| 12 | + | |
| 13 | +```json | |
| 14 | +S001: "兌換商品serial 在 01~10 內的票券" | |
| 15 | +S002: "兌換商品名稱必須包含「星巴克 150 元券」與「威秀電影票」" | |
| 16 | +S003: "品名中包含 "現金券" or "抵用券"且 總兌換點數大於 500" | |
| 17 | +{ | |
| 18 | + "logic": "and", | |
| 19 | + "rules": [ | |
| 20 | + { | |
| 21 | + "sub_id": "S001", | |
| 22 | + "field": "serial_id", | |
| 23 | + "operator": "in", | |
| 24 | + "values": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] | |
| 25 | + }, | |
| 26 | + { | |
| 27 | + "sub_id": "S002", | |
| 28 | + "field": "product_name", | |
| 29 | + "operator": "in", | |
| 30 | + "values": ["星巴克 150 元券", "威秀電影票"] | |
| 31 | + }, | |
| 32 | + { | |
| 33 | + "sub_id": "S003", | |
| 34 | + "logic": "and", | |
| 35 | + "rules": [ | |
| 36 | + { | |
| 37 | + "logic": "or", | |
| 38 | + "rules": [ | |
| 39 | + { | |
| 40 | + "field": "product_name", | |
| 41 | + "operator": "like", | |
| 42 | + "values": ["現金券"] | |
| 43 | + }, | |
| 44 | + { | |
| 45 | + "field": "product_name", | |
| 46 | + "operator": "like", | |
| 47 | + "values": ["抵用券"] | |
| 48 | + } | |
| 49 | + ] | |
| 50 | + }, | |
| 51 | + { | |
| 52 | + "field": "total_cub_points", | |
| 53 | + "operator": "gt", | |
| 54 | + "values": ["500"] | |
| 55 | + } | |
| 56 | + ] | |
| 57 | + } | |
| 58 | + ] | |
| 59 | +} | |
| 60 | +``` | |
| 61 | + | |
| 62 | +## 任務牆名單檔 CMS_MISSION_MEMBER_LIST | |
| 63 | + | |
| 64 | +| 欄位名稱 (Field) | 資料型別 (Type) | 說明 (Description) | 範例 (Example) | | |
| 65 | +| ---| ---| ---| --- | | |
| 66 | +| id | INT | 主鍵 | 1 | | |
| 67 | +| task_master_id | INT | 任務牆主檔 ID [TaskMasterSetting.id](http://TaskMasterSetting.id)<br> | | | |
| 68 | +| type | VARCHAR2(10) | 名單類型 | BETA:封測<br>WHITE:白名單<br>BLACK:黑名單 | | |
| 69 | +| file_name | VARCHAR2(400) | 檔案名稱 | | | |
| 70 | +| file_path | VARCHAR2(4000) | 樣板描述 | | | |
| 71 | +| create_time | TIMESTAMP | 建立時間 | | | |
| 72 | +| update_time | TIMESTAMP | 更新時間 | | |