feat(spec-3): complete section 3.1/3.2/3.3 activity verify settlement, role_flags, and distribution_relations
这个提交包含在:
@@ -458,12 +458,16 @@ export async function initDatabase(): Promise<void> {
|
||||
try {
|
||||
await conn.query('ALTER TABLE users ADD COLUMN is_expert TINYINT DEFAULT 0');
|
||||
} catch (_) {}
|
||||
try {
|
||||
await conn.query('ALTER TABLE users ADD COLUMN role_flags TINYINT DEFAULT 1');
|
||||
await conn.query('UPDATE users SET role_flags = 3 WHERE is_expert = 1 OR role = "认证大神"');
|
||||
} catch (_) {}
|
||||
// 确保存在 demo 账号 101 (金牌陪伴师/认证大神体验账号)
|
||||
try {
|
||||
await conn.query(`
|
||||
INSERT INTO users (id, user_no, nickname, avatar, phone, gender, role, balance, commission, invited_count, order_count, activity_count, status, wechat_openid, signature, is_expert)
|
||||
VALUES (101, 'U101', '糖心小糯米', 'https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=200', '138****0101', '女', '认证大神', 2580.00, 128.50, 6, 88, 16, '正常', 'wx_openid_101', '人美声甜,擅长各类同城陪伴与开黑互动', 1)
|
||||
ON DUPLICATE KEY UPDATE nickname = VALUES(nickname), is_expert = 1
|
||||
INSERT INTO users (id, user_no, nickname, avatar, phone, gender, role, balance, commission, invited_count, order_count, activity_count, status, wechat_openid, signature, is_expert, role_flags)
|
||||
VALUES (101, 'U101', '糖心小糯米', 'https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=200', '138****0101', '女', '认证大神', 2580.00, 128.50, 6, 88, 16, '正常', 'wx_openid_101', '人美声甜,擅长各类同城陪伴与开黑互动', 1, 3)
|
||||
ON DUPLICATE KEY UPDATE nickname = VALUES(nickname), is_expert = 1, role_flags = 3
|
||||
`);
|
||||
} catch (_) {}
|
||||
|
||||
@@ -517,11 +521,24 @@ export async function initDatabase(): Promise<void> {
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
`);
|
||||
|
||||
// 23. 分销体系扩展 (下级团队与佣金订单记录)
|
||||
// 23. 分销体系扩展 (父子终身绑定关系表、下级团队与佣金订单记录)
|
||||
try {
|
||||
await conn.query('ALTER TABLE users ADD COLUMN inviter_id INT DEFAULT NULL');
|
||||
} catch (_) {}
|
||||
|
||||
await conn.query(`
|
||||
CREATE TABLE IF NOT EXISTS distribution_relations (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
user_id INT UNIQUE NOT NULL,
|
||||
inviter_id INT NOT NULL,
|
||||
level2_inviter_id INT DEFAULT NULL,
|
||||
bind_source VARCHAR(64) DEFAULT 'INVITE_CODE',
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
INDEX idx_inviter (inviter_id),
|
||||
INDEX idx_level2_inviter (level2_inviter_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
`);
|
||||
|
||||
await conn.query(`
|
||||
CREATE TABLE IF NOT EXISTS distribution_records (
|
||||
id VARCHAR(64) PRIMARY KEY,
|
||||
|
||||
在新工单中引用
屏蔽一个用户