feat(closed-loop): complete end-to-end closed loops across miniapp, backend, and admin
这个提交包含在:
@@ -84,13 +84,16 @@ export async function initDatabase(): Promise<void> {
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
`);
|
||||
|
||||
// 动态为 companions 增加 tags 字段与 user_id 字段 (若历史表已存在)
|
||||
// 动态为 companions 增加 tags 字段、user_id 字段与 reject_reason 字段 (若历史表已存在)
|
||||
try {
|
||||
await conn.query('ALTER TABLE companions ADD COLUMN tags JSON AFTER id_card_masked');
|
||||
} catch (_) {}
|
||||
try {
|
||||
await conn.query('ALTER TABLE companions ADD COLUMN user_id INT DEFAULT NULL AFTER id');
|
||||
} catch (_) {}
|
||||
try {
|
||||
await conn.query("ALTER TABLE companions ADD COLUMN reject_reason VARCHAR(255) DEFAULT '' AFTER audit_status");
|
||||
} catch (_) {}
|
||||
|
||||
// 4. 订单表
|
||||
await conn.query(`
|
||||
@@ -448,16 +451,19 @@ export async function initDatabase(): Promise<void> {
|
||||
try {
|
||||
await conn.query('UPDATE users SET commission = 128.50, invited_count = 8 WHERE id = 1001 AND (commission IS NULL OR commission = 0)');
|
||||
} catch (_) {}
|
||||
// 扩展 users 表结构: 个性签名
|
||||
// 扩展 users 表结构: 个性签名与大神认证标识
|
||||
try {
|
||||
await conn.query("ALTER TABLE users ADD COLUMN signature VARCHAR(64) DEFAULT ''");
|
||||
} catch (_) {}
|
||||
try {
|
||||
await conn.query('ALTER TABLE users ADD COLUMN is_expert TINYINT DEFAULT 0');
|
||||
} 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)
|
||||
VALUES (101, 'U101', '糖心小糯米', 'https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=200', '138****0101', '女', '认证大神', 2580.00, 128.50, 6, 88, 16, '正常', 'wx_openid_101', '人美声甜,擅长各类同城陪伴与开黑互动')
|
||||
ON DUPLICATE KEY UPDATE nickname = VALUES(nickname)
|
||||
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
|
||||
`);
|
||||
} catch (_) {}
|
||||
|
||||
|
||||
在新工单中引用
屏蔽一个用户