Files
junhong_cmp_fiber/migrations/000010_add_commission_model_changes.down.sql
huang 91c9bbfeb8
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 4m35s
feat: 实现账号与佣金管理模块
新增功能:
- 店铺佣金查询:店铺佣金统计、店铺佣金记录列表、店铺提现记录
- 佣金提现审批:提现申请列表、审批通过、审批拒绝
- 提现配置管理:配置列表、新增配置、获取当前生效配置
- 企业管理:企业列表、创建、更新、删除、获取详情
- 企业卡授权:授权列表、批量授权、批量取消授权、统计
- 客户账号管理:账号列表、创建、更新状态、重置密码
- 我的佣金:佣金统计、佣金记录、提现申请、提现记录

数据库变更:
- 扩展 tb_commission_withdrawal_request 新增提现单号等字段
- 扩展 tb_account 新增 is_primary 字段
- 扩展 tb_commission_record 新增 shop_id、balance_after
- 扩展 tb_commission_withdrawal_setting 新增每日提现次数限制
- 扩展 tb_iot_card、tb_device 新增 shop_id 冗余字段
- 新建 tb_enterprise_card_authorization 企业卡授权表
- 新建 tb_asset_allocation_record 资产分配记录表
- 数据迁移:owner_type 枚举值 agent 统一为 shop

测试:
- 新增 7 个单元测试文件覆盖各服务
- 修复集成测试 Redis 依赖问题
2026-01-21 18:20:44 +08:00

43 lines
1.6 KiB
SQL

-- 回滚: 账号与佣金管理模块数据模型变更
-- 变更ID: add-commission-model-changes
-- 1. 恢复 owner_type 枚举值 (shop -> agent)
UPDATE tb_iot_card SET owner_type = 'agent' WHERE owner_type = 'shop';
UPDATE tb_device SET owner_type = 'agent' WHERE owner_type = 'shop';
-- 2. 删除新增的表
DROP TABLE IF EXISTS tb_asset_allocation_record;
DROP TABLE IF EXISTS tb_enterprise_card_authorization;
-- 3. 删除 tb_device.shop_id 字段
DROP INDEX IF EXISTS idx_device_shop_id;
ALTER TABLE tb_device DROP COLUMN IF EXISTS shop_id;
-- 4. 删除 tb_iot_card.shop_id 字段
DROP INDEX IF EXISTS idx_iot_card_shop_id;
ALTER TABLE tb_iot_card DROP COLUMN IF EXISTS shop_id;
-- 5. 删除 tb_commission_withdrawal_setting.daily_withdrawal_limit 字段
ALTER TABLE tb_commission_withdrawal_setting DROP COLUMN IF EXISTS daily_withdrawal_limit;
-- 6. 删除 tb_commission_record 新增字段
DROP INDEX IF EXISTS idx_commission_record_shop_id;
ALTER TABLE tb_commission_record
DROP COLUMN IF EXISTS shop_id,
DROP COLUMN IF EXISTS balance_after;
-- 7. 删除 tb_account.is_primary 字段
ALTER TABLE tb_account DROP COLUMN IF EXISTS is_primary;
-- 8. 删除 tb_commission_withdrawal_request 新增字段
DROP INDEX IF EXISTS uk_commission_withdrawal_no;
ALTER TABLE tb_commission_withdrawal_request
DROP COLUMN IF EXISTS withdrawal_no,
DROP COLUMN IF EXISTS applicant_id,
DROP COLUMN IF EXISTS shop_id,
DROP COLUMN IF EXISTS fee_rate,
DROP COLUMN IF EXISTS payment_type,
DROP COLUMN IF EXISTS processor_id,
DROP COLUMN IF EXISTS processed_at,
DROP COLUMN IF EXISTS remark;