调整文件结构
This commit is contained in:
parent
1767a937a5
commit
63aedaf041
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,37 +0,0 @@
|
|||
2021-10-25
|
||||
1、【新增】数据库CoreCmsCart表增加objectId字段用于区分来源对象,CoreCmsOrder增加objectId字段,用于区域订单来源关联。
|
||||
|
||||
2021-10-14
|
||||
1、数据库结构无变化,修复SysMenu误操作清空compoent字段的问题。
|
||||
|
||||
2021-10-14
|
||||
1、数据库结构无变化,只是调整几个已知后台菜单链接与文件夹或文件大小写不统一的问题。老用户可更新下SysMenu,SysRole,SysRoleMenu表数据。新用户可直接使用新数据库。
|
||||
|
||||
2021-10-12
|
||||
1、后端开启颗粒化权限控制,数据库结构无变化,只是增加了不同菜单对不同Controller和Action的控制关联,及管理员的关联权限。
|
||||
|
||||
2021-08-31
|
||||
1、【调整】删除【支付单关系表CoreCmsBillPaymentsRel】,【CoreCmsBillPayments】表增加【sourceId】字段,替换不同类型数据单据关联。
|
||||
2、【调整】删除【发货单关系表CoreCmsBillDeliveryOrderRel】,【CoreCmsBillDeliveryItem】表增加【orderId】字段,直接对接订单表。
|
||||
3、【调整】删除【支付票据文件表CoreCmsPaymentsFile】
|
||||
|
||||
2021-08-22
|
||||
1、因mysql不支持一定格式数据排序,调整部分longtext字段为text格式,保持富文本字段为longtext格式
|
||||
|
||||
2021-08-01
|
||||
1、增加【WeChatAccessToken】表。用于存储微信公众号或者小程序存放交互accessToken用
|
||||
|
||||
2021-07-20
|
||||
1、删除【CoreCmsGoodsType】表。
|
||||
2、删除【CoreCmsGoodsTypeSpecRel】表。
|
||||
3、删除【CoreCmsGoodsTypeParams】表。
|
||||
4、商品表增加【goodsSkuIds】字段。sku序列
|
||||
5、商品表增加【goodsParamsIds】字段。参数序列
|
||||
|
||||
2021-06-19
|
||||
因linux下存在数据与文件名称大小写不对应,导致找不到数据库表的问题,特重新发布一份表名与实体名称一一对应脚本。
|
||||
|
||||
2021-06-10
|
||||
修复通过core first生成mysql数据库的两个问题。
|
||||
1、varchar类型未设置长度。被默认设置为255长度
|
||||
2、nvarchar(max)长度未及时切换longtext的问题。
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -1,43 +0,0 @@
|
|||
-- =============================================
|
||||
-- 站内信功能 - 数据库表创建脚本
|
||||
-- 创建时间: 2025-12-07
|
||||
-- =============================================
|
||||
|
||||
-- 表1: SQMessage (站内信消息表)
|
||||
CREATE TABLE [dbo].[SQMessage] (
|
||||
[id] INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
|
||||
[user_id] INT NULL, -- 接收用户ID,全员广播时为NULL
|
||||
[target_type] INT NOT NULL DEFAULT 0, -- 目标类型:0=指定用户,1=全员广播
|
||||
[title] NVARCHAR(200) NOT NULL, -- 消息标题
|
||||
[content] NVARCHAR(MAX) NOT NULL, -- 消息正文
|
||||
[message_type] INT NOT NULL DEFAULT 0, -- 消息类型:0=系统通知,1=私信
|
||||
[is_read] BIT NOT NULL DEFAULT 0, -- 是否已读(仅对指定用户消息有效)
|
||||
[sender_id] INT NULL, -- 发送者ID(后台管理员ID)
|
||||
[related_type] INT NULL, -- 关联业务类型:1=组局
|
||||
[related_id] INT NULL, -- 关联业务ID
|
||||
[created_at] DATETIME NOT NULL DEFAULT GETDATE(),
|
||||
[updated_at] DATETIME NULL
|
||||
);
|
||||
GO
|
||||
|
||||
-- 索引
|
||||
CREATE INDEX IX_SQMessage_user_id ON [dbo].[SQMessage]([user_id]);
|
||||
CREATE INDEX IX_SQMessage_target_type ON [dbo].[SQMessage]([target_type]);
|
||||
CREATE INDEX IX_SQMessage_created_at ON [dbo].[SQMessage]([created_at] DESC);
|
||||
GO
|
||||
|
||||
-- 表2: SQMessageRead (已读记录表 - 专门记录全员广播的已读状态)
|
||||
CREATE TABLE [dbo].[SQMessageRead] (
|
||||
[id] INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
|
||||
[message_id] INT NOT NULL, -- 消息ID
|
||||
[user_id] INT NOT NULL, -- 用户ID
|
||||
[read_at] DATETIME NOT NULL DEFAULT GETDATE()
|
||||
);
|
||||
GO
|
||||
|
||||
-- 索引(防重复 + 查询优化)
|
||||
CREATE UNIQUE INDEX IX_SQMessageRead_msg_user ON [dbo].[SQMessageRead]([message_id], [user_id]);
|
||||
CREATE INDEX IX_SQMessageRead_user_id ON [dbo].[SQMessageRead]([user_id]);
|
||||
GO
|
||||
|
||||
PRINT '站内信表创建完成!';
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
2021-11-19
|
||||
1、【调整】SysLoginRecord表os字段修改长度为max,防止linux系统下长度不够的问题。
|
||||
|
||||
2021-10-25
|
||||
1、【新增】数据库CoreCmsCart表增加objectId字段用于区分来源对象,CoreCmsOrder增加objectId字段,用于区域订单来源关联。
|
||||
|
||||
2021-10-14
|
||||
1、数据库结构无变化,只是调整几个已知后台菜单和权限细节的初始化数据,老用户可只更新SysMenu,SysRole,SysRoleMenu表数据。新用户可直接使用新数据库。
|
||||
|
||||
2021-10-12
|
||||
1、后端开启颗粒化权限控制,数据库结构无变化,只是增加了不同菜单对不同Controller和Action的控制关联,及管理员的关联权限。
|
||||
|
||||
2021-08-31
|
||||
1、【调整】删除【支付单关系表CoreCmsBillPaymentsRel】,【CoreCmsBillPayments】表增加【sourceId】字段,替换不同类型数据单据关联。
|
||||
2、【调整】删除【发货单关系表CoreCmsBillDeliveryOrderRel】,【CoreCmsBillDeliveryItem】表增加【orderId】字段,直接对接订单表。
|
||||
3、【调整】删除【支付票据文件表CoreCmsPaymentsFile】
|
||||
|
||||
2021-08-01
|
||||
1、增加【WeChatAccessToken】表。用于存储微信公众号或者小程序存放交互accessToken用
|
||||
|
||||
|
||||
2021-07-20
|
||||
1、删除【CoreCmsGoodsType】表。
|
||||
2、删除【CoreCmsGoodsTypeSpecRel】表。
|
||||
3、删除【CoreCmsGoodsTypeParams】表。
|
||||
4、商品表增加【goodsSkuIds】字段。sku序列
|
||||
5、商品表增加【goodsParamsIds】字段。参数序列
|
||||
|
||||
2021-06-08
|
||||
修复【SysLoginRecord】表【os】字段,【browser】字段长度过低,导致mac操作系统访问数据过长无法存储的问题。
|
||||
2021-06-09
|
||||
增加备注,删除job,同步mysql
|
||||
|
|
@ -1,250 +0,0 @@
|
|||
-- =============================================
|
||||
-- 预约系统按时段优化 - 数据库迁移脚本
|
||||
-- 创建时间: 2025-12-06
|
||||
-- 说明: 新增房间时段价格表,修改现有表结构
|
||||
-- =============================================
|
||||
|
||||
USE [您的数据库名称]
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- 1. 创建房间时段价格表 SQRoomPricing
|
||||
-- =============================================
|
||||
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[SQRoomPricing]') AND type in (N'U'))
|
||||
BEGIN
|
||||
CREATE TABLE [dbo].[SQRoomPricing](
|
||||
[id] [int] IDENTITY(1,1) NOT NULL,
|
||||
[room_id] [int] NOT NULL,
|
||||
[time_slot_type] [int] NOT NULL,
|
||||
[standard_price] [decimal](10, 2) NOT NULL,
|
||||
[member_price] [decimal](10, 2) NOT NULL,
|
||||
[price_desc_standard] [nvarchar](100) NULL,
|
||||
[price_desc_member] [nvarchar](100) NULL,
|
||||
[effective_date_start] [date] NULL,
|
||||
[effective_date_end] [date] NULL,
|
||||
[is_active] [bit] NOT NULL DEFAULT 1,
|
||||
[created_at] [datetime] NOT NULL DEFAULT GETDATE(),
|
||||
[updated_at] [datetime] NOT NULL DEFAULT GETDATE(),
|
||||
CONSTRAINT [PK_SQRoomPricing] PRIMARY KEY CLUSTERED ([id] ASC)
|
||||
)
|
||||
|
||||
-- 创建索引
|
||||
CREATE NONCLUSTERED INDEX [IX_SQRoomPricing_RoomSlot] ON [dbo].[SQRoomPricing]
|
||||
(
|
||||
[room_id] ASC,
|
||||
[time_slot_type] ASC
|
||||
)
|
||||
|
||||
CREATE NONCLUSTERED INDEX [IX_SQRoomPricing_EffectiveDate] ON [dbo].[SQRoomPricing]
|
||||
(
|
||||
[effective_date_start] ASC,
|
||||
[effective_date_end] ASC
|
||||
)
|
||||
|
||||
PRINT '✓ 表 SQRoomPricing 创建成功'
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
PRINT '× 表 SQRoomPricing 已存在'
|
||||
END
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- 2. 修改 SQRooms 表,添加新字段
|
||||
-- =============================================
|
||||
|
||||
-- 添加 room_type_name 字段
|
||||
IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[dbo].[SQRooms]') AND name = 'room_type_name')
|
||||
BEGIN
|
||||
ALTER TABLE [dbo].[SQRooms] ADD [room_type_name] [nvarchar](50) NULL
|
||||
PRINT '✓ SQRooms.room_type_name 字段添加成功'
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
PRINT '× SQRooms.room_type_name 字段已存在'
|
||||
END
|
||||
GO
|
||||
|
||||
-- 添加 sort_order 字段
|
||||
IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[dbo].[SQRooms]') AND name = 'sort_order')
|
||||
BEGIN
|
||||
ALTER TABLE [dbo].[SQRooms] ADD [sort_order] [int] NULL DEFAULT 0
|
||||
PRINT '✓ SQRooms.sort_order 字段添加成功'
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
PRINT '× SQRooms.sort_order 字段已存在'
|
||||
END
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- 3. 修改 SQRoomUnavailableTimes 表,添加新字段
|
||||
-- =============================================
|
||||
|
||||
-- 添加 time_slot_type 字段
|
||||
IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[dbo].[SQRoomUnavailableTimes]') AND name = 'time_slot_type')
|
||||
BEGIN
|
||||
ALTER TABLE [dbo].[SQRoomUnavailableTimes] ADD [time_slot_type] [int] NULL
|
||||
PRINT '✓ SQRoomUnavailableTimes.time_slot_type 字段添加成功'
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
PRINT '× SQRoomUnavailableTimes.time_slot_type 字段已存在'
|
||||
END
|
||||
GO
|
||||
|
||||
-- 添加 created_by 字段
|
||||
IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[dbo].[SQRoomUnavailableTimes]') AND name = 'created_by')
|
||||
BEGIN
|
||||
ALTER TABLE [dbo].[SQRoomUnavailableTimes] ADD [created_by] [int] NULL
|
||||
PRINT '✓ SQRoomUnavailableTimes.created_by 字段添加成功'
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
PRINT '× SQRoomUnavailableTimes.created_by 字段已存在'
|
||||
END
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- 4. 修改 SQReservations 表,添加新字段
|
||||
-- =============================================
|
||||
|
||||
-- 添加 time_slot_type 字段
|
||||
IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[dbo].[SQReservations]') AND name = 'time_slot_type')
|
||||
BEGIN
|
||||
ALTER TABLE [dbo].[SQReservations] ADD [time_slot_type] [int] NULL
|
||||
PRINT '✓ SQReservations.time_slot_type 字段添加成功'
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
PRINT '× SQReservations.time_slot_type 字段已存在'
|
||||
END
|
||||
GO
|
||||
|
||||
-- 添加 latest_arrival_time 字段
|
||||
IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[dbo].[SQReservations]') AND name = 'latest_arrival_time')
|
||||
BEGIN
|
||||
ALTER TABLE [dbo].[SQReservations] ADD [latest_arrival_time] [datetime] NULL
|
||||
PRINT '✓ SQReservations.latest_arrival_time 字段添加成功'
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
PRINT '× SQReservations.latest_arrival_time 字段已存在'
|
||||
END
|
||||
GO
|
||||
|
||||
-- 添加 is_solo_mode 字段
|
||||
IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[dbo].[SQReservations]') AND name = 'is_solo_mode')
|
||||
BEGIN
|
||||
ALTER TABLE [dbo].[SQReservations] ADD [is_solo_mode] [bit] NOT NULL DEFAULT 0
|
||||
PRINT '✓ SQReservations.is_solo_mode 字段添加成功'
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
PRINT '× SQReservations.is_solo_mode 字段已存在'
|
||||
END
|
||||
GO
|
||||
|
||||
-- 添加 actual_price 字段
|
||||
IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[dbo].[SQReservations]') AND name = 'actual_price')
|
||||
BEGIN
|
||||
ALTER TABLE [dbo].[SQReservations] ADD [actual_price] [decimal](10, 2) NULL
|
||||
PRINT '✓ SQReservations.actual_price 字段添加成功'
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
PRINT '× SQReservations.actual_price 字段已存在'
|
||||
END
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- 5. 数据初始化:为现有房间创建默认价格配置
|
||||
-- =============================================
|
||||
|
||||
PRINT ''
|
||||
PRINT '开始初始化房间价格数据...'
|
||||
GO
|
||||
|
||||
-- 为每个房间创建4个时段的默认价格(如果还没有的话)
|
||||
INSERT INTO [dbo].[SQRoomPricing]
|
||||
([room_id], [time_slot_type], [standard_price], [member_price], [price_desc_standard], [price_desc_member], [is_active], [created_at], [updated_at])
|
||||
SELECT
|
||||
r.id as room_id,
|
||||
slots.time_slot_type,
|
||||
r.price_per_hour * 6 as standard_price, -- 6小时时段
|
||||
r.price_per_hour * 6 * 0.8 as member_price, -- 会员价8折
|
||||
CAST(CAST(r.price_per_hour * 6 AS INT) AS NVARCHAR) + '元/时段' as price_desc_standard,
|
||||
CAST(CAST(r.price_per_hour * 6 * 0.8 AS INT) AS NVARCHAR) + '元/时段' as price_desc_member,
|
||||
1 as is_active,
|
||||
GETDATE() as created_at,
|
||||
GETDATE() as updated_at
|
||||
FROM [dbo].[SQRooms] r
|
||||
CROSS JOIN (
|
||||
SELECT 0 as time_slot_type UNION ALL -- 凌晨
|
||||
SELECT 1 UNION ALL -- 上午
|
||||
SELECT 2 UNION ALL -- 下午
|
||||
SELECT 3 -- 晚上
|
||||
) slots
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM [dbo].[SQRoomPricing] p
|
||||
WHERE p.room_id = r.id
|
||||
AND p.time_slot_type = slots.time_slot_type
|
||||
AND p.effective_date_start IS NULL
|
||||
AND p.effective_date_end IS NULL
|
||||
)
|
||||
|
||||
PRINT '✓ 房间价格数据初始化完成'
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- 6. 数据迁移:为历史预约记录填充 time_slot_type
|
||||
-- =============================================
|
||||
|
||||
PRINT ''
|
||||
PRINT '开始迁移历史预约数据...'
|
||||
GO
|
||||
|
||||
UPDATE [dbo].[SQReservations]
|
||||
SET [time_slot_type] =
|
||||
CASE
|
||||
WHEN DATEPART(HOUR, start_time) >= 0 AND DATEPART(HOUR, start_time) < 6 THEN 0 -- 凌晨
|
||||
WHEN DATEPART(HOUR, start_time) >= 6 AND DATEPART(HOUR, start_time) < 12 THEN 1 -- 上午
|
||||
WHEN DATEPART(HOUR, start_time) >= 12 AND DATEPART(HOUR, start_time) < 18 THEN 2 -- 下午
|
||||
ELSE 3 -- 晚上
|
||||
END
|
||||
WHERE [time_slot_type] IS NULL
|
||||
|
||||
PRINT '✓ 历史预约数据迁移完成'
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- 7. 更新 room_type_name 字段(如果 room_type 有值)
|
||||
-- =============================================
|
||||
|
||||
UPDATE [dbo].[SQRooms]
|
||||
SET [room_type_name] = [room_type]
|
||||
WHERE [room_type] IS NOT NULL AND [room_type_name] IS NULL
|
||||
|
||||
PRINT '✓ room_type_name 数据填充完成'
|
||||
GO
|
||||
|
||||
PRINT ''
|
||||
PRINT '========================================='
|
||||
PRINT '数据库迁移脚本执行完成!'
|
||||
PRINT '========================================='
|
||||
PRINT ''
|
||||
PRINT '说明:'
|
||||
PRINT '1. 时段类型定义:'
|
||||
PRINT ' 0 = 凌晨 (00:00-05:59)'
|
||||
PRINT ' 1 = 上午 (06:00-11:59)'
|
||||
PRINT ' 2 = 下午 (12:00-17:59)'
|
||||
PRINT ' 3 = 晚上 (18:00-23:59)'
|
||||
PRINT ''
|
||||
PRINT '2. 默认价格策略:'
|
||||
PRINT ' 标准价 = 原price_per_hour × 6'
|
||||
PRINT ' 会员价 = 标准价 × 0.8'
|
||||
PRINT ''
|
||||
PRINT '3. 请在后台管理界面调整各时段的实际价格'
|
||||
PRINT '========================================='
|
||||
GO
|
||||
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
# 麻将组局预约小程序 - 业务逻辑详解文档
|
||||
|
||||
## 目录
|
||||
|
||||
Loading…
Reference in New Issue
Block a user