代理商/店铺表
| 字段名 |
说明 |
| id |
主键id |
| name |
代理商名称/店铺名称 |
| parent_shop_id |
上级代理/店铺 ID |
| created_at |
创建时间 |
| updated_at |
更新时间 |
| creator |
创建人(创建人ID) |
| updater |
更新人(更新人ID) |
| deleted_at |
删除时间 (为null为没有删除) |
账号表
| 字段名称 |
说明 |
| id |
主键ID |
| username |
用户名 |
| phone |
手机号 |
| password |
密码(用MD5加密) |
| user_type |
用户类型 1 root 2 平台/运营 3 代理 4 企业 |
| shop_id |
店铺ID 该账号绑定到哪个店铺下的 |
| parent_id |
账号上级(应当移除) |
| status |
0 禁用 1启用 |
| created_at |
创建时间 |
| updated_at |
更新时间 |
| creator |
创建人(创建人ID) |
| updater |
更新人(更新人ID) |
| deleted_at |
删除时间 (为null为没有删除) |
角色表
| 字段名称 |
说明 |
| id |
主键ID |
| role_name |
角色名称 |
| role_desc |
角色描述 |
| role_type |
角色类型 1 超级 2 代理 3 企业 |
| status |
0 禁用 1启用 |
| created_at |
创建时间 |
| updated_at |
更新时间 |
| creator |
创建人(创建人ID) |
| updater |
更新人(更新人ID) |
| deleted_at |
删除时间 (为null为没有删除) |
权限表(菜单/按钮/操作)
| 字段名称 |
说明 |
| id |
主键ID |
| perm_name |
权限名称 |
| perm_type |
权限类型 1 菜单 2 按钮 |
| url |
权限路径 菜单 按钮 |
| parent_id |
上级ID |
| perm_code |
权限编码 |
| sort |
排序 |
| status |
0 禁用 1启用 |
| created_at |
创建时间 |
| updated_at |
更新时间 |
| creator |
创建人(创建人ID) |
| updater |
更新人(更新人ID) |
| deleted_at |
删除时间 (为null为没有删除) |
账号-角色表
| 字段名 |
说明 |
| id |
主键ID |
| account_id |
账号ID |
| role_id |
角色ID |
| status |
0 禁用 1启用 |
| created_at |
创建时间 |
| updated_at |
更新时间 |
| creator |
创建人(创建人ID) |
| updater |
更新人(更新人ID) |
| deleted_at |
删除时间 (为null为没有删除) |
角色-权限表
| 字段名 |
说明 |
| id |
主键ID |
| role_id |
角色ID |
| perm_id |
权限ID |
| status |
0 禁用 1启用 |
| created_at |
创建时间 |
| updated_at |
更新时间 |
| creator |
创建人(创建人ID) |
| updater |
更新人(更新人ID) |
| deleted_at |
删除时间 (为null为没有删除) |
套餐系列(套餐分类)
| 字段名 |
说明 |
| id |
主键ID |
| code |
套餐系列编码 |
| name |
套餐系列名称 |
| type |
业务套餐类型 流量卡,号卡 |
| created_at |
创建时间 |
| updated_at |
更新时间 |
| creator |
创建人(创建人ID) |
| updater |
更新人(更新人ID) |
| deleted_at |
删除时间 (为null为没有删除) |
说明
type: 用以区分业务, 流量卡只能使用流量卡套餐 号卡只能使用号卡套餐
套餐表
| 字段名 |
说明 |
| id |
主键ID |
| code |
套餐编码 |
| 套餐系列code |
套餐系列code |
| type |
套餐类型 叠加包/月卡套餐/自然月套餐/ |
| name |
套餐名称 |
| created_at |
创建时间 |
| updated_at |
更新时间 |
| creator |
创建人(创建人ID) |
| updater |
更新人(更新人ID) |
| deleted_at |
删除时间 (为null为没有删除) |
说明:
judgment_target: 销售数量存储个数,销售金额存储分
代理/店铺套餐表
| 字段名 |
说明 |
| id |
主键ID |
| shop_id |
代理/店铺ID |
| 套餐系列名称 |
套餐系列名称 |
| 套餐系列ID |
套餐系列的主键ID |
| 套餐code |
套餐编码 |
| 套餐名称 |
套餐名称 |
| created_at |
创建时间 |
| updated_at |
更新时间 |
| creator |
创建人(创建人ID) |
| updater |
更新人(更新人ID) |
| deleted_at |
删除时间 (为null为没有删除) |
流量卡表
| 字段名 |
说明 |
| id |
主键ID |
| created_at |
创建时间 |
| updated_at |
更新时间 |
| creator |
创建人(创建人ID) |
| updater |
更新人(更新人ID) |
| deleted_at |
删除时间 (为null为没有删除) |
返佣梯度模板表
用途: 预设的返佣梯度模板,提供初始配置值,可被多个代理引用
| 字段名 |
类型 |
约束 |
说明 |
| id |
BIGSERIAL |
PRIMARY KEY |
主键 |
| template_name |
VARCHAR(100) |
NOT NULL |
模板名称 |
| template_code |
VARCHAR(50) |
NOT NULL UNIQUE |
模板编码(唯一标识) |
| description |
TEXT |
NULL |
模板说明 |
| card_type |
VARCHAR(20) |
NOT NULL |
卡类型: phone_card(号卡) / iot_card(物联网卡) |
| judgment_type |
VARCHAR(20) |
NOT NULL |
判断类型: sales_quantity(套餐销售数量) / sales_amount(套餐销售金额) |
| rebate_timing |
VARCHAR(20) |
NOT NULL |
返佣时效: immediate(即可返佣) / delayed(延迟返佣) |
| rebate_condition_type |
VARCHAR(20) |
NOT NULL |
返佣条件类型: accumulated_recharge(累计充值) / single_recharge(一次充值) |
| rebate_condition_amount |
BIGINT |
NOT NULL |
返佣条件目标值(分为单位) |
| require_sanwu_check |
BOOLEAN |
NOT NULL DEFAULT false |
是否三无校验(仅号卡需要,物联网卡不需要) |
| is_long_term |
BOOLEAN |
NOT NULL DEFAULT false |
是否长期返佣 |
| termination_type |
VARCHAR(20) |
NULL |
长期终止方式: month_count(指定月数) / end_date(指定日期) |
| termination_value |
VARCHAR(50) |
NULL |
终止值: 月数(如"36")或日期(如"2026-11-20") |
| is_active |
BOOLEAN |
NOT NULL DEFAULT true |
是否启用 |
| created_by |
BIGINT |
NOT NULL |
创建人 ID |
| created_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
创建时间 |
| updated_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
更新时间 |
| deleted_at |
TIMESTAMP |
NULL |
软删除时间 |
返佣梯度条目表
用途: 模板中的具体梯度条目,定义每个梯度的判断目标和返佣规则
| 字段名 |
类型 |
约束 |
说明 |
| id |
BIGSERIAL |
PRIMARY KEY |
主键 |
| template_id |
BIGINT |
NOT NULL |
关联模板 ID |
| tier_level |
INT |
NOT NULL |
梯度等级(从1开始递增) |
| judgment_target |
BIGINT |
NOT NULL |
判断目标值(数量或金额,金额以分为单位) |
| rebate_type |
VARCHAR(20) |
NOT NULL |
返佣属性: percentage(比例金额) / fixed(固定金额) |
| rebate_value |
BIGINT |
NOT NULL |
返佣假定值(比例用万分比,如1000=10%;固定金额用分) |
| max_cap_amount |
BIGINT |
NULL |
封顶金额(分为单位,NULL表示无封顶) |
| created_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
创建时间 |
| updated_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
更新时间 |
| deleted_at |
TIMESTAMP |
NULL |
软删除时间 |
说明:
rebate_value: 比例类型存储万分比(10000=100%, 1000=10%),固定金额存储分
judgment_target: 销售数量存储个数,销售金额存储分
代理商-套餐-返佣规则快照表
用途: 代理商分销套餐时生成的返佣规则快照,独立于模板,允许个性化调整
| 字段名 |
类型 |
约束 |
说明 |
| id |
BIGSERIAL |
PRIMARY KEY |
主键 |
| agent_id |
BIGINT |
NOT NULL |
代理商 ID |
| package_id |
BIGINT |
NOT NULL |
套餐 ID |
| template_id |
BIGINT |
NULL |
原始模板 ID(可为空,表示自定义规则) |
| rule_name |
VARCHAR(100) |
NOT NULL |
规则名称 |
| card_type |
VARCHAR(20) |
NOT NULL |
卡类型: phone_card / iot_card |
| judgment_type |
VARCHAR(20) |
NOT NULL |
判断类型 |
| rebate_timing |
VARCHAR(20) |
NOT NULL |
返佣时效 |
| rebate_condition_type |
VARCHAR(20) |
NOT NULL |
返佣条件类型 |
| rebate_condition_amount |
BIGINT |
NOT NULL |
返佣条件目标值(分) |
| require_sanwu_check |
BOOLEAN |
NOT NULL DEFAULT false |
是否三无校验 |
| is_long_term |
BOOLEAN |
NOT NULL DEFAULT false |
是否长期返佣 |
| termination_type |
VARCHAR(20) |
NULL |
长期终止方式 |
| termination_value |
VARCHAR(50) |
NULL |
终止值 |
| is_active |
BOOLEAN |
NOT NULL DEFAULT true |
是否启用 |
| created_by |
BIGINT |
NOT NULL |
创建人 ID |
| created_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
创建时间 |
| updated_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
更新时间 |
| deleted_at |
TIMESTAMP |
NULL |
软删除时间 |
代理商返佣规则梯度条目表
用途: 代理商快照规则中的具体梯度条目(从模板复制或自定义)
| 字段名 |
类型 |
约束 |
说明 |
| id |
BIGSERIAL |
PRIMARY KEY |
主键 |
| rule_id |
BIGINT |
NOT NULL |
关联规则 ID |
| tier_level |
INT |
NOT NULL |
梯度等级 |
| judgment_target |
BIGINT |
NOT NULL |
判断目标值 |
| rebate_type |
VARCHAR(20) |
NOT NULL |
返佣属性 |
| rebate_value |
BIGINT |
NOT NULL |
返佣假定值 |
| max_cap_amount |
BIGINT |
NULL |
封顶金额 |
| created_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
创建时间 |
| updated_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
更新时间 |
| deleted_at |
TIMESTAMP |
NULL |
软删除时间 |
佣金记录表
用途: 记录每一笔佣金的生成、状态变化、金额计算等核心信息
| 字段名 |
类型 |
约束 |
说明 |
| id |
BIGSERIAL |
PRIMARY KEY |
主键 |
| record_no |
VARCHAR(50) |
NOT NULL UNIQUE |
佣金记录号(业务唯一标识) |
| agent_id |
BIGINT |
NOT NULL |
代理商 ID |
| package_id |
BIGINT |
NOT NULL |
套餐 ID |
| rule_id |
BIGINT |
NOT NULL |
返佣规则 ID |
| tier_item_id |
BIGINT |
NOT NULL |
梯度条目 ID |
| related_identifier |
VARCHAR(50) |
NOT NULL |
关联标识符(ICCID 或号码) |
| identifier_type |
VARCHAR(20) |
NOT NULL |
标识符类型: iccid / phone_number |
| card_type |
VARCHAR(20) |
NOT NULL |
卡类型: phone_card / iot_card |
| billing_month |
VARCHAR(7) |
NOT NULL |
计费月份(格式: YYYY-MM) |
| judgment_type |
VARCHAR(20) |
NOT NULL |
判断类型 |
| judgment_value |
BIGINT |
NOT NULL |
判断实际值(数量或金额) |
| rebate_timing |
VARCHAR(20) |
NOT NULL |
返佣时效 |
| rebate_type |
VARCHAR(20) |
NOT NULL |
返佣属性 |
| rebate_base_amount |
BIGINT |
NOT NULL |
返佣基数(成本价,分) |
| rebate_rate |
BIGINT |
NULL |
返佣比例(万分比,仅比例类型) |
| commission_amount |
BIGINT |
NOT NULL |
佣金金额(分) |
| status |
VARCHAR(20) |
NOT NULL |
状态: frozen(已冻结) / normal(正常) / invalid(无效) / withdraw_pending(提取申请中) / withdraw_rejected(提取驳回) / withdrawn(已提取) / clawback(已回溯) |
| freeze_reason |
TEXT |
NULL |
冻结原因 |
| invalid_reason |
TEXT |
NULL |
无效原因 |
| clawback_reason |
TEXT |
NULL |
回溯原因 |
| clawback_amount |
BIGINT |
NOT NULL DEFAULT 0 |
回溯金额(分,负数表示扣减) |
| is_long_term |
BOOLEAN |
NOT NULL DEFAULT false |
是否长期返佣 |
| long_term_month_index |
INT |
NULL |
长期返佣月份索引(第几个月) |
| frozen_at |
TIMESTAMP |
NULL |
冻结时间 |
| unfrozen_at |
TIMESTAMP |
NULL |
解冻时间 |
| unfrozen_by |
BIGINT |
NULL |
解冻操作人 ID |
| invalidated_at |
TIMESTAMP |
NULL |
标记无效时间 |
| invalidated_by |
BIGINT |
NULL |
标记无效操作人 ID |
| clawback_at |
TIMESTAMP |
NULL |
回溯时间 |
| clawback_by |
BIGINT |
NULL |
回溯操作人 ID |
| created_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
创建时间 |
| updated_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
更新时间 |
| deleted_at |
TIMESTAMP |
NULL |
软删除时间 |
状态流转说明:
frozen → normal: 解冻
frozen → invalid: 巡检发现不满足条件
normal → withdraw_pending: 提交提现申请
withdraw_pending → withdrawn: 审批通过
withdraw_pending → withdraw_rejected: 审批驳回
withdraw_rejected → normal: 问题解决后恢复
withdrawn → clawback: 客户退款导致回溯
佣金解冻凭证表
用途: 记录运营提交的解冻凭证,支持批量解冻操作
| 字段名 |
类型 |
约束 |
说明 |
| id |
BIGSERIAL |
PRIMARY KEY |
主键 |
| voucher_no |
VARCHAR(50) |
NOT NULL UNIQUE |
凭证批次号 |
| voucher_source |
VARCHAR(50) |
NOT NULL |
凭证来源: carrier_official(运营商官方) / upstream_channel(上游渠道) / other(其他) |
| voucher_file_url |
TEXT |
NULL |
凭证文件 URL |
| billing_month |
VARCHAR(7) |
NOT NULL |
结算月份 |
| total_count |
INT |
NOT NULL DEFAULT 0 |
凭证包含总数 |
| unfrozen_count |
INT |
NOT NULL DEFAULT 0 |
成功解冻数量 |
| failed_count |
INT |
NOT NULL DEFAULT 0 |
解冻失败数量 |
| unfreeze_password |
VARCHAR(100) |
NULL |
解冻密码(加密存储) |
| status |
VARCHAR(20) |
NOT NULL |
状态: pending(待处理) / processing(处理中) / completed(已完成) / failed(失败) |
| process_started_at |
TIMESTAMP |
NULL |
处理开始时间 |
| process_completed_at |
TIMESTAMP |
NULL |
处理完成时间 |
| created_by |
BIGINT |
NOT NULL |
创建人 ID |
| created_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
创建时间 |
| updated_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
更新时间 |
| deleted_at |
TIMESTAMP |
NULL |
软删除时间 |
佣金解冻凭证明细表
用途: 解冻凭证中的每条 ICCID/号码记录
| 字段名 |
类型 |
约束 |
说明 |
| id |
BIGSERIAL |
PRIMARY KEY |
主键 |
| voucher_id |
BIGINT |
NOT NULL |
关联凭证 ID |
| identifier |
VARCHAR(50) |
NOT NULL |
ICCID 或号码 |
| identifier_type |
VARCHAR(20) |
NOT NULL |
标识符类型: iccid / phone_number |
| commission_record_id |
BIGINT |
NULL |
关联佣金记录 ID(匹配后填充) |
| sanwu_check_passed |
BOOLEAN |
NULL |
三无校验是否通过 |
| traffic_usage |
BIGINT |
NULL |
流量用量(字节) |
| voice_usage |
BIGINT |
NULL |
语音用量(秒) |
| sms_usage |
INT |
NULL |
短信用量(条) |
| unfreeze_result |
VARCHAR(20) |
NOT NULL |
解冻结果: success(成功) / failed(失败) / not_found(未找到) |
| fail_reason |
TEXT |
NULL |
失败原因 |
| unfrozen_at |
TIMESTAMP |
NULL |
解冻时间 |
| created_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
创建时间 |
| updated_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
更新时间 |
提现申请表
用途: 代理商的提现申请记录
| 字段名 |
类型 |
约束 |
说明 |
| id |
BIGSERIAL |
PRIMARY KEY |
主键 |
| request_no |
VARCHAR(50) |
NOT NULL UNIQUE |
提现申请单号 |
| agent_id |
BIGINT |
NOT NULL |
代理商 ID |
| withdrawal_amount |
BIGINT |
NOT NULL |
提现金额(分) |
| available_balance |
BIGINT |
NOT NULL |
申请时可用余额(分) |
| bank_account_name |
VARCHAR(100) |
NOT NULL |
收款账户名 |
| bank_account_number |
VARCHAR(50) |
NOT NULL |
收款账号 |
| bank_name |
VARCHAR(100) |
NOT NULL |
开户行 |
| status |
VARCHAR(20) |
NOT NULL |
状态: pending(待审批) / approved(已批准) / rejected(已驳回) / paid(已放款) / failed(放款失败) |
| reject_reason |
TEXT |
NULL |
驳回原因 |
| paid_amount |
BIGINT |
NULL |
实际放款金额(分) |
| paid_at |
TIMESTAMP |
NULL |
放款时间 |
| paid_by |
BIGINT |
NULL |
放款操作人 ID |
| payment_voucher_url |
TEXT |
NULL |
放款凭证 URL |
| transaction_no |
VARCHAR(100) |
NULL |
支付流水号 |
| created_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
创建时间 |
| updated_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
更新时间 |
| deleted_at |
TIMESTAMP |
NULL |
软删除时间 |
提现审批记录表
用途: 提现申请的审批流程记录,支持多级审批和操作留痕
| 字段名 |
类型 |
约束 |
说明 |
| id |
BIGSERIAL |
PRIMARY KEY |
主键 |
| request_id |
BIGINT |
NOT NULL |
关联提现申请 ID |
| approval_level |
INT |
NOT NULL |
审批级别(1,2,3...) |
| approver_id |
BIGINT |
NOT NULL |
审批人 ID |
| approver_name |
VARCHAR(100) |
NOT NULL |
审批人姓名 |
| action |
VARCHAR(20) |
NOT NULL |
操作: approve(批准) / reject(驳回) / pay(放款) |
| comment |
TEXT |
NULL |
审批意见 |
| approved_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
审批时间 |
| created_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
创建时间 |
说明:
- 每次审批操作(批准/驳回/放款)都会插入一条记录
approval_level 用于区分多级审批流程
action='pay' 的记录代表最终放款操作
提现-佣金关联表
用途: 关联提现申请和具体的佣金记录,支持一次提现包含多笔佣金
| 字段名 |
类型 |
约束 |
说明 |
| id |
BIGSERIAL |
PRIMARY KEY |
主键 |
| request_id |
BIGINT |
NOT NULL |
关联提现申请 ID |
| commission_record_id |
BIGINT |
NOT NULL |
关联佣金记录 ID |
| commission_amount |
BIGINT |
NOT NULL |
佣金金额(分) |
| created_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
创建时间 |
代理商佣金账户表
用途: 代理商的佣金账户余额和统计信息(实时显示分佣金额)
| 字段名 |
类型 |
约束 |
说明 |
| id |
BIGSERIAL |
PRIMARY KEY |
主键 |
| agent_id |
BIGINT |
NOT NULL UNIQUE |
代理商 ID |
| total_earned |
BIGINT |
NOT NULL DEFAULT 0 |
累计获得佣金(分) |
| frozen_amount |
BIGINT |
NOT NULL DEFAULT 0 |
冻结中金额(分) |
| available_amount |
BIGINT |
NOT NULL DEFAULT 0 |
可提现金额(分) |
| withdrawn_amount |
BIGINT |
NOT NULL DEFAULT 0 |
已提现金额(分) |
| invalid_amount |
BIGINT |
NOT NULL DEFAULT 0 |
无效佣金金额(分) |
| clawback_amount |
BIGINT |
NOT NULL DEFAULT 0 |
已回溯金额(分) |
| pending_withdrawal_amount |
BIGINT |
NOT NULL DEFAULT 0 |
提现申请中金额(分) |
| last_withdrawal_at |
TIMESTAMP |
NULL |
最后提现时间 |
| created_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
创建时间 |
| updated_at |
TIMESTAMP |
NOT NULL DEFAULT CURRENT_TIMESTAMP |
更新时间 |
字段计算规则:
available_amount = 状态为 normal 的佣金总和
frozen_amount = 状态为 frozen 的佣金总和
pending_withdrawal_amount = 状态为 withdraw_pending 的佣金总和
withdrawn_amount = 状态为 withdrawn 的佣金总和
invalid_amount = 状态为 invalid 的佣金总和
clawback_amount = 所有 clawback_amount 字段的累加(负数)