1080 lines
34 KiB
Markdown
1080 lines
34 KiB
Markdown
# 相宜相亲 - 数据库设计
|
||
|
||
> 版本:1.0
|
||
> 更新日期:2025-12-28
|
||
|
||
---
|
||
|
||
## 一、数据库架构
|
||
|
||
采用**物理分离**方案,分为两个独立数据库:
|
||
|
||
| 数据库 | 名称 | 说明 |
|
||
|-------|------|------|
|
||
| 管理库 | XiangYi_Admin | 后台管理相关(管理员、角色、权限、菜单、操作日志) |
|
||
| 业务库 | XiangYi_Biz | 业务数据(用户、资料、会员、订单、聊天、配置等) |
|
||
|
||
```
|
||
┌─────────────────────────┐ ┌─────────────────────────┐
|
||
│ XiangYi_Admin │ │ XiangYi_Biz │
|
||
│ (后台管理库) │ │ (业务库) │
|
||
├─────────────────────────┤ ├─────────────────────────┤
|
||
│ Admin_User │ │ User │
|
||
│ Admin_Role │ │ User_Profile │
|
||
│ Admin_Permission │ │ User_Photo │
|
||
│ Admin_Role_Permission │ │ User_Requirement │
|
||
│ Admin_User_Role │ │ Member │
|
||
│ Admin_Menu │ │ Order │
|
||
│ Admin_Role_Menu │ │ Chat_Session │
|
||
│ Admin_Operation_Log │ │ Chat_Message │
|
||
│ │ │ User_View │
|
||
│ │ │ User_Favorite │
|
||
│ │ │ User_Unlock │
|
||
│ │ │ Real_Name_Auth │
|
||
│ │ │ Banner │
|
||
│ │ │ System_Config │
|
||
│ │ │ System_Notification │
|
||
│ │ │ Daily_Recommend │
|
||
└─────────────────────────┘ └─────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 二、管理库表设计 (XiangYi_Admin)
|
||
|
||
### 2.1 Admin_User (管理员用户表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| Username | nvarchar(50) | Y | 用户名,唯一 |
|
||
| Password | nvarchar(128) | Y | 密码(加密存储) |
|
||
| Salt | nvarchar(32) | Y | 密码盐 |
|
||
| RealName | nvarchar(50) | N | 真实姓名 |
|
||
| Phone | nvarchar(20) | N | 手机号 |
|
||
| Email | nvarchar(100) | N | 邮箱 |
|
||
| Avatar | nvarchar(500) | N | 头像URL |
|
||
| Status | int | Y | 状态:1正常 2禁用 |
|
||
| LastLoginTime | datetime2 | N | 最后登录时间 |
|
||
| LastLoginIp | nvarchar(50) | N | 最后登录IP |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
| UpdateTime | datetime2 | N | 更新时间 |
|
||
| IsDeleted | bit | Y | 是否删除,默认0 |
|
||
|
||
```sql
|
||
CREATE TABLE Admin_User (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
Username NVARCHAR(50) NOT NULL,
|
||
Password NVARCHAR(128) NOT NULL,
|
||
Salt NVARCHAR(32) NOT NULL,
|
||
RealName NVARCHAR(50),
|
||
Phone NVARCHAR(20),
|
||
Email NVARCHAR(100),
|
||
Avatar NVARCHAR(500),
|
||
Status INT NOT NULL DEFAULT 1,
|
||
LastLoginTime DATETIME2,
|
||
LastLoginIp NVARCHAR(50),
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
UpdateTime DATETIME2,
|
||
IsDeleted BIT NOT NULL DEFAULT 0,
|
||
CONSTRAINT UQ_Admin_User_Username UNIQUE (Username)
|
||
);
|
||
```
|
||
|
||
### 2.2 Admin_Role (角色表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| RoleName | nvarchar(50) | Y | 角色名称 |
|
||
| RoleCode | nvarchar(50) | Y | 角色编码,唯一 |
|
||
| Description | nvarchar(200) | N | 角色描述 |
|
||
| Sort | int | Y | 排序,默认0 |
|
||
| Status | int | Y | 状态:1正常 2禁用 |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
| UpdateTime | datetime2 | N | 更新时间 |
|
||
| IsDeleted | bit | Y | 是否删除,默认0 |
|
||
|
||
```sql
|
||
CREATE TABLE Admin_Role (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
RoleName NVARCHAR(50) NOT NULL,
|
||
RoleCode NVARCHAR(50) NOT NULL,
|
||
Description NVARCHAR(200),
|
||
Sort INT NOT NULL DEFAULT 0,
|
||
Status INT NOT NULL DEFAULT 1,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
UpdateTime DATETIME2,
|
||
IsDeleted BIT NOT NULL DEFAULT 0,
|
||
CONSTRAINT UQ_Admin_Role_RoleCode UNIQUE (RoleCode)
|
||
);
|
||
```
|
||
|
||
### 2.3 Admin_Permission (权限表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| PermissionName | nvarchar(50) | Y | 权限名称 |
|
||
| PermissionCode | nvarchar(100) | Y | 权限编码,唯一,如:user:view |
|
||
| Description | nvarchar(200) | N | 权限描述 |
|
||
| Module | nvarchar(50) | Y | 所属模块 |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
|
||
```sql
|
||
CREATE TABLE Admin_Permission (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
PermissionName NVARCHAR(50) NOT NULL,
|
||
PermissionCode NVARCHAR(100) NOT NULL,
|
||
Description NVARCHAR(200),
|
||
Module NVARCHAR(50) NOT NULL,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
CONSTRAINT UQ_Admin_Permission_Code UNIQUE (PermissionCode)
|
||
);
|
||
```
|
||
|
||
### 2.4 Admin_Role_Permission (角色权限关联表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| RoleId | bigint | Y | 角色ID |
|
||
| PermissionId | bigint | Y | 权限ID |
|
||
|
||
```sql
|
||
CREATE TABLE Admin_Role_Permission (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
RoleId BIGINT NOT NULL,
|
||
PermissionId BIGINT NOT NULL,
|
||
CONSTRAINT UQ_Role_Permission UNIQUE (RoleId, PermissionId)
|
||
);
|
||
```
|
||
|
||
### 2.5 Admin_User_Role (用户角色关联表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| UserId | bigint | Y | 用户ID |
|
||
| RoleId | bigint | Y | 角色ID |
|
||
|
||
```sql
|
||
CREATE TABLE Admin_User_Role (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
UserId BIGINT NOT NULL,
|
||
RoleId BIGINT NOT NULL,
|
||
CONSTRAINT UQ_User_Role UNIQUE (UserId, RoleId)
|
||
);
|
||
```
|
||
|
||
### 2.6 Admin_Menu (菜单表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| ParentId | bigint | Y | 父级ID,0为顶级 |
|
||
| MenuName | nvarchar(50) | Y | 菜单名称 |
|
||
| MenuType | int | Y | 类型:1目录 2菜单 3按钮 |
|
||
| Path | nvarchar(200) | N | 路由路径 |
|
||
| Component | nvarchar(200) | N | 组件路径 |
|
||
| Icon | nvarchar(50) | N | 图标 |
|
||
| PermissionCode | nvarchar(100) | N | 关联权限编码 |
|
||
| Sort | int | Y | 排序 |
|
||
| IsVisible | bit | Y | 是否可见 |
|
||
| IsCache | bit | Y | 是否缓存 |
|
||
| Status | int | Y | 状态:1正常 2禁用 |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
| UpdateTime | datetime2 | N | 更新时间 |
|
||
|
||
```sql
|
||
CREATE TABLE Admin_Menu (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
ParentId BIGINT NOT NULL DEFAULT 0,
|
||
MenuName NVARCHAR(50) NOT NULL,
|
||
MenuType INT NOT NULL,
|
||
Path NVARCHAR(200),
|
||
Component NVARCHAR(200),
|
||
Icon NVARCHAR(50),
|
||
PermissionCode NVARCHAR(100),
|
||
Sort INT NOT NULL DEFAULT 0,
|
||
IsVisible BIT NOT NULL DEFAULT 1,
|
||
IsCache BIT NOT NULL DEFAULT 0,
|
||
Status INT NOT NULL DEFAULT 1,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
UpdateTime DATETIME2
|
||
);
|
||
```
|
||
|
||
### 2.7 Admin_Role_Menu (角色菜单关联表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| RoleId | bigint | Y | 角色ID |
|
||
| MenuId | bigint | Y | 菜单ID |
|
||
|
||
```sql
|
||
CREATE TABLE Admin_Role_Menu (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
RoleId BIGINT NOT NULL,
|
||
MenuId BIGINT NOT NULL,
|
||
CONSTRAINT UQ_Role_Menu UNIQUE (RoleId, MenuId)
|
||
);
|
||
```
|
||
|
||
### 2.8 Admin_Operation_Log (操作日志表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| AdminUserId | bigint | Y | 管理员ID |
|
||
| AdminUsername | nvarchar(50) | Y | 管理员用户名(冗余) |
|
||
| Module | nvarchar(50) | Y | 操作模块 |
|
||
| Action | nvarchar(50) | Y | 操作类型 |
|
||
| Description | nvarchar(500) | N | 操作描述 |
|
||
| RequestUrl | nvarchar(500) | N | 请求URL |
|
||
| RequestMethod | nvarchar(10) | N | 请求方法 |
|
||
| RequestParams | nvarchar(max) | N | 请求参数(JSON) |
|
||
| ResponseResult | nvarchar(max) | N | 响应结果(JSON) |
|
||
| TargetId | nvarchar(50) | N | 操作目标ID |
|
||
| Ip | nvarchar(50) | N | IP地址 |
|
||
| UserAgent | nvarchar(500) | N | 用户代理 |
|
||
| ExecuteTime | int | N | 执行时长(ms) |
|
||
| Status | int | Y | 状态:1成功 2失败 |
|
||
| ErrorMsg | nvarchar(max) | N | 错误信息 |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
|
||
```sql
|
||
CREATE TABLE Admin_Operation_Log (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
AdminUserId BIGINT NOT NULL,
|
||
AdminUsername NVARCHAR(50) NOT NULL,
|
||
Module NVARCHAR(50) NOT NULL,
|
||
Action NVARCHAR(50) NOT NULL,
|
||
Description NVARCHAR(500),
|
||
RequestUrl NVARCHAR(500),
|
||
RequestMethod NVARCHAR(10),
|
||
RequestParams NVARCHAR(MAX),
|
||
ResponseResult NVARCHAR(MAX),
|
||
TargetId NVARCHAR(50),
|
||
Ip NVARCHAR(50),
|
||
UserAgent NVARCHAR(500),
|
||
ExecuteTime INT,
|
||
Status INT NOT NULL DEFAULT 1,
|
||
ErrorMsg NVARCHAR(MAX),
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE()
|
||
);
|
||
|
||
-- 索引
|
||
CREATE INDEX IX_Admin_Operation_Log_CreateTime ON Admin_Operation_Log(CreateTime DESC);
|
||
CREATE INDEX IX_Admin_Operation_Log_AdminUserId ON Admin_Operation_Log(AdminUserId);
|
||
CREATE INDEX IX_Admin_Operation_Log_Module ON Admin_Operation_Log(Module);
|
||
```
|
||
|
||
---
|
||
|
||
## 三、业务库表设计 (XiangYi_Biz)
|
||
|
||
### 3.1 User (用户表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| OpenId | nvarchar(64) | Y | 微信OpenId |
|
||
| UnionId | nvarchar(64) | N | 微信UnionId |
|
||
| Phone | nvarchar(20) | N | 手机号 |
|
||
| Nickname | nvarchar(50) | N | 昵称(如:李家长(父亲)) |
|
||
| Avatar | nvarchar(500) | N | 头像URL |
|
||
| XiangQinNo | nvarchar(10) | N | 相亲编号(6位数字) |
|
||
| Gender | int | N | 用户性别:1男 2女 |
|
||
| City | nvarchar(50) | N | 定位城市 |
|
||
| Status | int | Y | 状态:1正常 2禁用 |
|
||
| IsProfileCompleted | bit | Y | 是否完成资料填写 |
|
||
| IsRealName | bit | Y | 是否实名认证 |
|
||
| IsMember | bit | Y | 是否会员 |
|
||
| MemberLevel | int | Y | 会员等级:0非会员 1不限时 2诚意 3家庭版 |
|
||
| MemberExpireTime | datetime2 | N | 会员到期时间(不限时会员为null) |
|
||
| ContactCount | int | Y | 剩余联系次数,默认2 |
|
||
| LastLoginTime | datetime2 | N | 最后登录时间 |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
| UpdateTime | datetime2 | N | 更新时间 |
|
||
| IsDeleted | bit | Y | 是否删除 |
|
||
|
||
```sql
|
||
CREATE TABLE [User] (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
OpenId NVARCHAR(64) NOT NULL,
|
||
UnionId NVARCHAR(64),
|
||
Phone NVARCHAR(20),
|
||
Nickname NVARCHAR(50),
|
||
Avatar NVARCHAR(500),
|
||
XiangQinNo NVARCHAR(10),
|
||
Gender INT,
|
||
City NVARCHAR(50),
|
||
Status INT NOT NULL DEFAULT 1,
|
||
IsProfileCompleted BIT NOT NULL DEFAULT 0,
|
||
IsRealName BIT NOT NULL DEFAULT 0,
|
||
IsMember BIT NOT NULL DEFAULT 0,
|
||
MemberLevel INT NOT NULL DEFAULT 0,
|
||
MemberExpireTime DATETIME2,
|
||
ContactCount INT NOT NULL DEFAULT 2,
|
||
LastLoginTime DATETIME2,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
UpdateTime DATETIME2,
|
||
IsDeleted BIT NOT NULL DEFAULT 0,
|
||
CONSTRAINT UQ_User_OpenId UNIQUE (OpenId),
|
||
CONSTRAINT UQ_User_XiangQinNo UNIQUE (XiangQinNo)
|
||
);
|
||
|
||
CREATE INDEX IX_User_Phone ON [User](Phone);
|
||
CREATE INDEX IX_User_City ON [User](City);
|
||
```
|
||
|
||
### 3.2 User_Profile (用户相亲资料表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| UserId | bigint | Y | 用户ID |
|
||
| Relationship | int | Y | 与孩子关系:1父亲 2母亲 3本人 |
|
||
| Surname | nvarchar(50) | Y | 姓氏 |
|
||
| ChildGender | int | Y | 孩子性别:1男 2女 |
|
||
| BirthYear | int | Y | 出生年份 |
|
||
| Education | int | Y | 学历 |
|
||
| WorkProvince | nvarchar(50) | Y | 工作省份 |
|
||
| WorkCity | nvarchar(50) | Y | 工作城市 |
|
||
| WorkDistrict | nvarchar(50) | N | 工作区县 |
|
||
| Occupation | nvarchar(50) | Y | 职业 |
|
||
| MonthlyIncome | int | Y | 月收入档位 |
|
||
| Height | int | Y | 身高(cm) |
|
||
| Weight | int | Y | 体重(kg) |
|
||
| HouseStatus | int | Y | 房产情况 |
|
||
| CarStatus | int | Y | 车辆情况 |
|
||
| MarriageStatus | int | Y | 婚姻状态 |
|
||
| ExpectMarryTime | int | Y | 期望结婚时间 |
|
||
| Introduction | nvarchar(500) | Y | 相亲介绍 |
|
||
| IsPhotoPublic | bit | Y | 是否公开照片 |
|
||
| HomeProvince | nvarchar(50) | N | 家乡省份 |
|
||
| HomeCity | nvarchar(50) | N | 家乡城市 |
|
||
| WeChatNo | nvarchar(128) | Y | 微信号 |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
| UpdateTime | datetime2 | N | 更新时间 |
|
||
|
||
```sql
|
||
CREATE TABLE User_Profile (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
UserId BIGINT NOT NULL,
|
||
Relationship INT NOT NULL,
|
||
Surname NVARCHAR(10) NOT NULL,
|
||
ChildGender INT NOT NULL,
|
||
BirthYear INT NOT NULL,
|
||
Education INT NOT NULL,
|
||
WorkProvince NVARCHAR(20) NOT NULL,
|
||
WorkCity NVARCHAR(20) NOT NULL,
|
||
WorkDistrict NVARCHAR(20),
|
||
Occupation NVARCHAR(50) NOT NULL,
|
||
MonthlyIncome INT NOT NULL,
|
||
Height INT NOT NULL,
|
||
Weight INT NOT NULL,
|
||
HouseStatus INT NOT NULL,
|
||
CarStatus INT NOT NULL,
|
||
MarriageStatus INT NOT NULL,
|
||
ExpectMarryTime INT NOT NULL,
|
||
Introduction NVARCHAR(500) NOT NULL,
|
||
IsPhotoPublic BIT NOT NULL DEFAULT 1,
|
||
HomeProvince NVARCHAR(20),
|
||
HomeCity NVARCHAR(20),
|
||
WeChatNo NVARCHAR(50) NOT NULL,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
UpdateTime DATETIME2,
|
||
CONSTRAINT UQ_User_Profile_UserId UNIQUE (UserId)
|
||
);
|
||
|
||
CREATE INDEX IX_User_Profile_ChildGender ON User_Profile(ChildGender);
|
||
CREATE INDEX IX_User_Profile_WorkCity ON User_Profile(WorkCity);
|
||
CREATE INDEX IX_User_Profile_BirthYear ON User_Profile(BirthYear);
|
||
```
|
||
|
||
### 3.3 User_Photo (用户照片表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| UserId | bigint | Y | 用户ID |
|
||
| PhotoUrl | nvarchar(500) | Y | 照片URL |
|
||
| Sort | int | Y | 排序 |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
|
||
```sql
|
||
CREATE TABLE User_Photo (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
UserId BIGINT NOT NULL,
|
||
PhotoUrl NVARCHAR(500) NOT NULL,
|
||
Sort INT NOT NULL DEFAULT 0,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE()
|
||
);
|
||
|
||
CREATE INDEX IX_User_Photo_UserId ON User_Photo(UserId);
|
||
```
|
||
|
||
### 3.4 User_Requirement (择偶要求表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| UserId | bigint | Y | 用户ID |
|
||
| AgeMin | int | Y | 年龄最小值 |
|
||
| AgeMax | int | Y | 年龄最大值 |
|
||
| HeightMin | int | N | 身高最小值,null表示不限 |
|
||
| HeightMax | int | N | 身高最大值 |
|
||
| Education | nvarchar(50) | Y | 学历要求(JSON数组) |
|
||
| City1Province | nvarchar(20) | Y | 地区1-省 |
|
||
| City1City | nvarchar(20) | Y | 地区1-市 |
|
||
| City2Province | nvarchar(20) | N | 地区2-省 |
|
||
| City2City | nvarchar(20) | N | 地区2-市 |
|
||
| MonthlyIncomeMin | int | N | 月收入最小值,null表示不限 |
|
||
| MonthlyIncomeMax | int | N | 月收入最大值 |
|
||
| HouseStatus | nvarchar(50) | N | 房产要求(JSON数组) |
|
||
| CarStatus | nvarchar(50) | N | 车产要求(JSON数组) |
|
||
| MarriageStatus | nvarchar(50) | N | 婚姻要求(JSON数组) |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
| UpdateTime | datetime2 | N | 更新时间 |
|
||
|
||
```sql
|
||
CREATE TABLE User_Requirement (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
UserId BIGINT NOT NULL,
|
||
AgeMin INT NOT NULL,
|
||
AgeMax INT NOT NULL,
|
||
HeightMin INT,
|
||
HeightMax INT,
|
||
Education NVARCHAR(50) NOT NULL,
|
||
City1Province NVARCHAR(20) NOT NULL,
|
||
City1City NVARCHAR(20) NOT NULL,
|
||
City2Province NVARCHAR(20),
|
||
City2City NVARCHAR(20),
|
||
MonthlyIncomeMin INT,
|
||
MonthlyIncomeMax INT,
|
||
HouseStatus NVARCHAR(50),
|
||
CarStatus NVARCHAR(50),
|
||
MarriageStatus NVARCHAR(50),
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
UpdateTime DATETIME2,
|
||
CONSTRAINT UQ_User_Requirement_UserId UNIQUE (UserId)
|
||
);
|
||
```
|
||
|
||
### 3.5 Member (会员表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| UserId | bigint | Y | 用户ID |
|
||
| MemberLevel | int | Y | 会员等级:1不限时 2诚意 3家庭版 |
|
||
| OrderId | bigint | Y | 关联订单ID |
|
||
| StartTime | datetime2 | Y | 开始时间 |
|
||
| ExpireTime | datetime2 | N | 到期时间(不限时为null) |
|
||
| Status | int | Y | 状态:1生效中 2已过期 |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
|
||
```sql
|
||
CREATE TABLE Member (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
UserId BIGINT NOT NULL,
|
||
MemberLevel INT NOT NULL,
|
||
OrderId BIGINT NOT NULL,
|
||
StartTime DATETIME2 NOT NULL,
|
||
ExpireTime DATETIME2,
|
||
Status INT NOT NULL DEFAULT 1,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE()
|
||
);
|
||
|
||
CREATE INDEX IX_Member_UserId ON Member(UserId);
|
||
```
|
||
|
||
### 3.6 Member_Family (家庭版会员绑定表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| MemberId | bigint | Y | 会员记录ID |
|
||
| MasterUserId | bigint | Y | 主账号用户ID |
|
||
| BindUserId | bigint | Y | 绑定用户ID |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
|
||
```sql
|
||
CREATE TABLE Member_Family (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
MemberId BIGINT NOT NULL,
|
||
MasterUserId BIGINT NOT NULL,
|
||
BindUserId BIGINT NOT NULL,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
CONSTRAINT UQ_Member_Family UNIQUE (MemberId, BindUserId)
|
||
);
|
||
```
|
||
|
||
### 3.7 Order (订单表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| OrderNo | nvarchar(32) | Y | 订单号 |
|
||
| UserId | bigint | Y | 用户ID |
|
||
| OrderType | int | Y | 订单类型:1会员 2实名认证 |
|
||
| ProductName | nvarchar(100) | Y | 商品名称 |
|
||
| Amount | decimal(10,2) | Y | 订单金额 |
|
||
| PayAmount | decimal(10,2) | Y | 实付金额 |
|
||
| PayType | int | N | 支付方式:1微信支付 |
|
||
| PayTime | datetime2 | N | 支付时间 |
|
||
| TransactionId | nvarchar(64) | N | 微信支付交易号 |
|
||
| Status | int | Y | 状态:1待支付 2已支付 3已取消 4已退款 |
|
||
| Remark | nvarchar(200) | N | 备注 |
|
||
| ExpireTime | datetime2 | Y | 订单过期时间 |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
| UpdateTime | datetime2 | N | 更新时间 |
|
||
|
||
```sql
|
||
CREATE TABLE [Order] (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
OrderNo NVARCHAR(32) NOT NULL,
|
||
UserId BIGINT NOT NULL,
|
||
OrderType INT NOT NULL,
|
||
ProductName NVARCHAR(100) NOT NULL,
|
||
Amount DECIMAL(10,2) NOT NULL,
|
||
PayAmount DECIMAL(10,2) NOT NULL,
|
||
PayType INT,
|
||
PayTime DATETIME2,
|
||
TransactionId NVARCHAR(64),
|
||
Status INT NOT NULL DEFAULT 1,
|
||
Remark NVARCHAR(200),
|
||
ExpireTime DATETIME2 NOT NULL,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
UpdateTime DATETIME2,
|
||
CONSTRAINT UQ_Order_OrderNo UNIQUE (OrderNo)
|
||
);
|
||
|
||
CREATE INDEX IX_Order_UserId ON [Order](UserId);
|
||
CREATE INDEX IX_Order_Status ON [Order](Status);
|
||
CREATE INDEX IX_Order_CreateTime ON [Order](CreateTime DESC);
|
||
```
|
||
|
||
### 3.8 Real_Name_Auth (实名认证表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| UserId | bigint | Y | 用户ID |
|
||
| OrderId | bigint | Y | 关联订单ID |
|
||
| RealName | nvarchar(50) | Y | 真实姓名(加密存储) |
|
||
| IdCard | nvarchar(128) | Y | 身份证号(加密存储) |
|
||
| IdCardFrontUrl | nvarchar(500) | Y | 身份证正面照URL |
|
||
| IdCardBackUrl | nvarchar(500) | Y | 身份证反面照URL |
|
||
| Status | int | Y | 状态:1待审核 2已通过 3已拒绝 |
|
||
| RejectReason | nvarchar(200) | N | 拒绝原因 |
|
||
| VerifyTime | datetime2 | N | 审核时间 |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
|
||
```sql
|
||
CREATE TABLE Real_Name_Auth (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
UserId BIGINT NOT NULL,
|
||
OrderId BIGINT NOT NULL,
|
||
RealName NVARCHAR(50) NOT NULL,
|
||
IdCard NVARCHAR(128) NOT NULL,
|
||
IdCardFrontUrl NVARCHAR(500) NOT NULL,
|
||
IdCardBackUrl NVARCHAR(500) NOT NULL,
|
||
Status INT NOT NULL DEFAULT 1,
|
||
RejectReason NVARCHAR(200),
|
||
VerifyTime DATETIME2,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE()
|
||
);
|
||
|
||
CREATE INDEX IX_Real_Name_Auth_UserId ON Real_Name_Auth(UserId);
|
||
```
|
||
|
||
### 3.9 Chat_Session (聊天会话表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| User1Id | bigint | Y | 用户1 ID(较小的ID) |
|
||
| User2Id | bigint | Y | 用户2 ID(较大的ID) |
|
||
| LastMessageId | bigint | N | 最后一条消息ID |
|
||
| LastMessageTime | datetime2 | N | 最后消息时间 |
|
||
| User1UnreadCount | int | Y | 用户1未读数 |
|
||
| User2UnreadCount | int | Y | 用户2未读数 |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
| UpdateTime | datetime2 | N | 更新时间 |
|
||
|
||
```sql
|
||
CREATE TABLE Chat_Session (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
User1Id BIGINT NOT NULL,
|
||
User2Id BIGINT NOT NULL,
|
||
LastMessageId BIGINT,
|
||
LastMessageTime DATETIME2,
|
||
User1UnreadCount INT NOT NULL DEFAULT 0,
|
||
User2UnreadCount INT NOT NULL DEFAULT 0,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
UpdateTime DATETIME2,
|
||
CONSTRAINT UQ_Chat_Session UNIQUE (User1Id, User2Id)
|
||
);
|
||
|
||
CREATE INDEX IX_Chat_Session_User1Id ON Chat_Session(User1Id);
|
||
CREATE INDEX IX_Chat_Session_User2Id ON Chat_Session(User2Id);
|
||
```
|
||
|
||
### 3.10 Chat_Message (聊天消息表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| SessionId | bigint | Y | 会话ID |
|
||
| SenderId | bigint | Y | 发送者ID |
|
||
| ReceiverId | bigint | Y | 接收者ID |
|
||
| MessageType | int | Y | 消息类型:1文本 2语音 3图片 4交换微信请求 5交换微信结果 6交换照片请求 7交换照片结果 |
|
||
| Content | nvarchar(max) | N | 消息内容 |
|
||
| VoiceUrl | nvarchar(500) | N | 语音URL |
|
||
| VoiceDuration | int | N | 语音时长(秒) |
|
||
| ExtraData | nvarchar(max) | N | 扩展数据(JSON) |
|
||
| Status | int | Y | 状态:1正常 2已撤回 3已删除 |
|
||
| IsRead | bit | Y | 是否已读 |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
|
||
```sql
|
||
CREATE TABLE Chat_Message (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
SessionId BIGINT NOT NULL,
|
||
SenderId BIGINT NOT NULL,
|
||
ReceiverId BIGINT NOT NULL,
|
||
MessageType INT NOT NULL,
|
||
Content NVARCHAR(MAX),
|
||
VoiceUrl NVARCHAR(500),
|
||
VoiceDuration INT,
|
||
ExtraData NVARCHAR(MAX),
|
||
Status INT NOT NULL DEFAULT 1,
|
||
IsRead BIT NOT NULL DEFAULT 0,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE()
|
||
);
|
||
|
||
CREATE INDEX IX_Chat_Message_SessionId ON Chat_Message(SessionId, CreateTime DESC);
|
||
CREATE INDEX IX_Chat_Message_ReceiverId ON Chat_Message(ReceiverId, IsRead);
|
||
```
|
||
|
||
### 3.11 User_View (浏览记录表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| UserId | bigint | Y | 浏览者ID |
|
||
| TargetUserId | bigint | Y | 被浏览者ID |
|
||
| ViewCount | int | Y | 当日浏览次数 |
|
||
| ViewDate | date | Y | 浏览日期 |
|
||
| LastViewTime | datetime2 | Y | 最后浏览时间 |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
|
||
```sql
|
||
CREATE TABLE User_View (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
UserId BIGINT NOT NULL,
|
||
TargetUserId BIGINT NOT NULL,
|
||
ViewCount INT NOT NULL DEFAULT 1,
|
||
ViewDate DATE NOT NULL,
|
||
LastViewTime DATETIME2 NOT NULL,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
CONSTRAINT UQ_User_View UNIQUE (UserId, TargetUserId, ViewDate)
|
||
);
|
||
|
||
CREATE INDEX IX_User_View_TargetUserId ON User_View(TargetUserId, ViewDate DESC);
|
||
```
|
||
|
||
### 3.12 User_Favorite (收藏表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| UserId | bigint | Y | 收藏者ID |
|
||
| TargetUserId | bigint | Y | 被收藏者ID |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
|
||
```sql
|
||
CREATE TABLE User_Favorite (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
UserId BIGINT NOT NULL,
|
||
TargetUserId BIGINT NOT NULL,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
CONSTRAINT UQ_User_Favorite UNIQUE (UserId, TargetUserId)
|
||
);
|
||
|
||
CREATE INDEX IX_User_Favorite_TargetUserId ON User_Favorite(TargetUserId);
|
||
```
|
||
|
||
### 3.13 User_Unlock (解锁记录表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| UserId | bigint | Y | 解锁者ID |
|
||
| TargetUserId | bigint | Y | 被解锁者ID |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
|
||
```sql
|
||
CREATE TABLE User_Unlock (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
UserId BIGINT NOT NULL,
|
||
TargetUserId BIGINT NOT NULL,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
CONSTRAINT UQ_User_Unlock UNIQUE (UserId, TargetUserId)
|
||
);
|
||
|
||
CREATE INDEX IX_User_Unlock_TargetUserId ON User_Unlock(TargetUserId);
|
||
```
|
||
|
||
### 3.14 Daily_Recommend (每日推荐表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| UserId | bigint | Y | 用户ID |
|
||
| RecommendUserId | bigint | Y | 推荐用户ID |
|
||
| RecommendDate | date | Y | 推荐日期 |
|
||
| Sort | int | Y | 排序 |
|
||
| IsViewed | bit | Y | 是否已查看 |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
|
||
```sql
|
||
CREATE TABLE Daily_Recommend (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
UserId BIGINT NOT NULL,
|
||
RecommendUserId BIGINT NOT NULL,
|
||
RecommendDate DATE NOT NULL,
|
||
Sort INT NOT NULL DEFAULT 0,
|
||
IsViewed BIT NOT NULL DEFAULT 0,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
CONSTRAINT UQ_Daily_Recommend UNIQUE (UserId, RecommendUserId, RecommendDate)
|
||
);
|
||
|
||
CREATE INDEX IX_Daily_Recommend_UserId_Date ON Daily_Recommend(UserId, RecommendDate DESC);
|
||
```
|
||
|
||
### 3.15 Banner (Banner配置表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| Title | nvarchar(100) | Y | 标题 |
|
||
| ImageUrl | nvarchar(500) | Y | 图片URL |
|
||
| LinkType | int | Y | 链接类型:1内部页面 2外部链接 3小程序 |
|
||
| LinkUrl | nvarchar(500) | N | 链接地址 |
|
||
| Sort | int | Y | 排序 |
|
||
| Status | int | Y | 状态:1启用 2禁用 |
|
||
| StartTime | datetime2 | N | 开始时间 |
|
||
| EndTime | datetime2 | N | 结束时间 |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
| UpdateTime | datetime2 | N | 更新时间 |
|
||
|
||
```sql
|
||
CREATE TABLE Banner (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
Title NVARCHAR(100) NOT NULL,
|
||
ImageUrl NVARCHAR(500) NOT NULL,
|
||
LinkType INT NOT NULL DEFAULT 1,
|
||
LinkUrl NVARCHAR(500),
|
||
Sort INT NOT NULL DEFAULT 0,
|
||
Status INT NOT NULL DEFAULT 1,
|
||
StartTime DATETIME2,
|
||
EndTime DATETIME2,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
UpdateTime DATETIME2
|
||
);
|
||
```
|
||
|
||
### 3.16 System_Config (系统配置表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| ConfigKey | nvarchar(100) | Y | 配置键 |
|
||
| ConfigValue | nvarchar(max) | Y | 配置值 |
|
||
| ConfigType | nvarchar(50) | Y | 配置类型 |
|
||
| Description | nvarchar(200) | N | 描述 |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
| UpdateTime | datetime2 | N | 更新时间 |
|
||
|
||
```sql
|
||
CREATE TABLE System_Config (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
ConfigKey NVARCHAR(100) NOT NULL,
|
||
ConfigValue NVARCHAR(MAX) NOT NULL,
|
||
ConfigType NVARCHAR(50) NOT NULL,
|
||
Description NVARCHAR(200),
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
UpdateTime DATETIME2,
|
||
CONSTRAINT UQ_System_Config_Key UNIQUE (ConfigKey)
|
||
);
|
||
```
|
||
|
||
### 3.17 System_Notification (系统通知表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| Title | nvarchar(100) | Y | 标题 |
|
||
| Content | nvarchar(max) | Y | 内容 |
|
||
| TargetType | int | Y | 目标类型:1全部用户 2指定用户 |
|
||
| TargetUsers | nvarchar(max) | N | 指定用户ID列表(JSON数组) |
|
||
| Status | int | Y | 状态:1草稿 2已发布 |
|
||
| PublishTime | datetime2 | N | 发布时间 |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
| UpdateTime | datetime2 | N | 更新时间 |
|
||
|
||
```sql
|
||
CREATE TABLE System_Notification (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
Title NVARCHAR(100) NOT NULL,
|
||
Content NVARCHAR(MAX) NOT NULL,
|
||
TargetType INT NOT NULL DEFAULT 1,
|
||
TargetUsers NVARCHAR(MAX),
|
||
Status INT NOT NULL DEFAULT 1,
|
||
PublishTime DATETIME2,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
UpdateTime DATETIME2
|
||
);
|
||
|
||
CREATE INDEX IX_System_Notification_Status ON System_Notification(Status, PublishTime DESC);
|
||
```
|
||
|
||
### 3.18 User_Notification_Read (用户通知已读表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| UserId | bigint | Y | 用户ID |
|
||
| NotificationId | bigint | Y | 通知ID |
|
||
| ReadTime | datetime2 | Y | 阅读时间 |
|
||
|
||
```sql
|
||
CREATE TABLE User_Notification_Read (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
UserId BIGINT NOT NULL,
|
||
NotificationId BIGINT NOT NULL,
|
||
ReadTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
CONSTRAINT UQ_User_Notification_Read UNIQUE (UserId, NotificationId)
|
||
);
|
||
```
|
||
|
||
### 3.19 Popup_Config (弹窗配置表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| PopupType | int | Y | 弹窗类型:1每日首次 2服务号关注 3会员广告 |
|
||
| Title | nvarchar(100) | N | 标题 |
|
||
| ImageUrl | nvarchar(500) | Y | 背景图URL |
|
||
| LinkUrl | nvarchar(500) | N | 跳转链接 |
|
||
| ButtonText | nvarchar(50) | N | 按钮文字 |
|
||
| Status | int | Y | 状态:1启用 2禁用 |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
| UpdateTime | datetime2 | N | 更新时间 |
|
||
|
||
```sql
|
||
CREATE TABLE Popup_Config (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
PopupType INT NOT NULL,
|
||
Title NVARCHAR(100),
|
||
ImageUrl NVARCHAR(500) NOT NULL,
|
||
LinkUrl NVARCHAR(500),
|
||
ButtonText NVARCHAR(50),
|
||
Status INT NOT NULL DEFAULT 1,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
UpdateTime DATETIME2,
|
||
CONSTRAINT UQ_Popup_Config_Type UNIQUE (PopupType)
|
||
);
|
||
```
|
||
|
||
### 3.20 King_Kong (金刚位配置表)
|
||
|
||
| 字段名 | 类型 | 是否必填 | 说明 |
|
||
|-------|------|---------|------|
|
||
| Id | bigint | PK | 主键,自增 |
|
||
| Title | nvarchar(50) | Y | 标题 |
|
||
| IconUrl | nvarchar(500) | Y | 图标URL |
|
||
| LinkType | int | Y | 链接类型 |
|
||
| LinkUrl | nvarchar(500) | N | 链接地址 |
|
||
| Sort | int | Y | 排序 |
|
||
| Status | int | Y | 状态 |
|
||
| CreateTime | datetime2 | Y | 创建时间 |
|
||
| UpdateTime | datetime2 | N | 更新时间 |
|
||
|
||
```sql
|
||
CREATE TABLE King_Kong (
|
||
Id BIGINT PRIMARY KEY IDENTITY(1,1),
|
||
Title NVARCHAR(50) NOT NULL,
|
||
IconUrl NVARCHAR(500) NOT NULL,
|
||
LinkType INT NOT NULL DEFAULT 1,
|
||
LinkUrl NVARCHAR(500),
|
||
Sort INT NOT NULL DEFAULT 0,
|
||
Status INT NOT NULL DEFAULT 1,
|
||
CreateTime DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||
UpdateTime DATETIME2
|
||
);
|
||
```
|
||
|
||
---
|
||
|
||
## 四、枚举定义
|
||
|
||
### 4.1 通用状态
|
||
```csharp
|
||
public enum Status
|
||
{
|
||
Normal = 1, // 正常
|
||
Disabled = 2 // 禁用
|
||
}
|
||
```
|
||
|
||
### 4.2 用户相关
|
||
```csharp
|
||
public enum Gender
|
||
{
|
||
Male = 1, // 男
|
||
Female = 2 // 女
|
||
}
|
||
|
||
public enum Relationship
|
||
{
|
||
Father = 1, // 父亲
|
||
Mother = 2, // 母亲
|
||
Self = 3 // 本人
|
||
}
|
||
|
||
public enum MemberLevel
|
||
{
|
||
None = 0, // 非会员
|
||
Unlimited = 1, // 不限时会员
|
||
Sincere = 2, // 诚意会员
|
||
Family = 3 // 家庭版会员
|
||
}
|
||
```
|
||
|
||
### 4.3 资料相关
|
||
```csharp
|
||
public enum Education
|
||
{
|
||
None = 0, // 不限
|
||
HighSchool = 1, // 高中
|
||
Technical = 2, // 中专
|
||
College = 3, // 大专
|
||
Bachelor = 4, // 本科
|
||
Master = 5, // 研究生
|
||
Doctor = 6 // 博士及以上
|
||
}
|
||
|
||
public enum HouseStatus
|
||
{
|
||
LocalOwned = 1, // 现居地已购房
|
||
HometownOwned = 2, // 家乡已购房
|
||
AfterMarriage = 3, // 婚后购房
|
||
WithParents = 4, // 父母同住
|
||
Renting = 5, // 租房
|
||
Planning = 6 // 近期有购房计划
|
||
}
|
||
|
||
public enum CarStatus
|
||
{
|
||
Owned = 1, // 已购车
|
||
None = 2, // 无车
|
||
Planning = 3 // 近期购车
|
||
}
|
||
|
||
public enum MarriageStatus
|
||
{
|
||
Single = 1, // 未婚
|
||
DivorcedNoChild = 2,// 离异未育
|
||
DivorcedWithChild = 3 // 离异已育
|
||
}
|
||
|
||
public enum ExpectMarryTime
|
||
{
|
||
ASAP = 1, // 尽快结婚
|
||
OneToTwoYears = 2, // 一到两年内
|
||
WhenReady = 3 // 孩子满意就结婚
|
||
}
|
||
```
|
||
|
||
### 4.4 订单相关
|
||
```csharp
|
||
public enum OrderType
|
||
{
|
||
Membership = 1, // 会员
|
||
RealName = 2 // 实名认证
|
||
}
|
||
|
||
public enum OrderStatus
|
||
{
|
||
Pending = 1, // 待支付
|
||
Paid = 2, // 已支付
|
||
Cancelled = 3, // 已取消
|
||
Refunded = 4 // 已退款
|
||
}
|
||
|
||
public enum PayType
|
||
{
|
||
WeChat = 1 // 微信支付
|
||
}
|
||
```
|
||
|
||
### 4.5 消息相关
|
||
```csharp
|
||
public enum MessageType
|
||
{
|
||
Text = 1, // 文本
|
||
Voice = 2, // 语音
|
||
Image = 3, // 图片
|
||
ExchangeWeChatRequest = 4, // 交换微信请求
|
||
ExchangeWeChatResult = 5, // 交换微信结果
|
||
ExchangePhotoRequest = 6, // 交换照片请求
|
||
ExchangePhotoResult = 7 // 交换照片结果
|
||
}
|
||
```
|
||
|
||
### 4.6 菜单相关
|
||
```csharp
|
||
public enum MenuType
|
||
{
|
||
Directory = 1, // 目录
|
||
Menu = 2, // 菜单
|
||
Button = 3 // 按钮
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 五、索引策略
|
||
|
||
### 5.1 主要查询场景索引
|
||
|
||
| 表名 | 索引字段 | 场景 |
|
||
|-----|---------|------|
|
||
| User | OpenId | 微信登录查询 |
|
||
| User | Phone | 手机号查询 |
|
||
| User | City | 按城市筛选 |
|
||
| User_Profile | ChildGender | 按性别筛选 |
|
||
| User_Profile | WorkCity | 按城市筛选 |
|
||
| User_Profile | BirthYear | 按年龄筛选 |
|
||
| Chat_Message | SessionId, CreateTime | 聊天记录查询 |
|
||
| User_View | TargetUserId, ViewDate | 谁看过我 |
|
||
| User_Favorite | TargetUserId | 谁收藏我 |
|
||
| User_Unlock | TargetUserId | 谁解锁我 |
|
||
| Daily_Recommend | UserId, RecommendDate | 每日推荐 |
|
||
| Order | UserId | 用户订单查询 |
|
||
| Admin_Operation_Log | CreateTime | 日志时间查询 |
|
||
|
||
---
|
||
|
||
## 六、版本记录
|
||
|
||
| 版本 | 日期 | 修改内容 |
|
||
|-----|------|---------|
|
||
| 1.0 | 2025-12-28 | 初始版本 |
|