v1.0
This commit is contained in:
620
新代理系统完整文档.md
620
新代理系统完整文档.md
@@ -59,20 +59,20 @@
|
||||
|
||||
#### 2.1.1 agent(代理基本信息表)
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | bigint | 主键ID |
|
||||
| user_id | bigint | 用户ID(唯一) |
|
||||
| level | tinyint | 代理等级:1=普通,2=黄金,3=钻石 |
|
||||
| region | varchar(50) | 区域(可选) |
|
||||
| mobile | varchar(50) | 手机号(加密) |
|
||||
| wechat_id | varchar(100) | 微信号(可选) |
|
||||
| team_leader_id | bigint | 团队首领ID(钻石代理的ID) |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态:0=未删除,1=已删除 |
|
||||
| version | bigint | 版本号(乐观锁) |
|
||||
| 字段 | 类型 | 说明 |
|
||||
| -------------- | ------------ | -------------------------------- |
|
||||
| id | bigint | 主键ID |
|
||||
| user_id | bigint | 用户ID(唯一) |
|
||||
| level | tinyint | 代理等级:1=普通,2=黄金,3=钻石 |
|
||||
| region | varchar(50) | 区域(可选) |
|
||||
| mobile | varchar(50) | 手机号(加密) |
|
||||
| wechat_id | varchar(100) | 微信号(可选) |
|
||||
| team_leader_id | bigint | 团队首领ID(钻石代理的ID) |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态:0=未删除,1=已删除 |
|
||||
| version | bigint | 版本号(乐观锁) |
|
||||
|
||||
**索引**:
|
||||
- PRIMARY KEY (`id`)
|
||||
@@ -83,35 +83,35 @@
|
||||
|
||||
#### 2.1.2 agent_wallet(代理钱包表)
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | bigint | 主键ID |
|
||||
| agent_id | bigint | 代理ID(唯一) |
|
||||
| balance | decimal(10,2) | 可用余额 |
|
||||
| frozen_balance | decimal(10,2) | 冻结余额 |
|
||||
| total_earnings | decimal(10,2) | 累计收益 |
|
||||
| withdrawn_amount | decimal(10,2) | 已提现金额 |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
| 字段 | 类型 | 说明 |
|
||||
| ---------------- | ------------- | -------------- |
|
||||
| id | bigint | 主键ID |
|
||||
| agent_id | bigint | 代理ID(唯一) |
|
||||
| balance | decimal(10,2) | 可用余额 |
|
||||
| frozen_balance | decimal(10,2) | 冻结余额 |
|
||||
| total_earnings | decimal(10,2) | 累计收益 |
|
||||
| withdrawn_amount | decimal(10,2) | 已提现金额 |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
|
||||
#### 2.1.4 agent_relation(代理关系表)
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | bigint | 主键ID |
|
||||
| parent_id | bigint | 上级代理ID |
|
||||
| child_id | bigint | 下级代理ID |
|
||||
| relation_type | tinyint | 关系类型:1=直接关系,2=已脱离 |
|
||||
| detach_reason | varchar(200) | 脱离原因 |
|
||||
| detach_time | datetime | 脱离时间 |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
| 字段 | 类型 | 说明 |
|
||||
| ------------- | ------------ | ------------------------------ |
|
||||
| id | bigint | 主键ID |
|
||||
| parent_id | bigint | 上级代理ID |
|
||||
| child_id | bigint | 下级代理ID |
|
||||
| relation_type | tinyint | 关系类型:1=直接关系,2=已脱离 |
|
||||
| detach_reason | varchar(200) | 脱离原因 |
|
||||
| detach_time | datetime | 脱离时间 |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
|
||||
**关系类型说明**:
|
||||
- `relation_type = 1`: 直接关系(正常上下级)
|
||||
@@ -122,45 +122,45 @@
|
||||
|
||||
#### 2.1.5 agent_link(推广链接表)
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | bigint | 主键ID |
|
||||
| agent_id | bigint | 代理ID |
|
||||
| user_id | bigint | 用户ID |
|
||||
| product_id | bigint | 产品ID |
|
||||
| link_identifier | varchar(200) | 链接标识(加密) |
|
||||
| set_price | decimal(10,2) | 设定价格 |
|
||||
| 字段 | 类型 | 说明 |
|
||||
| ----------------- | ------------- | ----------------------------- |
|
||||
| id | bigint | 主键ID |
|
||||
| agent_id | bigint | 代理ID |
|
||||
| user_id | bigint | 用户ID |
|
||||
| product_id | bigint | 产品ID |
|
||||
| link_identifier | varchar(200) | 链接标识(加密) |
|
||||
| set_price | decimal(10,2) | 设定价格 |
|
||||
| actual_base_price | decimal(10,2) | 实际底价(基础底价+等级加成) |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
|
||||
**唯一约束**:
|
||||
- UNIQUE KEY `uk_agent_product_price` (`agent_id`, `product_id`, `set_price`, `del_state`)
|
||||
|
||||
#### 2.1.6 agent_order(代理订单表)
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | bigint | 主键ID |
|
||||
| agent_id | bigint | 代理ID |
|
||||
| order_id | bigint | 订单ID |
|
||||
| product_id | bigint | 产品ID |
|
||||
| order_amount | decimal(10,2) | 订单金额(SetPrice) |
|
||||
| set_price | decimal(10,2) | 设定价格 |
|
||||
| actual_base_price | decimal(10,2) | 实际底价 |
|
||||
| price_cost | decimal(10,2) | 提价成本 |
|
||||
| agent_profit | decimal(10,2) | 代理收益 |
|
||||
| process_status | tinyint | 处理状态:0=待处理,1=处理成功,2=处理失败 |
|
||||
| process_time | datetime | 处理时间 |
|
||||
| process_remark | varchar(500) | 处理备注 |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
| 字段 | 类型 | 说明 |
|
||||
| ----------------- | ------------- | ------------------------------------------ |
|
||||
| id | bigint | 主键ID |
|
||||
| agent_id | bigint | 代理ID |
|
||||
| order_id | bigint | 订单ID |
|
||||
| product_id | bigint | 产品ID |
|
||||
| order_amount | decimal(10,2) | 订单金额(SetPrice) |
|
||||
| set_price | decimal(10,2) | 设定价格 |
|
||||
| actual_base_price | decimal(10,2) | 实际底价 |
|
||||
| price_cost | decimal(10,2) | 提价成本 |
|
||||
| agent_profit | decimal(10,2) | 代理收益 |
|
||||
| process_status | tinyint | 处理状态:0=待处理,1=处理成功,2=处理失败 |
|
||||
| process_time | datetime | 处理时间 |
|
||||
| process_remark | varchar(500) | 处理备注 |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
|
||||
**处理状态说明**:
|
||||
- `process_status = 0`: 待处理(订单创建后)
|
||||
@@ -169,38 +169,38 @@
|
||||
|
||||
#### 2.1.7 agent_commission(代理佣金表)
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | bigint | 主键ID |
|
||||
| agent_id | bigint | 代理ID |
|
||||
| order_id | bigint | 订单ID |
|
||||
| product_id | bigint | 产品ID |
|
||||
| amount | decimal(10,2) | 佣金金额(代理收益) |
|
||||
| status | tinyint | 状态:1=已发放 |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
| 字段 | 类型 | 说明 |
|
||||
| ----------- | ------------- | -------------------- |
|
||||
| id | bigint | 主键ID |
|
||||
| agent_id | bigint | 代理ID |
|
||||
| order_id | bigint | 订单ID |
|
||||
| product_id | bigint | 产品ID |
|
||||
| amount | decimal(10,2) | 佣金金额(代理收益) |
|
||||
| status | tinyint | 状态:1=已发放 |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
|
||||
#### 2.1.8 agent_rebate(代理返佣表)
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | bigint | 主键ID |
|
||||
| agent_id | bigint | 获得返佣的代理ID |
|
||||
| source_agent_id | bigint | 来源代理ID(产生订单的代理) |
|
||||
| order_id | bigint | 订单ID |
|
||||
| product_id | bigint | 产品ID |
|
||||
| rebate_type | tinyint | 返佣类型:1=直接上级返佣,2=钻石上级返佣,3=黄金上级返佣 |
|
||||
| level_bonus | decimal(10,2) | 等级加成金额 |
|
||||
| rebate_amount | decimal(10,2) | 返佣金额 |
|
||||
| status | tinyint | 状态:1=已发放 |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
| 字段 | 类型 | 说明 |
|
||||
| --------------- | ------------- | -------------------------------------------------------- |
|
||||
| id | bigint | 主键ID |
|
||||
| agent_id | bigint | 获得返佣的代理ID |
|
||||
| source_agent_id | bigint | 来源代理ID(产生订单的代理) |
|
||||
| order_id | bigint | 订单ID |
|
||||
| product_id | bigint | 产品ID |
|
||||
| rebate_type | tinyint | 返佣类型:1=直接上级返佣,2=钻石上级返佣,3=黄金上级返佣 |
|
||||
| level_bonus | decimal(10,2) | 等级加成金额 |
|
||||
| rebate_amount | decimal(10,2) | 返佣金额 |
|
||||
| status | tinyint | 状态:1=已发放 |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
|
||||
**返佣类型说明**:
|
||||
- `rebate_type = 1`: 直接上级返佣(普通代理的等级加成给直接上级)
|
||||
@@ -209,25 +209,25 @@
|
||||
|
||||
#### 2.1.9 agent_upgrade(代理升级表)
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | bigint | 主键ID |
|
||||
| agent_id | bigint | 代理ID |
|
||||
| from_level | tinyint | 原等级 |
|
||||
| to_level | tinyint | 目标等级 |
|
||||
| upgrade_type | tinyint | 升级类型:1=自主付费,2=钻石升级下级 |
|
||||
| upgrade_fee | decimal(10,2) | 升级费用 |
|
||||
| rebate_amount | decimal(10,2) | 返佣金额(给原直接上级) |
|
||||
| rebate_agent_id | bigint | 返佣代理ID(原直接上级) |
|
||||
| operator_agent_id | bigint | 操作代理ID(钻石升级下级时使用) |
|
||||
| order_no | varchar(100) | 支付订单号 |
|
||||
| status | tinyint | 状态:1=待处理,2=已完成,3=已失败 |
|
||||
| remark | varchar(500) | 备注 |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
| 字段 | 类型 | 说明 |
|
||||
| ----------------- | ------------- | ------------------------------------ |
|
||||
| id | bigint | 主键ID |
|
||||
| agent_id | bigint | 代理ID |
|
||||
| from_level | tinyint | 原等级 |
|
||||
| to_level | tinyint | 目标等级 |
|
||||
| upgrade_type | tinyint | 升级类型:1=自主付费,2=钻石升级下级 |
|
||||
| upgrade_fee | decimal(10,2) | 升级费用 |
|
||||
| rebate_amount | decimal(10,2) | 返佣金额(给原直接上级) |
|
||||
| rebate_agent_id | bigint | 返佣代理ID(原直接上级) |
|
||||
| operator_agent_id | bigint | 操作代理ID(钻石升级下级时使用) |
|
||||
| order_no | varchar(100) | 支付订单号 |
|
||||
| status | tinyint | 状态:1=待处理,2=已完成,3=已失败 |
|
||||
| remark | varchar(500) | 备注 |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
|
||||
**升级类型说明**:
|
||||
- `upgrade_type = 1`: 自主付费升级(代理自己付费)
|
||||
@@ -235,23 +235,23 @@
|
||||
|
||||
#### 2.1.10 agent_withdrawal(代理提现表)
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | bigint | 主键ID |
|
||||
| agent_id | bigint | 代理ID |
|
||||
| withdraw_no | varchar(100) | 提现单号(唯一) |
|
||||
| payee_account | varchar(100) | 收款账户(支付宝账号) |
|
||||
| payee_name | varchar(100) | 收款人姓名 |
|
||||
| amount | decimal(10,2) | 提现金额 |
|
||||
| tax_amount | decimal(10,2) | 税费金额 |
|
||||
| actual_amount | decimal(10,2) | 实际到账金额 |
|
||||
| status | tinyint | 状态:1=待审核,2=审核通过,3=审核拒绝,4=提现中,5=提现成功,6=提现失败 |
|
||||
| remark | varchar(500) | 备注 |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
| 字段 | 类型 | 说明 |
|
||||
| ------------- | ------------- | ------------------------------------------------------------------------ |
|
||||
| id | bigint | 主键ID |
|
||||
| agent_id | bigint | 代理ID |
|
||||
| withdraw_no | varchar(100) | 提现单号(唯一) |
|
||||
| payee_account | varchar(100) | 收款账户(支付宝账号) |
|
||||
| payee_name | varchar(100) | 收款人姓名 |
|
||||
| amount | decimal(10,2) | 提现金额 |
|
||||
| tax_amount | decimal(10,2) | 税费金额 |
|
||||
| actual_amount | decimal(10,2) | 实际到账金额 |
|
||||
| status | tinyint | 状态:1=待审核,2=审核通过,3=审核拒绝,4=提现中,5=提现成功,6=提现失败 |
|
||||
| remark | varchar(500) | 备注 |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
|
||||
**状态说明**:
|
||||
- `status = 1`: 待审核(代理申请后)
|
||||
@@ -263,25 +263,25 @@
|
||||
|
||||
#### 2.1.11 agent_withdrawal_tax(代理提现扣税表)
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | bigint | 主键ID |
|
||||
| agent_id | bigint | 代理ID |
|
||||
| withdrawal_id | bigint | 提现记录ID |
|
||||
| year_month | bigint | 年月(格式:YYYYMM,如202401) |
|
||||
| withdrawal_amount | decimal(10,2) | 提现金额 |
|
||||
| taxable_amount | decimal(10,2) | 应税金额 |
|
||||
| tax_rate | decimal(5,4) | 税率 |
|
||||
| tax_amount | decimal(10,2) | 税费金额 |
|
||||
| actual_amount | decimal(10,2) | 实际到账金额 |
|
||||
| tax_status | tinyint | 扣税状态:1=待扣税,2=已扣税 |
|
||||
| tax_time | datetime | 扣税时间 |
|
||||
| remark | varchar(500) | 备注 |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
| 字段 | 类型 | 说明 |
|
||||
| ----------------- | ------------- | ------------------------------ |
|
||||
| id | bigint | 主键ID |
|
||||
| agent_id | bigint | 代理ID |
|
||||
| withdrawal_id | bigint | 提现记录ID |
|
||||
| year_month | bigint | 年月(格式:YYYYMM,如202401) |
|
||||
| withdrawal_amount | decimal(10,2) | 提现金额 |
|
||||
| taxable_amount | decimal(10,2) | 应税金额 |
|
||||
| tax_rate | decimal(5,4) | 税率 |
|
||||
| tax_amount | decimal(10,2) | 税费金额 |
|
||||
| actual_amount | decimal(10,2) | 实际到账金额 |
|
||||
| tax_status | tinyint | 扣税状态:1=待扣税,2=已扣税 |
|
||||
| tax_time | datetime | 扣税时间 |
|
||||
| remark | varchar(500) | 备注 |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
|
||||
**扣税状态说明**:
|
||||
- `tax_status = 1`: 待扣税(提现申请后)
|
||||
@@ -289,18 +289,18 @@
|
||||
|
||||
#### 2.1.12 agent_config(代理系统配置表)
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | bigint | 主键ID |
|
||||
| config_key | varchar(100) | 配置键(唯一) |
|
||||
| config_value | varchar(500) | 配置值 |
|
||||
| config_type | varchar(50) | 配置类型:price=价格,bonus=等级加成,upgrade=升级费用,rebate=返佣,tax=税费 |
|
||||
| description | varchar(500) | 配置描述 |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
| 字段 | 类型 | 说明 |
|
||||
| ------------ | ------------ | ----------------------------------------------------------------------------- |
|
||||
| id | bigint | 主键ID |
|
||||
| config_key | varchar(100) | 配置键(唯一) |
|
||||
| config_value | varchar(500) | 配置值 |
|
||||
| config_type | varchar(50) | 配置类型:price=价格,bonus=等级加成,upgrade=升级费用,rebate=返佣,tax=税费 |
|
||||
| description | varchar(500) | 配置描述 |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
|
||||
**配置键列表**:
|
||||
- `base_price`: 基础底价
|
||||
@@ -319,36 +319,36 @@
|
||||
|
||||
#### 2.1.13 agent_product_config(代理产品配置表)
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | bigint | 主键ID |
|
||||
| product_id | bigint | 产品ID(唯一) |
|
||||
| product_name | varchar(100) | 产品名称 |
|
||||
| base_price | decimal(10,2) | 基础底价(可覆盖系统配置) |
|
||||
| system_max_price | decimal(10,2) | 系统价格上限(可覆盖系统配置) |
|
||||
| price_threshold | decimal(10,2) | 提价标准阈值(可选,覆盖系统配置) |
|
||||
| price_fee_rate | decimal(5,4) | 提价手续费比例(可选,覆盖系统配置) |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
| 字段 | 类型 | 说明 |
|
||||
| ---------------- | ------------- | ------------------------------------ |
|
||||
| id | bigint | 主键ID |
|
||||
| product_id | bigint | 产品ID(唯一) |
|
||||
| product_name | varchar(100) | 产品名称 |
|
||||
| base_price | decimal(10,2) | 基础底价(可覆盖系统配置) |
|
||||
| system_max_price | decimal(10,2) | 系统价格上限(可覆盖系统配置) |
|
||||
| price_threshold | decimal(10,2) | 提价标准阈值(可选,覆盖系统配置) |
|
||||
| price_fee_rate | decimal(5,4) | 提价手续费比例(可选,覆盖系统配置) |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
|
||||
#### 2.1.14 agent_real_name(代理实名认证表)
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | bigint | 主键ID |
|
||||
| agent_id | bigint | 代理ID(唯一) |
|
||||
| name | varchar(50) | 真实姓名 |
|
||||
| id_card | varchar(50) | 身份证号(加密) |
|
||||
| mobile | varchar(50) | 手机号(加密) |
|
||||
| verify_time | datetime | 验证时间(三要素验证通过时间,NULL表示未验证) |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
| 字段 | 类型 | 说明 |
|
||||
| ----------- | ----------- | ---------------------------------------------- |
|
||||
| id | bigint | 主键ID |
|
||||
| agent_id | bigint | 代理ID(唯一) |
|
||||
| name | varchar(50) | 真实姓名 |
|
||||
| id_card | varchar(50) | 身份证号(加密) |
|
||||
| mobile | varchar(50) | 手机号(加密) |
|
||||
| verify_time | datetime | 验证时间(三要素验证通过时间,NULL表示未验证) |
|
||||
| create_time | datetime | 创建时间 |
|
||||
| update_time | datetime | 更新时间 |
|
||||
| delete_time | datetime | 删除时间 |
|
||||
| del_state | tinyint | 删除状态 |
|
||||
| version | bigint | 版本号 |
|
||||
|
||||
**验证说明**:
|
||||
- `verify_time IS NULL`: 未验证(未通过三要素核验或未提交)
|
||||
@@ -382,19 +382,19 @@ agent (代理表)
|
||||
|
||||
#### 3.1.1 等级定义
|
||||
|
||||
| 等级 | 数值 | 名称 | 说明 |
|
||||
|------|------|------|------|
|
||||
| Level 1 | 1 | 普通代理 | 初始等级,所有新代理默认等级 |
|
||||
| Level 2 | 2 | 黄金代理 | 中级等级,可通过付费或钻石升级获得 |
|
||||
| Level 3 | 3 | 钻石代理 | 最高等级,团队首领,可通过付费获得 |
|
||||
| 等级 | 数值 | 名称 | 说明 |
|
||||
| ------- | ---- | -------- | ---------------------------------- |
|
||||
| Level 1 | 1 | 普通代理 | 初始等级,所有新代理默认等级 |
|
||||
| Level 2 | 2 | 黄金代理 | 中级等级,可通过付费或钻石升级获得 |
|
||||
| Level 3 | 3 | 钻石代理 | 最高等级,团队首领,可通过付费获得 |
|
||||
|
||||
#### 3.1.2 等级加成规则
|
||||
|
||||
| 等级 | 等级加成 | 说明 |
|
||||
|------|---------|------|
|
||||
| 普通代理 | +6元 | 实际底价 = 基础底价 + 6元 |
|
||||
| 黄金代理 | +3元 | 实际底价 = 基础底价 + 3元 |
|
||||
| 钻石代理 | +0元 | 实际底价 = 基础底价 |
|
||||
| 等级 | 等级加成 | 说明 |
|
||||
| -------- | -------- | ------------------------- |
|
||||
| 普通代理 | +6元 | 实际底价 = 基础底价 + 6元 |
|
||||
| 黄金代理 | +3元 | 实际底价 = 基础底价 + 3元 |
|
||||
| 钻石代理 | +0元 | 实际底价 = 基础底价 |
|
||||
|
||||
**计算公式**:
|
||||
```
|
||||
@@ -414,13 +414,12 @@ agent (代理表)
|
||||
**核心原则**:
|
||||
1. **下级不能比上级等级高**: 下级等级必须 ≤ 上级等级
|
||||
2. **同级不能作为上下级**(除了普通代理): 黄金和钻石不能作为同级上下级
|
||||
3. **钻石 → 黄金禁止**: 钻石代理不能直接管理黄金代理(特殊规则)
|
||||
|
||||
**允许的关系**:
|
||||
- 普通 → 普通 ✓(同级普通允许)
|
||||
- 黄金 → 普通 ✓(上级等级高于下级)
|
||||
- 钻石 → 普通 ✓(上级等级高于下级)
|
||||
- 钻石 → 黄金 ✓(上级等级高于下级,但实际禁止,见规则3)
|
||||
- 钻石 → 黄金 ✓(上级等级高于下级,允许建立关系)
|
||||
|
||||
**禁止的关系**:
|
||||
- 普通 → 黄金 ✗(下级等级高于上级)
|
||||
@@ -428,7 +427,11 @@ agent (代理表)
|
||||
- 黄金 → 黄金 ✗(同级不能作为上下级)
|
||||
- 钻石 → 钻石 ✗(同级不能作为上下级)
|
||||
- 黄金 → 钻石 ✗(下级等级高于上级)
|
||||
- 钻石 → 黄金 ✗(特殊规则禁止)
|
||||
|
||||
**升级后脱离关系的规则**:
|
||||
- 下级等级 > 上级等级 → 脱离关系
|
||||
- 同级(黄金或钻石)→ 脱离关系
|
||||
- 普通代理同级 → 不脱离关系(允许保持)
|
||||
|
||||
#### 3.2.3 升级规则
|
||||
|
||||
@@ -437,7 +440,10 @@ agent (代理表)
|
||||
**升级场景**:
|
||||
|
||||
1. **普通 → 黄金**:
|
||||
- 升级后必须脱离直接上级关系(因为黄金等级高于普通,或与黄金同级)
|
||||
- 升级后根据上级等级决定是否脱离关系:
|
||||
* 如果上级是普通代理:必须脱离(下级等级高于上级)
|
||||
* 如果上级是黄金代理:必须脱离(同级不能作为上下级)
|
||||
* 如果上级是钻石代理:不脱离(钻石等级高于黄金,允许保持关系)
|
||||
- 保留团队关系(通过团队首领钻石代理)
|
||||
- 仍属于原团队
|
||||
- 所有下级(直接+间接)继续跟随该代理
|
||||
@@ -468,12 +474,12 @@ agent (代理表)
|
||||
|
||||
**升级费用和返佣规则**:
|
||||
|
||||
| 升级类型 | 升级费用 | 直接上级返佣 | 说明 |
|
||||
|---------|---------|-------------|------|
|
||||
| 普通→黄金 | 199元 | 139元 | 付费后立即返佣给直接上级 |
|
||||
| 普通→钻石 | 980元 | 680元 | 付费后立即返佣给直接上级 |
|
||||
| 黄金→钻石 | 980元 | 680元 | 付费后立即返佣给直接上级 |
|
||||
| 钻石升级下级(普通→黄金) | 免费 | 无 | 钻石代理操作,被升级代理无需付费 |
|
||||
| 升级类型 | 升级费用 | 直接上级返佣 | 说明 |
|
||||
| ------------------------- | -------- | ------------ | -------------------------------- |
|
||||
| 普通→黄金 | 199元 | 139元 | 付费后立即返佣给直接上级 |
|
||||
| 普通→钻石 | 980元 | 680元 | 付费后立即返佣给直接上级 |
|
||||
| 黄金→钻石 | 980元 | 680元 | 付费后立即返佣给直接上级 |
|
||||
| 钻石升级下级(普通→黄金) | 免费 | 无 | 钻石代理操作,被升级代理无需付费 |
|
||||
|
||||
**重要规则**:
|
||||
- ✅ **返佣给原直接上级**: 即使升级后脱离直接上下级关系,返佣仍然给原直接上级
|
||||
@@ -515,25 +521,47 @@ agent (代理表)
|
||||
|
||||
#### 3.4.2 等级加成返佣分配
|
||||
|
||||
**普通代理(等级加成6元)**:
|
||||
1. **优先级1**: 给直接上级(最多3元)
|
||||
- 如果直接上级存在,分配3元给直接上级
|
||||
- 剩余金额 = 6 - 3 = 3元
|
||||
2. **优先级2**: 给钻石上级(剩余金额全部)
|
||||
- 查找上级链中的钻石代理
|
||||
- 如果找到,剩余金额全部给钻石上级
|
||||
3. **优先级3**: 给黄金上级(最多3元,如果钻石上级不存在)
|
||||
- 如果钻石上级不存在,查找黄金上级
|
||||
- 如果找到,最多分配3元给黄金上级
|
||||
- 如果剩余金额 > 3元,超出部分归平台
|
||||
4. **优先级4**: 都没有,剩余金额归平台
|
||||
**核心原则**:
|
||||
- **基础底价(BasePrice)**:无论哪个等级,全部归平台(固定收入)
|
||||
- **等级加成部分**:作为返佣分配给上级链
|
||||
|
||||
**黄金代理(等级加成3元)**:
|
||||
1. 全部给钻石上级(如有)
|
||||
2. 如果找不到钻石上级,归平台
|
||||
**分配规则总结表**:
|
||||
|
||||
**钻石代理(等级加成0元)**:
|
||||
- 无返佣分配
|
||||
| 代理等级 | 等级加成 | 直接上级 | 等级加成返佣分配规则 |
|
||||
| -------- | -------- | -------- | ------------------------------------------------------------------------------------------------------------------ |
|
||||
| 钻石 | 0元 | 无 | 无返佣分配(加成为0) |
|
||||
| 黄金 | 3元 | 钻石 | 3元全部给钻石上级 |
|
||||
| 普通 | 6元 | 钻石 | 6元全部给钻石上级 |
|
||||
| 普通 | 6元 | 黄金 | 3元给黄金上级,3元给钻石上级(上上级) |
|
||||
| 普通 | 6元 | 普通 | 2元给直接上级普通,剩余4元:<br>- 有钻石:4元全部给钻石<br>- 只有黄金:3元给黄金,1元归平台<br>- 都没有:4元归平台 |
|
||||
|
||||
**详细规则说明**:
|
||||
|
||||
1. **普通代理(等级加成,例如6元)**:
|
||||
- **直接上级是钻石**:等级加成全部给钻石上级
|
||||
- **直接上级是黄金**:一部分给黄金上级(配置:`normal_to_gold_rebate`,默认3元),剩余给钻石上级(上上级)
|
||||
- **直接上级是普通**:
|
||||
- 一部分给直接上级普通(配置:`normal_to_normal_rebate`,默认2元)
|
||||
- 剩余金额:
|
||||
- 有钻石上级:剩余全部给钻石上级
|
||||
- 只有黄金上级:最多给黄金上级(配置:`normal_to_gold_rebate_max`,默认3元),超出部分归平台
|
||||
- 都没有:全部归平台
|
||||
- **注意**:如果在团队上下级链路中这中间有很多层普通代理,给直接上级的金额只给推广人的直接上级,对于中间的会直接跳过,然后到黄金/钻石代理
|
||||
|
||||
2. **黄金代理(等级加成,例如3元)**:
|
||||
- 全部给钻石上级(如有)
|
||||
- 如果找不到钻石上级,归平台
|
||||
|
||||
3. **钻石代理(等级加成0元)**:
|
||||
- 无返佣分配
|
||||
|
||||
**配置项说明**:
|
||||
- 返佣金额的具体取值从配置表读取,支持动态配置
|
||||
- 配置键:
|
||||
- `normal_to_normal_rebate`:普通代理给直接上级普通的金额(默认2元)
|
||||
- `normal_to_gold_rebate`:普通代理给直接上级黄金的金额(默认3元)
|
||||
- `normal_to_gold_rebate_max`:普通代理给黄金上级的最大金额(默认3元)
|
||||
- 如果配置不存在,使用默认值
|
||||
|
||||
#### 3.4.3 返佣记录
|
||||
|
||||
@@ -923,8 +951,7 @@ agent (代理表)
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ 12. 检查是否需要脱离直接上级关系 │
|
||||
│ - 检查升级后等级是否高于上级 │
|
||||
│ - 检查是否同级(黄金/钻石) │
|
||||
│ - 检查是否钻石→黄金(禁止) │
|
||||
│ - 检查是否同级(黄金/钻石,普通代理同级除外) │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
↓
|
||||
┌───────────────────────────────┐
|
||||
@@ -1377,50 +1404,50 @@ func calculateTax(ctx context.Context, agentId int64, amount float64, yearMonth
|
||||
|
||||
#### 6.1.1 公开接口(无需登录)
|
||||
|
||||
| 接口 | 方法 | 路径 | 说明 |
|
||||
|------|------|------|------|
|
||||
| 获取推广链接数据 | GET | `/api/v1/agent/link` | 根据LinkIdentifier获取推广链接信息 |
|
||||
| 接口 | 方法 | 路径 | 说明 |
|
||||
| ---------------------- | ---- | --------------------- | -------------------------------------------- |
|
||||
| 获取推广链接数据 | GET | `/api/v1/agent/link` | 根据LinkIdentifier获取推广链接信息 |
|
||||
| 通过邀请码申请成为代理 | POST | `/api/v1/agent/apply` | 用户通过邀请码申请成为代理(必须提供邀请码) |
|
||||
|
||||
#### 6.1.2 需要登录的接口
|
||||
|
||||
| 接口 | 方法 | 路径 | 说明 |
|
||||
|------|------|------|------|
|
||||
| ~~查询代理申请状态~~ | ~~GET~~ | ~~`/api/v1/agent/audit/status`~~ | ~~查询当前用户的代理申请审核状态(已废弃:无需审核)~~ |
|
||||
| 查看代理信息 | GET | `/api/v1/agent/info` | 获取当前代理的详细信息 |
|
||||
| 生成推广链接 | POST | `/api/v1/agent/generating_link` | 生成产品推广链接 |
|
||||
| 获取产品配置 | GET | `/api/v1/agent/product_config` | 获取代理可配置的产品价格信息 |
|
||||
| 获取团队统计 | GET | `/api/v1/agent/team/statistics` | 获取团队统计数据 |
|
||||
| 获取下级列表 | GET | `/api/v1/agent/subordinate/list` | 分页查询直接下级列表 |
|
||||
| 获取收益信息 | GET | `/api/v1/agent/revenue` | 获取钱包余额和收益信息 |
|
||||
| 获取佣金记录 | GET | `/api/v1/agent/commission/list` | 分页查询佣金记录 |
|
||||
| 获取返佣记录 | GET | `/api/v1/agent/rebate/list` | 分页查询返佣记录 |
|
||||
| 获取升级记录 | GET | `/api/v1/agent/upgrade/list` | 分页查询升级记录 |
|
||||
| 申请升级 | POST | `/api/v1/agent/upgrade/apply` | 自主付费升级 |
|
||||
| 钻石升级下级 | POST | `/api/v1/agent/upgrade/subordinate` | 钻石代理升级下级 |
|
||||
| 获取提现列表 | GET | `/api/v1/agent/withdrawal/list` | 分页查询提现记录 |
|
||||
| 申请提现 | POST | `/api/v1/agent/withdrawal/apply` | 申请提现 |
|
||||
| 实名认证 | POST | `/api/v1/agent/real_name` | 提交实名认证信息(三要素核验,自动通过) |
|
||||
| 接口 | 方法 | 路径 | 说明 |
|
||||
| -------------------- | ------- | ----------------------------------- | ------------------------------------------------------ |
|
||||
| ~~查询代理申请状态~~ | ~~GET~~ | ~~`/api/v1/agent/audit/status`~~ | ~~查询当前用户的代理申请审核状态(已废弃:无需审核)~~ |
|
||||
| 查看代理信息 | GET | `/api/v1/agent/info` | 获取当前代理的详细信息 |
|
||||
| 生成推广链接 | POST | `/api/v1/agent/generating_link` | 生成产品推广链接 |
|
||||
| 获取产品配置 | GET | `/api/v1/agent/product_config` | 获取代理可配置的产品价格信息 |
|
||||
| 获取团队统计 | GET | `/api/v1/agent/team/statistics` | 获取团队统计数据 |
|
||||
| 获取下级列表 | GET | `/api/v1/agent/subordinate/list` | 分页查询直接下级列表 |
|
||||
| 获取收益信息 | GET | `/api/v1/agent/revenue` | 获取钱包余额和收益信息 |
|
||||
| 获取佣金记录 | GET | `/api/v1/agent/commission/list` | 分页查询佣金记录 |
|
||||
| 获取返佣记录 | GET | `/api/v1/agent/rebate/list` | 分页查询返佣记录 |
|
||||
| 获取升级记录 | GET | `/api/v1/agent/upgrade/list` | 分页查询升级记录 |
|
||||
| 申请升级 | POST | `/api/v1/agent/upgrade/apply` | 自主付费升级 |
|
||||
| 钻石升级下级 | POST | `/api/v1/agent/upgrade/subordinate` | 钻石代理升级下级 |
|
||||
| 获取提现列表 | GET | `/api/v1/agent/withdrawal/list` | 分页查询提现记录 |
|
||||
| 申请提现 | POST | `/api/v1/agent/withdrawal/apply` | 申请提现 |
|
||||
| 实名认证 | POST | `/api/v1/agent/real_name` | 提交实名认证信息(三要素核验,自动通过) |
|
||||
|
||||
### 6.2 后台管理接口(admin_agent.api)
|
||||
|
||||
| 接口 | 方法 | 路径 | 说明 |
|
||||
|------|------|------|------|
|
||||
| 代理分页查询 | GET | `/api/v1/admin/agent/list` | 分页查询代理列表 |
|
||||
| ~~代理审核~~ | ~~POST~~ | ~~`/api/v1/admin/agent/audit`~~ | ~~审核代理申请(已废弃:通过邀请码直接成为代理,无需审核)~~ |
|
||||
| 推广链接分页查询 | GET | `/api/v1/admin/agent/link/list` | 分页查询推广链接 |
|
||||
| 代理订单分页查询 | GET | `/api/v1/admin/agent/order/list` | 分页查询代理订单 |
|
||||
| 代理佣金分页查询 | GET | `/api/v1/admin/agent/commission/list` | 分页查询佣金记录 |
|
||||
| 代理返佣分页查询 | GET | `/api/v1/admin/agent/rebate/list` | 分页查询返佣记录 |
|
||||
| 代理升级记录分页查询 | GET | `/api/v1/admin/agent/upgrade/list` | 分页查询升级记录 |
|
||||
| 代理提现分页查询 | GET | `/api/v1/admin/agent/withdrawal/list` | 分页查询提现记录 |
|
||||
| 代理提现审核 | POST | `/api/v1/admin/agent/withdrawal/audit` | 审核提现申请 |
|
||||
| 代理实名认证分页查询 | GET | `/api/v1/admin/agent/real_name/list` | 分页查询实名认证记录 |
|
||||
| ~~代理实名认证审核~~ | ~~POST~~ | ~~`/api/v1/admin/agent/real_name/audit`~~ | ~~审核实名认证(已废弃:改为三要素核验,无需审核)~~ |
|
||||
| 系统配置查询 | GET | `/api/v1/admin/agent/config` | 查询系统配置 |
|
||||
| 系统配置更新 | POST | `/api/v1/admin/agent/config/update` | 更新系统配置 |
|
||||
| 产品配置分页查询 | GET | `/api/v1/admin/agent/product_config/list` | 分页查询产品配置 |
|
||||
| 产品配置更新 | POST | `/api/v1/admin/agent/product_config/update` | 更新产品配置 |
|
||||
| 接口 | 方法 | 路径 | 说明 |
|
||||
| -------------------- | -------- | ------------------------------------------- | ------------------------------------------------------------ |
|
||||
| 代理分页查询 | GET | `/api/v1/admin/agent/list` | 分页查询代理列表 |
|
||||
| ~~代理审核~~ | ~~POST~~ | ~~`/api/v1/admin/agent/audit`~~ | ~~审核代理申请(已废弃:通过邀请码直接成为代理,无需审核)~~ |
|
||||
| 推广链接分页查询 | GET | `/api/v1/admin/agent/link/list` | 分页查询推广链接 |
|
||||
| 代理订单分页查询 | GET | `/api/v1/admin/agent/order/list` | 分页查询代理订单 |
|
||||
| 代理佣金分页查询 | GET | `/api/v1/admin/agent/commission/list` | 分页查询佣金记录 |
|
||||
| 代理返佣分页查询 | GET | `/api/v1/admin/agent/rebate/list` | 分页查询返佣记录 |
|
||||
| 代理升级记录分页查询 | GET | `/api/v1/admin/agent/upgrade/list` | 分页查询升级记录 |
|
||||
| 代理提现分页查询 | GET | `/api/v1/admin/agent/withdrawal/list` | 分页查询提现记录 |
|
||||
| 代理提现审核 | POST | `/api/v1/admin/agent/withdrawal/audit` | 审核提现申请 |
|
||||
| 代理实名认证分页查询 | GET | `/api/v1/admin/agent/real_name/list` | 分页查询实名认证记录 |
|
||||
| ~~代理实名认证审核~~ | ~~POST~~ | ~~`/api/v1/admin/agent/real_name/audit`~~ | ~~审核实名认证(已废弃:改为三要素核验,无需审核)~~ |
|
||||
| 系统配置查询 | GET | `/api/v1/admin/agent/config` | 查询系统配置 |
|
||||
| 系统配置更新 | POST | `/api/v1/admin/agent/config/update` | 更新系统配置 |
|
||||
| 产品配置分页查询 | GET | `/api/v1/admin/agent/product_config/list` | 分页查询产品配置 |
|
||||
| 产品配置更新 | POST | `/api/v1/admin/agent/product_config/update` | 更新产品配置 |
|
||||
|
||||
---
|
||||
|
||||
@@ -1428,32 +1455,32 @@ func calculateTax(ctx context.Context, agentId int64, amount float64, yearMonth
|
||||
|
||||
### 7.1 系统配置项(agent_config表)
|
||||
|
||||
| 配置键 | 配置类型 | 默认值 | 说明 |
|
||||
|--------|---------|--------|------|
|
||||
| `base_price` | price | - | 基础底价(系统默认) |
|
||||
| `system_max_price` | price | - | 系统价格上限 |
|
||||
| `price_threshold` | price | - | 提价标准阈值 |
|
||||
| `price_fee_rate` | price | - | 提价手续费比例(0-1之间的小数) |
|
||||
| `level_1_bonus` | bonus | 6 | 普通代理等级加成(元) |
|
||||
| `level_2_bonus` | bonus | 3 | 黄金代理等级加成(元) |
|
||||
| `level_3_bonus` | bonus | 0 | 钻石代理等级加成(元) |
|
||||
| `upgrade_to_gold_fee` | upgrade | 199 | 升级为黄金费用(元) |
|
||||
| `upgrade_to_diamond_fee` | upgrade | 980 | 升级为钻石费用(元) |
|
||||
| `upgrade_to_gold_rebate` | rebate | 139 | 升级为黄金返佣(元) |
|
||||
| `upgrade_to_diamond_rebate` | rebate | 680 | 升级为钻石返佣(元) |
|
||||
| `tax_rate` | tax | 0.06 | 税率(默认6%,即0.06) |
|
||||
| `tax_exemption_amount` | tax | 0 | 免税额度(元,默认0) |
|
||||
| 配置键 | 配置类型 | 默认值 | 说明 |
|
||||
| --------------------------- | -------- | ------ | ------------------------------- |
|
||||
| `base_price` | price | - | 基础底价(系统默认) |
|
||||
| `system_max_price` | price | - | 系统价格上限 |
|
||||
| `price_threshold` | price | - | 提价标准阈值 |
|
||||
| `price_fee_rate` | price | - | 提价手续费比例(0-1之间的小数) |
|
||||
| `level_1_bonus` | bonus | 6 | 普通代理等级加成(元) |
|
||||
| `level_2_bonus` | bonus | 3 | 黄金代理等级加成(元) |
|
||||
| `level_3_bonus` | bonus | 0 | 钻石代理等级加成(元) |
|
||||
| `upgrade_to_gold_fee` | upgrade | 199 | 升级为黄金费用(元) |
|
||||
| `upgrade_to_diamond_fee` | upgrade | 980 | 升级为钻石费用(元) |
|
||||
| `upgrade_to_gold_rebate` | rebate | 139 | 升级为黄金返佣(元) |
|
||||
| `upgrade_to_diamond_rebate` | rebate | 680 | 升级为钻石返佣(元) |
|
||||
| `tax_rate` | tax | 0.06 | 税率(默认6%,即0.06) |
|
||||
| `tax_exemption_amount` | tax | 0 | 免税额度(元,默认0) |
|
||||
|
||||
### 7.2 产品配置项(agent_product_config表)
|
||||
|
||||
每个产品可以单独配置以下参数,覆盖系统默认配置:
|
||||
|
||||
| 字段 | 说明 |
|
||||
|------|------|
|
||||
| `base_price` | 产品基础底价(覆盖系统配置) |
|
||||
| `system_max_price` | 产品价格上限(覆盖系统配置) |
|
||||
| `price_threshold` | 产品提价标准阈值(可选,覆盖系统配置) |
|
||||
| `price_fee_rate` | 产品提价手续费比例(可选,覆盖系统配置) |
|
||||
| 字段 | 说明 |
|
||||
| ------------------ | ---------------------------------------- |
|
||||
| `base_price` | 产品基础底价(覆盖系统配置) |
|
||||
| `system_max_price` | 产品价格上限(覆盖系统配置) |
|
||||
| `price_threshold` | 产品提价标准阈值(可选,覆盖系统配置) |
|
||||
| `price_fee_rate` | 产品提价手续费比例(可选,覆盖系统配置) |
|
||||
|
||||
### 7.3 配置优先级
|
||||
|
||||
@@ -1712,13 +1739,12 @@ func calculateAgentProfit(setPrice, actualBasePrice, priceCost float64) float64
|
||||
|
||||
### 11.1 升级后关系脱离规则
|
||||
|
||||
**Q**: 为什么普通代理升级为黄金后要脱离直接上级关系?
|
||||
**Q**: 普通代理升级为黄金后什么情况下会脱离直接上级关系?
|
||||
|
||||
**A**: 根据关系约束规则:
|
||||
- 下级不能比上级等级高
|
||||
- 同级不能作为上下级(除了普通代理)
|
||||
- 如果直接上级是普通代理,升级后黄金等级高于普通,必须脱离
|
||||
- 如果直接上级是黄金/钻石,升级后同级,也必须脱离
|
||||
- **下级不能比上级等级高**:如果直接上级是普通代理,升级后黄金等级高于普通,必须脱离
|
||||
- **同级不能作为上下级(除了普通代理)**:如果直接上级是黄金代理,升级后同级,必须脱离
|
||||
- **钻石可以拥有黄金下级**:如果直接上级是钻石代理,升级后钻石等级高于黄金,不脱离关系,保持直接下级关系
|
||||
|
||||
### 11.2 返佣分配规则
|
||||
|
||||
|
||||
Reference in New Issue
Block a user