From c00a06503089c4d82b66e3b2260738441f9e2442 Mon Sep 17 00:00:00 2001 From: liyj <1617420630@qq.com> Date: Tue, 13 Jan 2026 16:20:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=BA=97=E9=93=BA=E4=BC=9A?= =?UTF-8?q?=E5=91=98=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/shop/dev/20250809_ddl.sql | 150 +++++++++++++++++----------------- sql/shop/dev/20251219_ddl.sql | 6 ++ sql/shop/dev/20260109_dml.sql | 1 + 3 files changed, 83 insertions(+), 74 deletions(-) create mode 100644 sql/shop/dev/20251219_ddl.sql create mode 100644 sql/shop/dev/20260109_dml.sql diff --git a/sql/shop/dev/20250809_ddl.sql b/sql/shop/dev/20250809_ddl.sql index 9ab0fa50..8455db44 100644 --- a/sql/shop/dev/20250809_ddl.sql +++ b/sql/shop/dev/20250809_ddl.sql @@ -1,83 +1,85 @@ + CREATE TABLE `shop_store_member_level` ( + `store_member_level_id` int unsigned NOT NULL COMMENT '主表id', `user_level_id` int NOT NULL AUTO_INCREMENT COMMENT '等级编号', `user_level_name` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '' COMMENT '等级名称', `user_level_spend` decimal(6,2) NOT NULL DEFAULT '0.00' COMMENT '累计消费', - `user_level_rate` decimal(6,2) NOT NULL DEFAULT '0.00' COMMENT '折扣率百分比', + `first_purchase_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '首次消费时间(成为店铺会员的时间)', + `store_points` int NOT NULL DEFAULT '0' COMMENT '积分', + `last_purchase_time` datetime DEFAULT NULL COMMENT '最近消费时间', + `member_level_id` int unsigned NOT NULL DEFAULT '0' COMMENT '店铺会员等级id', + `member_level_name` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '' COMMENT '等级名称', + `user_level_rate` decimal(6,2) NOT NULL DEFAULT '100.00' COMMENT '折扣率百分比', `user_level_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '新建时间', - `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`user_level_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员等级表-店铺'; + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '新建时间', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `store_id` int unsigned NOT NULL COMMENT '店铺编号', + `store_member_id` int unsigned NOT NULL COMMENT '店铺会员id', + PRIMARY KEY (`store_member_level_id`) USING BTREE, + KEY `index_user_level_id` (`user_level_id`) USING BTREE, + KEY `index_user_level_name` (`user_level_name`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=1002 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='会员等级表-店铺'; +alter table shop_store_member_level add column `user_id` int unsigned NOT NULL COMMENT '用户编号'; +CREATE TABLE `shop_store_member` ( + `store_member_id` int NOT NULL AUTO_INCREMENT COMMENT '店铺会员id', + `user_id` int unsigned NOT NULL COMMENT '用户编号', + `store_id` int unsigned NOT NULL COMMENT '店铺编号', + `store_name` varchar(50) NOT NULL COMMENT '店铺名称', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '新建时间', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `user_account` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '用户名', + `user_nickname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT ' 用户昵称', + `send_number` int unsigned NOT NULL DEFAULT '0' COMMENT '剩余订阅次数', + `bind_openid` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '' COMMENT '访问Open编号', + PRIMARY KEY (`store_member_id`), + UNIQUE KEY `unique_user_store` (`user_id`,`store_id`), + KEY `index_store_id` (`store_id`) USING BTREE, + KEY `index_store_name` (`store_name`) USING BTREE, + KEY `index_user_id` (`user_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='会员表-店铺'; -CREATE TABLE shop_store_member ( - store_member_id int PRIMARY KEY AUTO_INCREMENT COMMENT '店铺会员id', - user_id int unsigned NOT NULL COMMENT '用户编号', - store_id int unsigned NOT NULL COMMENT '店铺编号', - store_name varchar(50) NOT NULL COMMENT '店铺名称', - first_purchase_time DATETIME NOT NULL COMMENT '首次消费时间(成为店铺会员的时间)', - total_consumption DECIMAL(10,2) NOT NULL DEFAULT 0.00 COMMENT '在该店铺累计消费金额(默认0)', - store_points int NOT NULL DEFAULT 0.00 COMMENT '积分', - last_purchase_time DATETIME default null COMMENT '最近消费时间', - member_level_id int unsigned NOT NULL DEFAULT 0 COMMENT '店铺会员等级id', - member_level_name varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '' COMMENT '等级名称', - `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '新建时间', - `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - UNIQUE KEY unique_user_store (store_member_id, store_id), - KEY `index_store_id` (`store_id`) USING BTREE, - KEY `index_store_name` (`store_name`) USING BTREE, - KEY `index_user_id` (`user_id`) USING BTREE -)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员表-店铺'; +CREATE TABLE shop_store_points_account ( + user_id VARCHAR(32) PRIMARY KEY, + store_member_id int NOT NULL COMMENT '店铺会员id', + total_points INT DEFAULT 0 COMMENT '累计获得积分', + available_points INT DEFAULT 0 COMMENT '可用积分', + frozen_points INT DEFAULT 0 COMMENT '冻结积分', + expired_points INT DEFAULT 0 COMMENT '已过期积分', + last_update_time DATETIME NOT NULL COMMENT '最后更新时间', + FOREIGN KEY (store_member_id) REFERENCES shop_store_member(store_member_id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员表-积分账户表'; +CREATE TABLE shop_store_points_transaction ( + transaction_id VARCHAR(32) PRIMARY KEY, + user_id int NOT NULL COMMENT '用户编号', + store_member_id VARCHAR(32) NOT NULL COMMENT '店铺会员id', + points INT NOT NULL COMMENT '正数为获得,负数为消耗', + balance_after INT NOT NULL COMMENT '交易后余额', + transaction_type TINYINT NOT NULL COMMENT '1-获取 2-消费 3-过期 4-调整', + transaction_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '流水时间', + expiry_date datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '过期日期', + source_id VARCHAR(32) NOT NULL DEFAULT '' COMMENT '来源ID(订单ID等)', + source_desc VARCHAR(100) NOT NULL DEFAULT '' COMMENT '来源描述', + remark VARCHAR(200) COMMENT '备注', + INDEX idx_account (user_id), + INDEX idx_expiry (expiry_date), + INDEX idx_transaction_time (transaction_time) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员表-积分流水表'; --- 积分账户表 -CREATE TABLE points_account ( - user_id VARCHAR(32) PRIMARY KEY, - store_member_id VARCHAR(32) NOT NULL, - total_points INT DEFAULT 0 COMMENT '累计获得积分', - available_points INT DEFAULT 0 COMMENT '可用积分', - frozen_points INT DEFAULT 0 COMMENT '冻结积分', - expired_points INT DEFAULT 0 COMMENT '已过期积分', - last_update_time DATETIME NOT NULL, - FOREIGN KEY (member_id) REFERENCES members(member_id), - INDEX idx_member (member_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- 积分流水表 -CREATE TABLE points_transaction ( - transaction_id VARCHAR(32) PRIMARY KEY, - user_id VARCHAR(32) NOT NULL, - store_member_id VARCHAR(32) NOT NULL, - points INT NOT NULL COMMENT '正数为获得,负数为消耗', - balance_after INT NOT NULL COMMENT '交易后余额', - transaction_type TINYINT NOT NULL COMMENT '1-获取 2-消费 3-过期 4-调整', - transaction_time DATETIME NOT NULL, - expiry_date DATE COMMENT '过期日期', - source_id VARCHAR(32) COMMENT '来源ID(订单ID等)', - source_desc VARCHAR(100) COMMENT '来源描述', - remark VARCHAR(200), - FOREIGN KEY (account_id) REFERENCES points_account(account_id), - FOREIGN KEY (member_id) REFERENCES members(member_id), - INDEX idx_member (member_id), - INDEX idx_account (account_id), - INDEX idx_expiry (expiry_date), - INDEX idx_transaction_time (transaction_time) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- 积分规则表 -CREATE TABLE points_rule ( - rule_id VARCHAR(32) PRIMARY KEY, - rule_name VARCHAR(50) NOT NULL, - rule_type TINYINT NOT NULL COMMENT '1-获取规则 2-过期规则', - points_value INT COMMENT '获取积分数值或比例', - expiry_days INT COMMENT '过期天数(0表示永久有效)', - status TINYINT DEFAULT 1 COMMENT '1-启用 0-禁用', - start_time DATETIME, - end_time DATETIME, - create_time DATETIME NOT NULL, - update_time DATETIME, - store_id int unsigned NOT NULL COMMENT '店铺编号', - warning_day INT NOT NULL default 0 COMMENT '预警通知,0是表示没有预警', - remark VARCHAR(200) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - +CREATE TABLE shop_store_points_rule ( + rule_id VARCHAR(32) PRIMARY KEY, + rule_name VARCHAR(50) NOT NULL COMMENT '规则名称', + rule_type TINYINT NOT NULL COMMENT '1-获取规则 2-过期规则', + points_value INT default 0 COMMENT '获取积分数值或比例', + expiry_days INT default 0 COMMENT '过期天数(0表示永久有效)', + status TINYINT DEFAULT 1 COMMENT '1-启用 0-禁用', + start_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开始时间', + end_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '结束时间', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '新建时间', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + store_id int unsigned NOT NULL COMMENT '店铺编号', + warning_day INT NOT NULL default 0 COMMENT '预警通知,0是表示没有预警', + remark VARCHAR(200) DEFAULT '' COMMENT '备注' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员表-积分规则表'; +alter table shop_store_points_rule add index `rule_name` (`rule_name`) USING BTREE; diff --git a/sql/shop/dev/20251219_ddl.sql b/sql/shop/dev/20251219_ddl.sql new file mode 100644 index 00000000..0bf25c0a --- /dev/null +++ b/sql/shop/dev/20251219_ddl.sql @@ -0,0 +1,6 @@ +alter table shop_store_activity_base add column `person_limit` int DEFAULT '0' COMMENT '每人限购,0为不限购'; +alter table shop_store_activity_base add column `order_limit` int DEFAULT '0' COMMENT '每单限购,0为不限购'; +alter table shop_store_activity_base add column `is_new_person_shop` char(1) DEFAULT '0' COMMENT '是否店铺新用户专享1是0否'; + +alter table account_base_user_level change user_level_spend user_level_spend decimal(16,2) NOT NULL DEFAULT '0.00' COMMENT '累计消费'; + diff --git a/sql/shop/dev/20260109_dml.sql b/sql/shop/dev/20260109_dml.sql new file mode 100644 index 00000000..d4bd934a --- /dev/null +++ b/sql/shop/dev/20260109_dml.sql @@ -0,0 +1 @@ +alter table account_user_bind_connect add column send_number int unsigned NOT NULL DEFAULT '0' comment '剩余订阅次数'; \ No newline at end of file