Appearance
CheckInRecord
概述
CheckInRecord 表示用户在景点进行打卡后的结果记录,用于保存一次打卡行为的核心信息,包括用户、景点、NFC 标签识别结果、打卡状态、积分发放情况及幂等控制信息。
业务含义
用户景点打卡结果记录。
字段定义
| 字段名 | 类型 | 必填 | 默认值 | 字段说明 | 状态值枚举 |
|---|---|---|---|---|---|
| recordId | string | 是 | - | 记录 ID | - |
| userId | string | 是 | - | 用户 ID | - |
| spotId | string | 是 | - | 景点 ID | - |
| nfcTagId | string | 是 | - | 识别到的标签 ID | - |
| result | enum | 是 | success | 打卡结果 | success, failed |
| rewardGranted | bool | 是 | false | 是否发放积分 | - |
| pointsReward | int | 是 | 0 | 奖励积分 | - |
| checkinAt | datetime | 是 | 当前时间 | 打卡时间 | - |
| idempotencyKey | string | 是 | - | 幂等键 | - |
枚举说明
result
success:打卡成功failed:打卡失败
设计要点
recordId用于唯一标识一条打卡记录。userId、spotId、nfcTagId用于标识打卡主体、目标景点及识别介质。rewardGranted与pointsReward配合使用,表示本次打卡是否发放积分以及实际奖励值。idempotencyKey用于保证打卡请求的幂等性,避免重复提交导致重复记账或重复发积分。checkinAt用于记录实际打卡时间,默认取当前时间。
