任務紀錄 - 列表.md
416 additions, 34 deletions
| ... | ... | @@ -1,15 +1,28 @@ |
| 1 | +# 任務紀錄 | |
| 2 | + | |
| 1 | -任務紀錄首頁的列表 | |
| 2 | -### REFERENCE TABLE | |
| 3 | - * `DBMT.MISSION_SUMMARY_RECORD` | |
| 3 | + 查詢任務看板任務紀錄列表,支援多種條件篩選,包含任務主設定、任務子設定及會員資訊。支援未完成、可領取、已領取等顯示狀態查詢。 | |
| 4 | - ### ATTRIBUTES | |
| 4 | + ## REFERENCE TABLE | |
| 5 | + | |
| 6 | +### 任務相關 | |
| 7 | +* MISSION_SUMMARY_RECORD: 任務統計紀錄表 | |
| 8 | +* MISSION_MASTER_SETTING: 任務主設定表 | |
| 9 | +* MISSION_SUB_SETTING: 任務子設定表 | |
| 10 | +* AWARD_MISSION_SETTING: 任務獎勵設定表 | |
| 11 | +* MISSION_AWARD_RECORD: 任務派獎紀錄表 | |
| 12 | + | |
| 13 | +### 會員相關 | |
| 14 | +* ACCOUNT: 會員帳號表 | |
| 15 | + | |
| 16 | +## ATTRIBUTES | |
| 17 | + | |
| 5 | - * PATH: `/api/features/mission-board/record` | |
| 18 | + * PATH: `/api/features/mission-board/record/summary` | |
| 6 | - * PERMISSION: GET | |
| 19 | + * PERMISSION: `READ` | |
| 7 | - | Authorization | String | | JWT Token | | |
| 20 | + | Authorization | String | * | JWT Token | | |
| 8 | 21 | "Content-Type": "application/json", |
| 9 | 22 | "Authorization": "Bearer jwt-token", |
| 10 | -``` | |
| 11 | - | |
| 12 | -```json | |
| 13 | 23 | "x-request-id": "78f91284-d9df-43e6-a8d2-d557273c10bb" |
| 14 | - #### Query String | |
| 24 | + #### QUERY STRING PARAMETER | |
| 15 | -| Level | Name | Type/Len | Required(*) | Nullable(*) | Desc | | |
| 16 | -| ---| ---| ---| ---| ---| --- | | |
| 17 | -| 1 | page | Integer | | * | 頁籤 DEFAULT = 1 | | |
| 18 | -| 1 | per_page | Integer | | * | 筆數/頁 DEFAULT = 20 | | |
| 19 | -| 1 | summary_record__id | Integer | | | 任務紀錄 ID | | |
| 20 | -| 1 | summary_record__user_id | String | | | 身份證字號 | | |
| 21 | -| 1 | invite_code | String | | | 會員編號 | | |
| 22 | -| 1 | summary_record___master_id | Integer | | | 任務 ID | | |
| 23 | -| 1 | mission_master__name | String | | | 任務名稱 | | |
| 24 | -| 1 | mission_master__visible_start_time | Datetime | | | 上架時間(起) | | |
| 25 | - | 1 | mission_master__visible_end_time | Datetime | | | 上架時間(訖) | | |
| 25 | + | Name | Type/Len | Required(*) | Desc | Default | | |
| 26 | +| ---| ---| ---| ---| --- | | |
| 27 | +| page | Integer | | 頁碼 | 1 | | |
| 28 | +| per_page | Integer | | 每頁筆數 (可選: 20, 50, 100, 500) | 20 | | |
| 29 | +| id | Integer | | 統計紀錄 ID (精準查詢) | | | |
| 30 | +| status | Enum | | 顯示狀態 (NOT_FINISHED=未完成, CLAIMABLE=可領取, CLAIMED=已領取) | | | |
| 31 | +| user__user_id | String | | 身份證字號 (精準查詢) | | | |
| 32 | +| user__invite_code | String | | 會員編號 (精準查詢) | | | |
| 33 | +| mission_master__id | Integer | | 主任務 ID (精準查詢) | | | |
| 34 | +| mission_master__name | String | | 主任務名稱 (模糊搜尋) | | | |
| 35 | +| mission_master__visible_start_time | Datetime | | 主任務可見開始時間 (可見開始時間 <= 此時間) | | | |
| 36 | +| mission_master__visible_end_time | Datetime | | 主任務可見結束時間 (可見結束時間 >= 此時間) | | | |
| 37 | +| mission_sub__id | Integer | | 子任務 ID (精準查詢) | | | |
| 38 | +| mission_sub__name | String | | 子任務名稱 (模糊搜尋) | | | |
| 39 | +```dpr | |
| 40 | +// Example - 查詢可領取狀態的任務紀錄 | |
| 41 | +GET /api/features/mission-board/record/summary?page=1&per_page=20&status=CLAIMABLE | |
| 42 | + | |
| 43 | +// Example - 查詢特定主任務的紀錄 | |
| 44 | +GET /api/features/mission-board/record/summary?mission_master__id=1&mission_master__name=每日簽到 | |
| 45 | + | |
| 46 | +// Example - 查詢特定會員的任務紀錄 | |
| 47 | +GET /api/features/mission-board/record/summary?user__user_id=A123456789&user__invite_code=ABC123456 | |
| 48 | + | |
| 49 | +// Example - 依時間範圍查詢 | |
| 50 | +GET /api/features/mission-board/record/summary?mission_master__visible_start_time=2024/12/01 00:00:00&mission_master__visible_end_time=2024/12/31 23:59:59 | |
| 51 | +``` | |
| 52 | + | |
| 26 | - * 201 | |
| 53 | + * 200 | |
| 54 | + | |
| 27 | - #### DATA | |
| 55 | + #### Data | |
| 28 | -| 2 | id | Integer | | 條件樣板 ID | | |
| 29 | -| 2 | name | String | | 條件樣板名稱 | | |
| 30 | -| 2 | category | Enum | | 條件樣板類型 | | |
| 31 | -| 2 | criteria | List(Dict) | | 條件限制 | | |
| 32 | -| 2 | create_id | Integer | | 建立 ID | | |
| 33 | -| 2 | update_id | Integer | * | 更新 ID | | |
| 34 | -| 2 | create_time | Datetime | | 建立時間 | | |
| 35 | - | 2 | update_time | Datetime | * | 更新時間 | | |
| 56 | + | 2 | pagination | Dict | | 分頁資訊 | | |
| 57 | +| 2 | items | List | | 任務紀錄列表 | | |
| 36 | - #### | |
| 58 | + #### pagination | |
| 59 | +| Level | Name | Type/Len | Nullable(*) | Desc | | |
| 60 | +| ---| ---| ---| ---| --- | | |
| 61 | +| 3 | page | Integer | | 當前頁碼 | | |
| 62 | +| 3 | per_page | Integer | | 每頁筆數 | | |
| 63 | +| 3 | pages | Integer | | 總頁數 | | |
| 64 | +| 3 | total | Integer | | 總筆數 | | |
| 65 | +| 3 | first | String | | 第一頁 URL | | |
| 66 | +| 3 | last | String | | 最後一頁 URL | | |
| 67 | +| 3 | prev | String | * | 上一頁 URL | | |
| 68 | +| 3 | next | String | * | 下一頁 URL | | |
| 69 | + | |
| 70 | +#### items | |
| 71 | + | |
| 72 | +| Level | Name | Type/Len | Nullable(*) | Desc | Source | | |
| 73 | +| ---| ---| ---| ---| ---| --- | | |
| 74 | +| 3 | id | Integer | | 統計紀錄 ID | `MISSION_SUMMARY_RECORD.ID` | | |
| 75 | +| 3 | user_id | String | | 用戶身份證字號 | `MISSION_SUMMARY_RECORD.USER_ID` | | |
| 76 | +| 3 | sum_count | Integer | * | 總累計次數/分數 | `MISSION_SUMMARY_RECORD.SUM_COUNT` | | |
| 77 | +| 3 | master_id | Integer | | 主任務 ID | `MISSION_SUMMARY_RECORD.MASTER_ID` | | |
| 78 | +| 3 | sub_id | Integer | * | 子任務 ID | `MISSION_SUMMARY_RECORD.SUB_ID` | | |
| 79 | +| 3 | sub_target | Integer | * | 子任務目標數 | `MISSION_SUMMARY_RECORD.SUB_TARGET` | | |
| 80 | +| 3 | category | Enum | | 任務類別 (ASSIGNED=指定型, MILESTONE=多門檻型, SEQUENTIAL=關聯型) | `MISSION_SUMMARY_RECORD.CATEGORY` | | |
| 81 | +| 3 | status | Enum | * | 任務狀態 (INCOMPLETE=未完成, COMPLETED=已完成) | `MISSION_SUMMARY_RECORD.STATUS` | | |
| 82 | +| 3 | display_status | Enum | * | 顯示狀態 (NOT_FINISHED=未完成, CLAIMABLE=可領取, CLAIMED=已領取) | Computed | | |
| 83 | +| 3 | create_time | Datetime | | 建立時間 | `MISSION_SUMMARY_RECORD.CREATE_TIME` | | |
| 84 | +| 3 | update_time | Datetime | * | 更新時間 | `MISSION_SUMMARY_RECORD.UPDATE_TIME` | | |
| 85 | +| 3 | mission_master | Dict | * | 主任務資訊 | - | | |
| 86 | +| 3 | mission_sub | Dict | * | 子任務資訊 | - | | |
| 87 | +| 3 | award_mission_setting | Dict | * | 獎勵設定資訊 | - | | |
| 88 | +| 3 | member | Dict | * | 會員資訊 | - | | |
| 89 | + | |
| 90 | +#### mission_master | |
| 91 | + | |
| 92 | +| Level | Name | Type/Len | Nullable(*) | Desc | Source | | |
| 93 | +| ---| ---| ---| ---| ---| --- | | |
| 94 | +| 4 | id | Integer | | 主任務 ID | `MISSION_MASTER_SETTING.ID` | | |
| 95 | +| 4 | name | String | | 主任務名稱 | `MISSION_MASTER_SETTING.NAME` | | |
| 96 | +| 4 | status | Enum | | 主任務狀態 (ACTIVE=啟用, INACTIVE=停用) | `MISSION_MASTER_SETTING.STATUS` | | |
| 97 | +| 4 | category | Enum | | 任務類別 (ASSIGNED=指定型, MILESTONE=多門檻型, SEQUENTIAL=關聯型) | `MISSION_MASTER_SETTING.CATEGORY` | | |
| 98 | +| 4 | description | String | | 主任務描述 | `MISSION_MASTER_SETTING.DESCRIPTION` | | |
| 99 | +| 4 | summary | String | | 主任務摘要 | `MISSION_MASTER_SETTING.SUMMARY` | | |
| 100 | +| 4 | visible_start_time | Datetime | * | 可見開始時間 | `MISSION_MASTER_SETTING.VISIBLE_START_TIME` | | |
| 101 | +| 4 | visible_end_time | Datetime | * | 可見結束時間 | `MISSION_MASTER_SETTING.VISIBLE_END_TIME` | | |
| 102 | +| 4 | activity_start_time | Datetime | * | 活動開始時間 | `MISSION_MASTER_SETTING.ACTIVITY_START_TIME` | | |
| 103 | +| 4 | activity_end_time | Datetime | * | 活動結束時間 | `MISSION_MASTER_SETTING.ACTIVITY_END_TIME` | | |
| 104 | +| 4 | award_end_time | Datetime | * | 獎勵結束時間 | `MISSION_MASTER_SETTING.AWARD_END_TIME` | | |
| 105 | +| 4 | rule_id | Integer | * | 規則 ID | `MISSION_MASTER_SETTING.RULE_ID` | | |
| 106 | + | |
| 107 | +#### mission_sub | |
| 108 | + | |
| 109 | +| Level | Name | Type/Len | Nullable(*) | Desc | Source | | |
| 110 | +| ---| ---| ---| ---| ---| --- | | |
| 111 | +| 4 | id | Integer | | 子任務 ID | `MISSION_SUB_SETTING.ID` | | |
| 112 | +| 4 | name | String | | 子任務名稱 | `MISSION_SUB_SETTING.NAME` | | |
| 113 | +| 4 | activity_type | Enum | | 活動類型 (LOGIN=登入, TRADE=交易, REFERRAL=推薦等) | `MISSION_SUB_SETTING.ACTIVITY_TYPE` | | |
| 114 | +| 4 | category | Enum | | 任務類別 (ASSIGNED=指定型, MILESTONE=多門檻型, SEQUENTIAL=關聯型) | `MISSION_SUB_SETTING.CATEGORY` | | |
| 115 | +| 4 | master_id | Integer | | 主任務 ID | `MISSION_SUB_SETTING.MASTER_ID` | | |
| 116 | + | |
| 117 | +#### award_mission_setting | |
| 118 | + | |
| 119 | +| Level | Name | Type/Len | Nullable(*) | Desc | Source | | |
| 120 | +| ---| ---| ---| ---| ---| --- | | |
| 121 | +| 4 | id | Integer | | 獎勵設定 ID | `AWARD_MISSION_SETTING.ID` | | |
| 122 | +| 4 | sub_id | Integer | * | 子任務 ID | `AWARD_MISSION_SETTING.SUB_ID` | | |
| 123 | +| 4 | master_id | Integer | | 主任務 ID | `AWARD_MISSION_SETTING.MASTER_ID` | | |
| 124 | +| 4 | award_type | Enum | * | 獎勵類型 (POINT=點數, VOUCHER=票券) | `AWARD_MISSION_SETTING.AWARD_TYPE` | | |
| 125 | +| 4 | award_content | String | * | 獎勵內容 | `AWARD_MISSION_SETTING.AWARD_CONTENT` | | |
| 126 | +| 4 | award_code | String | * | 獎勵代碼 | `AWARD_MISSION_SETTING.AWARD_CODE` | | |
| 127 | +| 4 | award_group_id | String | * | 獎項群組 ID | `AWARD_MISSION_SETTING.AWARD_GROUP_ID` | | |
| 128 | +| 4 | category | Enum | | 任務類別 (ASSIGNED=指定型, MILESTONE=多門檻型, SEQUENTIAL=關聯型) | `AWARD_MISSION_SETTING.CATEGORY` | | |
| 129 | +| 4 | quota | Integer | * | 配額限制 | `AWARD_MISSION_SETTING.QUOTA` | | |
| 130 | +| 4 | create_time | Datetime | | 建立時間 | `AWARD_MISSION_SETTING.CREATE_TIME` | | |
| 131 | +| 4 | update_time | Datetime | * | 更新時間 | `AWARD_MISSION_SETTING.UPDATE_TIME` | | |
| 132 | + | |
| 133 | +#### member | |
| 134 | + | |
| 135 | +| Level | Name | Type/Len | Nullable(*) | Desc | Source | | |
| 136 | +| ---| ---| ---| ---| ---| --- | | |
| 137 | +| 4 | id | String | | 會員身份證字號 | `ACCOUNT.ID` | | |
| 138 | +| 4 | invite_code | String | * | 推薦碼/會員編號 | `ACCOUNT.INVITE_CODE` | | |
| 139 | + | |
| 140 | +```json | |
| 141 | +// Example: | |
| 142 | +{ | |
| 143 | + "status": "SUCCESS", | |
| 144 | + "data": { | |
| 145 | + "pagination": { | |
| 146 | + "page": 1, | |
| 147 | + "per_page": 20, | |
| 148 | + "pages": 1, | |
| 149 | + "total": 5, | |
| 150 | + "first": "/api/features/mission-board/record/summary?page=1&per_page=20", | |
| 151 | + "last": "/api/features/mission-board/record/summary?page=1&per_page=20", | |
| 152 | + "prev": null, | |
| 153 | + "next": null | |
| 154 | + }, | |
| 155 | + "items": [ | |
| 156 | + { | |
| 157 | + "id": 5, | |
| 158 | + "user_id": "E123456789", | |
| 159 | + "sum_count": 1, | |
| 160 | + "master_id": 1, | |
| 161 | + "sub_id": 1, | |
| 162 | + "sub_target": 1, | |
| 163 | + "category": "ASSIGNED", | |
| 164 | + "status": "COMPLETED", | |
| 165 | + "display_status": "CLAIMABLE", | |
| 166 | + "create_time": "2026/03/10 10:00:00", | |
| 167 | + "update_time": "2026/03/10 10:05:00", | |
| 168 | + "mission_master": { | |
| 169 | + "id": 1, | |
| 170 | + "name": "每日簽到任務", | |
| 171 | + "status": "ACTIVE", | |
| 172 | + "category": "ASSIGNED", | |
| 173 | + "description": "每天登入即可完成任務", | |
| 174 | + "summary": "連續簽到獲得更多獎勵", | |
| 175 | + "visible_start_time": "2026/03/01 00:00:00", | |
| 176 | + "visible_end_time": "2026/03/31 23:59:59", | |
| 177 | + "activity_start_time": "2026/03/01 00:00:00", | |
| 178 | + "activity_end_time": "2026/03/31 23:59:59", | |
| 179 | + "award_end_time": "2026/04/07 23:59:59", | |
| 180 | + "rule_id": 1 | |
| 181 | + }, | |
| 182 | + "mission_sub": { | |
| 183 | + "id": 1, | |
| 184 | + "name": "每日登入", | |
| 185 | + "activity_type": "LOGIN", | |
| 186 | + "category": "ASSIGNED", | |
| 187 | + "master_id": 1 | |
| 188 | + }, | |
| 189 | + "award_mission_setting": { | |
| 190 | + "id": 1, | |
| 191 | + "sub_id": 1, | |
| 192 | + "master_id": 1, | |
| 193 | + "award_type": "POINT", | |
| 194 | + "award_content": "100點", | |
| 195 | + "award_code": "DAILY_LOGIN_100", | |
| 196 | + "award_group_id": "1", | |
| 197 | + "category": "ASSIGNED", | |
| 198 | + "quota": 1, | |
| 199 | + "create_time": "2026/03/01 00:00:00", | |
| 200 | + "update_time": null | |
| 201 | + }, | |
| 202 | + "member": { | |
| 203 | + "id": "E123456789", | |
| 204 | + "invite_code": "MEM12345" | |
| 205 | + } | |
| 206 | + }, | |
| 207 | + { | |
| 208 | + "id": 4, | |
| 209 | + "user_id": "D987654321", | |
| 210 | + "sum_count": 1, | |
| 211 | + "master_id": 1, | |
| 212 | + "sub_id": 1, | |
| 213 | + "sub_target": 1, | |
| 214 | + "category": "ASSIGNED", | |
| 215 | + "status": "COMPLETED", | |
| 216 | + "display_status": "CLAIMED", | |
| 217 | + "create_time": "2026/03/10 09:30:00", | |
| 218 | + "update_time": "2026/03/10 09:40:00", | |
| 219 | + "mission_master": { | |
| 220 | + "id": 1, | |
| 221 | + "name": "每日簽到任務", | |
| 222 | + "status": "ACTIVE", | |
| 223 | + "category": "ASSIGNED", | |
| 224 | + "description": "每天登入即可完成任務", | |
| 225 | + "summary": "連續簽到獲得更多獎勵", | |
| 226 | + "visible_start_time": "2026/03/01 00:00:00", | |
| 227 | + "visible_end_time": "2026/03/31 23:59:59", | |
| 228 | + "activity_start_time": "2026/03/01 00:00:00", | |
| 229 | + "activity_end_time": "2026/03/31 23:59:59", | |
| 230 | + "award_end_time": "2026/04/07 23:59:59", | |
| 231 | + "rule_id": 1 | |
| 232 | + }, | |
| 233 | + "mission_sub": { | |
| 234 | + "id": 1, | |
| 235 | + "name": "每日登入", | |
| 236 | + "activity_type": "LOGIN", | |
| 237 | + "category": "ASSIGNED", | |
| 238 | + "master_id": 1 | |
| 239 | + }, | |
| 240 | + "award_mission_setting": { | |
| 241 | + "id": 1, | |
| 242 | + "sub_id": 1, | |
| 243 | + "master_id": 1, | |
| 244 | + "award_type": "POINT", | |
| 245 | + "award_content": "100點", | |
| 246 | + "award_code": "DAILY_LOGIN_100", | |
| 247 | + "award_group_id": "1", | |
| 248 | + "category": "ASSIGNED", | |
| 249 | + "quota": 1, | |
| 250 | + "create_time": "2026/03/01 00:00:00", | |
| 251 | + "update_time": null | |
| 252 | + }, | |
| 253 | + "member": { | |
| 254 | + "id": "D987654321", | |
| 255 | + "invite_code": "MEM67890" | |
| 256 | + } | |
| 257 | + }, | |
| 258 | + { | |
| 259 | + "id": 3, | |
| 260 | + "user_id": "C555666777", | |
| 261 | + "sum_count": 1, | |
| 262 | + "master_id": 1, | |
| 263 | + "sub_id": 1, | |
| 264 | + "sub_target": 1, | |
| 265 | + "category": "ASSIGNED", | |
| 266 | + "status": "COMPLETED", | |
| 267 | + "display_status": "CLAIMABLE", | |
| 268 | + "create_time": "2026/03/10 09:00:00", | |
| 269 | + "update_time": "2026/03/10 09:15:00", | |
| 270 | + "mission_master": { | |
| 271 | + "id": 1, | |
| 272 | + "name": "每日簽到任務", | |
| 273 | + "status": "ACTIVE", | |
| 274 | + "category": "ASSIGNED", | |
| 275 | + "description": "每天登入即可完成任務", | |
| 276 | + "summary": "連續簽到獲得更多獎勵", | |
| 277 | + "visible_start_time": "2026/03/01 00:00:00", | |
| 278 | + "visible_end_time": "2026/03/31 23:59:59", | |
| 279 | + "activity_start_time": "2026/03/01 00:00:00", | |
| 280 | + "activity_end_time": "2026/03/31 23:59:59", | |
| 281 | + "award_end_time": "2026/04/07 23:59:59", | |
| 282 | + "rule_id": 1 | |
| 283 | + }, | |
| 284 | + "mission_sub": { | |
| 285 | + "id": 1, | |
| 286 | + "name": "每日登入", | |
| 287 | + "activity_type": "LOGIN", | |
| 288 | + "category": "ASSIGNED", | |
| 289 | + "master_id": 1 | |
| 290 | + }, | |
| 291 | + "award_mission_setting": { | |
| 292 | + "id": 1, | |
| 293 | + "sub_id": 1, | |
| 294 | + "master_id": 1, | |
| 295 | + "award_type": "POINT", | |
| 296 | + "award_content": "100點", | |
| 297 | + "award_code": "DAILY_LOGIN_100", | |
| 298 | + "award_group_id": "1", | |
| 299 | + "category": "ASSIGNED", | |
| 300 | + "quota": 1, | |
| 301 | + "create_time": "2026/03/01 00:00:00", | |
| 302 | + "update_time": null | |
| 303 | + }, | |
| 304 | + "member": { | |
| 305 | + "id": "C555666777", | |
| 306 | + "invite_code": "MEM55566" | |
| 307 | + } | |
| 308 | + }, | |
| 309 | + { | |
| 310 | + "id": 2, | |
| 311 | + "user_id": "B222333444", | |
| 312 | + "sum_count": 0, | |
| 313 | + "master_id": 1, | |
| 314 | + "sub_id": 1, | |
| 315 | + "sub_target": 1, | |
| 316 | + "category": "ASSIGNED", | |
| 317 | + "status": "INCOMPLETE", | |
| 318 | + "display_status": "NOT_FINISHED", | |
| 319 | + "create_time": "2026/03/10 08:30:00", | |
| 320 | + "update_time": "2026/03/10 08:45:00", | |
| 321 | + "mission_master": { | |
| 322 | + "id": 1, | |
| 323 | + "name": "每日簽到任務", | |
| 324 | + "status": "ACTIVE", | |
| 325 | + "category": "ASSIGNED", | |
| 326 | + "description": "每天登入即可完成任務", | |
| 327 | + "summary": "連續簽到獲得更多獎勵", | |
| 328 | + "visible_start_time": "2026/03/01 00:00:00", | |
| 329 | + "visible_end_time": "2026/03/31 23:59:59", | |
| 330 | + "activity_start_time": "2026/03/01 00:00:00", | |
| 331 | + "activity_end_time": "2026/03/31 23:59:59", | |
| 332 | + "award_end_time": "2026/04/07 23:59:59", | |
| 333 | + "rule_id": 1 | |
| 334 | + }, | |
| 335 | + "mission_sub": { | |
| 336 | + "id": 1, | |
| 337 | + "name": "每日登入", | |
| 338 | + "activity_type": "LOGIN", | |
| 339 | + "category": "ASSIGNED", | |
| 340 | + "master_id": 1 | |
| 341 | + }, | |
| 342 | + "award_mission_setting": { | |
| 343 | + "id": 1, | |
| 344 | + "sub_id": 1, | |
| 345 | + "master_id": 1, | |
| 346 | + "award_type": "POINT", | |
| 347 | + "award_content": "100點", | |
| 348 | + "award_code": "DAILY_LOGIN_100", | |
| 349 | + "award_group_id": "1", | |
| 350 | + "category": "ASSIGNED", | |
| 351 | + "quota": 1, | |
| 352 | + "create_time": "2026/03/01 00:00:00", | |
| 353 | + "update_time": null | |
| 354 | + }, | |
| 355 | + "member": { | |
| 356 | + "id": "B222333444", | |
| 357 | + "invite_code": "MEM22233" | |
| 358 | + } | |
| 359 | + }, | |
| 360 | + { | |
| 361 | + "id": 1, | |
| 362 | + "user_id": "A123456789", | |
| 363 | + "sum_count": 0, | |
| 364 | + "master_id": 1, | |
| 365 | + "sub_id": 1, | |
| 366 | + "sub_target": 1, | |
| 367 | + "category": "ASSIGNED", | |
| 368 | + "status": "INCOMPLETE", | |
| 369 | + "display_status": "NOT_FINISHED", | |
| 370 | + "create_time": "2026/03/10 08:00:00", | |
| 371 | + "update_time": "2026/03/10 08:30:00", | |
| 372 | + "mission_master": { | |
| 373 | + "id": 1, | |
| 374 | + "name": "每日簽到任務", | |
| 375 | + "status": "ACTIVE", | |
| 376 | + "category": "ASSIGNED", | |
| 377 | + "description": "每天登入即可完成任務", | |
| 378 | + "summary": "連續簽到獲得更多獎勵", | |
| 379 | + "visible_start_time": "2026/03/01 00:00:00", | |
| 380 | + "visible_end_time": "2026/03/31 23:59:59", | |
| 381 | + "activity_start_time": "2026/03/01 00:00:00", | |
| 382 | + "activity_end_time": "2026/03/31 23:59:59", | |
| 383 | + "award_end_time": "2026/04/07 23:59:59", | |
| 384 | + "rule_id": 1 | |
| 385 | + }, | |
| 386 | + "mission_sub": { | |
| 387 | + "id": 1, | |
| 388 | + "name": "每日登入", | |
| 389 | + "activity_type": "LOGIN", | |
| 390 | + "category": "ASSIGNED", | |
| 391 | + "master_id": 1 | |
| 392 | + }, | |
| 393 | + "award_mission_setting": { | |
| 394 | + "id": 1, | |
| 395 | + "sub_id": 1, | |
| 396 | + "master_id": 1, | |
| 397 | + "award_type": "POINT", | |
| 398 | + "award_content": "100點", | |
| 399 | + "award_code": "DAILY_LOGIN_100", | |
| 400 | + "award_group_id": "1", | |
| 401 | + "category": "ASSIGNED", | |
| 402 | + "quota": 1, | |
| 403 | + "create_time": "2026/03/01 00:00:00", | |
| 404 | + "update_time": null | |
| 405 | + }, | |
| 406 | + "member": { | |
| 407 | + "id": "A123456789", | |
| 408 | + "invite_code": "MEM123" | |
| 409 | + } | |
| 410 | + } | |
| 411 | + ] | |
| 412 | + } | |
| 413 | +} | |
| 414 | +``` | |
| 415 | + | |
| 37 | - | 400 | ValidationError | Product serial_id not exists | 商品 serial_id 不存在 | | |
| 416 | + | 400 | INVALID_PARAMETER | Invalid parameter | 參數格式錯誤 | | |
| 417 | +| 401 | UNAUTHORIZED | Unauthorized | 未授權存取 | | |
| 418 | +| 403 | FORBIDDEN | Forbidden | 無權限存取 | | |
| 419 | +| 500 | INTERNAL_SERVER_ERROR | Internal server error | 伺服器內部錯誤 | |