任務牆 table schema.md
81 additions, 16 deletions
| ... | ... | @@ -5,17 +5,17 @@ |
| 5 | - | category | String | 任務類別:指定條件型 / 累計型 / 關聯型 | 累計型 | | |
| 5 | + | category | String | 任務類別:指定條件型 / 多門檻型 / 關聯型 | 多門檻型 | | |
| 6 | - | activity_start_time | Timestamp | 活動開始時間| 2026-01-01 00:00:00 | | |
| 6 | + | activity_start_time | Timestamp | 活動開始時間/領獎開始時間 | 2026-01-01 00:00:00 | | |
| 7 | - | award_start_time | Timestamp | 領獎開始時間 | 2026-01-01 00:00:00 | | |
| 7 | + | display_share_button | boolean | 是否要顯示分享任務按鈕 | true | | |
| 8 | -| activity_type | String | 活動類型:兌換 / 核銷 / 信用卡 / 登入 / mgm | 登入 | | |
| 9 | - | category | String | 任務類別:指定條件型/ 累計型 / 關聯型 | 指定條件型 | | |
| 8 | + | activity_type | String | 活動類型:兌換點數/ 兌換票券 / 核銷 / 登入 / mgm / 第三方 | 登入 | | |
| 9 | +| category | String | 任務類別:指定條件型 / 多門檻型 / 關聯型 | 指定條件型 | | |
| 10 | -| dependency_id | Integer | 依賴的 sub_id (累積型任務使用 : 前置任務設定) [TaskSubSetting.id](http://TaskSubSetting.id) | 指定條件型的話此欄位為null | | |
| 11 | - | mission_content | String | 任務內容(條件限制):包含類型 (type)、方式 (method)、內容 (value)、單位 (unit) | EX. "serialId": [01,02,03,04,05,06,07,08,09,10]} | | |
| 10 | + | tier | Integer | 多門檻的level, 指定條件型的話此欄位為查詢任務列表的顯示順序 | | | |
| 11 | +| mission_content | String | 任務內容(條件限制):包含類型 (type)、方式 (method)、內容 (value)、單位 (unit) | EX. {<br>"field": "serial_id",<br>"operator": "in",<br>"values": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]<br>}<br> | | |
| 12 | -# | |
| 13 | - | |
| 14 | - | content | String | 詳細紀錄內容(raw data) | {<br> {<br> "ticket_id": "01", "name": "C券","point":"500","deduct_time":"2026/01/01 00:09:00","amount":1<br> },<br> {<br> "ticket_id": "01", "name": "C券","point":"500","deduct_time":"2026/01/01 09:09:00","amount":1<br> }<br>} | | |
| 12 | + | producer_id | String (unique) | kafka producer push id | | | |
| 13 | +| activity_type | String | 活動類型:兌換點數/ 兌換票券 / 核銷 / 登入 / mgm / 第三方 | | | |
| 14 | +| content | String | 詳細紀錄內容(raw data) | {<br> "type": "exchange",<br> "content": {<br> "serialId": "01", "name": "A券","point":"500","deduct_time":"2025/12/30 00:09:00","amount":2<br> }<br>} | | |
| 15 | - | record_id (rule engine寫入) | String | [FK] UserSummaryRecord<br>.id | 1 | | |
| 15 | + | record_id (rule engine寫入) | String | [FK] [UserEventLog.id](http://UserEventLog.id)<br> | 1 | | |
| 16 | - | category | String<br><br> | 任務類別:指定條件型 / 累計型 | 指定條件型 | | |
| 16 | + | category | String<br><br> | 任務類別:指定條件型 / 多門檻型 / 關聯型 | 指定條件型 | | |
| 17 | - | category | String | 獎勵類別:固定型 / 累積型 / 關聯型 | 累積型<br> | | |
| 17 | + | category | String | 類別:指定條件型 / 多門檻型 / 關聯型 | 多門檻型 | | |
| 18 | -| isFull | boolean | 是否已額滿 | false | | |
| 19 | -| category | String | 任務類型:指定型 / 累積型 | 累積型 | | |
| 20 | - | tier_index | Integer | 獎勵階層索引:<br>指定型:固定填 0<br>累積型:第 1 階填 1, 第 2 階填 2... | 2 | | |
| 18 | + | category | String | 類別:指定條件型 / 多門檻型 / 關聯型 | 多門檻型 | | |
| 19 | +| tier | Integer | 獎勵階層索引:<br>指定型:固定填 0<br>累積型:第 1 階填 1, 第 2 階填 2... | 2 | | |
| 20 | + | |
| 21 | +# 10. RuleEngineFlow | |
| 22 | + | |
| 23 | +| 名稱欄位 | 型態 | 欄位說明 | example | | |
| 24 | +| ---| ---| ---| --- | | |
| 25 | +| id | Integer | PK | 1 | | |
| 26 | +| CHAIN_APPLICATION | varchar(32) DEFAULT NULL, | | | | |
| 27 | +| CHAIN_ID | varchar(32) | | | | |
| 28 | +| CHAIN_NAME | varchar(100) DEFAULT NULL | | | | |
| 29 | +| CHAIN_DESCRIPTION | varchar(200) DEFAULT NULL, | | | | |
| 30 | +| EL_DATA | text | | | | |
| 31 | +| ROUTE | text | | | | |
| 32 | +| ENABLE | String | | | | |
| 33 | +| create_time | String | | | | |
| 34 | + | |
| 35 | +# cms傳來母任務的mission content寫法 | |
| 36 | + | |
| 37 | +```json | |
| 38 | +S001: "兌換商品serial 在 01~10 內的票券" | |
| 39 | +S002: "兌換商品名稱必須包含「星巴克 150 元券」與「威秀電影票」" | |
| 40 | +S003: "品名中包含 "現金券" or "抵用券"且 總兌換點數大於 500" | |
| 41 | + | |
| 42 | +{ | |
| 43 | + "logic": "and", | |
| 44 | + "rules": [ | |
| 45 | + { | |
| 46 | + "sub_id": "S001", | |
| 47 | + "field": "serial_id", | |
| 48 | + "operator": "in", | |
| 49 | + "values": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] | |
| 50 | + }, | |
| 51 | + { | |
| 52 | + "sub_id": "S002", | |
| 53 | + "field": "product_name", | |
| 54 | + "operator": "in", | |
| 55 | + "values": ["星巴克 150 元券", "威秀電影票"] | |
| 56 | + }, | |
| 57 | + { | |
| 58 | + "sub_id": "S003", | |
| 59 | + "logic": "and", | |
| 60 | + "rules": [ | |
| 61 | + { | |
| 62 | + "logic": "or", | |
| 63 | + "rules": [ | |
| 64 | + { | |
| 65 | + "field": "product_name", | |
| 66 | + "operator": "like", | |
| 67 | + "values": ["現金券"] | |
| 68 | + }, | |
| 69 | + { | |
| 70 | + "field": "product_name", | |
| 71 | + "operator": "like", | |
| 72 | + "values": ["抵用券"] | |
| 73 | + } | |
| 74 | + ] | |
| 75 | + }, | |
| 76 | + { | |
| 77 | + "field": "total_cub_points", | |
| 78 | + "operator": "gt", | |
| 79 | + "values": ["500"] | |
| 80 | + } | |
| 81 | + ] | |
| 82 | + } | |
| 83 | + ] | |
| 84 | +} | |
| 85 | +``` |