/*
 Navicat Premium Dump SQL

 Source Server         : 本地数据库
 Source Server Type    : MySQL
 Source Server Version : 80408 (8.4.8)
 Source Host           : localhost:3306
 Source Schema         : dating_app

 Target Server Type    : MySQL
 Target Server Version : 80408 (8.4.8)
 File Encoding         : 65001

 Date: 13/05/2026 17:01:34
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for activities
-- ----------------------------
DROP TABLE IF EXISTS `activities`;
CREATE TABLE `activities`  (
  `id` int NOT NULL AUTO_INCREMENT,
  `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `category` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `location` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `cover_image` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `start_time` datetime NOT NULL,
  `end_time` datetime NOT NULL,
  `signup_deadline` datetime NULL DEFAULT NULL,
  `capacity_male` smallint NOT NULL DEFAULT 0,
  `capacity_female` smallint NOT NULL DEFAULT 0,
  `match_window_hours` int NOT NULL DEFAULT 48,
  `status` smallint NOT NULL DEFAULT 0,
  `is_published` smallint NOT NULL DEFAULT 0,
  `require_audit` smallint NOT NULL DEFAULT 1,
  `created_by` int NULL DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of activities
-- ----------------------------
INSERT INTO `activities` VALUES (1, '西溪湿地春日轻徒步', '在自然里认识新朋友，沿着西溪湿地轻徒步 5 公里，途中设置轻互动环节与自由交流时间。', 'outdoor', '杭州·西溪湿地北门', 'https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1200&q=80', '2026-04-15 09:26:34', '2026-04-15 13:26:34', '2026-04-13 09:26:34', 20, 20, 48, 1, 1, 1, 1, '2026-04-08 09:26:34', '2026-04-08 09:26:34');
INSERT INTO `activities` VALUES (2, '城市夜话微醺晚餐局', '小范围高质量晚餐局，每桌都有轻量破冰卡片，帮助大家自然打开话题。', 'dining', '杭州·武林银泰附近', 'https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?auto=format&fit=crop&w=1200&q=80', '2026-04-18 09:26:34', '2026-04-18 12:26:34', '2026-04-16 09:26:34', 16, 16, 48, 1, 1, 1, 1, '2026-04-08 09:26:34', '2026-04-08 09:26:34');
INSERT INTO `activities` VALUES (3, '周末博物馆与咖啡漫游', '一起看展、拍照和喝咖啡，用轻松方式了解彼此的审美和生活节奏。', 'culture', '杭州·中国丝绸博物馆', 'https://images.unsplash.com/photo-1500534623283-312aade485b7?auto=format&fit=crop&w=1200&q=80', '2026-04-21 09:26:34', '2026-04-21 14:26:34', '2026-04-19 09:26:34', 18, 18, 48, 1, 1, 1, 1, '2026-04-08 09:26:34', '2026-04-17 21:34:04');
INSERT INTO `activities` VALUES (4, '黄龙体育馆羽毛球联谊赛', '双打轻竞技+交流联谊，适合喜欢运动氛围和高互动认识方式的朋友。', 'sport', '杭州·黄龙体育中心', 'https://images.unsplash.com/photo-1521412644187-c49fa049e84d?auto=format&fit=crop&w=1200&q=80', '2026-04-24 09:26:34', '2026-04-24 12:26:34', '2026-04-22 09:26:34', 24, 24, 48, 1, 1, 1, 1, '2026-04-08 09:26:34', '2026-04-08 09:26:34');
INSERT INTO `activities` VALUES (5, 'dsfasdfaasdfasdf', 'dsfafas', 'outdoor', 'sdfsaf', '', '2026-04-15 17:48:36', '2026-04-30 00:00:00', '2026-04-22 00:00:00', 20, 20, 48, 1, 1, 1, 1, '2026-04-15 17:48:56', '2026-04-17 12:21:46');
INSERT INTO `activities` VALUES (6, '你好', '测试', 'outdoor', '交付啊是的飞机', '', '2026-04-17 00:00:00', '2026-04-30 00:00:00', '2026-04-24 00:00:00', 20, 20, 48, 1, 1, 1, 1, '2026-04-17 12:21:35', '2026-04-17 12:21:35');
INSERT INTO `activities` VALUES (7, '特色他', '啊但是发的发的发啊舒服阿斯蒂芬sad沙发暗色', 'outdoor', '手动发阿斯蒂芬暗色', '', '2026-04-17 00:00:00', '2026-04-30 00:00:00', '2026-04-23 00:00:00', 25, 25, 53, 1, 1, 1, 1, '2026-04-17 21:34:42', '2026-04-17 21:34:42');

-- ----------------------------
-- Table structure for admins
-- ----------------------------
DROP TABLE IF EXISTS `admins`;
CREATE TABLE `admins`  (
  `id` int NOT NULL AUTO_INCREMENT,
  `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `password_hash` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `role` smallint NOT NULL DEFAULT 1,
  `is_active` smallint NOT NULL DEFAULT 1,
  `last_login` datetime NULL DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `username`(`username` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of admins
-- ----------------------------
INSERT INTO `admins` VALUES (1, 'admin', '$pbkdf2-sha256$29000$BODc././l5KyNsY4x5gzBg$RzGEAPJPlRzFH/AM10s90OaYcDfIi5z3dKHKdFfbDhY', 2, 1, '2026-04-15 10:06:55', '2026-04-07 17:44:26');

-- ----------------------------
-- Table structure for alembic_version
-- ----------------------------
DROP TABLE IF EXISTS `alembic_version`;
CREATE TABLE `alembic_version`  (
  `version_num` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  PRIMARY KEY (`version_num`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of alembic_version
-- ----------------------------
INSERT INTO `alembic_version` VALUES ('202604150001');

-- ----------------------------
-- Table structure for announcements
-- ----------------------------
DROP TABLE IF EXISTS `announcements`;
CREATE TABLE `announcements`  (
  `id` int NOT NULL AUTO_INCREMENT,
  `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `is_pinned` smallint NOT NULL DEFAULT 0,
  `is_published` smallint NOT NULL DEFAULT 1,
  `created_by` int NULL DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of announcements
-- ----------------------------
INSERT INTO `announcements` VALUES (1, 'asdfa sdfasdf', 'dsfaadsfa', 0, 1, 1, '2026-04-07 17:55:21', '2026-04-07 17:55:21');
INSERT INTO `announcements` VALUES (2, '四月活动上新，快来报名春日见面局', '四月新增徒步、晚餐局、羽毛球等多场线下活动，已通过审核的会员可直接报名参加。', 1, 1, 1, '2026-04-08 09:26:34', '2026-04-08 09:26:34');
INSERT INTO `announcements` VALUES (4, '关于匹配推荐逻辑优化的说明', '系统已上线新的匹配权重配置，会更优先展示同城、兴趣重叠和价值观更契合的对象。', 0, 1, 1, '2026-04-08 09:26:34', '2026-04-08 09:26:34');
INSERT INTO `announcements` VALUES (5, '就发动机哦撒地方暗色', '阿斯蒂芬啊舒服阿斯蒂芬 是', 1, 1, 1, '2026-04-17 21:35:05', '2026-04-17 21:35:05');

-- ----------------------------
-- Table structure for match_likes
-- ----------------------------
DROP TABLE IF EXISTS `match_likes`;
CREATE TABLE `match_likes`  (
  `id` int NOT NULL AUTO_INCREMENT,
  `from_user_id` int NOT NULL,
  `to_user_id` int NOT NULL,
  `source` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'manual',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `uk_like`(`from_user_id` ASC, `to_user_id` ASC) USING BTREE,
  INDEX `to_user_id`(`to_user_id` ASC) USING BTREE,
  CONSTRAINT `match_likes_ibfk_1` FOREIGN KEY (`from_user_id`) REFERENCES `users` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `match_likes_ibfk_2` FOREIGN KEY (`to_user_id`) REFERENCES `users` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 50 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of match_likes
-- ----------------------------
INSERT INTO `match_likes` VALUES (1, 5, 7, 'ai', '2026-04-08 09:26:34');
INSERT INTO `match_likes` VALUES (2, 7, 5, 'manual', '2026-04-08 09:26:34');
INSERT INTO `match_likes` VALUES (3, 6, 8, 'manual', '2026-04-07 09:26:34');
INSERT INTO `match_likes` VALUES (4, 8, 6, 'manual', '2026-04-07 09:26:34');
INSERT INTO `match_likes` VALUES (5, 9, 11, 'activity', '2026-04-06 09:26:34');
INSERT INTO `match_likes` VALUES (6, 4, 6, 'manual', '2026-04-08 09:28:48');
INSERT INTO `match_likes` VALUES (7, 14, 4, 'manual', '2026-04-08 09:56:35');
INSERT INTO `match_likes` VALUES (8, 14, 6, 'manual', '2026-04-08 10:02:01');
INSERT INTO `match_likes` VALUES (9, 15, 5, 'manual', '2026-04-08 10:31:36');
INSERT INTO `match_likes` VALUES (10, 15, 6, 'manual', '2026-04-08 10:31:40');
INSERT INTO `match_likes` VALUES (11, 15, 9, 'manual', '2026-04-08 10:31:44');
INSERT INTO `match_likes` VALUES (12, 15, 11, 'manual', '2026-04-08 10:32:06');
INSERT INTO `match_likes` VALUES (13, 17, 4, 'manual', '2026-04-15 10:10:57');
INSERT INTO `match_likes` VALUES (14, 17, 5, 'manual', '2026-04-15 10:10:58');
INSERT INTO `match_likes` VALUES (15, 17, 7, 'manual', '2026-04-15 10:13:16');
INSERT INTO `match_likes` VALUES (16, 17, 9, 'manual', '2026-04-15 10:13:18');
INSERT INTO `match_likes` VALUES (17, 17, 11, 'manual', '2026-04-15 10:13:20');
INSERT INTO `match_likes` VALUES (18, 17, 12, 'manual', '2026-04-15 10:13:21');
INSERT INTO `match_likes` VALUES (19, 17, 15, 'manual', '2026-04-15 10:13:22');
INSERT INTO `match_likes` VALUES (20, 17, 8, 'manual', '2026-04-15 10:38:00');
INSERT INTO `match_likes` VALUES (21, 17, 10, 'manual', '2026-04-15 10:38:02');
INSERT INTO `match_likes` VALUES (22, 17, 6, 'ai', '2026-04-15 10:38:09');
INSERT INTO `match_likes` VALUES (23, 18, 5, 'ai', '2026-04-15 12:39:55');
INSERT INTO `match_likes` VALUES (24, 18, 7, 'ai', '2026-04-15 12:53:26');
INSERT INTO `match_likes` VALUES (25, 18, 8, 'ai', '2026-04-15 13:09:16');
INSERT INTO `match_likes` VALUES (26, 18, 12, 'ai', '2026-04-15 13:09:17');
INSERT INTO `match_likes` VALUES (27, 18, 9, 'manual', '2026-04-15 16:09:16');
INSERT INTO `match_likes` VALUES (28, 18, 15, 'manual', '2026-04-15 16:09:20');
INSERT INTO `match_likes` VALUES (29, 18, 6, 'manual', '2026-04-15 16:09:32');
INSERT INTO `match_likes` VALUES (30, 18, 10, 'manual', '2026-04-15 16:09:33');
INSERT INTO `match_likes` VALUES (31, 18, 11, 'manual', '2026-04-15 16:09:34');
INSERT INTO `match_likes` VALUES (32, 19, 5, 'manual', '2026-04-15 16:26:29');
INSERT INTO `match_likes` VALUES (33, 20, 5, 'manual', '2026-04-15 16:39:08');
INSERT INTO `match_likes` VALUES (34, 20, 7, 'manual', '2026-04-15 16:39:10');
INSERT INTO `match_likes` VALUES (35, 20, 9, 'manual', '2026-04-15 16:39:11');
INSERT INTO `match_likes` VALUES (36, 23, 4, 'manual', '2026-04-15 17:50:12');
INSERT INTO `match_likes` VALUES (37, 23, 5, 'manual', '2026-04-17 10:29:41');
INSERT INTO `match_likes` VALUES (38, 23, 6, 'manual', '2026-04-17 10:45:39');
INSERT INTO `match_likes` VALUES (39, 25, 4, 'manual', '2026-04-17 20:02:57');
INSERT INTO `match_likes` VALUES (40, 26, 5, 'manual', '2026-04-17 20:37:53');
INSERT INTO `match_likes` VALUES (41, 26, 6, 'manual', '2026-04-17 20:42:05');
INSERT INTO `match_likes` VALUES (42, 26, 11, 'manual', '2026-04-17 20:42:14');
INSERT INTO `match_likes` VALUES (43, 26, 9, 'manual', '2026-04-17 20:55:37');
INSERT INTO `match_likes` VALUES (44, 27, 5, 'manual', '2026-04-17 21:22:31');
INSERT INTO `match_likes` VALUES (45, 27, 6, 'manual', '2026-04-17 21:22:32');
INSERT INTO `match_likes` VALUES (46, 27, 7, 'manual', '2026-04-17 21:22:33');
INSERT INTO `match_likes` VALUES (47, 27, 8, 'manual', '2026-04-17 21:22:34');
INSERT INTO `match_likes` VALUES (48, 28, 5, 'manual', '2026-04-17 21:31:18');
INSERT INTO `match_likes` VALUES (49, 28, 4, 'manual', '2026-04-17 21:31:28');

-- ----------------------------
-- Table structure for matches
-- ----------------------------
DROP TABLE IF EXISTS `matches`;
CREATE TABLE `matches`  (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_a_id` int NOT NULL,
  `user_b_id` int NOT NULL,
  `match_score` decimal(5, 2) NULL DEFAULT NULL,
  `match_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'manual',
  `source_activity_id` int NULL DEFAULT NULL,
  `a_viewed` smallint NOT NULL DEFAULT 0,
  `b_viewed` smallint NOT NULL DEFAULT 0,
  `matched_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `uk_match`(`user_a_id` ASC, `user_b_id` ASC) USING BTREE,
  INDEX `user_b_id`(`user_b_id` ASC) USING BTREE,
  INDEX `source_activity_id`(`source_activity_id` ASC) USING BTREE,
  CONSTRAINT `matches_ibfk_1` FOREIGN KEY (`user_a_id`) REFERENCES `users` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `matches_ibfk_2` FOREIGN KEY (`user_b_id`) REFERENCES `users` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `matches_ibfk_3` FOREIGN KEY (`source_activity_id`) REFERENCES `activities` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of matches
-- ----------------------------
INSERT INTO `matches` VALUES (1, 5, 7, 92.50, 'ai', 1, 1, 0, '2026-04-08 09:26:34');
INSERT INTO `matches` VALUES (2, 6, 8, 88.00, 'manual', 2, 1, 1, '2026-04-07 09:26:34');
INSERT INTO `matches` VALUES (3, 9, 11, 84.50, 'activity', 3, 0, 1, '2026-04-06 09:26:34');

-- ----------------------------
-- Table structure for registrations
-- ----------------------------
DROP TABLE IF EXISTS `registrations`;
CREATE TABLE `registrations`  (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `activity_id` int NOT NULL,
  `status` smallint NOT NULL DEFAULT 1,
  `checked_in_at` datetime NULL DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `uk_user_activity`(`user_id` ASC, `activity_id` ASC) USING BTREE,
  INDEX `activity_id`(`activity_id` ASC) USING BTREE,
  CONSTRAINT `registrations_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `registrations_ibfk_2` FOREIGN KEY (`activity_id`) REFERENCES `activities` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of registrations
-- ----------------------------
INSERT INTO `registrations` VALUES (1, 5, 1, 1, NULL, '2026-04-08 09:26:34', '2026-04-08 09:26:34');
INSERT INTO `registrations` VALUES (2, 6, 1, 1, NULL, '2026-04-08 09:26:34', '2026-04-08 09:26:34');
INSERT INTO `registrations` VALUES (3, 7, 1, 1, NULL, '2026-04-08 09:26:34', '2026-04-08 09:26:34');
INSERT INTO `registrations` VALUES (4, 8, 1, 1, NULL, '2026-04-08 09:26:34', '2026-04-08 09:26:34');
INSERT INTO `registrations` VALUES (5, 9, 1, 1, NULL, '2026-04-08 09:26:34', '2026-04-08 09:26:34');
INSERT INTO `registrations` VALUES (6, 10, 1, 1, NULL, '2026-04-08 09:26:34', '2026-04-08 09:26:34');
INSERT INTO `registrations` VALUES (7, 11, 2, 1, NULL, '2026-04-08 09:26:34', '2026-04-08 09:26:34');
INSERT INTO `registrations` VALUES (8, 12, 2, 1, NULL, '2026-04-08 09:26:34', '2026-04-08 09:26:34');
INSERT INTO `registrations` VALUES (9, 5, 3, 1, NULL, '2026-04-08 09:26:34', '2026-04-08 09:26:34');
INSERT INTO `registrations` VALUES (10, 10, 3, 1, NULL, '2026-04-08 09:26:34', '2026-04-08 09:26:34');
INSERT INTO `registrations` VALUES (11, 11, 4, 1, NULL, '2026-04-08 09:26:34', '2026-04-08 09:26:34');
INSERT INTO `registrations` VALUES (12, 12, 4, 1, NULL, '2026-04-08 09:26:34', '2026-04-08 09:26:34');
INSERT INTO `registrations` VALUES (13, 23, 5, 1, NULL, '2026-04-17 12:22:16', '2026-04-17 12:22:16');
INSERT INTO `registrations` VALUES (14, 23, 3, 1, NULL, '2026-04-17 12:26:01', '2026-04-17 12:26:01');
INSERT INTO `registrations` VALUES (15, 23, 4, 1, NULL, '2026-04-17 12:26:08', '2026-04-17 12:26:08');
INSERT INTO `registrations` VALUES (16, 28, 5, 1, NULL, '2026-04-17 21:33:12', '2026-04-17 21:33:12');

-- ----------------------------
-- Table structure for system_configs
-- ----------------------------
DROP TABLE IF EXISTS `system_configs`;
CREATE TABLE `system_configs`  (
  `id` int NOT NULL AUTO_INCREMENT,
  `config_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `config_value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `config_key`(`config_key` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of system_configs
-- ----------------------------
INSERT INTO `system_configs` VALUES (1, 'ai_weights', '{\"age\": 0.27, \"hobbies\": 0.21, \"values\": 0.21, \"education\": 0.17, \"activity\": 0.15, \"location\": 0.13, \"height\": 0.11}', 'default ai_weights', '2026-04-07 17:55:28', '2026-04-17 21:36:26');
INSERT INTO `system_configs` VALUES (2, 'daily_recommend_limit', '8', 'default daily_recommend_limit', '2026-04-07 17:55:28', '2026-04-17 21:36:26');
INSERT INTO `system_configs` VALUES (3, 'api_base_url', '\"https://ghxiangqin.com/api/v1\"', 'custom api_base_url', '2026-04-08 08:37:31', '2026-05-13 16:36:22');
INSERT INTO `system_configs` VALUES (4, 'customer_service_wechat', '\"tester\"', 'custom customer_service_wechat', '2026-04-08 09:38:52', '2026-04-17 21:36:26');
INSERT INTO `system_configs` VALUES (5, 'matches_per_activity_limit', '1', 'custom matches_per_activity_limit', '2026-04-17 21:36:26', '2026-04-17 21:36:26');

-- ----------------------------
-- Table structure for users
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users`  (
  `id` int NOT NULL AUTO_INCREMENT,
  `openid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `unionid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `nickname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `real_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `gender` smallint NULL DEFAULT NULL,
  `birth_year` smallint NULL DEFAULT NULL,
  `city` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `height` smallint NULL DEFAULT NULL,
  `education` smallint NULL DEFAULT NULL,
  `job_industry` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `job_company` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `income_range` smallint NULL DEFAULT NULL,
  `marriage_status` smallint NOT NULL DEFAULT 1,
  `personality_tags` json NULL,
  `hobbies` json NULL,
  `value_answers` json NULL,
  `prefer_age_min` smallint NULL DEFAULT NULL,
  `prefer_age_max` smallint NULL DEFAULT NULL,
  `prefer_city` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `prefer_education` smallint NULL DEFAULT NULL,
  `self_intro` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `avatar_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `avatar_blur_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `audit_status` smallint NOT NULL DEFAULT 0,
  `audit_remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `audit_time` datetime NULL DEFAULT NULL,
  `auditor_id` int NULL DEFAULT NULL,
  `is_active` smallint NOT NULL DEFAULT 1,
  `ban_reason` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `profile_completeness` smallint NOT NULL DEFAULT 0,
  `subscribe_audit` smallint NOT NULL DEFAULT 0,
  `subscribe_match` smallint NOT NULL DEFAULT 0,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `wechat_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `openid`(`openid` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 30 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of users
-- ----------------------------
INSERT INTO `users` VALUES (1, 'dev_openid_dev-code', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, 1, NULL, 0, 0, 0, '2026-04-07 17:15:29', '2026-04-07 17:15:29', NULL, NULL);
INSERT INTO `users` VALUES (2, 'dev_openid_the code is a mock one', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, 1, NULL, 0, 0, 0, '2026-04-07 17:16:26', '2026-04-07 17:16:26', NULL, NULL);
INSERT INTO `users` VALUES (3, 'dev_openid_0b3IgJll2jpNth47Tdml23qoPh4IgJld', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, 1, NULL, 0, 0, 0, '2026-04-08 08:39:04', '2026-04-08 08:39:04', NULL, NULL);
INSERT INTO `users` VALUES (4, 'dev_openid_0d3f9Dkl2K4Uuh4lPQkl2g1oDr3f9Dkp', NULL, '123', '123', 1, 12312, '123', 123, 3, '123', '1231', NULL, 1, NULL, NULL, NULL, NULL, NULL, '123', NULL, '123', NULL, NULL, 2, '', '2026-04-08 09:02:59', 1, 1, NULL, 48, 0, 0, '2026-04-08 08:40:17', '2026-04-08 09:02:58', NULL, NULL);
INSERT INTO `users` VALUES (5, 'demo_openid_chenxi', NULL, '晨曦', '陈晨', 2, 1995, '杭州', 165, 3, '互联网', '字节云舟', 3, 1, '[\"温柔\", \"开朗\", \"细腻\"]', '[\"旅行\", \"摄影\", \"羽毛球\"]', '{\"q1\": \"C\", \"q2\": \"B\", \"q3\": \"C\", \"q4\": \"B\"}', 28, 36, '杭州', 3, '喜欢有松弛感的相处，也愿意认真经营一段稳定关系。', 'https://images.unsplash.com/photo-1494790108377-be9c29b29330?auto=format&fit=crop&w=800&q=80', 'https://images.unsplash.com/photo-1494790108377-be9c29b29330?auto=format&fit=crop&w=200&q=20', 2, NULL, '2026-04-08 09:26:34', 1, 1, NULL, 92, 1, 1, '2026-04-08 09:26:34', '2026-04-08 09:26:34', NULL, NULL);
INSERT INTO `users` VALUES (6, 'demo_openid_wenya', NULL, '文雅', '李文雅', 2, 1993, '杭州', 168, 4, '教育', '青禾实验学校', 2, 1, '[\"知性\", \"稳重\", \"有趣\"]', '[\"读书\", \"展览\", \"咖啡\"]', '{\"q1\": \"A\", \"q2\": \"A\", \"q3\": \"C\", \"q4\": \"B\"}', 29, 37, '杭州', 3, '工作日认真上课，周末喜欢看展和逛城市角落。', 'https://images.unsplash.com/photo-1488426862026-3ee34a7d66df?auto=format&fit=crop&w=800&q=80', 'https://images.unsplash.com/photo-1488426862026-3ee34a7d66df?auto=format&fit=crop&w=200&q=20', 2, NULL, '2026-04-08 09:26:34', 1, 1, NULL, 90, 1, 1, '2026-04-08 09:26:34', '2026-04-08 09:26:34', NULL, NULL);
INSERT INTO `users` VALUES (7, 'demo_openid_muyang', NULL, '牧洋', '周牧洋', 1, 1992, '杭州', 180, 4, '金融', '浙商金服', 4, 1, '[\"可靠\", \"幽默\", \"自律\"]', '[\"健身\", \"露营\", \"电影\"]', '{\"q1\": \"C\", \"q2\": \"B\", \"q3\": \"B\", \"q4\": \"A\"}', 24, 32, '杭州', 3, '希望遇到可以一起运动、一起旅行，也能安静吃饭聊天的人。', 'https://images.unsplash.com/photo-1500648767791-00dcc994a43e?auto=format&fit=crop&w=800&q=80', 'https://images.unsplash.com/photo-1500648767791-00dcc994a43e?auto=format&fit=crop&w=200&q=20', 2, NULL, '2026-04-08 09:26:34', 1, 1, NULL, 95, 1, 1, '2026-04-08 09:26:34', '2026-04-08 09:26:34', NULL, NULL);
INSERT INTO `users` VALUES (8, 'demo_openid_jinghao', NULL, '景皓', '王景皓', 1, 1994, '杭州', 178, 3, '制造业', '杭氧智造', 3, 1, '[\"真诚\", \"阳光\", \"踏实\"]', '[\"徒步\", \"篮球\", \"音乐\"]', '{\"q1\": \"B\", \"q2\": \"A\", \"q3\": \"C\", \"q4\": \"A\"}', 24, 31, '杭州', 3, '在工会活动里认识朋友，希望从熟悉到喜欢，自然一点就好。', 'https://images.unsplash.com/photo-1506794778202-cad84cf45f1d?auto=format&fit=crop&w=800&q=80', 'https://images.unsplash.com/photo-1506794778202-cad84cf45f1d?auto=format&fit=crop&w=200&q=20', 2, NULL, '2026-04-08 09:26:34', 1, 1, NULL, 88, 1, 1, '2026-04-08 09:26:34', '2026-04-08 09:26:34', NULL, NULL);
INSERT INTO `users` VALUES (9, 'demo_openid_anan', NULL, '安安', '许安', 2, 1996, '绍兴', 163, 3, '医疗', '市人民医院', 3, 1, '[\"温暖\", \"理性\", \"慢热\"]', '[\"烘焙\", \"散步\", \"电影\"]', '{\"q1\": \"A\", \"q2\": \"B\", \"q3\": \"A\", \"q4\": \"B\"}', 28, 35, '杭州', 3, '值夜班比较多，所以更珍惜稳定且有回应的关系。', 'https://images.unsplash.com/photo-1517841905240-472988babdf9?auto=format&fit=crop&w=800&q=80', 'https://images.unsplash.com/photo-1517841905240-472988babdf9?auto=format&fit=crop&w=200&q=20', 2, NULL, '2026-04-08 09:26:34', 1, 1, NULL, 86, 1, 1, '2026-04-08 09:26:34', '2026-04-08 09:26:34', NULL, NULL);
INSERT INTO `users` VALUES (10, 'demo_openid_yuze', NULL, '宇泽', '林宇泽', 1, 1991, '宁波', 182, 5, '科研', '之江实验室', 4, 1, '[\"理工\", \"靠谱\", \"耐心\"]', '[\"羽毛球\", \"桌游\", \"摄影\"]', '{\"q1\": \"B\", \"q2\": \"A\", \"q3\": \"C\", \"q4\": \"A\"}', 25, 33, '杭州', 3, '生活里不缺热闹，更想找能一起做长期计划的人。', 'https://images.unsplash.com/photo-1504593811423-6dd665756598?auto=format&fit=crop&w=800&q=80', 'https://images.unsplash.com/photo-1504593811423-6dd665756598?auto=format&fit=crop&w=200&q=20', 2, NULL, '2026-04-08 09:26:34', 1, 1, NULL, 93, 1, 1, '2026-04-08 09:26:34', '2026-04-08 09:26:34', NULL, NULL);
INSERT INTO `users` VALUES (11, 'demo_openid_qingning', NULL, '清宁', '沈清宁', 2, 1997, '杭州', 166, 4, '设计', '青岚设计', 2, 1, '[\"审美好\", \"松弛\", \"有边界感\"]', '[\"插画\", \"探店\", \"游泳\"]', '{\"q1\": \"B\", \"q2\": \"A\", \"q3\": \"C\", \"q4\": \"B\"}', 27, 35, '杭州', 3, '喜欢有礼貌和稳定表达的人，真诚会很加分。', 'https://images.unsplash.com/photo-1524504388940-b1c1722653e1?auto=format&fit=crop&w=800&q=80', 'https://images.unsplash.com/photo-1524504388940-b1c1722653e1?auto=format&fit=crop&w=200&q=20', 2, NULL, '2026-04-08 09:26:34', 1, 1, NULL, 89, 1, 1, '2026-04-08 09:26:34', '2026-04-08 09:26:34', NULL, NULL);
INSERT INTO `users` VALUES (12, 'demo_openid_junhao', NULL, '骏浩', '顾骏浩', 1, 1993, '杭州', 176, 3, '政企服务', '钱江会务中心', 3, 1, '[\"外向\", \"会照顾人\", \"行动派\"]', '[\"跑步\", \"自驾\", \"美食\"]', '{\"q1\": \"C\", \"q2\": \"B\", \"q3\": \"B\", \"q4\": \"A\"}', 24, 32, '杭州', 3, '希望认识愿意一起参加活动、一起走进生活的人。', 'https://images.unsplash.com/photo-1504257432389-52343af06ae3?auto=format&fit=crop&w=800&q=80', 'https://images.unsplash.com/photo-1504257432389-52343af06ae3?auto=format&fit=crop&w=200&q=20', 2, NULL, '2026-04-08 09:26:34', 1, 1, NULL, 87, 1, 1, '2026-04-08 09:26:34', '2026-04-08 09:26:34', NULL, NULL);
INSERT INTO `users` VALUES (13, 'dev_openid_0a31xVFa1LpuvL0AahHa1Y8Ijd41xVFg', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, 1, NULL, 0, 0, 0, '2026-04-08 09:39:05', '2026-04-08 09:39:05', NULL, NULL);
INSERT INTO `users` VALUES (14, 'dev_openid_0e3nvdGa1fLkvL0EpXFa1OEiNd0nvdGC', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, 1, NULL, 0, 0, 0, '2026-04-08 09:54:14', '2026-04-08 09:54:14', NULL, NULL);
INSERT INTO `users` VALUES (15, 'dev_openid_0e3l791w39mxO63OFi2w3IU4SB3l791P', NULL, '123', '123', 1, 123, '123', 123, 1, '123', '123', NULL, 1, NULL, NULL, NULL, NULL, NULL, '123', NULL, '123123', NULL, NULL, 2, '', '2026-04-08 10:31:24', 1, 1, NULL, 48, 0, 0, '2026-04-08 10:26:29', '2026-04-08 10:31:23', NULL, NULL);
INSERT INTO `users` VALUES (16, 'dev_openid_0f3GmQll22gQth4VgOkl2tAnB30GmQlP', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, 1, NULL, 0, 0, 0, '2026-04-08 10:35:27', '2026-04-08 10:35:27', NULL, NULL);
INSERT INTO `users` VALUES (17, 'dev_openid_0e33zp1w3lldR63P650w36qEfD13zp1Z', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, 1, NULL, 0, 0, 0, '2026-04-15 10:02:54', '2026-04-15 10:02:54', NULL, NULL);
INSERT INTO `users` VALUES (18, 'dev_openid_0d394i1w3rfkR63wbE3w3spwTc394i10', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, 1, NULL, 0, 0, 0, '2026-04-15 12:39:32', '2026-04-15 12:39:32', NULL, NULL);
INSERT INTO `users` VALUES (19, 'dev_openid_0d3QbaHa1jl9wL0o8VFa1Omzzu2QbaHN', NULL, 'test', 'tetst', 1, 1993, '山西', 188, 4, '软件开发', '软件开发', NULL, 1, NULL, NULL, NULL, NULL, NULL, '阿德发', NULL, '打发发生的发的发生地方', NULL, NULL, 2, '', '2026-04-15 17:47:44', 1, 1, NULL, 48, 0, 0, '2026-04-15 16:23:47', '2026-04-15 17:47:44', NULL, NULL);
INSERT INTO `users` VALUES (20, 'dev_openid_0d3bU4Ga1UW7xL0RwpGa15DwHt0bU4GC', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, 1, NULL, 0, 0, 0, '2026-04-15 16:38:43', '2026-04-15 16:38:43', NULL, NULL);
INSERT INTO `users` VALUES (21, 'dev_openid_0c3cKWll23Avwh4CXJll2wQXa22cKWlK', NULL, 'test', 'tester', 1, 1222, '123', 122, 1, NULL, NULL, NULL, 1, '[]', '[]', '{}', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, '', '2026-04-15 17:47:46', 1, 1, NULL, 28, 0, 0, '2026-04-15 16:45:58', '2026-04-15 17:47:45', NULL, NULL);
INSERT INTO `users` VALUES (22, 'dev_openid_0d3aRGll2X7Qwh4tMonl2kMGLs3aRGlF', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, 1, NULL, 0, 0, 0, '2026-04-15 17:05:01', '2026-04-15 17:05:01', NULL, NULL);
INSERT INTO `users` VALUES (23, 'dev_openid_0b3PSVGa1UXlwL0c3ZHa1jegNM2PSVGi', NULL, '123', '2312', 1, 23, '123', 23, 1, '123', '123', 1, 1, '[\"123\"]', '[\"123\"]', NULL, NULL, NULL, '123', NULL, '123', 'https://your-bucket.cos.ap-beijing.myqcloud.com/static/uploads/avatars/23/1776424597.jpg', 'https://your-bucket.cos.ap-beijing.myqcloud.com/static/uploads/avatars/23/1776424597_blur.jpg', 2, '', '2026-04-17 10:29:21', 1, 1, NULL, 84, 0, 0, '2026-04-15 17:08:45', '2026-04-17 19:16:37', '123', '123');
INSERT INTO `users` VALUES (24, 'dev_openid_0f3sgvFa1KIxyL05skHa1RnCi61sgvF9', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '/static/uploads/avatars/24/1776427314.jpg', '/static/uploads/avatars/24/1776427314_blur.jpg', 0, NULL, NULL, NULL, 1, NULL, 0, 0, 0, '2026-04-17 19:29:13', '2026-04-17 20:01:54', NULL, NULL);
INSERT INTO `users` VALUES (25, 'dev_openid_0f3Vo5Ga1Tt4yL0SOGHa10V5qw1Vo5Gj', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, 1, NULL, 0, 0, 0, '2026-04-17 20:02:39', '2026-04-17 20:02:39', NULL, NULL);
INSERT INTO `users` VALUES (26, 'dev_openid_0a3jS0Ia1rb6BL0R9GJa1Usg7z2jS0Iv', NULL, '太一', '213', 1, 234, '324', 234, 1, '234', '234', 1, 1, '[\"234\"]', '[\"234\"]', NULL, NULL, NULL, '234', NULL, '234234', '/static/uploads/avatars/26/1776428364.jpg', '/static/uploads/avatars/26/1776428364_blur.jpg', 2, '', '2026-04-17 20:20:08', 1, 1, NULL, 84, 0, 0, '2026-04-17 20:04:48', '2026-04-17 20:20:07', '💰4', '29933574675');
INSERT INTO `users` VALUES (27, 'dev_openid_0f3ffaGa1Y38yL06wdIa1brxSc3ffaGy', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, 1, NULL, 0, 0, 0, '2026-04-17 21:22:06', '2026-04-17 21:22:06', NULL, NULL);
INSERT INTO `users` VALUES (28, 'dev_openid_0d3aACFa1pMEyL0fv8Ia1EzCf90aACFw', NULL, '特色他', '2423', 1, 2442, '234', 234, 1, '2342', '342', 1, 1, '[\"234\"]', '[\"234\"]', NULL, NULL, NULL, '234', NULL, '234', '/static/uploads/avatars/28/1776432721.jpg', '/static/uploads/avatars/28/1776432721_blur.jpg', 2, '', '2026-04-17 21:32:43', 1, 1, NULL, 84, 0, 0, '2026-04-17 21:29:14', '2026-04-17 21:32:42', '423424', '424324242');
INSERT INTO `users` VALUES (29, 'dev_openid_0d33Zq0w3pGS273Vxe1w3zFFgU13Zq0v', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, 1, NULL, 0, 0, 0, '2026-05-13 15:52:47', '2026-05-13 15:52:47', NULL, NULL);

SET FOREIGN_KEY_CHECKS = 1;
