877 lines
53 KiB
PL/PgSQL
877 lines
53 KiB
PL/PgSQL
/*
|
||
Navicat Premium Dump SQL
|
||
|
||
Source Server : localhost_3306
|
||
Source Server Type : MySQL
|
||
Source Server Version : 80036 (8.0.36)
|
||
Source Host : localhost:3306
|
||
Source Schema : flash_sale_db
|
||
|
||
Target Server Type : MySQL
|
||
Target Server Version : 80036 (8.0.36)
|
||
File Encoding : 65001
|
||
|
||
Date: 09/05/2026 17:56:28
|
||
*/
|
||
|
||
SET NAMES utf8mb4;
|
||
SET FOREIGN_KEY_CHECKS = 0;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for flash_sales
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `flash_sales`;
|
||
CREATE TABLE `flash_sales`
|
||
(
|
||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '秒杀活动ID',
|
||
`product_id` bigint NOT NULL COMMENT '商品ID',
|
||
`flash_price` decimal(10, 2) NOT NULL COMMENT '秒杀价格',
|
||
`flash_stock` int NOT NULL COMMENT '秒杀库存',
|
||
`start_time` timestamp NOT NULL COMMENT '开始时间',
|
||
`end_time` timestamp NOT NULL COMMENT '结束时间',
|
||
`status` tinyint DEFAULT '1' COMMENT '状态:1-未开始,2-进行中,3-已结束',
|
||
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_product_id` (`product_id`),
|
||
KEY `idx_start_time` (`start_time`),
|
||
KEY `idx_end_time` (`end_time`),
|
||
KEY `idx_status` (`status`),
|
||
KEY `idx_created_at` (`created_at`),
|
||
CONSTRAINT `flash_sales_ibfk_1` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE CASCADE
|
||
) ENGINE = InnoDB
|
||
AUTO_INCREMENT = 64
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_unicode_ci COMMENT ='秒杀活动表';
|
||
|
||
-- ----------------------------
|
||
-- Records of flash_sales
|
||
-- ----------------------------
|
||
BEGIN;
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (1, 1, 3.19, 80, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49', '2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (2, 2, 4.64, 80, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49', '2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (3, 3, 3.60, 80, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49', '2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (4, 4, 4.16, 80, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49', '2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (5, 5, 5.52, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49', '2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (6, 6, 3.92, 80, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49', '2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (7, 7, 4.48, 80, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49', '2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (8, 8, 3.84, 80, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49', '2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (9, 9, 10.32, 80, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49', '2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (10, 10, 9.44, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (11, 11, 5.52, 80, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (12, 12, 10.88, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (13, 13, 15.92, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (14, 14, 19.92, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (15, 15, 23.04, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (16, 16, 26.32, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (17, 17, 15.12, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (18, 18, 17.44, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (19, 19, 11.12, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (20, 20, 18.24, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (21, 21, 13.44, 30, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (22, 22, 31.92, 30, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (23, 23, 15.04, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (24, 24, 10.32, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (25, 25, 39.92, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (26, 26, 62.40, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (27, 27, 20.72, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (28, 28, 47.92, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (29, 29, 10.24, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (30, 30, 13.52, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (31, 31, 5.52, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
INSERT INTO `flash_sales` (`id`, `product_id`, `flash_price`, `flash_stock`, `start_time`, `end_time`, `status`,
|
||
`created_at`, `updated_at`)
|
||
VALUES (32, 32, 7.92, 50, '2026-05-09 08:48:49', '2026-05-23 09:48:49', 2, '2026-05-09 09:48:49',
|
||
'2026-05-09 09:48:49');
|
||
COMMIT;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for group_buying
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `group_buying`;
|
||
CREATE TABLE `group_buying`
|
||
(
|
||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||
`created_at` datetime(6) NOT NULL,
|
||
`duration_minutes` int NOT NULL,
|
||
`end_time` datetime(6) NOT NULL,
|
||
`group_price` decimal(10, 2) NOT NULL,
|
||
`max_per_user` int NOT NULL,
|
||
`product_id` bigint NOT NULL,
|
||
`remaining_stock` int NOT NULL,
|
||
`required_members` int NOT NULL,
|
||
`start_time` datetime(6) NOT NULL,
|
||
`status` int NOT NULL,
|
||
`total_stock` int NOT NULL,
|
||
`updated_at` datetime(6) DEFAULT NULL,
|
||
PRIMARY KEY (`id`),
|
||
KEY `FK59r61d7iyp2vxxkoyjudk343o` (`product_id`),
|
||
CONSTRAINT `FK59r61d7iyp2vxxkoyjudk343o` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`)
|
||
) ENGINE = InnoDB
|
||
AUTO_INCREMENT = 64
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Records of group_buying
|
||
-- ----------------------------
|
||
BEGIN;
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (1, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 3.59, 2, 1, 100, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 100, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (2, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 5.22, 2, 2, 100, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 100, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (3, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 4.05, 2, 3, 100, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 100, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (4, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 4.68, 2, 4, 100, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 100, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (5, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 6.21, 2, 5, 60, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (6, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 4.41, 2, 6, 100, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 100, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (7, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 5.04, 2, 7, 100, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 100, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (8, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 4.32, 2, 8, 100, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 100, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (9, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 11.61, 2, 9, 100, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 100, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (10, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 10.62, 2, 10, 60, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (11, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 6.21, 2, 11, 100, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 100, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (12, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 12.24, 2, 12, 60, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (13, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 17.91, 2, 13, 60, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (14, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 22.41, 2, 14, 60, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (15, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 25.92, 2, 15, 60, 3,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (16, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 29.61, 2, 16, 60, 3,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (17, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 17.01, 2, 17, 60, 3,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (18, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 19.62, 2, 18, 60, 3,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (19, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 12.51, 2, 19, 60, 3,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (20, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 20.52, 2, 20, 60, 3,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (21, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 15.12, 2, 21, 30, 3,
|
||
'2026-05-09 08:48:49.000000', 2, 30, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (22, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 35.91, 2, 22, 30, 3,
|
||
'2026-05-09 08:48:49.000000', 2, 30, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (23, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 16.92, 2, 23, 60, 3,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (24, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 11.61, 2, 24, 60, 3,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (25, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 44.91, 2, 25, 60, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (26, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 70.20, 2, 26, 60, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (27, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 23.31, 2, 27, 60, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (28, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 53.91, 2, 28, 60, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (29, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 11.52, 2, 29, 60, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (30, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 15.21, 2, 30, 60, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (31, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 6.21, 2, 31, 60, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
INSERT INTO `group_buying` (`id`, `created_at`, `duration_minutes`, `end_time`, `group_price`, `max_per_user`,
|
||
`product_id`, `remaining_stock`, `required_members`, `start_time`, `status`, `total_stock`,
|
||
`updated_at`)
|
||
VALUES (32, '2026-05-09 09:48:49.000000', 1440, '2026-05-23 09:48:49.000000', 8.91, 2, 32, 60, 2,
|
||
'2026-05-09 08:48:49.000000', 2, 60, '2026-05-09 09:48:49.000000');
|
||
COMMIT;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for group_buying_group
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `group_buying_group`;
|
||
CREATE TABLE `group_buying_group`
|
||
(
|
||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||
`completed_at` datetime(6) DEFAULT NULL,
|
||
`created_at` datetime(6) NOT NULL,
|
||
`current_members` int NOT NULL,
|
||
`expire_time` datetime(6) NOT NULL,
|
||
`group_buying_id` bigint NOT NULL,
|
||
`group_no` varchar(64) NOT NULL,
|
||
`leader_user_id` bigint NOT NULL,
|
||
`required_members` int NOT NULL,
|
||
`status` int NOT NULL,
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `UK_9khnmu1trewcuahx5k2m0am51` (`group_no`),
|
||
KEY `FKqa4p2gmyfgv73i1278fncxyjd` (`group_buying_id`),
|
||
KEY `FKmc231ojxg44fsobry8h71p7ts` (`leader_user_id`),
|
||
CONSTRAINT `FKmc231ojxg44fsobry8h71p7ts` FOREIGN KEY (`leader_user_id`) REFERENCES `users` (`id`),
|
||
CONSTRAINT `FKqa4p2gmyfgv73i1278fncxyjd` FOREIGN KEY (`group_buying_id`) REFERENCES `group_buying` (`id`)
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Records of group_buying_group
|
||
-- ----------------------------
|
||
BEGIN;
|
||
COMMIT;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for group_buying_member
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `group_buying_member`;
|
||
CREATE TABLE `group_buying_member`
|
||
(
|
||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||
`group_id` bigint NOT NULL,
|
||
`joined_at` datetime(6) NOT NULL,
|
||
`order_id` bigint DEFAULT NULL,
|
||
`status` int NOT NULL,
|
||
`user_id` bigint NOT NULL,
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_group_user` (`group_id`, `user_id`),
|
||
KEY `FK2k1d07r2qich4sqquxisdkf7e` (`user_id`),
|
||
CONSTRAINT `FK2k1d07r2qich4sqquxisdkf7e` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`),
|
||
CONSTRAINT `FKplwuuxax228wqw6nr6pnmmllq` FOREIGN KEY (`group_id`) REFERENCES `group_buying_group` (`id`)
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Records of group_buying_member
|
||
-- ----------------------------
|
||
BEGIN;
|
||
COMMIT;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for notifications
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `notifications`;
|
||
CREATE TABLE `notifications`
|
||
(
|
||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||
`created_at` datetime(6) NOT NULL,
|
||
`link` varchar(255) DEFAULT NULL,
|
||
`message` text NOT NULL,
|
||
`is_read` bit(1) NOT NULL,
|
||
`title` varchar(255) NOT NULL,
|
||
`type` varchar(32) NOT NULL,
|
||
`user_id` bigint NOT NULL,
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_notification_user_read` (`user_id`, `is_read`),
|
||
KEY `idx_notification_user_created` (`user_id`, `created_at`)
|
||
) ENGINE = InnoDB
|
||
AUTO_INCREMENT = 15
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Records of notifications
|
||
-- ----------------------------
|
||
BEGIN;
|
||
COMMIT;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for order_items
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `order_items`;
|
||
CREATE TABLE `order_items`
|
||
(
|
||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||
`created_at` datetime(6) NOT NULL,
|
||
`order_id` bigint NOT NULL,
|
||
`price` decimal(10, 2) NOT NULL,
|
||
`product_id` bigint NOT NULL,
|
||
`product_image_url` varchar(500) DEFAULT NULL,
|
||
`product_name` varchar(200) NOT NULL,
|
||
`quantity` int NOT NULL,
|
||
`subtotal` decimal(10, 2) NOT NULL,
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Records of order_items
|
||
-- ----------------------------
|
||
BEGIN;
|
||
COMMIT;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for order_returns
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `order_returns`;
|
||
CREATE TABLE `order_returns`
|
||
(
|
||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||
`admin_remark` varchar(500) DEFAULT NULL,
|
||
`cancelled_at` datetime(6) DEFAULT NULL,
|
||
`completed_at` datetime(6) DEFAULT NULL,
|
||
`created_at` datetime(6) NOT NULL,
|
||
`description` text,
|
||
`images` varchar(2000) DEFAULT NULL,
|
||
`order_id` bigint NOT NULL,
|
||
`reason` varchar(500) NOT NULL,
|
||
`refund_amount` decimal(10, 2) NOT NULL,
|
||
`reject_reason` varchar(500) DEFAULT NULL,
|
||
`return_no` varchar(64) NOT NULL,
|
||
`return_tracking` varchar(100) DEFAULT NULL,
|
||
`reviewed_at` datetime(6) DEFAULT NULL,
|
||
`shipped_at` datetime(6) DEFAULT NULL,
|
||
`status` int NOT NULL,
|
||
`updated_at` datetime(6) DEFAULT NULL,
|
||
`user_id` bigint NOT NULL,
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `UK_elu6c1jupuay4bgn9gffdsbcx` (`return_no`)
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Records of order_returns
|
||
-- ----------------------------
|
||
BEGIN;
|
||
COMMIT;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for orders
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `orders`;
|
||
CREATE TABLE `orders`
|
||
(
|
||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '订单ID',
|
||
`user_id` bigint NOT NULL COMMENT '用户ID',
|
||
`product_id` bigint NOT NULL COMMENT '商品ID',
|
||
`quantity` int NOT NULL DEFAULT '1' COMMENT '购买数量',
|
||
`total_price` decimal(10, 2) NOT NULL COMMENT '总价',
|
||
`status` tinyint DEFAULT '1' COMMENT '状态:1-待支付,2-已支付,3-已发货,4-已完成,5-已取消',
|
||
`order_type` tinyint DEFAULT '1' COMMENT '订单类型:1-普通订单,2-秒杀订单',
|
||
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`completed_at` datetime(6) DEFAULT NULL,
|
||
`group_no` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||
`order_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||
`paid_at` datetime(6) DEFAULT NULL,
|
||
`payment_method` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||
`receiver_address` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||
`receiver_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||
`receiver_phone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||
`remark` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||
`shipped_at` datetime(6) DEFAULT NULL,
|
||
`flash_sale_id` bigint DEFAULT NULL,
|
||
`group_buying_group_id` bigint DEFAULT NULL,
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_user_id` (`user_id`),
|
||
KEY `idx_product_id` (`product_id`),
|
||
KEY `idx_status` (`status`),
|
||
KEY `idx_order_type` (`order_type`),
|
||
KEY `idx_created_at` (`created_at`),
|
||
KEY `idx_user_product` (`user_id`, `product_id`),
|
||
CONSTRAINT `orders_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
|
||
CONSTRAINT `orders_ibfk_2` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE CASCADE
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_unicode_ci COMMENT ='订单表';
|
||
|
||
-- ----------------------------
|
||
-- Records of orders
|
||
-- ----------------------------
|
||
BEGIN;
|
||
COMMIT;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for product_reviews
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `product_reviews`;
|
||
CREATE TABLE `product_reviews`
|
||
(
|
||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||
`admin_reply` text,
|
||
`content` text NOT NULL,
|
||
`created_at` datetime(6) NOT NULL,
|
||
`order_id` bigint NOT NULL,
|
||
`product_id` bigint NOT NULL,
|
||
`rating` int NOT NULL,
|
||
`replied_at` datetime(6) DEFAULT NULL,
|
||
`status` int NOT NULL,
|
||
`updated_at` datetime(6) DEFAULT NULL,
|
||
`user_id` bigint NOT NULL,
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_review_order_user_product` (`order_id`, `user_id`, `product_id`)
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Records of product_reviews
|
||
-- ----------------------------
|
||
BEGIN;
|
||
COMMIT;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for products
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `products`;
|
||
CREATE TABLE `products`
|
||
(
|
||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '商品ID',
|
||
`name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '商品名称',
|
||
`description` text COLLATE utf8mb4_unicode_ci COMMENT '商品描述',
|
||
`price` decimal(10, 2) NOT NULL COMMENT '商品价格',
|
||
`stock` int NOT NULL DEFAULT '0' COMMENT '库存数量',
|
||
`image_url` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '商品图片URL',
|
||
`status` tinyint DEFAULT '1' COMMENT '状态:1-上架,0-下架',
|
||
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`category` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_name` (`name`),
|
||
KEY `idx_price` (`price`),
|
||
KEY `idx_stock` (`stock`),
|
||
KEY `idx_status` (`status`),
|
||
KEY `idx_created_at` (`created_at`)
|
||
) ENGINE = InnoDB
|
||
AUTO_INCREMENT = 33
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_unicode_ci COMMENT ='商品表';
|
||
|
||
-- ----------------------------
|
||
-- Records of products
|
||
-- ----------------------------
|
||
BEGIN;
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (1, '本地小青菜 500g', '社区周边基地直采小青菜,叶片鲜嫩,适合清炒、煮汤。', 3.99, 300, NULL, 1,
|
||
'2026-05-09 09:46:26', '2026-05-09 09:46:26', '新鲜蔬菜');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (2, '有机上海青 500g', '有机种植上海青,口感清甜,适合家庭日常烹饪。', 5.80, 220, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '新鲜蔬菜');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (3, '山东黄瓜 500g', '新鲜脆嫩黄瓜,可凉拌、清炒或制作沙拉。', 4.50, 260, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '新鲜蔬菜');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (4, '番茄 500g', '自然成熟番茄,酸甜适中,适合炒蛋、煮汤。', 5.20, 240, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '新鲜蔬菜');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (5, '西兰花 500g', '精选西兰花,花球紧实,适合清炒或水煮。', 6.90, 180, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '新鲜蔬菜');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (6, '土豆 1kg', '黄心土豆,口感绵密,适合炖煮、清炒。', 4.90, 350, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '新鲜蔬菜');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (7, '胡萝卜 1kg', '新鲜胡萝卜,色泽鲜亮,适合炖汤、炒菜。', 5.60, 280, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '新鲜蔬菜');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (8, '紫皮洋葱 1kg', '紫皮洋葱,辛香浓郁,适合炒菜、凉拌。', 4.80, 260, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '新鲜蔬菜');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (9, '红富士苹果 1kg', '脆甜多汁红富士苹果,适合日常水果补充。', 12.90, 200, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '时令水果');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (10, '赣南脐橙 1kg', '当季脐橙,果肉饱满,汁水充足。', 11.80, 180, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '时令水果');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (11, '海南香蕉 1kg', '自然熟香蕉,香甜软糯,适合早餐和加餐。', 6.90, 240, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '时令水果');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (12, '库尔勒香梨 1kg', '果皮薄、口感脆甜,适合家庭分享。', 13.60, 160, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '时令水果');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (13, '精品草莓 500g', '当季新鲜草莓,果香浓郁,建议冷藏保存。', 19.90, 120, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '时令水果');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (14, '阳光玫瑰葡萄 500g', '精选阳光玫瑰葡萄,清甜爽口。', 24.90, 100, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '时令水果');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (15, '鲜鸡蛋 30枚', '农场直供鲜鸡蛋,蛋黄饱满,适合日常烹饪。', 28.80, 180, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '肉禽蛋品');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (16, '土鸡蛋 20枚', '精选土鸡蛋,蛋香浓郁,适合蒸蛋、煎蛋。', 32.90, 120, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '肉禽蛋品');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (17, '冷鲜猪五花肉 500g', '冷链配送五花肉,肥瘦相间,适合红烧。', 18.90, 160, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '肉禽蛋品');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (18, '冷鲜猪里脊 500g', '肉质细嫩,适合炒肉丝、炸猪排。', 21.80, 140, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '肉禽蛋品');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (19, '鸡胸肉 500g', '低脂鸡胸肉,适合健身餐、沙拉、煎制。', 13.90, 180, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '肉禽蛋品');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (20, '琵琶腿 1kg', '冷鲜琵琶腿,肉质紧实,适合卤制、烤制。', 22.80, 150, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '肉禽蛋品');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (21, '鲜活鲫鱼 500g', '鲜活鲫鱼,适合炖汤、红烧。', 16.80, 90, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '水产海鲜');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (22, '基围虾 500g', '鲜活基围虾,肉质弹嫩,适合白灼、油焖。', 39.90, 80, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '水产海鲜');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (23, '巴沙鱼柳 500g', '去刺巴沙鱼柳,适合煎制、水煮鱼片。', 18.80, 110, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '水产海鲜');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (24, '花蛤 500g', '新鲜花蛤,适合爆炒、煮汤。', 12.90, 100, NULL, 1, '2026-05-09 09:46:26', '2026-05-09 09:46:26',
|
||
'水产海鲜');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (25, '五常大米 5kg', '东北五常大米,米香浓郁,适合家庭主食。', 49.90, 130, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '米面粮油');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (26, '东北珍珠米 10kg', '颗粒饱满,口感软糯,适合日常家庭用米。', 78.00, 100, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '米面粮油');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (27, '高筋小麦粉 5kg', '适合制作馒头、面条、包子等面食。', 25.90, 150, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '米面粮油');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (28, '非转基因大豆油 5L', '家用桶装大豆油,适合煎炒烹炸。', 59.90, 120, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '米面粮油');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (29, '鲜牛奶 950ml', '低温鲜牛奶,口感醇厚,建议冷藏保存。', 12.80, 160, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '乳品饮品');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (30, '原味酸奶 1kg', '家庭装原味酸奶,口感顺滑,适合早餐。', 16.90, 140, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '乳品饮品');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (31, '豆浆 1L', '现磨风味豆浆,适合早餐搭配。', 6.90, 160, NULL, 1, '2026-05-09 09:46:26', '2026-05-09 09:46:26',
|
||
'乳品饮品');
|
||
INSERT INTO `products` (`id`, `name`, `description`, `price`, `stock`, `image_url`, `status`, `created_at`,
|
||
`updated_at`, `category`)
|
||
VALUES (32, '鲜榨橙汁 300ml', '冷藏鲜榨橙汁,酸甜清爽。', 9.90, 100, NULL, 1, '2026-05-09 09:46:26',
|
||
'2026-05-09 09:46:26', '乳品饮品');
|
||
COMMIT;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for user_addresses
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `user_addresses`;
|
||
CREATE TABLE `user_addresses`
|
||
(
|
||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||
`address` varchar(255) NOT NULL,
|
||
`city` varchar(50) DEFAULT NULL,
|
||
`created_at` datetime(6) NOT NULL,
|
||
`district` varchar(50) DEFAULT NULL,
|
||
`is_default` bit(1) NOT NULL,
|
||
`name` varchar(100) NOT NULL,
|
||
`phone` varchar(20) NOT NULL,
|
||
`province` varchar(50) DEFAULT NULL,
|
||
`updated_at` datetime(6) DEFAULT NULL,
|
||
`user_id` bigint NOT NULL,
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Records of user_addresses
|
||
-- ----------------------------
|
||
BEGIN;
|
||
COMMIT;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for user_favorites
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `user_favorites`;
|
||
CREATE TABLE `user_favorites`
|
||
(
|
||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||
`created_at` datetime(6) NOT NULL,
|
||
`product_id` bigint NOT NULL,
|
||
`user_id` bigint NOT NULL,
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_favorite_user_product` (`user_id`, `product_id`)
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Records of user_favorites
|
||
-- ----------------------------
|
||
BEGIN;
|
||
COMMIT;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for users
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `users`;
|
||
CREATE TABLE `users`
|
||
(
|
||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
|
||
`username` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名',
|
||
`password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码(加密)',
|
||
`email` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '邮箱',
|
||
`phone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '手机号',
|
||
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '用户状态:1-正常,0-禁用',
|
||
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`last_login` datetime DEFAULT NULL COMMENT '最后登录时间',
|
||
`avatar` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||
`role` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `username` (`username`),
|
||
KEY `idx_username` (`username`),
|
||
KEY `idx_email` (`email`),
|
||
KEY `idx_phone` (`phone`),
|
||
KEY `idx_status` (`status`),
|
||
KEY `idx_created_at` (`created_at`),
|
||
KEY `idx_users_status` (`status`),
|
||
KEY `idx_users_last_login` (`last_login`),
|
||
KEY `idx_users_created_at` (`created_at`)
|
||
) ENGINE = InnoDB
|
||
AUTO_INCREMENT = 16
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_unicode_ci COMMENT ='用户表';
|
||
|
||
-- ----------------------------
|
||
-- Records of users
|
||
-- ----------------------------
|
||
BEGIN;
|
||
INSERT INTO `users` (`id`, `username`, `password`, `email`, `phone`, `status`, `created_at`, `updated_at`, `last_login`,
|
||
`avatar`, `role`)
|
||
VALUES (3, 'admin', '$2a$10$3V4zVguC/6eJjkuh78JqeufsNnjtHado/xUpGzrdLylF/TjH1ZoQ6', 'admin@example.com', '13800138000',
|
||
1, '2026-03-14 17:51:14', '2026-05-09 17:55:03', '2026-05-09 17:55:03', NULL, 'ADMIN');
|
||
COMMIT;
|
||
|
||
-- ----------------------------
|
||
-- View structure for active_flash_sales
|
||
-- ----------------------------
|
||
DROP VIEW IF EXISTS `active_flash_sales`;
|
||
CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `active_flash_sales` AS
|
||
select `fs`.`id` AS `id`,
|
||
`fs`.`product_id` AS `product_id`,
|
||
`p`.`name` AS `product_name`,
|
||
`p`.`price` AS `original_price`,
|
||
`fs`.`flash_price` AS `flash_price`,
|
||
`fs`.`flash_stock` AS `flash_stock`,
|
||
`fs`.`start_time` AS `start_time`,
|
||
`fs`.`end_time` AS `end_time`,
|
||
`fs`.`status` AS `status`,
|
||
`p`.`image_url` AS `image_url`
|
||
from (`flash_sales` `fs` join `products` `p` on ((`fs`.`product_id` = `p`.`id`)))
|
||
where ((`fs`.`status` = 2) and (`fs`.`start_time` <= now()) and (`fs`.`end_time` > now()) and (`p`.`status` = 1));
|
||
|
||
-- ----------------------------
|
||
-- View structure for order_statistics
|
||
-- ----------------------------
|
||
DROP VIEW IF EXISTS `order_statistics`;
|
||
CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `order_statistics` AS
|
||
select cast(`orders`.`created_at` as date) AS `order_date`,
|
||
count(0) AS `total_orders`,
|
||
sum((case when (`orders`.`status` = 1) then 1 else 0 end)) AS `pending_orders`,
|
||
sum((case when (`orders`.`status` = 2) then 1 else 0 end)) AS `paid_orders`,
|
||
sum((case when (`orders`.`status` = 4) then 1 else 0 end)) AS `completed_orders`,
|
||
sum((case when (`orders`.`order_type` = 2) then 1 else 0 end)) AS `flash_sale_orders`,
|
||
sum(`orders`.`total_price`) AS `total_amount`
|
||
from `orders`
|
||
group by cast(`orders`.`created_at` as date)
|
||
order by `order_date` desc;
|
||
|
||
SET FOREIGN_KEY_CHECKS = 1;
|