123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284 |
- -- 用户表
- CREATE TABLE IF NOT EXISTS `member_users` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '用户编号',
- `mobile` varchar(11) NOT NULL COMMENT '手机号',
- `password` varchar(255) NOT NULL COMMENT '密码',
- `nickname` varchar(50) DEFAULT NULL COMMENT '昵称',
- `avatar` varchar(255) DEFAULT NULL COMMENT '头像',
- `gender` varchar(255) NOT NULL DEFAULT 'UNKNOWN' COMMENT '性别',
- `register_area` varchar(6) DEFAULT NULL COMMENT '注册地(行政区划代码)',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_mobile` (`mobile`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户表';
- -- 社交账号表
- CREATE TABLE IF NOT EXISTS `member_social_accounts` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '社交账号编号',
- `user_id` bigint unsigned NOT NULL COMMENT '用户编号',
- `platform` varchar(255) NOT NULL COMMENT '社交平台',
- `social_id` varchar(100) NOT NULL COMMENT '社交账号',
- `nickname` varchar(50) DEFAULT NULL COMMENT '昵称',
- `avatar` varchar(255) DEFAULT NULL COMMENT '头像',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_platform_social_id` (`platform`, `social_id`),
- KEY `idx_user_id` (`user_id`),
- KEY `idx_platform` (`platform`),
- CONSTRAINT `fk_msoc_muser_user_id` FOREIGN KEY (`user_id`) REFERENCES `member_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '社交账号表';
- -- 用户地址表
- CREATE TABLE IF NOT EXISTS `member_addresses` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '地址编号',
- `user_id` bigint unsigned NOT NULL COMMENT '用户编号',
- `phone` varchar(11) NOT NULL COMMENT '联系电话',
- `location` varchar(255) NOT NULL COMMENT '定位地址',
- `address` varchar(255) DEFAULT NULL COMMENT '详细地址',
- `province` varchar(50) NOT NULL COMMENT '省',
- `city` varchar(50) NOT NULL COMMENT '市',
- `district` varchar(50) NOT NULL COMMENT '区',
- `longitude` decimal(10, 7) NOT NULL COMMENT '经度',
- `latitude` decimal(10, 7) NOT NULL COMMENT '纬度',
- `area_code` varchar(6) NOT NULL COMMENT '行政区划代码',
- `is_default` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否默认地址',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_user_id` (`user_id`),
- KEY `idx_is_default` (`is_default`),
- CONSTRAINT `fk_madr_muser_user_id` FOREIGN KEY (`user_id`) REFERENCES `member_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户地址表';
- -- 用户实名认证表
- CREATE TABLE IF NOT EXISTS `member_real_auth_records` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '实名认证编号',
- `user_id` bigint unsigned NOT NULL COMMENT '用户编号',
- `real_name` varchar(50) NOT NULL COMMENT '真实姓名',
- `id_card` varchar(18) NOT NULL COMMENT '身份证号',
- `id_card_front_photo` varchar(255) NOT NULL COMMENT '身份证正面照片',
- `id_card_back_photo` varchar(255) NOT NULL COMMENT '身份证反面照片',
- `id_card_hand_photo` varchar(255) NOT NULL COMMENT '手持身份证照片',
- `auditor` varchar(50) DEFAULT NULL COMMENT '审核人',
- `audit_time` timestamp NULL DEFAULT NULL COMMENT '审核时间',
- `audit_remark` varchar(255) DEFAULT NULL COMMENT '审核回执',
- `state` varchar(255) NOT NULL DEFAULT 'PENDING' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_user_id` (`user_id`),
- CONSTRAINT `fk_mrar_muser_user_id` FOREIGN KEY (`user_id`) REFERENCES `member_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户实名认证表';
- -- 技师表
- CREATE TABLE IF NOT EXISTS `coach_users` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '技师编号',
- `user_id` bigint unsigned NOT NULL COMMENT '用户编号',
- `info_record_id` bigint unsigned DEFAULT NULL COMMENT '技师信息记录编号',
- `real_auth_record_id` bigint unsigned DEFAULT NULL COMMENT '技师实名认证记录编号',
- `qual_record_id` bigint unsigned DEFAULT NULL COMMENT '技师资质认证记录编号',
- `shop_id` bigint unsigned DEFAULT NULL COMMENT '店铺编号',
- `level` varchar(255) DEFAULT NULL COMMENT '技师等级',
- `virtual_order` int DEFAULT '0' COMMENT '虚拟订单数',
- `score` decimal(3, 1) DEFAULT '5.0' COMMENT '评分',
- `work_status` varchar(255) NOT NULL DEFAULT 'REST' COMMENT '工作状态',
- `virtual_status` varchar(255) NOT NULL DEFAULT 'DISABLE' COMMENT '虚拟状态',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_user_id` (`user_id`),
- KEY `idx_shop_id` (`shop_id`),
- KEY `idx_work_status` (`work_status`),
- CONSTRAINT `fk_coach_user_id` FOREIGN KEY (`user_id`) REFERENCES `member_users` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '技师表';
- -- 技师实名认证记录表
- CREATE TABLE IF NOT EXISTS `coach_real_auth_records` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '实名认证编号',
- `coach_id` bigint unsigned NOT NULL COMMENT '技师编号',
- `real_name` varchar(50) NOT NULL COMMENT '真实姓名',
- `id_card` varchar(18) NOT NULL COMMENT '身份证号',
- `id_card_front_photo` varchar(255) NOT NULL COMMENT '身份证正面照片',
- `id_card_back_photo` varchar(255) NOT NULL COMMENT '身份证反面照片',
- `id_card_hand_photo` varchar(255) NOT NULL COMMENT '手持身份证照片',
- `auditor` varchar(50) DEFAULT NULL COMMENT '审核人',
- `audit_time` timestamp NULL DEFAULT NULL COMMENT '审核时间',
- `audit_remark` varchar(255) DEFAULT NULL COMMENT '审核回执',
- `state` varchar(255) NOT NULL DEFAULT 'pending' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_coach_id` (`coach_id`),
- CONSTRAINT `fk_carar_coach_coach_id` FOREIGN KEY (`coach_id`) REFERENCES `coach_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '技师实名认证记录表';
- -- 技师信息记录表
- CREATE TABLE IF NOT EXISTS `coach_info_records` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '技师信息记录编号',
- `coach_id` bigint unsigned NOT NULL COMMENT '技师编号',
- `nickname` varchar(50) DEFAULT NULL COMMENT '昵称',
- `avatar` varchar(255) DEFAULT NULL COMMENT '头像',
- `gender` varchar(255) NOT NULL DEFAULT 'UNKNOWN' COMMENT '性别',
- `mobile` varchar(11) NOT NULL COMMENT '服务电话',
- `birthday` date DEFAULT NULL COMMENT '出生日期',
- `work_years` int DEFAULT NULL COMMENT '从业年份',
- `intention_city` varchar(50) DEFAULT NULL COMMENT '意向城市',
- `introduction` text COMMENT '个人简介',
- `auditor` varchar(50) DEFAULT NULL COMMENT '审核人',
- `audit_time` timestamp NULL DEFAULT NULL COMMENT '审核时间',
- `audit_remark` varchar(255) DEFAULT NULL COMMENT '审核回执',
- `state` varchar(255) NOT NULL DEFAULT 'PENDING' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_cir_coach_coach_id` (`coach_id`),
- CONSTRAINT `fk_info_records_coach_id` FOREIGN KEY (`coach_id`) REFERENCES `coach_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '技师信息记录表';
- -- 技师实名认证记录表
- CREATE TABLE IF NOT EXISTS `coach_real_records` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '技师实名认证记录编号',
- `coach_id` bigint unsigned NOT NULL COMMENT '技师编号',
- `real_name` varchar(50) NOT NULL COMMENT '姓名',
- `id_card` varchar(18) NOT NULL COMMENT '身份证号',
- `id_card_front_photo` varchar(255) NOT NULL COMMENT '身份证正面照片',
- `id_card_back_photo` varchar(255) NOT NULL COMMENT '身份证反面照片',
- `id_card_hand_photo` varchar(255) NOT NULL COMMENT '手持身份证照片',
- `auditor` varchar(50) DEFAULT NULL COMMENT '审核人',
- `audit_time` timestamp NULL DEFAULT NULL COMMENT '审核时间',
- `audit_remark` varchar(255) DEFAULT NULL COMMENT '审核回执',
- `state` varchar(255) NOT NULL DEFAULT 'PENDING' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_crar_coach_coach_id` (`coach_id`),
- CONSTRAINT `fk_real_auth_records_coach_id` FOREIGN KEY (`coach_id`) REFERENCES `coach_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '技师实名认证记录表';
- -- 技师资质认证记录表
- CREATE TABLE IF NOT EXISTS `coach_qual_records` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '技师资质认证记录编号',
- `coach_id` bigint unsigned NOT NULL COMMENT '技师编号',
- `qual_type` varchar(255) NOT NULL COMMENT '资质类型',
- `qual_no` varchar(100) DEFAULT NULL COMMENT '资质证书编号',
- `qual_photo` varchar(255) NOT NULL COMMENT '资质证书照片',
- `valid_start` date DEFAULT NULL COMMENT '有效期开始日期',
- `valid_end` date DEFAULT NULL COMMENT '有效期结束日期',
- `auditor` varchar(50) DEFAULT NULL COMMENT '审核人',
- `audit_time` timestamp NULL DEFAULT NULL COMMENT '审核时间',
- `audit_remark` varchar(255) DEFAULT NULL COMMENT '审核回执',
- `state` varchar(255) NOT NULL DEFAULT 'PENDING' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_cqr_coach_coach_id` (`coach_id`),
- CONSTRAINT `fk_qual_records_coach_id` FOREIGN KEY (`coach_id`) REFERENCES `coach_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '技师资质认证记录表';
- -- 技师评分表
- CREATE TABLE IF NOT EXISTS `coach_scores` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '评分编号',
- `coach_id` bigint unsigned NOT NULL COMMENT '技师编号',
- `service_duration` int DEFAULT '0' COMMENT '服务时长(分钟)',
- `order_count` int DEFAULT '0' COMMENT '订单数量',
- `good_rate` decimal(5, 2) DEFAULT '0.00' COMMENT '好评率',
- `efficiency` decimal(5, 2) DEFAULT '0.00' COMMENT '服务效率',
- `punctual_rate` decimal(5, 2) DEFAULT '0.00' COMMENT '准时率',
- `completion_rate` decimal(5, 2) DEFAULT '0.00' COMMENT '完成率',
- `rating_score` decimal(3, 1) DEFAULT '5.0' COMMENT '评价得分',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_csco_coach_coach_id` (`coach_id`),
- CONSTRAINT `fk_scores_coach_id` FOREIGN KEY (`coach_id`) REFERENCES `coach_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '技师评分表';
- -- 技师定位地址表
- CREATE TABLE IF NOT EXISTS `coach_locations` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '技师定位地址编号',
- `coach_id` bigint unsigned NOT NULL COMMENT '技师编号',
- `type` varchar(255) NOT NULL DEFAULT 'CURRENT' COMMENT '地址类型',
- `latitude` decimal(10, 7) NOT NULL COMMENT '纬度',
- `longitude` decimal(10, 7) NOT NULL COMMENT '经度',
- `province` varchar(50) NOT NULL COMMENT '省',
- `city` varchar(50) NOT NULL COMMENT '市',
- `district` varchar(50) NOT NULL COMMENT '区',
- `location` varchar(255) NOT NULL COMMENT '定位地址',
- `area_code` varchar(6) NOT NULL COMMENT '行政区划代码',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_cloc_coach_coach_id` (`coach_id`),
- KEY `idx_type` (`type`),
- CONSTRAINT `fk_locations_coach_id` FOREIGN KEY (`coach_id`) REFERENCES `coach_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '技师定位地址表';
- -- 技师服务项目表
- CREATE TABLE `coach_project` (
- `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
- `coach_id` bigint UNSIGNED NOT NULL COMMENT '技师ID',
- `project_id` bigint UNSIGNED NOT NULL COMMENT '项目ID',
- `discount_amount` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '优惠金额',
- `service_gender` varchar(20) NOT NULL DEFAULT 'all' COMMENT '服务性别(all:不限 male:男 female:女)',
- `service_distance` int NOT NULL DEFAULT 0 COMMENT '服务距离(米)',
- `traffic_fee_type` varchar(20) NOT NULL DEFAULT 'free' COMMENT '收取路费(free:免费 one_way:单程 round_trip:双程)',
- `traffic_fee` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '路费金额',
- `state` varchar(20) NOT NULL DEFAULT 'enable' COMMENT '状态(enable:启用 disable:禁用)',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_coach_project` (`coach_id`, `project_id`),
- KEY `idx_coach_id` (`coach_id`),
- KEY `idx_project_id` (`project_id`),
- KEY `idx_state` (`state`),
- CONSTRAINT `fk_cp_coach` FOREIGN KEY (`coach_id`) REFERENCES `coach_users` (`id`),
- CONSTRAINT `fk_cp_project` FOREIGN KEY (`project_id`) REFERENCES `project` (`id`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '技师服务项目表';
- -- 订单表
- CREATE TABLE IF NOT EXISTS `order` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '订单编号',
- `user_id` bigint unsigned NOT NULL COMMENT '用户编号',
- `coach_id` bigint unsigned NOT NULL COMMENT '技师编号',
- `project_id` bigint unsigned NOT NULL COMMENT '项目编号',
- `channel_id` bigint unsigned DEFAULT NULL COMMENT '渠道编号',
- `shop_id` bigint unsigned DEFAULT NULL COMMENT '店铺编号',
- `agent_id` bigint unsigned DEFAULT NULL COMMENT '代理编号',
- `customer_service_id` bigint unsigned DEFAULT NULL COMMENT '跟单客服编号',
- `type` ENUM('normal', 'add_time') NOT NULL COMMENT '订单类型',
- `source` ENUM('platform', 'shop') NOT NULL COMMENT '订单来源',
- `payment_type` ENUM('balance', 'wechat', 'alipay') NULL COMMENT '支付类型',
- `project_amount` DECIMAL(10, 2) NOT NULL COMMENT '项目金额',
- `traffic_amount` DECIMAL(10, 2) DEFAULT '0.00' COMMENT '路费金额',
- `total_amount` DECIMAL(10, 2) NOT NULL COMMENT '订单金额',
- `balance_amount` DECIMAL(10, 2) DEFAULT '0.00' COMMENT '余额抵扣金额',
- `pay_amount` DECIMAL(10, 2) NOT NULL DEFAULT '0.00' COMMENT '实付金额',
- `discount_amount` DECIMAL(10, 2) DEFAULT '0.00' COMMENT '优惠卷金额',
- `tip_amount` DECIMAL(10, 2) DEFAULT '0.00' COMMENT '打赏金额',
- `service_snapshot` json DEFAULT NULL COMMENT '项目快照',
- `service_time` timestamp NOT NULL COMMENT '服务时间',
- `distance` int DEFAULT '0' COMMENT '目的地距离(米)',
- `latitude` decimal(10, 7) NOT NULL COMMENT '目的地纬度',
- `longitude` decimal(10, 7) NOT NULL COMMENT '目的地经度',
- `location` varchar(255) NOT NULL COMMENT '目的地定位地址',
- `address` varchar(255) DEFAULT NULL COMMENT '目的地详细地址',
- `area_code` varchar(6) NOT NULL COMMENT '目的地行政区划代码',
- `remark` varchar(255) DEFAULT NULL COMMENT '订单备注',
- `state` ENUM(
- 'wait_pay',
- 'wait_receive',
- 'service',
- 'service_ing',
- 'service_end',
- 'leave',
- 'complete',
- 'cancel'
- ) NOT NULL COMMENT '订单状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_user_id` (`user_id`),
- KEY `idx_coach_id` (`coach_id`),
- KEY `idx_service_id` (`project_id`),
- KEY `idx_shop_id` (`shop_id`),
- KEY `idx_agent_id` (`agent_id`),
- KEY `idx_service_time` (`service_time`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '订单表';
- -- 订单异常记录表
- CREATE TABLE IF NOT EXISTS `order_exc_records` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '订单异常记录编号',
- `order_id` bigint unsigned NOT NULL COMMENT '订单编号',
- `customer_service_id` bigint unsigned DEFAULT NULL COMMENT '跟单客服编号',
- `type` varchar(255) NOT NULL COMMENT '异常类型',
- `reason` varchar(255) NOT NULL COMMENT '异常原因',
- `remark` varchar(255) DEFAULT NULL COMMENT '备注',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_oer_order_order_id` (`order_id`),
- KEY `idx_exc_type` (`type`),
- CONSTRAINT `fk_exc_records_order_id` FOREIGN KEY (`order_id`) REFERENCES `order_infos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '订单异常记录表';
- -- 订单记录表
- CREATE TABLE IF NOT EXISTS `order_records` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '订单记录编号',
- `order_id` bigint unsigned NOT NULL COMMENT '订单编号',
- `object_id` bigint unsigned NOT NULL COMMENT '对象编号',
- `object_type` varchar(255) NOT NULL COMMENT '对象类型',
- `state` varchar(255) NOT NULL COMMENT '记录状态',
- `remark` varchar(255) DEFAULT NULL COMMENT '备注',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_orec_order_order_id` (`order_id`),
- KEY `idx_object_id` (`object_id`),
- KEY `idx_object_type` (`object_type`),
- CONSTRAINT `fk_order_records_order_id` FOREIGN KEY (`order_id`) REFERENCES `order_infos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '订单记录表';
- -- 订单分销记录表
- CREATE TABLE IF NOT EXISTS `order_dist_records` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '订单分销记录编号',
- `order_id` bigint unsigned NOT NULL COMMENT '订单编号',
- `object_id` bigint unsigned NOT NULL COMMENT '对象编号',
- `object_type` varchar(255) NOT NULL COMMENT '对象类型',
- `dist_type` varchar(255) NOT NULL COMMENT '分销类型',
- `amount` decimal(10, 2) NOT NULL DEFAULT '0.00' COMMENT '分销金额',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_odr_order_order_id` (`order_id`),
- KEY `idx_object_id` (`object_id`),
- KEY `idx_object_type` (`object_type`),
- KEY `idx_dist_type` (`dist_type`),
- CONSTRAINT `fk_dist_records_order_id` FOREIGN KEY (`order_id`) REFERENCES `order_infos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '订单分销记录表';
- -- 抢单记录表
- CREATE TABLE IF NOT EXISTS `order_grab_records` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '抢单池编号',
- `coach_id` bigint unsigned NOT NULL COMMENT '技师编号',
- `order_id` bigint unsigned NOT NULL COMMENT '订单编号',
- `state` varchar(255) NOT NULL DEFAULT 'JOINED' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_ogr_coach_coach_id` (`coach_id`),
- KEY `idx_ogr_order_order_id` (`order_id`),
- CONSTRAINT `fk_grab_records_coach_id` FOREIGN KEY (`coach_id`) REFERENCES `coach_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT `fk_grab_records_order_id` FOREIGN KEY (`order_id`) REFERENCES `order_infos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '抢单记录表';
- -- 评论表
- CREATE TABLE IF NOT EXISTS `order_comments` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '评论编号',
- `order_id` bigint unsigned NOT NULL COMMENT '订单编号',
- `user_id` bigint unsigned NOT NULL COMMENT '用户编号',
- `coach_id` bigint unsigned NOT NULL COMMENT '技师编号',
- `content` text COMMENT '评论内容',
- `rating` tinyint unsigned NOT NULL DEFAULT '5' COMMENT '评论星级',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_ocmt_order_order_id` (`order_id`),
- KEY `idx_ocmt_muser_user_id` (`user_id`),
- KEY `idx_ocmt_coach_coach_id` (`coach_id`),
- CONSTRAINT `fk_comments_order_id` FOREIGN KEY (`order_id`) REFERENCES `order_infos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT `fk_comments_user_id` FOREIGN KEY (`user_id`) REFERENCES `member_users` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE,
- CONSTRAINT `fk_comments_coach_id` FOREIGN KEY (`coach_id`) REFERENCES `coach_users` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '评论表';
- -- 钱包表
- CREATE TABLE IF NOT EXISTS `wallet` (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '钱包编号',
- `owner_id` BIGINT UNSIGNED NOT NULL COMMENT '所属主体编号',
- `owner_type` varchar(255) NOT NULL DEFAULT '' COMMENT '钱包类型',
- `total_balance` DECIMAL(20, 2) NOT NULL DEFAULT 0.00 COMMENT '总余额',
- `available_balance` DECIMAL(20, 2) NOT NULL DEFAULT 0.00 COMMENT '可用余额',
- `frozen_amount` DECIMAL(20, 2) NOT NULL DEFAULT 0.00 COMMENT '冻结金额',
- `total_income` DECIMAL(20, 2) NOT NULL DEFAULT 0.00 COMMENT '累计收入',
- `total_expense` DECIMAL(20, 2) NOT NULL DEFAULT 0.00 COMMENT '累计支出',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态:ENABLE-启用,DISABLE-禁用',
- `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_owner` (`owner_id`, `owner_type`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '钱包表';
- -- 钱包交易记录表
- CREATE TABLE IF NOT EXISTS `wallet_trans_records` (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '交易记录编号',
- `wallet_id` BIGINT UNSIGNED NOT NULL COMMENT '钱包编号',
- `owner_type` varchar(255) NOT NULL COMMENT '业务类型(profit:分账 recharge:充值 withdraw:提现 refund:退款 payment:支付 gift:赠送 breach:违约 compensation:补偿)',
- `owner_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '业务编号',
- `trans_type` varchar(32) NOT NULL COMMENT '交易类型(income:收入 expense:支出)',
- `storage_type` varchar(32) NOT NULL COMMENT '存储类型(balance:余额 recharge:充值)',
- `amount` decimal(10, 2) NOT NULL COMMENT '交易金额',
- `before_balance` decimal(10, 2) NOT NULL COMMENT '交易前余额',
- `after_balance` decimal(10, 2) NOT NULL COMMENT '交易后余额',
- `before_recharge_balance` decimal(10, 2) NOT NULL COMMENT '交易前充值余额',
- `after_recharge_balance` decimal(10, 2) NOT NULL COMMENT '交易后充值余额',
- `trans_time` datetime NOT NULL COMMENT '交易时间',
- `remark` varchar(255) DEFAULT NULL COMMENT '备注',
- `state` varchar(32) NOT NULL COMMENT '交易状态(processing:进行中 success:成功 fail:失败 cancel:取消)',
- `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- PRIMARY KEY (`id`),
- KEY `idx_wallet_id` (`wallet_id`),
- CONSTRAINT `fk_wallet_trans_records_wallet` FOREIGN KEY (`wallet_id`) REFERENCES `wallet` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '钱包交易记录表';
- -- 提现记录表
- CREATE TABLE IF NOT EXISTS `wallet_withdraw_records` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '提现编号',
- `wallet_id` bigint unsigned NOT NULL COMMENT '钱包编号',
- `trans_record_id` bigint unsigned DEFAULT NULL COMMENT '交易记录编号',
- `external_no` varchar(100) DEFAULT NULL COMMENT '外部交易单号',
- `withdraw_type` varchar(255) NOT NULL COMMENT '提现方式',
- `withdraw_account` varchar(100) NOT NULL COMMENT '提现账户',
- `withdraw_account_name` varchar(100) NOT NULL COMMENT '提现账户名',
- `amount` decimal(10, 2) NOT NULL COMMENT '提现金额',
- `fee` decimal(10, 2) NOT NULL DEFAULT '0.00' COMMENT '提现手续费',
- `withdraw_time` timestamp NOT NULL COMMENT '提现时间',
- `area_code` varchar(6) NOT NULL COMMENT '行政区划代码',
- `remark` varchar(255) DEFAULT NULL COMMENT '备注',
- `auditor` varchar(50) DEFAULT NULL COMMENT '审核人',
- `audit_time` timestamp NULL DEFAULT NULL COMMENT '审核时间',
- `audit_remark` varchar(255) DEFAULT NULL COMMENT '审核回执',
- `audit_state` varchar(255) NOT NULL DEFAULT 'PENDING' COMMENT '审核状态',
- `state` varchar(255) NOT NULL DEFAULT 'PROCESSING' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_wallet_id` (`wallet_id`),
- KEY `idx_trans_record_id` (`trans_record_id`),
- KEY `idx_external_no` (`external_no`),
- CONSTRAINT `fk_withdraws_wallet_id` FOREIGN KEY (`wallet_id`) REFERENCES `wallet` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE,
- CONSTRAINT `fk_withdraws_trans_record_id` FOREIGN KEY (`trans_record_id`) REFERENCES `wallet_trans_records` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '提现记录表';
- -- 支付记录表
- CREATE TABLE IF NOT EXISTS `wallet_payment_records` (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '支付编号',
- `order_id` BIGINT UNSIGNED NOT NULL COMMENT '订单编号',
- `wallet_id` BIGINT UNSIGNED NOT NULL COMMENT '钱包编号',
- `trans_record_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '交易记录编号',
- `payment_no` VARCHAR(32) NOT NULL COMMENT '交易单号',
- `payment_method` VARCHAR(32) NOT NULL COMMENT '支付方式',
- `total_amount` DECIMAL(12, 2) NOT NULL COMMENT '合计支付金额',
- `actual_amount` DECIMAL(12, 2) NOT NULL COMMENT '实际支付金额',
- `used_wallet_balance` DECIMAL(12, 2) NOT NULL COMMENT '使用钱包余额',
- `used_recharge_balance` DECIMAL(12, 2) NOT NULL COMMENT '使用充值余额',
- `payment_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '支付时间',
- `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
- `state` VARCHAR(32) NOT NULL DEFAULT 'pending' COMMENT '状态',
- PRIMARY KEY (`id`),
- CONSTRAINT `fk_payment_order_id` FOREIGN KEY (`order_id`) REFERENCES `order_infos` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE,
- CONSTRAINT `fk_payment_wallet_id` FOREIGN KEY (`wallet_id`) REFERENCES `wallet` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE,
- CONSTRAINT `fk_payment_trans_record_id` FOREIGN KEY (`trans_record_id`) REFERENCES `wallet_trans_records` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '支付记录表';
- -- 退款记录表
- CREATE TABLE IF NOT EXISTS `wallet_refund_records` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '退款编号',
- `order_id` bigint unsigned NOT NULL COMMENT '订单编号',
- `wallet_id` bigint unsigned NOT NULL COMMENT '钱包编号',
- `trans_record_id` bigint unsigned DEFAULT NULL COMMENT '交易记录编号',
- `external_no` varchar(100) DEFAULT NULL COMMENT '外部交易单号',
- `refund_method` VARCHAR(32) NOT NULL COMMENT '退款方式',
- `total_refund_amount` decimal(12, 2) NOT NULL COMMENT '合计退款金额',
- `actual_refund_amount` decimal(12, 2) NOT NULL COMMENT '实际退款金额',
- `wallet_balance_refund_amount` decimal(12, 2) NOT NULL COMMENT '钱包余额退款金额',
- `recharge_balance_refund_amount` decimal(12, 2) NOT NULL COMMENT '充值余额退款金额',
- `refund_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '退款时间',
- `remark` varchar(255) DEFAULT NULL COMMENT '备注',
- `state` VARCHAR(32) NOT NULL DEFAULT 'pending' COMMENT '状态',
- PRIMARY KEY (`id`),
- KEY `idx_order_id` (`order_id`),
- KEY `idx_wallet_id` (`wallet_id`),
- CONSTRAINT `fk_refund_records_order_id` FOREIGN KEY (`order_id`) REFERENCES `order_infos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT `fk_refund_records_wallet_id` FOREIGN KEY (`wallet_id`) REFERENCES `wallet` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '退款记录表';
- -- 分账记录表
- CREATE TABLE IF NOT EXISTS `wallet_split_records` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '分账记录编号',
- `order_id` bigint unsigned NOT NULL COMMENT '订单编号',
- `rule_id` bigint unsigned NOT NULL COMMENT '分账规则配置编号',
- `split_type` varchar(255) NOT NULL COMMENT '分账类型(服务佣金、平台分成、邀请奖励、团队邀请奖励、推荐奖励)',
- `amount` decimal(10, 2) NOT NULL COMMENT '参与分账金额',
- `split_ratio` decimal(5, 2) NOT NULL COMMENT '分账比例',
- `split_amount` decimal(10, 2) NOT NULL COMMENT '分账金额',
- `entry_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '入账时间',
- `remark` varchar(255) DEFAULT NULL COMMENT '入账备注',
- `state` VARCHAR(32) NOT NULL DEFAULT 'pending' COMMENT '状态',
- PRIMARY KEY (`id`),
- KEY `idx_order_id` (`order_id`),
- KEY `idx_rule_id` (`rule_id`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '分账记录表';
- -- 营销活动表
- CREATE TABLE IF NOT EXISTS `market_activities` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '营销活动编号',
- `object_id` bigint unsigned NOT NULL COMMENT '对象编号',
- `object_type` varchar(255) NOT NULL COMMENT '对象类型',
- `activity_name` varchar(255) NOT NULL COMMENT '活动名称',
- `activity_desc` text COMMENT '活动描述',
- `activity_type` varchar(255) NOT NULL COMMENT '活动类型',
- `start_time` timestamp NOT NULL COMMENT '开始时间',
- `end_time` timestamp NOT NULL COMMENT '结束时间',
- `budget_amount` decimal(10, 2) NOT NULL DEFAULT '0.00' COMMENT '预算金额',
- `join_count` int NOT NULL DEFAULT '0' COMMENT '参与数量',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_object_id` (`object_id`),
- KEY `idx_object_type` (`object_type`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '营销活动表';
- -- 优惠券表
- CREATE TABLE IF NOT EXISTS `market_coupons` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '优惠券编号',
- `activity_id` bigint unsigned NOT NULL COMMENT '营销活动编号',
- `coupon_name` varchar(255) NOT NULL COMMENT '优惠券名称',
- `coupon_desc` text COMMENT '优惠券描述',
- `coupon_type` varchar(255) NOT NULL COMMENT '优惠券类型',
- `discount_type` varchar(255) NOT NULL COMMENT '优惠类型',
- `discount_value` decimal(10, 2) NOT NULL COMMENT '优惠值',
- `min_amount` decimal(10, 2) NOT NULL DEFAULT '0.00' COMMENT '最低消费金额',
- `valid_days` int DEFAULT NULL COMMENT '有效天数',
- `valid_start` timestamp NULL DEFAULT NULL COMMENT '有效期开始',
- `valid_end` timestamp NULL DEFAULT NULL COMMENT '有效期结束',
- `total_count` int NOT NULL DEFAULT '0' COMMENT '发放总量',
- `used_count` int NOT NULL DEFAULT '0' COMMENT '已使用数量',
- `per_limit` int NOT NULL DEFAULT '1' COMMENT '每人限领',
- `use_range` varchar(255) NOT NULL COMMENT '使用范围',
- `use_rule` json DEFAULT NULL COMMENT '使用规则',
- `sort` int NOT NULL DEFAULT '0' COMMENT '排序',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_activity_id` (`activity_id`),
- CONSTRAINT `fk_coupons_activity_id` FOREIGN KEY (`activity_id`) REFERENCES `market_activities` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '优惠券表';
- -- 优惠券领取记录表
- CREATE TABLE IF NOT EXISTS `market_coupon_records` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '领取记录编号',
- `coupon_id` bigint unsigned NOT NULL COMMENT '优惠券编号',
- `user_id` bigint unsigned NOT NULL COMMENT '用户编号',
- `order_id` bigint unsigned DEFAULT NULL COMMENT '使用订单编号',
- `get_time` timestamp NOT NULL COMMENT '领取时间',
- `use_time` timestamp NULL DEFAULT NULL COMMENT '使用时间',
- `state` varchar(255) NOT NULL COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_coupon_id` (`coupon_id`),
- KEY `idx_user_id` (`user_id`),
- KEY `idx_order_id` (`order_id`),
- CONSTRAINT `fk_coupon_records_coupon_id` FOREIGN KEY (`coupon_id`) REFERENCES `market_coupons` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT `fk_coupon_records_user_id` FOREIGN KEY (`user_id`) REFERENCES `member_users` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '优惠券领取记录表';
- -- 分销团队表
- CREATE TABLE IF NOT EXISTS `market_dist_teams` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '分销团队编号',
- `object_id` bigint unsigned NOT NULL COMMENT '对象编号',
- `object_type` varchar(255) NOT NULL COMMENT '对象类型',
- `user_id` bigint unsigned NOT NULL COMMENT '被邀用户编号',
- `level` varchar(255) NOT NULL DEFAULT 'LEVEL_1' COMMENT '层级',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_object_user` (
- `object_id`,
- `object_type`,
- `user_id`
- ),
- KEY `idx_user_id` (`user_id`),
- CONSTRAINT `fk_dist_teams_user_id` FOREIGN KEY (`user_id`) REFERENCES `member_users` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '分销团队表';
- -- 分销规则表
- CREATE TABLE IF NOT EXISTS `market_dist_rules` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '分销规则编号',
- `object_id` bigint unsigned NOT NULL COMMENT '对象编号',
- `object_type` varchar(255) NOT NULL COMMENT '对象类型',
- `rule_type` varchar(255) NOT NULL COMMENT '规则类型',
- `level` varchar(255) NOT NULL COMMENT '层级',
- `commission_rate` decimal(5, 2) NOT NULL DEFAULT '0.00' COMMENT '佣金比例',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_object_id` (`object_id`),
- KEY `idx_status` (`state`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '分销规则表';
- -- 分销记录表
- CREATE TABLE IF NOT EXISTS `market_dist_records` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '分销记录编号',
- `team_id` bigint unsigned NOT NULL COMMENT '分销团队编号',
- `order_id` bigint unsigned NOT NULL COMMENT '订单编号',
- `commission_amount` decimal(10, 2) NOT NULL DEFAULT '0.00' COMMENT '佣金金额',
- `state` varchar(255) NOT NULL COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_team_id` (`team_id`),
- KEY `idx_order_id` (`order_id`),
- CONSTRAINT `fk_dist_records_team_id` FOREIGN KEY (`team_id`) REFERENCES `market_dist_teams` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '分销记录表';
- -- 项目分类表
- CREATE TABLE IF NOT EXISTS `project_cate` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '项目分类编号',
- `name` varchar(255) NOT NULL COMMENT '项目分类名称',
- `cover` varchar(255) DEFAULT NULL COMMENT '分类封面',
- `sort` int DEFAULT NULL COMMENT '排序',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- PRIMARY KEY (`id`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '项目分类表';
- -- 服务项目表
- CREATE TABLE IF NOT EXISTS `project_service` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '服务项目编号',
- `cate_id` bigint unsigned NOT NULL COMMENT '项目分类编号',
- `cover` varchar(255) DEFAULT NULL COMMENT '项目封面',
- `title` varchar(255) NOT NULL COMMENT '项目标题',
- `subtitle` varchar(255) DEFAULT NULL COMMENT '项目副标题',
- `price` decimal(10, 2) NOT NULL COMMENT '项目金额',
- `original_price` decimal(10, 2) NOT NULL COMMENT '项目原价',
- `sales` int DEFAULT '0' COMMENT '虚拟销量',
- `duration` int NOT NULL COMMENT '服务时长',
- `project_desc` text COMMENT '项目介绍',
- `service_desc` text COMMENT '服务说明',
- `type` varchar(255) NOT NULL COMMENT '服务类型',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- PRIMARY KEY (`id`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '服务项目表';
- -- 系统参数配置表
- CREATE TABLE IF NOT EXISTS `sys_configs` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '参数编号',
- `param_name` varchar(255) NOT NULL COMMENT '参数名称',
- `param_key` varchar(255) NOT NULL COMMENT '参数键名',
- `param_value` varchar(255) NOT NULL COMMENT '参数键值',
- `param_type` varchar(255) NOT NULL COMMENT '参数类型',
- `is_system` varchar(255) NOT NULL DEFAULT 'NO' COMMENT '是否系统内置',
- `remark` varchar(255) DEFAULT NULL COMMENT '备注',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_param_key` (`param_key`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统参数配置表';
- -- 业务规则配置表
- CREATE TABLE IF NOT EXISTS `sys_business_rules` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '规则编号',
- `rule_code` varchar(255) NOT NULL COMMENT '规则代码',
- `rule_name` varchar(255) NOT NULL COMMENT '规则名称',
- `rule_type` varchar(255) NOT NULL COMMENT '规则类型',
- `rule_content` json NOT NULL COMMENT '规则内容',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `remark` varchar(255) DEFAULT NULL COMMENT '备注',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_rule_code` (`rule_code`),
- KEY `idx_rule_type` (`rule_type`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '业务规则配置表';
- -- 状态流转规则表
- CREATE TABLE IF NOT EXISTS `sys_status_rules` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '状态流转规则编号',
- `business_type` varchar(255) NOT NULL COMMENT '业务类型',
- `current_status` varchar(255) NOT NULL COMMENT '当前状态',
- `target_status` varchar(255) NOT NULL COMMENT '目标状态',
- `is_allowed` varchar(255) NOT NULL DEFAULT 'NO' COMMENT '是否允许',
- `conditions` json DEFAULT NULL COMMENT '流转条件',
- `sort` int NOT NULL DEFAULT '0' COMMENT '排序',
- `remark` varchar(255) DEFAULT NULL COMMENT '备注',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_business_type` (`business_type`),
- KEY `idx_current_status` (`current_status`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '状态流转规则表';
- -- 状态变更记录表
- CREATE TABLE IF NOT EXISTS `sys_status_logs` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '状态变更记录编号',
- `business_type` varchar(255) NOT NULL COMMENT '业务类型',
- `business_id` bigint unsigned NOT NULL COMMENT '业务编号',
- `from_status` varchar(255) NOT NULL COMMENT '原状态',
- `to_status` varchar(255) NOT NULL COMMENT '新状态',
- `operator_id` bigint unsigned DEFAULT NULL COMMENT '操作人编号',
- `operator_type` varchar(255) DEFAULT NULL COMMENT '操作人类型',
- `change_reason` varchar(255) DEFAULT NULL COMMENT '变更原因',
- `remark` varchar(255) DEFAULT NULL COMMENT '备注',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_business_type_id` (
- `business_type`,
- `business_id`
- ),
- KEY `idx_operator_id` (`operator_id`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '状态变更记录表';
- -- 定时任务表
- CREATE TABLE IF NOT EXISTS `sys_scheduled_tasks` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '任务编号',
- `task_code` varchar(255) NOT NULL COMMENT '任务代码',
- `task_name` varchar(255) NOT NULL COMMENT '任务名称',
- `task_group` varchar(255) NOT NULL COMMENT '任务组',
- `task_class` varchar(255) NOT NULL COMMENT '执行类',
- `cron_expression` varchar(255) NOT NULL COMMENT 'CRON表达式',
- `task_params` json DEFAULT NULL COMMENT '执行参数',
- `concurrent` varchar(255) NOT NULL DEFAULT 'NO' COMMENT '是否并发执行',
- `error_strategy` varchar(255) NOT NULL DEFAULT 'CONTINUE' COMMENT '错误策略',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_task_code` (`task_code`),
- KEY `idx_task_group` (`task_group`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '定时任务表';
- -- 任务执行日志表
- CREATE TABLE IF NOT EXISTS `sys_task_logs` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '任务日志编号',
- `task_id` bigint unsigned NOT NULL COMMENT '任务编号',
- `execution_time` timestamp NOT NULL COMMENT '执行时间',
- `execution_result` varchar(255) NOT NULL COMMENT '执行结果',
- `error_message` text DEFAULT NULL COMMENT '错误信息',
- `execution_duration` int NOT NULL DEFAULT '0' COMMENT '执行时长(毫秒)',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- PRIMARY KEY (`id`),
- KEY `idx_task_id` (`task_id`),
- KEY `idx_execution_time` (`execution_time`),
- CONSTRAINT `fk_task_logs_task_id` FOREIGN KEY (`task_id`) REFERENCES `sys_scheduled_tasks` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '任务执行日志表';
- -- 缓存配置表
- CREATE TABLE IF NOT EXISTS `sys_cache_configs` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '缓存配置编号',
- `cache_key` varchar(255) NOT NULL COMMENT '缓存键前缀',
- `cache_type` varchar(255) NOT NULL COMMENT '缓存类型',
- `expire_time` int NOT NULL DEFAULT '3600' COMMENT '过期时间(秒)',
- `update_strategy` varchar(255) NOT NULL COMMENT '更新策略',
- `allow_null` varchar(255) NOT NULL DEFAULT 'NO' COMMENT '是否允许空值',
- `max_size` int DEFAULT NULL COMMENT '最大容量',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `remark` varchar(255) DEFAULT NULL COMMENT '备注',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_cache_key` (`cache_key`),
- KEY `idx_cache_type` (`cache_type`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '缓存配置表';
- -- 店铺表
- CREATE TABLE IF NOT EXISTS `shop_infos` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '店铺编号',
- `user_id` bigint unsigned NOT NULL COMMENT '用户编号',
- `auth_record_id` bigint unsigned DEFAULT NULL COMMENT '店铺认证记录编号',
- `salesperson_id` bigint unsigned DEFAULT NULL COMMENT '业务员编号',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- PRIMARY KEY (`id`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '店铺表';
- -- 店铺认证记录表
- CREATE TABLE IF NOT EXISTS `shop_auth_records` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '店铺认证记录编号',
- `shop_id` bigint unsigned NOT NULL COMMENT '店铺编号',
- `shop_name` varchar(100) NOT NULL COMMENT '店铺名称',
- `shop_desc` text DEFAULT NULL COMMENT '店铺描述',
- `shop_address` varchar(255) NOT NULL COMMENT '店铺地址',
- `contact_phone` varchar(11) NOT NULL COMMENT '店铺联系电话',
- `contact_name` varchar(50) NOT NULL COMMENT '店铺联系人',
- `contact_id_card` varchar(18) NOT NULL COMMENT '店铺联系人身份证',
- `id_card_front_photo` varchar(255) NOT NULL COMMENT '店铺联系人身份证正面',
- `id_card_back_photo` varchar(255) NOT NULL COMMENT '店铺联系人身份证反面',
- `business_license` varchar(255) NOT NULL COMMENT '店铺营业执照',
- `license_front_photo` varchar(255) NOT NULL COMMENT '店铺营业执照正面',
- `license_back_photo` varchar(255) NOT NULL COMMENT '店铺营业执照反面',
- `storefront_photo` varchar(255) NOT NULL COMMENT '店铺门头照',
- `storefront_front_photo` varchar(255) NOT NULL COMMENT '店铺门头照正面',
- `storefront_back_photo` varchar(255) NOT NULL COMMENT '店铺门头照反面',
- `longitude` decimal(10, 7) NOT NULL COMMENT '店铺经营地址经度',
- `latitude` decimal(10, 7) NOT NULL COMMENT '店铺经营地址纬度',
- `operating_area` decimal(10, 2) NOT NULL COMMENT '店铺经营面积',
- `operating_years` int NOT NULL COMMENT '店铺经营年限',
- `technician_count` int NOT NULL COMMENT '店铺技师人数',
- `business_hours` json DEFAULT NULL COMMENT '店铺营业时间',
- `rating` decimal(3, 1) DEFAULT NULL COMMENT '评分',
- `auditor` varchar(50) DEFAULT NULL COMMENT '审核人',
- `audit_time` timestamp NULL DEFAULT NULL COMMENT '审核时间',
- `audit_remark` varchar(255) DEFAULT NULL COMMENT '审核回馈',
- `state` varchar(255) NOT NULL DEFAULT 'PENDING' COMMENT '审核状态',
- PRIMARY KEY (`id`),
- CONSTRAINT `fk_auth_record_shop` FOREIGN KEY (`shop_id`) REFERENCES `shop_infos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '店铺认证记录表';
- -- 店铺会员表
- CREATE TABLE IF NOT EXISTS `shop_members` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '店铺会员编号',
- `shop_id` bigint unsigned NOT NULL COMMENT '店铺编号',
- `user_id` bigint unsigned NOT NULL COMMENT '用户编号',
- PRIMARY KEY (`id`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '店铺会员表';
- -- 店铺服务项目表
- CREATE TABLE IF NOT EXISTS `shop_services` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '店铺服务项目编号',
- `shop_id` bigint unsigned NOT NULL COMMENT '店铺编号',
- `service_id` bigint unsigned NOT NULL COMMENT '服务项目编号',
- `name` varchar(100) NOT NULL COMMENT '服务项目名称',
- `cover` varchar(255) DEFAULT NULL COMMENT '服务项目封面',
- `price` decimal(10, 2) NOT NULL COMMENT '服务项目价格',
- `duration` int NOT NULL COMMENT '服务时长(分钟)',
- `type` varchar(255) NOT NULL COMMENT '服务类型',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_ss_shop_shop_id` (`shop_id`),
- KEY `idx_service_id` (`service_id`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '店铺服务项目表';
- -- 店铺技师服务项目表
- CREATE TABLE IF NOT EXISTS `shop_coach_services` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '店铺技师所属项目编号',
- `coach_id` bigint unsigned NOT NULL COMMENT '技师编号',
- `service_id` bigint unsigned NOT NULL COMMENT '店铺服务项目编号',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- PRIMARY KEY (`id`),
- CONSTRAINT `fk_shop_coach_services_coach_id` FOREIGN KEY (`coach_id`) REFERENCES `coach_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT `fk_shop_coach_services_service_id` FOREIGN KEY (`service_id`) REFERENCES `shop_services` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '店铺技师开通项目表';
- -- 店铺评价表
- CREATE TABLE IF NOT EXISTS `shop_comments` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '店铺评价编号',
- `shop_id` bigint unsigned NOT NULL COMMENT '店铺编号',
- `user_id` bigint unsigned NOT NULL COMMENT '用户编号',
- `order_id` bigint unsigned NOT NULL COMMENT '订单编号',
- `content` text COMMENT '评价内容',
- `rating` decimal(2, 1) NOT NULL DEFAULT '5.0' COMMENT '评分',
- `comment_type` varchar(255) NOT NULL COMMENT '评价类型',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_sc_shop_shop_id` (`shop_id`),
- KEY `idx_sc_muser_user_id` (`user_id`),
- KEY `idx_order_id` (`order_id`),
- CONSTRAINT `fk_shop_comments_shop_id` FOREIGN KEY (`shop_id`) REFERENCES `shop_infos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT `fk_shop_comments_user_id` FOREIGN KEY (`user_id`) REFERENCES `member_users` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '店铺评价表';
- -- 代理商表
- CREATE TABLE IF NOT EXISTS `agent_infos` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '代理商编号',
- `user_id` bigint unsigned NOT NULL COMMENT '用户编号',
- `info_record_id` bigint unsigned DEFAULT NULL COMMENT '代理商信息记录编号',
- `real_auth_record_id` bigint unsigned DEFAULT NULL COMMENT '代理商实名认证记录编号',
- `qual_record_id` bigint unsigned DEFAULT NULL COMMENT '代理商资质认证记录编号',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_user_id` (`user_id`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代理商表';
- -- 代理商信息记录表
- CREATE TABLE IF NOT EXISTS `agent_info_records` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '代理商信息记录编号',
- `agent_id` bigint unsigned NOT NULL COMMENT '代理商编号',
- `company_name` varchar(255) NOT NULL COMMENT '公司名称',
- `company_address` varchar(255) NOT NULL COMMENT '公司地址',
- `contact_name` varchar(50) NOT NULL COMMENT '联系人姓名',
- `contact_mobile` varchar(11) NOT NULL COMMENT '联系人手机号',
- `business_area` varchar(255) NOT NULL COMMENT '经营区域',
- `business_scope` varchar(255) NOT NULL COMMENT '经营范围',
- `auditor` varchar(50) DEFAULT NULL COMMENT '审核人',
- `audit_time` timestamp NULL DEFAULT NULL COMMENT '审核时间',
- `audit_remark` varchar(255) DEFAULT NULL COMMENT '审核回执',
- `state` varchar(255) NOT NULL DEFAULT 'PENDING' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_air_agent_agent_id` (`agent_id`),
- CONSTRAINT `fk_info_records_agent_id` FOREIGN KEY (`agent_id`) REFERENCES `agent_infos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代理商信息记录表';
- -- 代理商实名认证记录表
- CREATE TABLE IF NOT EXISTS `agent_real_auth_records` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '代理商实名认证记录编号',
- `agent_id` bigint unsigned NOT NULL COMMENT '代理商编号',
- `real_name` varchar(50) NOT NULL COMMENT '法人姓名',
- `id_card` varchar(18) NOT NULL COMMENT '法人身份证号',
- `id_card_front_photo` varchar(255) NOT NULL COMMENT '法人身份证正面照片',
- `id_card_back_photo` varchar(255) NOT NULL COMMENT '法人身份证反面照片',
- `business_license` varchar(255) NOT NULL COMMENT '营业执照照片',
- `auditor` varchar(50) DEFAULT NULL COMMENT '审核人',
- `audit_time` timestamp NULL DEFAULT NULL COMMENT '审核时间',
- `audit_remark` varchar(255) DEFAULT NULL COMMENT '审核回执',
- `state` varchar(255) NOT NULL DEFAULT 'PENDING' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_arar_agent_agent_id` (`agent_id`),
- CONSTRAINT `fk_real_auth_records_agent_id` FOREIGN KEY (`agent_id`) REFERENCES `agent_infos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代理商实名认证记录表';
- -- 代理商资质认证记录表
- CREATE TABLE IF NOT EXISTS `agent_qual_records` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '代理商资质认证记录编号',
- `agent_id` bigint unsigned NOT NULL COMMENT '代理商编号',
- `qual_type` varchar(255) NOT NULL COMMENT '资质类型',
- `qual_no` varchar(100) DEFAULT NULL COMMENT '资质证书编号',
- `qual_photo` varchar(255) NOT NULL COMMENT '资质证书照片',
- `valid_start` date DEFAULT NULL COMMENT '有效期开始日期',
- `valid_end` date DEFAULT NULL COMMENT '有效期结束日期',
- `auditor` varchar(50) DEFAULT NULL COMMENT '审核人',
- `audit_time` timestamp NULL DEFAULT NULL COMMENT '审核时间',
- `audit_remark` varchar(255) DEFAULT NULL COMMENT '审核回执',
- `state` varchar(255) NOT NULL DEFAULT 'PENDING' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_aqr_agent_agent_id` (`agent_id`),
- CONSTRAINT `fk_qual_records_agent_id` FOREIGN KEY (`agent_id`) REFERENCES `agent_infos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代理商资质认证记录表';
- -- 代理商结算账户表
- CREATE TABLE IF NOT EXISTS `agent_settlement_accounts` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '结算账户编号',
- `agent_id` bigint unsigned NOT NULL COMMENT '代理商编号',
- `account_type` varchar(255) NOT NULL COMMENT '账户类型',
- `acct_name` varchar(100) NOT NULL COMMENT '开户名',
- `acct_no` varchar(50) NOT NULL COMMENT '账号',
- `bank_name` varchar(100) DEFAULT NULL COMMENT '开户行',
- `bank_branch` varchar(100) DEFAULT NULL COMMENT '支行名称',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_asa_agent_agent_id` (`agent_id`),
- CONSTRAINT `fk_settlement_accounts_agent_id` FOREIGN KEY (`agent_id`) REFERENCES `agent_infos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代理商结算账户表';
- -- 代理商分成规则表
- CREATE TABLE IF NOT EXISTS `agent_commission_rules` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '分成规则编号',
- `agent_id` bigint unsigned NOT NULL COMMENT '代理商编号',
- `rule_type` varchar(255) NOT NULL COMMENT '规则类型',
- `commission_rate` decimal(5, 2) NOT NULL DEFAULT '0.00' COMMENT '分成比例',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_acr_agent_agent_id` (`agent_id`),
- CONSTRAINT `fk_commission_rules_agent_id` FOREIGN KEY (`agent_id`) REFERENCES `agent_infos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代理商分成规则表';
- -- 代理商项目分类表
- CREATE TABLE `agent_project_cate` (
- `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
- `agent_id` bigint UNSIGNED NOT NULL COMMENT '代理商ID',
- `cate_id` bigint UNSIGNED NOT NULL COMMENT '项目分类ID',
- `state` varchar(20) NOT NULL DEFAULT 'enable' COMMENT '状态(enable:启用 disable:禁用)',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_agent_id` (`agent_id`),
- KEY `idx_category_id` (`cate_id`),
- KEY `idx_state` (`state`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代理商项目分类表';
- -- 代理商服务项目表
- CREATE TABLE `agent_project` (
- `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
- `cate_id` bigint UNSIGNED NOT NULL COMMENT '代理商项目分类ID',
- `project_id` bigint UNSIGNED NOT NULL COMMENT '项目ID',
- `agent_id` bigint UNSIGNED NOT NULL COMMENT '代理商ID',
- `price` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '项目金额',
- `duration` int NOT NULL DEFAULT 0 COMMENT '服务时长(分钟)',
- `distance` int NOT NULL DEFAULT 0 COMMENT '接单距离(米)',
- `state` varchar(20) NOT NULL DEFAULT 'enable' COMMENT '状态(enable:启用 disable:禁用)',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_agent_project` (`cate_id`, `project_id`),
- KEY `idx_project_id` (`project_id`),
- KEY `idx_state` (`state`),
- CONSTRAINT `fk_apc_agent_project_cate` FOREIGN KEY (`cate_id`) REFERENCES `agent_project_cate` (`id`),
- CONSTRAINT `fk_apc_project` FOREIGN KEY (`project_id`) REFERENCES `project` (`id`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代理商服务项目表';
- -- 统计维度表
- CREATE TABLE IF NOT EXISTS `stat_dimensions` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '统计维度编号',
- `dimension_code` varchar(255) NOT NULL COMMENT '维度代码',
- `dimension_name` varchar(255) NOT NULL COMMENT '维度名称',
- `dimension_type` varchar(255) NOT NULL COMMENT '维度类型',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_dimension_code` (`dimension_code`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '统计维度表';
- -- 统计指标表
- CREATE TABLE IF NOT EXISTS `stat_metrics` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '统计指标编号',
- `metric_code` varchar(255) NOT NULL COMMENT '指标代码',
- `metric_name` varchar(255) NOT NULL COMMENT '指标名称',
- `metric_type` varchar(255) NOT NULL COMMENT '指标类型',
- `metric_unit` varchar(255) DEFAULT NULL COMMENT '指标单位',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_metric_code` (`metric_code`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '统计指标表';
- -- 统计任务表
- CREATE TABLE IF NOT EXISTS `stat_tasks` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '统计任务编号',
- `task_code` varchar(255) NOT NULL COMMENT '任务代码',
- `task_name` varchar(255) NOT NULL COMMENT '任务名称',
- `task_type` varchar(255) NOT NULL COMMENT '任务类型',
- `task_cron` varchar(255) NOT NULL COMMENT '任务执行表达式',
- `task_params` json DEFAULT NULL COMMENT '任务参数',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_task_code` (`task_code`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '统计任务表';
- -- 规则配置表
- CREATE TABLE IF NOT EXISTS `rule_configs` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '规则编号',
- `rule_code` varchar(255) NOT NULL COMMENT '规则代码',
- `rule_name` varchar(255) NOT NULL COMMENT '规则名称',
- `rule_type` varchar(255) NOT NULL COMMENT '规则类型',
- `rule_desc` varchar(500) DEFAULT NULL COMMENT '规则描述',
- `rule_content` json NOT NULL COMMENT '规则内容',
- `priority` int NOT NULL DEFAULT '0' COMMENT '优先级',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_rule_code` (`rule_code`),
- KEY `idx_rule_type` (`rule_type`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '规则配置表';
- -- 规则版本表
- CREATE TABLE IF NOT EXISTS `rule_versions` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '版本编号',
- `rule_id` bigint unsigned NOT NULL COMMENT '规则编号',
- `version_no` varchar(50) NOT NULL COMMENT '版本号',
- `rule_content` json NOT NULL COMMENT '规则内容',
- `change_desc` varchar(500) DEFAULT NULL COMMENT '变更说明',
- `state` varchar(255) NOT NULL DEFAULT 'DRAFT' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_rule_version` (`rule_id`, `version_no`),
- KEY `idx_rv_rc_rule_id` (`rule_id`),
- CONSTRAINT `fk_versions_rule_id` FOREIGN KEY (`rule_id`) REFERENCES `rule_configs` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '规则版本表';
- -- 规则执行记录表
- CREATE TABLE IF NOT EXISTS `rule_execution_records` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '执行记录编号',
- `rule_id` bigint unsigned NOT NULL COMMENT '规则编号',
- `version_id` bigint unsigned NOT NULL COMMENT '版本编号',
- `business_id` varchar(255) NOT NULL COMMENT '业务编号',
- `business_type` varchar(255) NOT NULL COMMENT '业务类型',
- `input_params` json DEFAULT NULL COMMENT '输入参数',
- `output_result` json DEFAULT NULL COMMENT '输出结果',
- `execution_time` timestamp NOT NULL COMMENT '执行时间',
- `exec_duration` int NOT NULL DEFAULT '0' COMMENT '执行时长(毫秒)',
- `exec_status` varchar(255) NOT NULL COMMENT '执行状态',
- `err_msg` text COMMENT '错误信息',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_rer_rc_rule_id` (`rule_id`),
- KEY `idx_rer_rv_version_id` (`version_id`),
- KEY `idx_business_id` (`business_id`),
- KEY `idx_execution_time` (`execution_time`),
- KEY `idx_execution_status` (`exec_status`),
- CONSTRAINT `fk_execution_records_rule_id` FOREIGN KEY (`rule_id`) REFERENCES `rule_configs` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE,
- CONSTRAINT `fk_execution_records_version_id` FOREIGN KEY (`version_id`) REFERENCES `rule_versions` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '规则执行记录表';
- -- 规则参数配置表
- CREATE TABLE IF NOT EXISTS `rule_param_configs` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '参数配置编号',
- `rule_id` bigint unsigned NOT NULL COMMENT '规则编号',
- `param_code` varchar(255) NOT NULL COMMENT '参数代码',
- `param_name` varchar(255) NOT NULL COMMENT '参数名称',
- `param_type` varchar(255) NOT NULL COMMENT '参数类型',
- `param_value` varchar(500) DEFAULT NULL COMMENT '参数值',
- `param_desc` varchar(500) DEFAULT NULL COMMENT '参数描述',
- `is_required` varchar(255) NOT NULL DEFAULT 'NO' COMMENT '是否必填',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_rule_param` (`rule_id`, `param_code`),
- KEY `idx_rpc_rc_rule_id` (`rule_id`),
- CONSTRAINT `fk_param_configs_rule_id` FOREIGN KEY (`rule_id`) REFERENCES `rule_configs` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '规则参数配置表';
- -- 规则依赖关系表
- CREATE TABLE IF NOT EXISTS `rule_dependencies` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '依赖关系编号',
- `rule_id` bigint unsigned NOT NULL COMMENT '规则编号',
- `depend_rule_id` bigint unsigned NOT NULL COMMENT '依赖规则编号',
- `dependency_type` varchar(255) NOT NULL COMMENT '依赖类型',
- `state` varchar(255) NOT NULL DEFAULT 'ENABLE' COMMENT '状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_rule_dependency` (`rule_id`, `depend_rule_id`),
- KEY `idx_rd_rc_rule_id` (`rule_id`),
- KEY `idx_rd_rc_depend_rule_id` (`depend_rule_id`),
- CONSTRAINT `fk_dependencies_rule_id` FOREIGN KEY (`rule_id`) REFERENCES `rule_configs` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT `fk_dependencies_depend_rule_id` FOREIGN KEY (`depend_rule_id`) REFERENCES `rule_configs` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '规则依赖关系表';
- -- 业务员表
- CREATE TABLE IF NOT EXISTS `salesmen` (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '业务员编号',
- `user_id` BIGINT UNSIGNED NOT NULL COMMENT '用户编号',
- `name` VARCHAR(255) NOT NULL COMMENT '姓名',
- `contact_phone` VARCHAR(11) NOT NULL COMMENT '联系电话',
- `contact_address` VARCHAR(255) NOT NULL COMMENT '联系地址',
- `id_card` VARCHAR(18) NOT NULL COMMENT '身份证',
- `id_card_front_photo` VARCHAR(255) NOT NULL COMMENT '身份证正面',
- `id_card_back_photo` VARCHAR(255) NOT NULL COMMENT '身份证反面',
- `id_card_hand_photo` VARCHAR(255) NOT NULL COMMENT '手持身份证',
- `activity_area` VARCHAR(255) NOT NULL COMMENT '活动区域',
- `invite_code` VARCHAR(50) NOT NULL COMMENT '邀请码',
- `audit_time` TIMESTAMP NULL DEFAULT NULL COMMENT '审核时间',
- `auditor` VARCHAR(50) DEFAULT NULL COMMENT '审核人',
- `audit_remark` VARCHAR(255) DEFAULT NULL COMMENT '审核回馈',
- `audit_status` ENUM('待审核', '审核通过', '审核拒绝') NOT NULL DEFAULT '待审核' COMMENT '审核状态',
- `state` ENUM('开启', '关闭') NOT NULL DEFAULT '开启' COMMENT '状态',
- `created_at` TIMESTAMP NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` TIMESTAMP NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- CONSTRAINT `fk_salesmen_user_id` FOREIGN KEY (`user_id`) REFERENCES `member_users` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '业务员表';
- -- 业务员变更记录表
- CREATE TABLE IF NOT EXISTS `salesmen_change_records` (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '业务员审核记录编号',
- `salesman_id` BIGINT UNSIGNED NOT NULL COMMENT '业务员编号',
- `change_before` TEXT NOT NULL COMMENT '变更前',
- `change_after` TEXT NOT NULL COMMENT '变更后',
- `changer` VARCHAR(255) NOT NULL COMMENT '变更人',
- `created_at` TIMESTAMP NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` TIMESTAMP NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- CONSTRAINT `fk_change_records_salesman_id` FOREIGN KEY (`salesman_id`) REFERENCES `salesmen` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '业务员变更记录表';
- -- 技师报警表
- CREATE TABLE IF NOT EXISTS `coach_alerts` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '技师报警编号',
- `coach_id` bigint unsigned NOT NULL COMMENT '技师编号',
- `order_id` bigint unsigned NOT NULL COMMENT '订单编号',
- `alert_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '报警时间',
- `alert_type` varchar(255) NOT NULL COMMENT '报警类型',
- `alert_reason` varchar(255) NOT NULL COMMENT '报警原因',
- `alert_status` varchar(255) NOT NULL DEFAULT 'PENDING' COMMENT '报警状态',
- `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
- `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
- PRIMARY KEY (`id`),
- KEY `idx_coach_id` (`coach_id`),
- KEY `idx_order_id` (`order_id`),
- CONSTRAINT `fk_alerts_coach_id` FOREIGN KEY (`coach_id`) REFERENCES `coach_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT `fk_alerts_order_id` FOREIGN KEY (`order_id`) REFERENCES `order_infos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '技师报警表';
- -- 技师变更记录表
- CREATE TABLE IF NOT EXISTS `coach_change_records` (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '技师变更记录编号',
- `order_id` BIGINT UNSIGNED NOT NULL COMMENT '订单编号',
- `coach_id_before` BIGINT UNSIGNED NOT NULL COMMENT '技师编号(变更前)',
- `coach_id_after` BIGINT UNSIGNED NOT NULL COMMENT '技师编号(变更后)',
- `change_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '变更时间',
- PRIMARY KEY (`id`),
- CONSTRAINT `fk_ccr_order_id` FOREIGN KEY (`order_id`) REFERENCES `order_infos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT `fk_ccr_coach_id_before` FOREIGN KEY (`coach_id_before`) REFERENCES `coach_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT `fk_ccr_coach_id_after` FOREIGN KEY (`coach_id_after`) REFERENCES `coach_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '技师变更记录表';
- -- 代理商项目配置表
- CREATE TABLE agent_project_config (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '服务范围编号',
- `agent_id` BIGINT UNSIGNED NULL COMMENT '代理商编号',
- `min_fee` DECIMAL(10, 2) NOT NULL DEFAULT 9 COMMENT '服务的起步价',
- `min_distance` INT NOT NULL DEFAULT 3 COMMENT '最小距离',
- `per_km_fee` DECIMAL(10, 2) NOT NULL DEFAULT 3 COMMENT '每公里的费用',
- `state` VARCHAR(50) NOT NULL COMMENT '状态',
- PRIMARY KEY (`id`),
- CONSTRAINT `fk_apc_agent_id` FOREIGN KEY (`agent_id`) REFERENCES `agent_infos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代理商项目配置表';
|