lq_mall_tables.sql
12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
-- =============================================================
-- 会员商城 建表脚本(MySQL)
-- 库:lqerp_dev(或对应租户库)
-- 说明:与 NCC.Extend.Entitys 中 6 张 lq_mall_* 实体一一对应
-- 主键均为 varchar(50)(YitId 雪花号字符串);DeleteMark 为 NULL 表示未删除
-- ⚠️ 每张表建表前先 DROP TABLE IF EXISTS(存在即删除后重建),会清空原有数据,请谨慎在生产库执行
-- =============================================================
SET NAMES utf8mb4;
-- 1. 微信会员 -------------------------------------------------
DROP TABLE IF EXISTS `lq_mall_member`;
CREATE TABLE `lq_mall_member` (
`F_Id` varchar(50) NOT NULL COMMENT '主键',
`F_OpenId` varchar(100) DEFAULT NULL COMMENT '微信OpenId',
`F_UnionId` varchar(100) DEFAULT NULL COMMENT '微信UnionId',
`F_NickName` varchar(100) DEFAULT NULL COMMENT '昵称',
`F_Avatar` varchar(500) DEFAULT NULL COMMENT '头像',
`F_Phone` varchar(20) DEFAULT NULL COMMENT '手机号',
`F_Gender` int DEFAULT NULL COMMENT '性别 0未知1男2女',
`F_LinkedKhId` varchar(50) DEFAULT NULL COMMENT '关联客户档案Id',
`F_CreateTime` datetime DEFAULT NULL COMMENT '创建时间',
`F_LastLoginTime` datetime DEFAULT NULL COMMENT '最近登录时间',
`F_DeleteMark` int DEFAULT NULL COMMENT '删除标记(NULL未删除)',
PRIMARY KEY (`F_Id`),
KEY `idx_mall_member_openid` (`F_OpenId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员商城-微信会员';
-- 1.1 商品分类 ----------------------------------------------
DROP TABLE IF EXISTS `lq_mall_category`;
CREATE TABLE `lq_mall_category` (
`F_Id` varchar(50) NOT NULL COMMENT '主键',
`F_Name` varchar(100) DEFAULT NULL COMMENT '分类名称',
`F_Icon` varchar(500) DEFAULT NULL COMMENT '图标(图片地址或图标类名)',
`F_SortNo` int NOT NULL DEFAULT 0 COMMENT '排序号(倒序,越大越靠前)',
`F_Enabled` int NOT NULL DEFAULT 1 COMMENT '是否启用 0停用1启用',
`F_CreateUser` varchar(50) DEFAULT NULL COMMENT '创建人',
`F_CreateTime` datetime DEFAULT NULL COMMENT '创建时间',
`F_UpdateUser` varchar(50) DEFAULT NULL COMMENT '更新人',
`F_UpdateTime` datetime DEFAULT NULL COMMENT '更新时间',
`F_DeleteMark` int DEFAULT NULL COMMENT '删除标记(NULL未删除)',
PRIMARY KEY (`F_Id`),
KEY `idx_mall_category_enabled` (`F_Enabled`,`F_DeleteMark`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员商城-商品分类';
-- 2. 商品 -----------------------------------------------------
DROP TABLE IF EXISTS `lq_mall_product`;
CREATE TABLE `lq_mall_product` (
`F_Id` varchar(50) NOT NULL COMMENT '主键',
`F_ProductName` varchar(200) DEFAULT NULL COMMENT '商品名称',
`F_CoverImg` varchar(500) DEFAULT NULL COMMENT '封面图',
`F_Images` text DEFAULT NULL COMMENT '轮播图JSON数组',
`F_CategoryId` varchar(50) DEFAULT NULL COMMENT '分类Id(关联lq_mall_category)',
`F_CategoryName` varchar(100) DEFAULT NULL COMMENT '分类名称(冗余)',
`F_Description` text DEFAULT NULL COMMENT '简介',
`F_Price` decimal(18,2) NOT NULL DEFAULT 0 COMMENT '现价',
`F_OriginalPrice` decimal(18,2) DEFAULT NULL COMMENT '原价',
`F_Stock` int NOT NULL DEFAULT 0 COMMENT '库存',
`F_Sales` int NOT NULL DEFAULT 0 COMMENT '销量',
`F_OnShelf` int NOT NULL DEFAULT 1 COMMENT '上下架 0下架1上架',
`F_SortNo` int NOT NULL DEFAULT 0 COMMENT '排序号',
`F_Detail` longtext DEFAULT NULL COMMENT '图文详情',
`F_CreateUser` varchar(50) DEFAULT NULL COMMENT '创建人',
`F_CreateTime` datetime DEFAULT NULL COMMENT '创建时间',
`F_UpdateUser` varchar(50) DEFAULT NULL COMMENT '更新人',
`F_UpdateTime` datetime DEFAULT NULL COMMENT '更新时间',
`F_DeleteMark` int DEFAULT NULL COMMENT '删除标记(NULL未删除)',
PRIMARY KEY (`F_Id`),
KEY `idx_mall_product_shelf` (`F_OnShelf`,`F_DeleteMark`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员商城-商品';
-- 3. 商品规格 SKU --------------------------------------------
DROP TABLE IF EXISTS `lq_mall_sku`;
CREATE TABLE `lq_mall_sku` (
`F_Id` varchar(50) NOT NULL COMMENT '主键',
`F_ProductId` varchar(50) DEFAULT NULL COMMENT '商品Id',
`F_SkuName` varchar(200) DEFAULT NULL COMMENT '规格名称',
`F_Price` decimal(18,2) NOT NULL DEFAULT 0 COMMENT '现价',
`F_OriginalPrice` decimal(18,2) DEFAULT NULL COMMENT '原价',
`F_Stock` int NOT NULL DEFAULT 0 COMMENT '库存',
`F_Sales` int NOT NULL DEFAULT 0 COMMENT '销量',
`F_SkuImg` varchar(500) DEFAULT NULL COMMENT '规格图片',
`F_OnShelf` int NOT NULL DEFAULT 1 COMMENT '上下架 0下架1上架',
`F_SortNo` int NOT NULL DEFAULT 0 COMMENT '排序号',
`F_DeleteMark` int DEFAULT NULL COMMENT '删除标记(NULL未删除)',
PRIMARY KEY (`F_Id`),
KEY `idx_mall_sku_product` (`F_ProductId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员商城-商品规格';
-- 4. 订单 -----------------------------------------------------
DROP TABLE IF EXISTS `lq_mall_order`;
CREATE TABLE `lq_mall_order` (
`F_Id` varchar(50) NOT NULL COMMENT '主键',
`F_OrderNo` varchar(50) DEFAULT NULL COMMENT '订单号',
`F_MemberId` varchar(50) DEFAULT NULL COMMENT '会员Id',
`F_MemberName` varchar(100) DEFAULT NULL COMMENT '会员昵称',
`F_MemberPhone` varchar(20) DEFAULT NULL COMMENT '会员手机号',
`F_StoreId` varchar(50) DEFAULT NULL COMMENT '自提门店Id',
`F_StoreName` varchar(200) DEFAULT NULL COMMENT '自提门店名称',
`F_TotalAmount` decimal(18,2) NOT NULL DEFAULT 0 COMMENT '商品原总额',
`F_PayAmount` decimal(18,2) NOT NULL DEFAULT 0 COMMENT '实付金额',
`F_PayType` int NOT NULL DEFAULT 1 COMMENT '支付方式 1微信99其他',
`F_PayStatus` int NOT NULL DEFAULT 0 COMMENT '支付状态 0未支付1已支付2已退款',
`F_OrderStatus` int NOT NULL DEFAULT 1 COMMENT '订单状态 1待付款2待自提3已完成4已取消',
`F_PickupCode` varchar(20) DEFAULT NULL COMMENT '取件核销码',
`F_PickupTime` datetime DEFAULT NULL COMMENT '自提核销时间',
`F_VerifyUser` varchar(50) DEFAULT NULL COMMENT '核销操作人Id',
`F_VerifyUserName` varchar(100) DEFAULT NULL COMMENT '核销操作人姓名',
`F_VerifyStoreId` varchar(50) DEFAULT NULL COMMENT '核销门店Id',
`F_Remark` varchar(500) DEFAULT NULL COMMENT '备注',
`F_WxPrepayId` varchar(100) DEFAULT NULL COMMENT '微信预支付会话标识',
`F_WxTransactionId` varchar(100) DEFAULT NULL COMMENT '微信支付交易单号',
`F_PayTime` datetime DEFAULT NULL COMMENT '支付时间',
`F_CancelReason` varchar(500) DEFAULT NULL COMMENT '取消原因',
`F_CreateTime` datetime DEFAULT NULL COMMENT '创建时间',
`F_UpdateTime` datetime DEFAULT NULL COMMENT '更新时间',
`F_DeleteMark` int DEFAULT NULL COMMENT '删除标记(NULL未删除)',
PRIMARY KEY (`F_Id`),
UNIQUE KEY `uk_mall_order_no` (`F_OrderNo`),
KEY `idx_mall_order_member` (`F_MemberId`),
KEY `idx_mall_order_store` (`F_StoreId`),
KEY `idx_mall_order_pickup` (`F_PickupCode`),
KEY `idx_mall_order_status` (`F_OrderStatus`,`F_PayStatus`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员商城-订单';
-- 5. 订单明细 -------------------------------------------------
DROP TABLE IF EXISTS `lq_mall_order_item`;
CREATE TABLE `lq_mall_order_item` (
`F_Id` varchar(50) NOT NULL COMMENT '主键',
`F_OrderId` varchar(50) DEFAULT NULL COMMENT '订单Id',
`F_OrderNo` varchar(50) DEFAULT NULL COMMENT '订单号',
`F_ProductId` varchar(50) DEFAULT NULL COMMENT '商品Id',
`F_ProductName` varchar(200) DEFAULT NULL COMMENT '商品名称',
`F_SkuId` varchar(50) DEFAULT NULL COMMENT '规格Id',
`F_SkuName` varchar(200) DEFAULT NULL COMMENT '规格名称',
`F_ProductImg` varchar(500) DEFAULT NULL COMMENT '商品图片',
`F_Price` decimal(18,2) NOT NULL DEFAULT 0 COMMENT '单价',
`F_Quantity` int NOT NULL DEFAULT 0 COMMENT '数量',
`F_Amount` decimal(18,2) NOT NULL DEFAULT 0 COMMENT '小计金额',
PRIMARY KEY (`F_Id`),
KEY `idx_mall_order_item_order` (`F_OrderId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员商城-订单明细';
-- 6. 收货/联系地址 -------------------------------------------
DROP TABLE IF EXISTS `lq_mall_address`;
CREATE TABLE `lq_mall_address` (
`F_Id` varchar(50) NOT NULL COMMENT '主键',
`F_MemberId` varchar(50) DEFAULT NULL COMMENT '会员Id',
`F_ReceiverName` varchar(100) DEFAULT NULL COMMENT '收货人姓名',
`F_ReceiverPhone` varchar(20) DEFAULT NULL COMMENT '收货人电话',
`F_Province` varchar(50) DEFAULT NULL COMMENT '省',
`F_City` varchar(50) DEFAULT NULL COMMENT '市',
`F_District` varchar(50) DEFAULT NULL COMMENT '区/县',
`F_DetailAddress` varchar(300) DEFAULT NULL COMMENT '详细地址',
`F_IsDefault` int NOT NULL DEFAULT 0 COMMENT '是否默认 0否1是',
`F_CreateTime` datetime DEFAULT NULL COMMENT '创建时间',
`F_UpdateTime` datetime DEFAULT NULL COMMENT '更新时间',
`F_DeleteMark` int DEFAULT NULL COMMENT '删除标记(NULL未删除)',
PRIMARY KEY (`F_Id`),
KEY `idx_mall_address_member` (`F_MemberId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员商城-收货/联系地址';
-- 8. 预约意向(会员商城端提交,不关联现有业务)--------------
DROP TABLE IF EXISTS `lq_mall_appointment`;
CREATE TABLE `lq_mall_appointment` (
`F_Id` varchar(50) NOT NULL COMMENT '主键',
`F_AppointmentNo` varchar(50) DEFAULT NULL COMMENT '预约单号',
`F_MemberId` varchar(50) DEFAULT NULL COMMENT '会员Id',
`F_MemberName` varchar(100) DEFAULT NULL COMMENT '会员昵称',
`F_MemberPhone` varchar(20) DEFAULT NULL COMMENT '联系手机号',
`F_StoreId` varchar(50) DEFAULT NULL COMMENT '预约门店Id',
`F_StoreName` varchar(200) DEFAULT NULL COMMENT '预约门店名称',
`F_AppointDate` datetime DEFAULT NULL COMMENT '期望到店日期',
`F_TimeSlot` varchar(20) DEFAULT NULL COMMENT '期望到店时段(如14:00)',
`F_ProjectDesc` varchar(500) DEFAULT NULL COMMENT '需求/项目描述',
`F_Remark` varchar(500) DEFAULT NULL COMMENT '会员备注',
`F_Status` int NOT NULL DEFAULT 1 COMMENT '状态 1待确认2已确认3已取消',
`F_ConfirmUser` varchar(50) DEFAULT NULL COMMENT '确认人Id',
`F_ConfirmUserName` varchar(100) DEFAULT NULL COMMENT '确认人姓名',
`F_ConfirmTime` datetime DEFAULT NULL COMMENT '确认时间',
`F_ConfirmRemark` varchar(500) DEFAULT NULL COMMENT '确认备注(电话沟通结果)',
`F_CancelReason` varchar(500) DEFAULT NULL COMMENT '取消原因',
`F_CreateTime` datetime DEFAULT NULL COMMENT '创建时间',
`F_UpdateTime` datetime DEFAULT NULL COMMENT '更新时间',
`F_DeleteMark` int DEFAULT NULL COMMENT '删除标记(NULL未删除)',
PRIMARY KEY (`F_Id`),
KEY `idx_mall_appt_member` (`F_MemberId`),
KEY `idx_mall_appt_store` (`F_StoreId`,`F_Status`),
KEY `idx_mall_appt_status` (`F_Status`,`F_DeleteMark`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员商城-预约意向';
-- 7. 支付配置(沿用 BASE_SYSCONFIG,Category=MallPayment)------
-- 可选:预置空配置项,管理后台「支付配置」页保存后自动 upsert
-- INSERT INTO base_sysconfig (F_Id, F_Category, F_Key, F_Value) VALUES
-- (..., 'MallPayment', 'payEnabled', '0');