web
This commit is contained in:
@@ -1,106 +0,0 @@
|
||||
-- 创建退款记录表
|
||||
-- 执行时间: 2024-01-01
|
||||
-- 描述: 为微信退款功能创建退款记录表,记录所有退款申请和处理状态
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ai_refunds` (
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '退款记录ID',
|
||||
`refund_no` varchar(64) NOT NULL COMMENT '退款单号,系统生成的唯一退款编号',
|
||||
`order_id` bigint unsigned NOT NULL COMMENT '关联订单ID',
|
||||
`order_no` varchar(32) NOT NULL COMMENT '订单号',
|
||||
`user_id` bigint unsigned NOT NULL COMMENT '用户ID',
|
||||
`refund_type` tinyint NOT NULL DEFAULT 1 COMMENT '退款类型:1=仅退款,2=退货退款',
|
||||
`refund_reason` varchar(255) NOT NULL COMMENT '退款原因',
|
||||
`refund_description` text COMMENT '退款详细说明',
|
||||
`refund_amount` decimal(10,2) NOT NULL COMMENT '退款金额(分)',
|
||||
`refund_fee` decimal(10,2) DEFAULT 0.00 COMMENT '退款手续费(分)',
|
||||
`actual_refund_amount` decimal(10,2) NOT NULL COMMENT '实际退款金额(分)',
|
||||
`status` tinyint NOT NULL DEFAULT 1 COMMENT '退款状态:1=待审核,2=审核通过,3=审核拒绝,4=退款中,5=退款成功,6=退款失败',
|
||||
`apply_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '申请时间',
|
||||
`audit_time` timestamp NULL COMMENT '审核时间',
|
||||
`refund_time` timestamp NULL COMMENT '退款完成时间',
|
||||
`admin_id` bigint unsigned NULL COMMENT '审核管理员ID',
|
||||
`admin_remark` text COMMENT '管理员备注',
|
||||
`reject_reason` varchar(255) NULL COMMENT '拒绝原因',
|
||||
|
||||
-- 微信退款相关字段
|
||||
`wechat_refund_id` varchar(64) NULL COMMENT '微信退款单号',
|
||||
`wechat_out_refund_no` varchar(64) NULL COMMENT '商户退款单号',
|
||||
`wechat_transaction_id` varchar(64) NULL COMMENT '微信支付交易号',
|
||||
`wechat_refund_status` varchar(32) NULL COMMENT '微信退款状态:SUCCESS=成功,CLOSED=关闭,PROCESSING=处理中',
|
||||
`wechat_refund_recv_accout` varchar(64) NULL COMMENT '退款入账账户',
|
||||
`wechat_success_time` timestamp NULL COMMENT '微信退款成功时间',
|
||||
`wechat_user_received_account` varchar(64) NULL COMMENT '退款到账账户',
|
||||
`wechat_refund_account` varchar(32) NULL COMMENT '退款资金来源:AVAILABLE=可用余额,UNAVAILABLE=不可用余额',
|
||||
|
||||
-- 退货相关字段(当refund_type=2时使用)
|
||||
`return_logistics_company` varchar(50) NULL COMMENT '退货物流公司',
|
||||
`return_logistics_no` varchar(100) NULL COMMENT '退货物流单号',
|
||||
`return_address` varchar(255) NULL COMMENT '退货地址',
|
||||
`goods_received_time` timestamp NULL COMMENT '商家收货时间',
|
||||
|
||||
-- 图片证据
|
||||
`evidence_images` json NULL COMMENT '退款凭证图片JSON数组',
|
||||
|
||||
`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_refund_no` (`refund_no`),
|
||||
UNIQUE KEY `uk_wechat_out_refund_no` (`wechat_out_refund_no`),
|
||||
KEY `idx_order_id` (`order_id`),
|
||||
KEY `idx_order_no` (`order_no`),
|
||||
KEY `idx_user_id` (`user_id`),
|
||||
KEY `idx_status` (`status`),
|
||||
KEY `idx_apply_time` (`apply_time`),
|
||||
KEY `idx_wechat_refund_id` (`wechat_refund_id`),
|
||||
KEY `idx_wechat_transaction_id` (`wechat_transaction_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='退款记录表';
|
||||
|
||||
-- 为订单表添加退款相关字段(如果不存在)
|
||||
ALTER TABLE `ai_orders`
|
||||
ADD COLUMN IF NOT EXISTS `refunded_at` timestamp NULL COMMENT '退款时间' AFTER `refund_time`,
|
||||
ADD COLUMN IF NOT EXISTS `total_refund_amount` decimal(10,2) DEFAULT 0.00 COMMENT '累计退款金额' AFTER `refund_amount`,
|
||||
ADD COLUMN IF NOT EXISTS `refund_count` int DEFAULT 0 COMMENT '退款次数' AFTER `total_refund_amount`;
|
||||
|
||||
-- 创建退款项目表(支持部分退款)
|
||||
CREATE TABLE IF NOT EXISTS `ai_refund_items` (
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '退款项目ID',
|
||||
`refund_id` bigint unsigned NOT NULL COMMENT '退款记录ID',
|
||||
`order_item_id` bigint unsigned NOT NULL COMMENT '订单项ID',
|
||||
`product_id` bigint unsigned NOT NULL COMMENT '商品ID',
|
||||
`sku_id` bigint unsigned NULL COMMENT 'SKU ID',
|
||||
`product_name` varchar(100) NOT NULL COMMENT '商品名称',
|
||||
`product_image` varchar(255) NULL COMMENT '商品图片',
|
||||
`spec_info` json NULL COMMENT '规格信息',
|
||||
`quantity` int NOT NULL COMMENT '退款数量',
|
||||
`unit_price` decimal(10,2) NOT NULL COMMENT '单价(分)',
|
||||
`total_price` decimal(10,2) NOT NULL COMMENT '退款总价(分)',
|
||||
`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`),
|
||||
KEY `idx_refund_id` (`refund_id`),
|
||||
KEY `idx_order_item_id` (`order_item_id`),
|
||||
KEY `idx_product_id` (`product_id`),
|
||||
FOREIGN KEY (`refund_id`) REFERENCES `ai_refunds` (`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='退款项目表';
|
||||
|
||||
-- 创建退款日志表
|
||||
CREATE TABLE IF NOT EXISTS `ai_refund_logs` (
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '日志ID',
|
||||
`refund_id` bigint unsigned NOT NULL COMMENT '退款记录ID',
|
||||
`action` varchar(50) NOT NULL COMMENT '操作类型:apply=申请,audit=审核,refund=退款,callback=回调',
|
||||
`status_from` tinyint NULL COMMENT '状态变更前',
|
||||
`status_to` tinyint NULL COMMENT '状态变更后',
|
||||
`operator_type` varchar(20) NOT NULL COMMENT '操作者类型:user=用户,admin=管理员,system=系统',
|
||||
`operator_id` bigint unsigned NULL COMMENT '操作者ID',
|
||||
`remark` text NULL COMMENT '操作备注',
|
||||
`extra_data` json NULL COMMENT '额外数据',
|
||||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_refund_id` (`refund_id`),
|
||||
KEY `idx_action` (`action`),
|
||||
KEY `idx_created_at` (`created_at`),
|
||||
FOREIGN KEY (`refund_id`) REFERENCES `ai_refunds` (`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='退款操作日志表';
|
||||
@@ -1,98 +0,0 @@
|
||||
-- 创建退款记录表
|
||||
-- 执行时间: 2024-01-01
|
||||
-- 描述: 为微信退款功能创建退款记录表,记录所有退款申请和处理状态
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ai_refunds` (
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '退款记录ID',
|
||||
`refund_no` varchar(64) NOT NULL COMMENT '退款单号,系统生成的唯一退款编号',
|
||||
`order_id` bigint unsigned NOT NULL COMMENT '关联订单ID',
|
||||
`order_no` varchar(32) NOT NULL COMMENT '订单号',
|
||||
`user_id` bigint unsigned NOT NULL COMMENT '用户ID',
|
||||
`refund_type` tinyint NOT NULL DEFAULT 1 COMMENT '退款类型:1=仅退款,2=退货退款',
|
||||
`refund_reason` varchar(255) NOT NULL COMMENT '退款原因',
|
||||
`refund_description` text COMMENT '退款详细说明',
|
||||
`refund_amount` decimal(10,2) NOT NULL COMMENT '退款金额(分)',
|
||||
`refund_fee` decimal(10,2) DEFAULT 0.00 COMMENT '退款手续费(分)',
|
||||
`actual_refund_amount` decimal(10,2) NOT NULL COMMENT '实际退款金额(分)',
|
||||
`status` tinyint NOT NULL DEFAULT 1 COMMENT '退款状态:1=待审核,2=审核通过,3=审核拒绝,4=退款中,5=退款成功,6=退款失败',
|
||||
`apply_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '申请时间',
|
||||
`audit_time` timestamp NULL COMMENT '审核时间',
|
||||
`refund_time` timestamp NULL COMMENT '退款完成时间',
|
||||
`admin_id` bigint unsigned NULL COMMENT '审核管理员ID',
|
||||
`admin_remark` text COMMENT '管理员备注',
|
||||
`reject_reason` varchar(255) NULL COMMENT '拒绝原因',
|
||||
|
||||
-- 微信退款相关字段
|
||||
`wechat_refund_id` varchar(64) NULL COMMENT '微信退款单号',
|
||||
`wechat_out_refund_no` varchar(64) NULL COMMENT '商户退款单号',
|
||||
`wechat_transaction_id` varchar(64) NULL COMMENT '微信支付交易号',
|
||||
`wechat_refund_status` varchar(32) NULL COMMENT '微信退款状态:SUCCESS=成功,CLOSED=关闭,PROCESSING=处理中',
|
||||
`wechat_refund_recv_accout` varchar(64) NULL COMMENT '退款入账账户',
|
||||
`wechat_success_time` timestamp NULL COMMENT '微信退款成功时间',
|
||||
`wechat_user_received_account` varchar(64) NULL COMMENT '退款到账账户',
|
||||
`wechat_refund_account` varchar(32) NULL COMMENT '退款资金来源:AVAILABLE=可用余额,UNAVAILABLE=不可用余额',
|
||||
|
||||
-- 退货相关字段(当refund_type=2时使用)
|
||||
`return_logistics_company` varchar(50) NULL COMMENT '退货物流公司',
|
||||
`return_logistics_no` varchar(100) NULL COMMENT '退货物流单号',
|
||||
`return_address` varchar(255) NULL COMMENT '退货地址',
|
||||
`goods_received_time` timestamp NULL COMMENT '商家收货时间',
|
||||
|
||||
-- 图片证据
|
||||
`evidence_images` json NULL COMMENT '退款凭证图片JSON数组',
|
||||
|
||||
`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_refund_no` (`refund_no`),
|
||||
UNIQUE KEY `uk_wechat_out_refund_no` (`wechat_out_refund_no`),
|
||||
KEY `idx_order_id` (`order_id`),
|
||||
KEY `idx_order_no` (`order_no`),
|
||||
KEY `idx_user_id` (`user_id`),
|
||||
KEY `idx_status` (`status`),
|
||||
KEY `idx_apply_time` (`apply_time`),
|
||||
KEY `idx_wechat_refund_id` (`wechat_refund_id`),
|
||||
KEY `idx_wechat_transaction_id` (`wechat_transaction_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='退款记录表';
|
||||
|
||||
-- 创建退款项目表(支持部分退款)
|
||||
CREATE TABLE IF NOT EXISTS `ai_refund_items` (
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '退款项目ID',
|
||||
`refund_id` bigint unsigned NOT NULL COMMENT '退款记录ID',
|
||||
`order_item_id` bigint unsigned NOT NULL COMMENT '订单项ID',
|
||||
`product_id` bigint unsigned NOT NULL COMMENT '商品ID',
|
||||
`sku_id` bigint unsigned NULL COMMENT 'SKU ID',
|
||||
`product_name` varchar(100) NOT NULL COMMENT '商品名称',
|
||||
`product_image` varchar(255) NULL COMMENT '商品图片',
|
||||
`spec_info` json NULL COMMENT '规格信息',
|
||||
`quantity` int NOT NULL COMMENT '退款数量',
|
||||
`unit_price` decimal(10,2) NOT NULL COMMENT '单价(分)',
|
||||
`total_price` decimal(10,2) NOT NULL COMMENT '退款总价(分)',
|
||||
`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`),
|
||||
KEY `idx_refund_id` (`refund_id`),
|
||||
KEY `idx_order_item_id` (`order_item_id`),
|
||||
KEY `idx_product_id` (`product_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='退款项目表';
|
||||
|
||||
-- 创建退款日志表
|
||||
CREATE TABLE IF NOT EXISTS `ai_refund_logs` (
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '日志ID',
|
||||
`refund_id` bigint unsigned NOT NULL COMMENT '退款记录ID',
|
||||
`action` varchar(50) NOT NULL COMMENT '操作类型:apply=申请,audit=审核,refund=退款,callback=回调',
|
||||
`status_from` tinyint NULL COMMENT '状态变更前',
|
||||
`status_to` tinyint NULL COMMENT '状态变更后',
|
||||
`operator_type` varchar(20) NOT NULL COMMENT '操作者类型:user=用户,admin=管理员,system=系统',
|
||||
`operator_id` bigint unsigned NULL COMMENT '操作者ID',
|
||||
`remark` text NULL COMMENT '操作备注',
|
||||
`extra_data` json NULL COMMENT '额外数据',
|
||||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_refund_id` (`refund_id`),
|
||||
KEY `idx_action` (`action`),
|
||||
KEY `idx_created_at` (`created_at`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='退款操作日志表';
|
||||
@@ -1,15 +0,0 @@
|
||||
-- 修复 ai_products 表的 id 字段为自增主键,解决 Error 1364: Field 'id' doesn't have a default value
|
||||
-- 说明:如果表结构早期创建未设置 AUTO_INCREMENT,插入时会因严格模式报错。
|
||||
-- 注意:本脚本不会移除主键或外键,仅在现有主键上设置自增。
|
||||
|
||||
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS;
|
||||
SET FOREIGN_KEY_CHECKS=0;
|
||||
|
||||
-- 将 id 字段调整为 BIGINT UNSIGNED 自增主键(根据实际类型可改为 INT UNSIGNED)
|
||||
ALTER TABLE `ai_products`
|
||||
MODIFY COLUMN `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT;
|
||||
|
||||
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
|
||||
|
||||
-- 验证:执行 SHOW CREATE TABLE ai_products; 应看到 `id` 为 AUTO_INCREMENT
|
||||
-- 参考:在应用代码中,model.Product 的 id 为 `gorm:"primaryKey;autoIncrement"`
|
||||
@@ -1,2 +0,0 @@
|
||||
-- 添加退款时间字段到订单表
|
||||
ALTER TABLE ai_orders ADD COLUMN refunded_at TIMESTAMP NULL DEFAULT NULL COMMENT '退款时间';
|
||||
24
server/migrations/006_create_live_streams_table.sql
Normal file
24
server/migrations/006_create_live_streams_table.sql
Normal file
@@ -0,0 +1,24 @@
|
||||
-- 创建直播投流源表
|
||||
CREATE TABLE IF NOT EXISTS `ai_live_streams` (
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`title` varchar(255) NOT NULL COMMENT '投流源标题',
|
||||
`platform` varchar(50) NOT NULL COMMENT '平台名称(如:抖音,快手,淘宝,京东,小红书等)',
|
||||
`stream_url` varchar(500) NOT NULL COMMENT '投流URL地址',
|
||||
`cover_image` varchar(500) DEFAULT NULL COMMENT '封面图片URL',
|
||||
`description` text COMMENT '描述信息',
|
||||
`status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:0-禁用,1-启用',
|
||||
`sort` int NOT NULL DEFAULT '0' COMMENT '排序值,数值越大越靠前',
|
||||
`view_count` int NOT NULL DEFAULT '0' COMMENT '观看次数',
|
||||
`start_time` datetime DEFAULT NULL COMMENT '开始时间',
|
||||
`end_time` datetime DEFAULT NULL COMMENT '结束时间',
|
||||
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_platform` (`platform`),
|
||||
KEY `idx_status` (`status`),
|
||||
KEY `idx_sort` (`sort`),
|
||||
KEY `idx_created_at` (`created_at`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='直播投流源表';
|
||||
|
||||
ALTER TABLE `ai_live_streams`
|
||||
ADD UNIQUE INDEX `idx_platform_unique` (`platform`);
|
||||
@@ -1,66 +0,0 @@
|
||||
-- 评论功能相关表创建脚本
|
||||
-- 创建时间: 2024-12-19
|
||||
|
||||
-- 商品评论表
|
||||
CREATE TABLE `ai_comments` (
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`user_id` bigint(20) unsigned NOT NULL COMMENT '用户ID',
|
||||
`product_id` bigint(20) unsigned NOT NULL COMMENT '商品ID',
|
||||
`order_id` bigint(20) unsigned NOT NULL COMMENT '订单ID',
|
||||
`order_item_id` bigint(20) unsigned NOT NULL COMMENT '订单项ID',
|
||||
`rating` tinyint(4) NOT NULL DEFAULT '5' COMMENT '评分 1-5星',
|
||||
`content` text COMMENT '评论内容',
|
||||
`images` text COMMENT '评论图片,JSON格式存储',
|
||||
`is_anonymous` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否匿名评论',
|
||||
`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态:1-正常,2-隐藏,3-删除',
|
||||
`reply_count` int(11) NOT NULL DEFAULT '0' COMMENT '回复数量',
|
||||
`like_count` int(11) NOT NULL DEFAULT '0' COMMENT '点赞数量',
|
||||
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_user_id` (`user_id`),
|
||||
KEY `idx_product_id` (`product_id`),
|
||||
KEY `idx_order_id` (`order_id`),
|
||||
KEY `idx_order_item_id` (`order_item_id`),
|
||||
KEY `idx_rating` (`rating`),
|
||||
KEY `idx_status` (`status`),
|
||||
KEY `idx_created_at` (`created_at`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品评论表';
|
||||
|
||||
-- 评论回复表
|
||||
CREATE TABLE `ai_comment_replies` (
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`comment_id` bigint(20) unsigned NOT NULL COMMENT '评论ID',
|
||||
`user_id` bigint(20) unsigned NOT NULL COMMENT '回复用户ID',
|
||||
`content` text NOT NULL COMMENT '回复内容',
|
||||
`is_admin` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否管理员回复',
|
||||
`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态:1-正常,2-隐藏,3-删除',
|
||||
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_comment_id` (`comment_id`),
|
||||
KEY `idx_user_id` (`user_id`),
|
||||
KEY `idx_status` (`status`),
|
||||
KEY `idx_created_at` (`created_at`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='评论回复表';
|
||||
|
||||
-- 评论点赞表
|
||||
CREATE TABLE `ai_comment_likes` (
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`comment_id` bigint(20) unsigned NOT NULL COMMENT '评论ID',
|
||||
`user_id` bigint(20) unsigned NOT NULL COMMENT '用户ID',
|
||||
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_comment_user` (`comment_id`, `user_id`),
|
||||
KEY `idx_comment_id` (`comment_id`),
|
||||
KEY `idx_user_id` (`user_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='评论点赞表';
|
||||
|
||||
-- 为商品表添加评论统计字段
|
||||
ALTER TABLE `ai_products`
|
||||
ADD COLUMN `comment_count` int(11) NOT NULL DEFAULT '0' COMMENT '评论数量' AFTER `sales`,
|
||||
ADD COLUMN `average_rating` decimal(3,2) NOT NULL DEFAULT '0.00' COMMENT '平均评分' AFTER `comment_count`;
|
||||
|
||||
-- 为订单项表添加评论状态字段
|
||||
ALTER TABLE `order_items`
|
||||
ADD COLUMN `is_commented` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已评论' AFTER `spec_info`;
|
||||
@@ -1,26 +0,0 @@
|
||||
-- 添加微信相关字段到用户表
|
||||
-- 创建时间: 2024-12-19
|
||||
-- 描述: 为ai_users表添加微信登录所需的字段
|
||||
|
||||
USE ai_dianshang;
|
||||
|
||||
-- 为ai_users表添加微信相关字段(表中已有open_id和union_id,只需添加session相关字段)
|
||||
ALTER TABLE `ai_users`
|
||||
ADD COLUMN `wechat_session_key` VARCHAR(255) NULL COMMENT 'WeChat SessionKey' AFTER `status`;
|
||||
|
||||
ALTER TABLE `ai_users`
|
||||
ADD COLUMN `session_expiry` TIMESTAMP NULL COMMENT 'Session expiry time' AFTER `wechat_session_key`;
|
||||
|
||||
-- 添加索引以提高查询性能
|
||||
CREATE INDEX `idx_wechat_session_key` ON `ai_users` (`wechat_session_key`);
|
||||
CREATE INDEX `idx_session_expiry` ON `ai_users` (`session_expiry`);
|
||||
|
||||
-- 注释:
|
||||
-- 1. wechat_openid: 微信用户唯一标识,用于标识用户身份
|
||||
-- 2. wechat_unionid: 微信开放平台统一标识,同一用户在不同应用下的唯一标识
|
||||
-- 3. wechat_session_key: 微信会话密钥,用于解密用户数据,敏感信息需要安全存储
|
||||
-- 4. session_expiry: 会话过期时间,通常为7天,用于验证session_key有效性
|
||||
|
||||
-- 安全提醒:
|
||||
-- 在生产环境中,建议对wechat_session_key进行加密存储
|
||||
-- 定期清理过期的session_key以提高安全性
|
||||
Reference in New Issue
Block a user