# member_stored_value_cards 会员储值/卡券账户

> 生成时间：2026-02-14

## 表信息

| 属性 | 值 |
|------|-----|
| Schema | ods |
| 表名 | member_stored_value_cards |
| 主键 | id, content_hash |
| 数据来源 | export/test-json-doc/member_stored_value_cards.json |
| 说明 | 会员储值/卡券账户列表 |

## 字段说明

| 序号 | 字段名 | 类型 | 可空 | 说明 |
|------|--------|------|------|------|
| 1 | tenant_id | BIGINT | YES | 租户/品牌 ID，与其他 JSON 中 tenant_id 一致 |
| 2 | tenant_member_id | BIGINT | YES | 当前商户（品牌/租户）中会员的主键 ID |
| 3 | system_member_id | BIGINT | YES | 系统级会员 ID（跨门店统一主键） |
| 4 | register_site_id | BIGINT | YES | 卡首次办理的门店 ID |
| 5 | site_name | TEXT | YES | 卡归属门店名称（视图中的展示字段） |
| 6 | id | BIGINT | NO | 本表主键 ID，用于唯一标识一条记录 |
| 7 | member_card_grade_code | BIGINT | YES | 卡等级/卡类代码，和下面两个名称字段一一对应 |
| 8 | member_card_grade_code_name | TEXT | YES | 卡等级/卡类名称 |
| 9 | member_card_type_name | TEXT | YES | 卡类型名称，实际与 member_card_grade_code_name 一致 |
| 10 | member_name | TEXT | YES | 持卡会员姓名快照 |
| 11 | member_mobile | TEXT | YES | 持卡会员手机号快照 |
| 12 | card_type_id | BIGINT | YES | 卡种 ID（定义“这是哪一种卡”） |
| 13 | card_no | TEXT | YES | 实体卡物理卡号／条码号 |
| 14 | card_physics_type | TEXT | YES | 物理卡类型 |
| 15 | balance | NUMERIC(18,2) | YES | 当前卡内余额（主要针对储值卡、部分券卡） |
| 16 | denomination | NUMERIC(18,2) | YES | 采用“几折”的记法：10=不打折，9=九折，8=八折 |
| 17 | table_discount | NUMERIC(10,4) | YES | 数量/时长字段，用于统计与计量 |
| 18 | goods_discount | NUMERIC(10,4) | YES | 数量/时长字段，用于统计与计量 |
| 19 | assistant_discount | NUMERIC(10,4) | YES | 数量/时长字段，用于统计与计量 |
| 20 | assistant_reward_discount | NUMERIC(10,4) | YES | 数量/时长字段，用于统计与计量 |
| 21 | table_service_discount | NUMERIC(10,4) | YES | 数量/时长字段，用于统计与计量 |
| 22 | assistant_service_discount | NUMERIC(10,4) | YES | 数量/时长字段，用于统计与计量 |
| 23 | coupon_discount | NUMERIC(10,4) | YES | 数量/时长字段，用于统计与计量 |
| 24 | goods_service_discount | NUMERIC(10,4) | YES | 数量/时长字段，用于统计与计量 |
| 25 | assistant_discount_sub_switch | INTEGER | YES | 数量/时长字段，用于统计与计量 |
| 26 | table_discount_sub_switch | INTEGER | YES | 数量/时长字段，用于统计与计量 |
| 27 | goods_discount_sub_switch | INTEGER | YES | 数量/时长字段，用于统计与计量 |
| 28 | assistant_reward_discount_sub_switch | INTEGER | YES | 数量/时长字段，用于统计与计量 |
| 29 | table_service_deduct_radio | NUMERIC(10,4) | YES | 金额字段，用于计费/结算/分摊等金额计算 |
| 30 | assistant_service_deduct_radio | NUMERIC(10,4) | YES | 金额字段，用于计费/结算/分摊等金额计算 |
| 31 | goods_service_deduct_radio | NUMERIC(10,4) | YES | 金额字段，用于计费/结算/分摊等金额计算 |
| 32 | assistant_deduct_radio | NUMERIC(10,4) | YES | 金额字段，用于计费/结算/分摊等金额计算 |
| 33 | table_deduct_radio | NUMERIC(10,4) | YES | 金额字段，用于计费/结算/分摊等金额计算 |
| 34 | goods_deduct_radio | NUMERIC(10,4) | YES | 金额字段，用于计费/结算/分摊等金额计算 |
| 35 | coupon_deduct_radio | NUMERIC(10,4) | YES | 金额字段，用于计费/结算/分摊等金额计算 |
| 36 | assistant_reward_deduct_radio | NUMERIC(10,4) | YES | 金额字段，用于计费/结算/分摊等金额计算 |
| 37 | tablecarddeduct | NUMERIC(18,2) | YES | （待补充） |
| 38 | tableservicecarddeduct | NUMERIC(18,2) | YES | （待补充） |
| 39 | goodscardeduct | NUMERIC(18,2) | YES | （待补充） |
| 40 | goodsservicecarddeduct | NUMERIC(18,2) | YES | （待补充） |
| 41 | assistantcarddeduct | NUMERIC(18,2) | YES | （待补充） |
| 42 | assistantservicecarddeduct | NUMERIC(18,2) | YES | （待补充） |
| 43 | assistantrewardcarddeduct | NUMERIC(18,2) | YES | （待补充） |
| 44 | cardsettlededuct | NUMERIC(18,2) | YES | （待补充） |
| 45 | couponcarddeduct | NUMERIC(18,2) | YES | （待补充） |
| 46 | deliveryfeededuct | NUMERIC(18,2) | YES | （待补充） |
| 47 | use_scene | INTEGER | YES | 卡使用场景说明（比如“仅店内使用”“仅团建”等），本门店尚未使用此字段 |
| 48 | able_cross_site | INTEGER | YES | 是否允许跨店使用 |
| 49 | is_allow_give | INTEGER | YES | 是否允许转赠/转让给其他会员 |
| 50 | is_allow_order_deduct | INTEGER | YES | 是否允许在“订单层面统一扣款” |
| 51 | is_delete | INTEGER | YES | 逻辑删除标志 |
| 52 | bind_password | TEXT | YES | 卡绑定密码，用于消费或查询验证（目前未启用） |
| 53 | goods_discount_range_type | INTEGER | YES | 数量/时长字段，用于统计与计量 |
| 54 | goodscategoryid | BIGINT | YES | （待补充） |
| 55 | tableareaid | BIGINT | YES | （待补充） |
| 56 | effect_site_id | BIGINT | YES | 卡片限定生效门店 ID |
| 57 | start_time | TIMESTAMP | YES | 卡片生效开始时间（有效期起始） |
| 58 | end_time | TIMESTAMP | YES | 卡片有效期结束时间 |
| 59 | disable_start_time | TIMESTAMP | YES | 停用时间段（比如临时冻结卡的起止时间） |
| 60 | disable_end_time | TIMESTAMP | YES | 停用时间段（比如临时冻结卡的起止时间） |
| 61 | last_consume_time | TIMESTAMP | YES | 最近一次消费时间 |
| 62 | create_time | TIMESTAMP | YES | 卡片创建时间（开卡时间） |
| 63 | status | INTEGER | YES | 状态枚举，用于标识记录当前业务状态 |
| 64 | sort | INTEGER | YES | 在前端展示或某些列表中的排序权重 |
| 65 | tenantavatar | TEXT | YES | （待补充） |
| 66 | tenantname | TEXT | YES | （待补充） |
| 67 | pdassisnatlevel | TEXT | YES | （待补充） |
| 68 | cxassisnatlevel | TEXT | YES | （待补充） |
| 69 | source_file | TEXT | YES | ETL 元数据：原始导出文件名，用于数据追溯 |
| 70 | source_endpoint | TEXT | YES | ETL 元数据：采集来源（接口/文件路径），用于数据追溯 |
| 71 | fetched_at | TIMESTAMPTZ | YES | ETL 元数据：采集/入库时间戳，用于口径对齐与增量处理 |
| 72 | payload | JSONB | NO | ETL 元数据：完整原始 JSON 记录快照，用于回溯与二次解析 |
| 73 | content_hash | TEXT | NO | ETL 元数据：对业务字段计算 SHA256，用于变更检测与去重 |
| 74 | able_share_member_discount | BOOLEAN | YES | 是否可共享会员折扣 |
| 75 | electricity_deduct_radio | NUMERIC(18,4) | YES | 电费扣减比例 |
| 76 | electricity_discount | NUMERIC(18,4) | YES | 电费折扣 |
| 77 | electricitycarddeduct | BOOLEAN | YES | 电费卡扣 |
| 78 | member_grade | BIGINT | YES | 会员等级 |
| 79 | principal_balance | NUMERIC(18,2) | YES | 本金余额 |
| 80 | rechargefreezebalance | NUMERIC(18,2) | YES | 充值冻结余额 |

## 使用说明

```sql
-- 查询最新入库的记录
SELECT * FROM ods.member_stored_value_cards
ORDER BY fetched_at DESC
LIMIT 10;
```

```sql
-- 按业务主键查询某条记录的所有版本
SELECT * FROM ods.member_stored_value_cards
WHERE id = <value>
ORDER BY fetched_at DESC;
```

## ETL 元数据字段

| 字段名 | 类型 | 说明 |
|--------|------|------|
| content_hash | TEXT | 对业务字段计算 SHA256，用于变更检测与去重 |
| source_file | TEXT | 原始导出文件名，用于数据追溯 |
| source_endpoint | TEXT | 采集来源（接口/文件路径），用于数据追溯 |
| fetched_at | TIMESTAMPTZ | 采集/入库时间戳，用于口径对齐与增量处理 |
| payload | JSONB | 完整原始 JSON 记录快照，用于回溯与二次解析 |

## 可回溯性

| 项目 | 说明 |
|------|------|
| 可回溯 | ✅ 完全可回溯（保留 payload 原始 JSON） |
| 数据来源 | export/test-json-doc/member_stored_value_cards.json |
