diff --git a/YD_Event.Application/YD_Event.Application.xml b/YD_Event.Application/YD_Event.Application.xml index 38a9edb..b0ed7f3 100644 --- a/YD_Event.Application/YD_Event.Application.xml +++ b/YD_Event.Application/YD_Event.Application.xml @@ -58,6 +58,11 @@ + + + 根据认证类型填充统一的认证证件字段(CertImageUrl, CertNumber) + + 获取普通用户详情 @@ -418,7 +423,20 @@ - 认证类型:1-身份证,2-护照,3-户口本 + 认证类型:0-未认证,1-身份证,2-护照,3-户口本 + + + + + 认证证件图片URL(根据AuthType返回对应证件的图片URL) + AuthType=1 → IdCardImageUrl + AuthType=2 → PassportPhotoUrl + AuthType=3 → HouseholdPhotoUrl + + + + + 证件号码(根据AuthType返回:身份证号或护照号) @@ -7134,7 +7152,17 @@ - 身份证号 + 身份证号(身份证/户口本认证时使用) + + + + + 护照号码(护照认证时使用) + + + + + 认证类型:0-未认证,1-身份证,2-护照,3-户口本 @@ -7144,7 +7172,7 @@ - 电话 + 电话(非必填) @@ -8442,6 +8470,11 @@ 队员ID + + + 当前组内已选队员ID列表(用于年龄跨组等整组校验,兼容旧接口可不传) + + 组别ID @@ -8864,7 +8897,7 @@ - 导出报名 + 导出报名信息 @@ -9243,6 +9276,11 @@ 从报名项中获取所有人员列表(支持新旧数据结构) + + + 获取人员证件号码(根据认证类型返回身份证号或护照号) + + 验证队员资质(年龄和性别) @@ -9323,7 +9361,32 @@ 删除报名记录(用于删除预报名记录) - + + + 获取赛事报名限制配置(带缓存,3分钟过期) + + + + + 获取赛事项目限制配置列表(带缓存,3分钟过期) + + + + + 获取赛事项目列表(带缓存,3分钟过期) + + + + + 获取赛事项目组别列表(带缓存,3分钟过期) + + + + + 获取基础项目列表(带缓存,3分钟过期) + + + 检查报名限制 @@ -9343,14 +9406,9 @@ 检查团队组别容量限制(项目组别限报设置) - + - 检查成员项目限报 - - - - - 计算成员项目报名数量(包含本次提交的项目) + 检查成员项目限报(优化版:使用数据库查询,仅查询涉及的成员数据,避免全量加载) @@ -9368,9 +9426,9 @@ 检查人员项目组别重复 - + - 检查人员是否已在其他报名中报过同一项目组别 + 检查人员是否已在其他报名中报过同一项目组别(优化版:使用数据库查询,避免全量加载) @@ -12118,6 +12176,11 @@ 排序索引 + + + 备注 + + 项目组别列表 @@ -12223,6 +12286,11 @@ 排序索引(编排用) + + + 备注 + + 可用状态 diff --git a/YD_Event.Core/YD_Event.Core.xml b/YD_Event.Core/YD_Event.Core.xml index 321470f..77fe234 100644 --- a/YD_Event.Core/YD_Event.Core.xml +++ b/YD_Event.Core/YD_Event.Core.xml @@ -3093,6 +3093,11 @@ 时长(秒) + + + 备注 + + 场地数量(编排用) diff --git a/二期需求/dbo.sql b/二期需求/dbo.sql new file mode 100644 index 0000000..8420061 --- /dev/null +++ b/二期需求/dbo.sql @@ -0,0 +1,9130 @@ +/* + Navicat Premium Data Transfer + + Source Server : YD + Source Server Type : SQL Server + Source Server Version : 16004025 + Source Host : rm-uf64b8oxdt19pfyxfao.sqlserver.rds.aliyuncs.com:1433 + Source Catalog : EventServerDB_QA + Source Schema : dbo + + Target Server Type : SQL Server + Target Server Version : 16004025 + File Encoding : 65001 + + Date: 03/08/2026 12:55:52 +*/ + + +-- ---------------------------- +-- Table structure for Albums +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[Albums]') AND type IN ('U')) + DROP TABLE [dbo].[Albums] +GO + +CREATE TABLE [dbo].[Albums] ( + [Id] bigint NOT NULL, + [Name] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Cover] varchar(256) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Type] int NULL, + [Status] int NOT NULL, + [Sort] int NOT NULL, + [Remark] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [IsVisible] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedTime] datetime NOT NULL +) +GO + +ALTER TABLE [dbo].[Albums] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'Albums', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'相册名称', +'SCHEMA', N'dbo', +'TABLE', N'Albums', +'COLUMN', N'Name' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'封面图', +'SCHEMA', N'dbo', +'TABLE', N'Albums', +'COLUMN', N'Cover' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'相册类型', +'SCHEMA', N'dbo', +'TABLE', N'Albums', +'COLUMN', N'Type' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'Albums', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'排序值(值越小越靠前)', +'SCHEMA', N'dbo', +'TABLE', N'Albums', +'COLUMN', N'Sort' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'Albums', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'是否可见', +'SCHEMA', N'dbo', +'TABLE', N'Albums', +'COLUMN', N'IsVisible' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'Albums', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'Albums', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'Albums', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'相册表', +'SCHEMA', N'dbo', +'TABLE', N'Albums' +GO + + +-- ---------------------------- +-- Table structure for AppUser +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[AppUser]') AND type IN ('U')) + DROP TABLE [dbo].[AppUser] +GO + +CREATE TABLE [dbo].[AppUser] ( + [Id] bigint NOT NULL, + [Name] varchar(64) COLLATE Chinese_PRC_CI_AS NULL, + [Gender] int NOT NULL, + [Mobile] varchar(20) COLLATE Chinese_PRC_CI_AS NOT NULL, + [IdCardNumber] varchar(20) COLLATE Chinese_PRC_CI_AS NULL, + [IdCardImageUrl] varchar(512) COLLATE Chinese_PRC_CI_AS NULL, + [AuditStatus] int NOT NULL, + [AuditRemark] varchar(512) COLLATE Chinese_PRC_CI_AS NULL, + [Status] int NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL, + [PersonType] int NOT NULL, + [SkillLevel] varchar(64) COLLATE Chinese_PRC_CI_AS NULL, + [CertificationStatus] int NULL, + [Remark] varchar(512) COLLATE Chinese_PRC_CI_AS NULL, + [BirthDate] datetime NULL, + [NickName] varchar(64) COLLATE Chinese_PRC_CI_AS NULL, + [Avatar] varchar(512) COLLATE Chinese_PRC_CI_AS NULL, + [MerchantCertificationId] bigint NULL, + [Password] varchar(64) COLLATE Chinese_PRC_CI_AS NULL, + [PassportPhotoUrl] varchar(512) COLLATE Chinese_PRC_CI_AS NULL, + [Age] int NULL, + [IdCardBackImageUrl] varchar(512) COLLATE Chinese_PRC_CI_AS NULL, + [HouseholdPhotoUrl] nvarchar(512) COLLATE Chinese_PRC_CI_AS NULL, + [AuthType] int DEFAULT ((0)) NOT NULL, + [PassportNumber] nvarchar(20) COLLATE Chinese_PRC_CI_AS NULL +) +GO + +ALTER TABLE [dbo].[AppUser] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'姓名', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'Name' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'性别', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'Gender' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'联系电话', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'Mobile' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'身份证号码', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'IdCardNumber' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'身份证正面图片URL', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'IdCardImageUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'审核状态', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'AuditStatus' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'审核备注', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'AuditRemark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'人员类型:0-普通用户,1-运动员,2-教练,3-领队', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'PersonType' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'技能等级(教练特有)', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'SkillLevel' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'认证状态(教练特有):0-未认证,1-已认证', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'CertificationStatus' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'出生日期', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'BirthDate' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'昵称 (来自微信等第三方)', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'NickName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'头像 (来自微信等第三方)', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'Avatar' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的单位认证ID(单位账号)', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'MerchantCertificationId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'密码(用于登录)', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'Password' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'护照图片URL', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'PassportPhotoUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'年龄', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'Age' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'身份证背面图片URL', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'IdCardBackImageUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'户口本图片URL', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'HouseholdPhotoUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'认证类型:1-身份证,2-护照,3-户口本', +'SCHEMA', N'dbo', +'TABLE', N'AppUser', +'COLUMN', N'AuthType' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'普通用户表 (实名信息)', +'SCHEMA', N'dbo', +'TABLE', N'AppUser' +GO + + +-- ---------------------------- +-- Table structure for Article +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[Article]') AND type IN ('U')) + DROP TABLE [dbo].[Article] +GO + +CREATE TABLE [dbo].[Article] ( + [Id] bigint NOT NULL, + [Title] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Summary] varchar(256) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Cover] varchar(256) COLLATE Chinese_PRC_CI_AS NOT NULL, + [IsTop] bit NOT NULL, + [Views] int NOT NULL, + [Author] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Link] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [CreationType] int NOT NULL, + [Content] text COLLATE Chinese_PRC_CI_AS NOT NULL, + [IsHtml] bit NOT NULL, + [PublishTime] datetime NOT NULL, + [Status] int NOT NULL, + [Sort] int NOT NULL, + [IsAllowComments] bit NOT NULL, + [ExpiredTime] datetime NULL, + [DeleteMark] bit NOT NULL, + [UpdatedTime] datetime NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL +) +GO + +ALTER TABLE [dbo].[Article] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标题', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'Title' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'概要', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'Summary' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'封面图', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'Cover' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'是否置顶', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'IsTop' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'浏览量', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'Views' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'作者', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'Author' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'原文地址', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'Link' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创作类型', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'CreationType' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'文章正文(Html或markdown)', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'Content' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'文章正文是否为html代码', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'IsHtml' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'发布时间', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'PublishTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'排序值(值越小越靠前)', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'Sort' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'是否允许评论', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'IsAllowComments' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'过期时间(过期后文章不显示)', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'ExpiredTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'Article', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'文章表', +'SCHEMA', N'dbo', +'TABLE', N'Article' +GO + + +-- ---------------------------- +-- Table structure for ArticleCategory +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[ArticleCategory]') AND type IN ('U')) + DROP TABLE [dbo].[ArticleCategory] +GO + +CREATE TABLE [dbo].[ArticleCategory] ( + [Id] bigint NOT NULL, + [ArticleId] bigint NOT NULL, + [CategoryId] bigint NOT NULL +) +GO + +ALTER TABLE [dbo].[ArticleCategory] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'ArticleCategory', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'文章Id', +'SCHEMA', N'dbo', +'TABLE', N'ArticleCategory', +'COLUMN', N'ArticleId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'栏目Id', +'SCHEMA', N'dbo', +'TABLE', N'ArticleCategory', +'COLUMN', N'CategoryId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'文章所属栏目表', +'SCHEMA', N'dbo', +'TABLE', N'ArticleCategory' +GO + + +-- ---------------------------- +-- Table structure for ArticleTag +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[ArticleTag]') AND type IN ('U')) + DROP TABLE [dbo].[ArticleTag] +GO + +CREATE TABLE [dbo].[ArticleTag] ( + [Id] bigint NOT NULL, + [ArticleId] bigint NOT NULL, + [TagId] bigint NOT NULL +) +GO + +ALTER TABLE [dbo].[ArticleTag] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'ArticleTag', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'文章Id', +'SCHEMA', N'dbo', +'TABLE', N'ArticleTag', +'COLUMN', N'ArticleId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标签Id', +'SCHEMA', N'dbo', +'TABLE', N'ArticleTag', +'COLUMN', N'TagId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'文章标签表', +'SCHEMA', N'dbo', +'TABLE', N'ArticleTag' +GO + + +-- ---------------------------- +-- Table structure for AuthAccount +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[AuthAccount]') AND type IN ('U')) + DROP TABLE [dbo].[AuthAccount] +GO + +CREATE TABLE [dbo].[AuthAccount] ( + [Id] bigint NOT NULL, + [OAuthId] varchar(128) COLLATE Chinese_PRC_CI_AS NULL, + [Type] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL, + [IsBlogger] bit NOT NULL, + [Name] varchar(64) COLLATE Chinese_PRC_CI_AS NULL, + [Gender] int NOT NULL, + [Avatar] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [Email] varchar(128) COLLATE Chinese_PRC_CI_AS NULL, + [UpdatedTime] datetime NULL, + [DeleteMark] bit NOT NULL, + [CreatedTime] datetime NOT NULL, + [CreatedUserId] bigint NOT NULL, + [UpdatedUserId] bigint NULL, + [Password] varchar(64) COLLATE Chinese_PRC_CI_AS NULL, + [Mobile] varchar(20) COLLATE Chinese_PRC_CI_AS NULL +) +GO + +ALTER TABLE [dbo].[AuthAccount] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'AuthAccount', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'授权唯一标识', +'SCHEMA', N'dbo', +'TABLE', N'AuthAccount', +'COLUMN', N'OAuthId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'授权类型', +'SCHEMA', N'dbo', +'TABLE', N'AuthAccount', +'COLUMN', N'Type' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'博主标识', +'SCHEMA', N'dbo', +'TABLE', N'AuthAccount', +'COLUMN', N'IsBlogger' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'姓名(昵称)', +'SCHEMA', N'dbo', +'TABLE', N'AuthAccount', +'COLUMN', N'Name' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'性别', +'SCHEMA', N'dbo', +'TABLE', N'AuthAccount', +'COLUMN', N'Gender' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'头像', +'SCHEMA', N'dbo', +'TABLE', N'AuthAccount', +'COLUMN', N'Avatar' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'邮箱', +'SCHEMA', N'dbo', +'TABLE', N'AuthAccount', +'COLUMN', N'Email' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'AuthAccount', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'AuthAccount', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'AuthAccount', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'AuthAccount', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'AuthAccount', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'密码(用于手机号登录)', +'SCHEMA', N'dbo', +'TABLE', N'AuthAccount', +'COLUMN', N'Password' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'手机号(用于手机号登录)', +'SCHEMA', N'dbo', +'TABLE', N'AuthAccount', +'COLUMN', N'Mobile' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'博客授权用户', +'SCHEMA', N'dbo', +'TABLE', N'AuthAccount' +GO + + +-- ---------------------------- +-- Table structure for Banner +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[Banner]') AND type IN ('U')) + DROP TABLE [dbo].[Banner] +GO + +CREATE TABLE [dbo].[Banner] ( + [Id] bigint NOT NULL, + [Title] varchar(128) COLLATE Chinese_PRC_CI_AS NULL, + [ImageUrl] varchar(512) COLLATE Chinese_PRC_CI_AS NOT NULL, + [LinkType] int NOT NULL, + [Sort] int NOT NULL, + [Status] int NOT NULL, + [Remark] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL, + [LinkUrl] varchar(512) COLLATE Chinese_PRC_CI_AS NULL, + [EventId] bigint NULL +) +GO + +ALTER TABLE [dbo].[Banner] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'Banner', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标题', +'SCHEMA', N'dbo', +'TABLE', N'Banner', +'COLUMN', N'Title' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'图片地址', +'SCHEMA', N'dbo', +'TABLE', N'Banner', +'COLUMN', N'ImageUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'跳转链接类型', +'SCHEMA', N'dbo', +'TABLE', N'Banner', +'COLUMN', N'LinkType' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'排序', +'SCHEMA', N'dbo', +'TABLE', N'Banner', +'COLUMN', N'Sort' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'状态', +'SCHEMA', N'dbo', +'TABLE', N'Banner', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'Banner', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'Banner', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'Banner', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'Banner', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'Banner', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'Banner', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'跳转链接URL', +'SCHEMA', N'dbo', +'TABLE', N'Banner', +'COLUMN', N'LinkUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联赛事ID', +'SCHEMA', N'dbo', +'TABLE', N'Banner', +'COLUMN', N'EventId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'轮播图配置', +'SCHEMA', N'dbo', +'TABLE', N'Banner' +GO + + +-- ---------------------------- +-- Table structure for BannerConfig +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[BannerConfig]') AND type IN ('U')) + DROP TABLE [dbo].[BannerConfig] +GO + +CREATE TABLE [dbo].[BannerConfig] ( + [Id] bigint NOT NULL, + [Mode] int NOT NULL, + [UpdatedTime] datetime NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL +) +GO + +ALTER TABLE [dbo].[BannerConfig] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'BannerConfig', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'模式(0-自动配置 1-手动配置)', +'SCHEMA', N'dbo', +'TABLE', N'BannerConfig', +'COLUMN', N'Mode' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'BannerConfig', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'BannerConfig', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'BannerConfig', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'BannerConfig', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'BannerConfig', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'轮播图设置(存储手动/自动模式)', +'SCHEMA', N'dbo', +'TABLE', N'BannerConfig' +GO + + +-- ---------------------------- +-- Table structure for Categories +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[Categories]') AND type IN ('U')) + DROP TABLE [dbo].[Categories] +GO + +CREATE TABLE [dbo].[Categories] ( + [Id] bigint NOT NULL, + [Name] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL, + [ParentId] bigint NULL, + [Cover] varchar(256) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Status] int NOT NULL, + [Sort] int NOT NULL, + [Remark] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [CreatedUserId] bigint NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedTime] datetime NOT NULL +) +GO + +ALTER TABLE [dbo].[Categories] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'Categories', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'栏目名称', +'SCHEMA', N'dbo', +'TABLE', N'Categories', +'COLUMN', N'Name' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'父级id', +'SCHEMA', N'dbo', +'TABLE', N'Categories', +'COLUMN', N'ParentId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'封面图', +'SCHEMA', N'dbo', +'TABLE', N'Categories', +'COLUMN', N'Cover' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'Categories', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'排序值(值越小越靠前)', +'SCHEMA', N'dbo', +'TABLE', N'Categories', +'COLUMN', N'Sort' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'Categories', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'Categories', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'Categories', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'Categories', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'文章栏目表', +'SCHEMA', N'dbo', +'TABLE', N'Categories' +GO + + +-- ---------------------------- +-- Table structure for Certificate +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[Certificate]') AND type IN ('U')) + DROP TABLE [dbo].[Certificate] +GO + +CREATE TABLE [dbo].[Certificate] ( + [Id] bigint NOT NULL, + [Name] varchar(255) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Code] varchar(255) COLLATE Chinese_PRC_CI_AS NOT NULL, + [TemplateId] bigint NOT NULL, + [Remark] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, + [Status] int DEFAULT ('1') NOT NULL, + [Sort] int NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[Certificate] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'Certificate', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'证书名称', +'SCHEMA', N'dbo', +'TABLE', N'Certificate', +'COLUMN', N'Name' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'证书编码', +'SCHEMA', N'dbo', +'TABLE', N'Certificate', +'COLUMN', N'Code' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'模板ID', +'SCHEMA', N'dbo', +'TABLE', N'Certificate', +'COLUMN', N'TemplateId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'Certificate', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'状态', +'SCHEMA', N'dbo', +'TABLE', N'Certificate', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'排序', +'SCHEMA', N'dbo', +'TABLE', N'Certificate', +'COLUMN', N'Sort' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'软删除', +'SCHEMA', N'dbo', +'TABLE', N'Certificate', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人ID', +'SCHEMA', N'dbo', +'TABLE', N'Certificate', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'Certificate', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人ID', +'SCHEMA', N'dbo', +'TABLE', N'Certificate', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'Certificate', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'证书表 (Certificate)', +'SCHEMA', N'dbo', +'TABLE', N'Certificate' +GO + + +-- ---------------------------- +-- Table structure for CertificateElement +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[CertificateElement]') AND type IN ('U')) + DROP TABLE [dbo].[CertificateElement] +GO + +CREATE TABLE [dbo].[CertificateElement] ( + [Id] bigint NOT NULL, + [TemplateId] bigint NOT NULL, + [Type] varchar(255) COLLATE Chinese_PRC_CI_AS NOT NULL, + [FieldName] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, + [BindingKey] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, + [X] float(53) NOT NULL, + [Y] float(53) NOT NULL, + [Width] float(53) NOT NULL, + [Height] float(53) NOT NULL, + [FontFamily] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('Source Han Sans CN') NULL, + [FontSize] float(53) NOT NULL, + [Color] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, + [StyleJson] varchar(4000) COLLATE Chinese_PRC_CI_AS NULL, + [Sort] int NOT NULL, + [DeleteMark] bit NOT NULL +) +GO + +ALTER TABLE [dbo].[CertificateElement] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'CertificateElement', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'模板ID', +'SCHEMA', N'dbo', +'TABLE', N'CertificateElement', +'COLUMN', N'TemplateId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'元素类型', +'SCHEMA', N'dbo', +'TABLE', N'CertificateElement', +'COLUMN', N'Type' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'字段名', +'SCHEMA', N'dbo', +'TABLE', N'CertificateElement', +'COLUMN', N'FieldName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'绑定键', +'SCHEMA', N'dbo', +'TABLE', N'CertificateElement', +'COLUMN', N'BindingKey' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'X坐标', +'SCHEMA', N'dbo', +'TABLE', N'CertificateElement', +'COLUMN', N'X' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'Y坐标', +'SCHEMA', N'dbo', +'TABLE', N'CertificateElement', +'COLUMN', N'Y' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'宽度', +'SCHEMA', N'dbo', +'TABLE', N'CertificateElement', +'COLUMN', N'Width' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'高度', +'SCHEMA', N'dbo', +'TABLE', N'CertificateElement', +'COLUMN', N'Height' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'字体', +'SCHEMA', N'dbo', +'TABLE', N'CertificateElement', +'COLUMN', N'FontFamily' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'字号', +'SCHEMA', N'dbo', +'TABLE', N'CertificateElement', +'COLUMN', N'FontSize' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'颜色', +'SCHEMA', N'dbo', +'TABLE', N'CertificateElement', +'COLUMN', N'Color' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'额外样式', +'SCHEMA', N'dbo', +'TABLE', N'CertificateElement', +'COLUMN', N'StyleJson' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'排序', +'SCHEMA', N'dbo', +'TABLE', N'CertificateElement', +'COLUMN', N'Sort' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'软删除', +'SCHEMA', N'dbo', +'TABLE', N'CertificateElement', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'证书元素表 (CertificateElement)', +'SCHEMA', N'dbo', +'TABLE', N'CertificateElement' +GO + + +-- ---------------------------- +-- Table structure for CertificatePlaceholder +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[CertificatePlaceholder]') AND type IN ('U')) + DROP TABLE [dbo].[CertificatePlaceholder] +GO + +CREATE TABLE [dbo].[CertificatePlaceholder] ( + [Id] bigint NOT NULL, + [TemplateId] bigint NOT NULL, + [PlaceholderKey] varchar(255) COLLATE Chinese_PRC_CI_AS NOT NULL, + [DisplayName] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, + [PlaceholderType] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('Text') NOT NULL, + [DefaultValue] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, + [IsRequired] bit DEFAULT ('0') NOT NULL, + [ValidationRule] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, + [Description] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, + [Sort] int NOT NULL, + [DeleteMark] bit NOT NULL +) +GO + +ALTER TABLE [dbo].[CertificatePlaceholder] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'CertificatePlaceholder', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'模板ID', +'SCHEMA', N'dbo', +'TABLE', N'CertificatePlaceholder', +'COLUMN', N'TemplateId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'占位符键名', +'SCHEMA', N'dbo', +'TABLE', N'CertificatePlaceholder', +'COLUMN', N'PlaceholderKey' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'占位符显示名称', +'SCHEMA', N'dbo', +'TABLE', N'CertificatePlaceholder', +'COLUMN', N'DisplayName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'占位符类型', +'SCHEMA', N'dbo', +'TABLE', N'CertificatePlaceholder', +'COLUMN', N'PlaceholderType' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'默认值', +'SCHEMA', N'dbo', +'TABLE', N'CertificatePlaceholder', +'COLUMN', N'DefaultValue' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'是否必填', +'SCHEMA', N'dbo', +'TABLE', N'CertificatePlaceholder', +'COLUMN', N'IsRequired' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'验证正则表达式', +'SCHEMA', N'dbo', +'TABLE', N'CertificatePlaceholder', +'COLUMN', N'ValidationRule' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'描述信息', +'SCHEMA', N'dbo', +'TABLE', N'CertificatePlaceholder', +'COLUMN', N'Description' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'排序', +'SCHEMA', N'dbo', +'TABLE', N'CertificatePlaceholder', +'COLUMN', N'Sort' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'软删除', +'SCHEMA', N'dbo', +'TABLE', N'CertificatePlaceholder', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'证书占位符表 (CertificatePlaceholder)', +'SCHEMA', N'dbo', +'TABLE', N'CertificatePlaceholder' +GO + + +-- ---------------------------- +-- Table structure for CertificateTemplate +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[CertificateTemplate]') AND type IN ('U')) + DROP TABLE [dbo].[CertificateTemplate] +GO + +CREATE TABLE [dbo].[CertificateTemplate] ( + [Id] bigint NOT NULL, + [Version] int NOT NULL, + [BackgroundImageUrl] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, + [Width] int NOT NULL, + [Height] int NOT NULL, + [IsActive] bit DEFAULT ('0') NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [TemplateType] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('Image') NOT NULL, + [DocxTemplateUrl] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, + [PlaceholderJson] varchar(4000) COLLATE Chinese_PRC_CI_AS NULL, + [Status] int DEFAULT ('1') NOT NULL +) +GO + +ALTER TABLE [dbo].[CertificateTemplate] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'CertificateTemplate', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'版本号', +'SCHEMA', N'dbo', +'TABLE', N'CertificateTemplate', +'COLUMN', N'Version' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'背景图片URL', +'SCHEMA', N'dbo', +'TABLE', N'CertificateTemplate', +'COLUMN', N'BackgroundImageUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'像素宽度', +'SCHEMA', N'dbo', +'TABLE', N'CertificateTemplate', +'COLUMN', N'Width' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'像素高度', +'SCHEMA', N'dbo', +'TABLE', N'CertificateTemplate', +'COLUMN', N'Height' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'是否当前激活版本', +'SCHEMA', N'dbo', +'TABLE', N'CertificateTemplate', +'COLUMN', N'IsActive' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'软删除', +'SCHEMA', N'dbo', +'TABLE', N'CertificateTemplate', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人ID', +'SCHEMA', N'dbo', +'TABLE', N'CertificateTemplate', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'CertificateTemplate', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'模板类型', +'SCHEMA', N'dbo', +'TABLE', N'CertificateTemplate', +'COLUMN', N'TemplateType' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'DOCX模板文件URL', +'SCHEMA', N'dbo', +'TABLE', N'CertificateTemplate', +'COLUMN', N'DocxTemplateUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'占位符配置', +'SCHEMA', N'dbo', +'TABLE', N'CertificateTemplate', +'COLUMN', N'PlaceholderJson' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'状态', +'SCHEMA', N'dbo', +'TABLE', N'CertificateTemplate', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'证书模板表 (CertificateTemplate)', +'SCHEMA', N'dbo', +'TABLE', N'CertificateTemplate' +GO + + +-- ---------------------------- +-- Table structure for Comments +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[Comments]') AND type IN ('U')) + DROP TABLE [dbo].[Comments] +GO + +CREATE TABLE [dbo].[Comments] ( + [Id] bigint NOT NULL, + [ModuleId] bigint NULL, + [RootId] bigint NULL, + [ParentId] bigint NULL, + [AccountId] bigint NOT NULL, + [ReplyAccountId] bigint NULL, + [Content] varchar(1024) COLLATE Chinese_PRC_CI_AS NOT NULL, + [IP] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Geolocation] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedTime] datetime NOT NULL +) +GO + +ALTER TABLE [dbo].[Comments] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'Comments', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'对应模块ID(null表留言,0代表友链的评论)', +'SCHEMA', N'dbo', +'TABLE', N'Comments', +'COLUMN', N'ModuleId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'顶级楼层评论ID', +'SCHEMA', N'dbo', +'TABLE', N'Comments', +'COLUMN', N'RootId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'被回复的评论ID', +'SCHEMA', N'dbo', +'TABLE', N'Comments', +'COLUMN', N'ParentId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'当前评论人ID', +'SCHEMA', N'dbo', +'TABLE', N'Comments', +'COLUMN', N'AccountId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'回复人ID', +'SCHEMA', N'dbo', +'TABLE', N'Comments', +'COLUMN', N'ReplyAccountId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'评论内容', +'SCHEMA', N'dbo', +'TABLE', N'Comments', +'COLUMN', N'Content' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'Ip地址', +'SCHEMA', N'dbo', +'TABLE', N'Comments', +'COLUMN', N'IP' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'IP所属地', +'SCHEMA', N'dbo', +'TABLE', N'Comments', +'COLUMN', N'Geolocation' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'Comments', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'Comments', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'评论表', +'SCHEMA', N'dbo', +'TABLE', N'Comments' +GO + + +-- ---------------------------- +-- Table structure for Coupon +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[Coupon]') AND type IN ('U')) + DROP TABLE [dbo].[Coupon] +GO + +CREATE TABLE [dbo].[Coupon] ( + [Id] bigint NOT NULL, + [Name] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Type] int NOT NULL, + [Value] decimal(10,2) NOT NULL, + [StartTime] datetime NULL, + [EndTime] datetime NULL, + [EventIds] varchar(500) COLLATE Chinese_PRC_CI_AS NULL, + [TotalQuantity] int DEFAULT ('0') NOT NULL, + [ClaimedQuantity] int DEFAULT ('0') NOT NULL, + [UsedQuantity] int DEFAULT ('0') NOT NULL, + [Status] int DEFAULT ('0') NOT NULL, + [Remark] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedTime] datetime NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [UpdatedUserId] bigint NULL +) +GO + +ALTER TABLE [dbo].[Coupon] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'Coupon', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'优惠券名称', +'SCHEMA', N'dbo', +'TABLE', N'Coupon', +'COLUMN', N'Name' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'类型(0-折扣 1-定额)', +'SCHEMA', N'dbo', +'TABLE', N'Coupon', +'COLUMN', N'Type' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'优惠值', +'SCHEMA', N'dbo', +'TABLE', N'Coupon', +'COLUMN', N'Value' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'有效期开始时间', +'SCHEMA', N'dbo', +'TABLE', N'Coupon', +'COLUMN', N'StartTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'有效期结束时间', +'SCHEMA', N'dbo', +'TABLE', N'Coupon', +'COLUMN', N'EndTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用赛事ID集合', +'SCHEMA', N'dbo', +'TABLE', N'Coupon', +'COLUMN', N'EventIds' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'总数量', +'SCHEMA', N'dbo', +'TABLE', N'Coupon', +'COLUMN', N'TotalQuantity' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'已领取数量', +'SCHEMA', N'dbo', +'TABLE', N'Coupon', +'COLUMN', N'ClaimedQuantity' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'已使用数量', +'SCHEMA', N'dbo', +'TABLE', N'Coupon', +'COLUMN', N'UsedQuantity' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'状态', +'SCHEMA', N'dbo', +'TABLE', N'Coupon', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'Coupon', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'Coupon', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'Coupon', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'删除标志', +'SCHEMA', N'dbo', +'TABLE', N'Coupon', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人Id', +'SCHEMA', N'dbo', +'TABLE', N'Coupon', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人Id', +'SCHEMA', N'dbo', +'TABLE', N'Coupon', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'优惠券', +'SCHEMA', N'dbo', +'TABLE', N'Coupon' +GO + + +-- ---------------------------- +-- Table structure for CouponRedemptionCode +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[CouponRedemptionCode]') AND type IN ('U')) + DROP TABLE [dbo].[CouponRedemptionCode] +GO + +CREATE TABLE [dbo].[CouponRedemptionCode] ( + [Id] bigint NOT NULL, + [CouponId] bigint NOT NULL, + [Code] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Status] int DEFAULT ('0') NOT NULL, + [UsedTime] datetime NULL, + [UserCouponId] bigint NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[CouponRedemptionCode] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'CouponRedemptionCode', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'优惠券ID', +'SCHEMA', N'dbo', +'TABLE', N'CouponRedemptionCode', +'COLUMN', N'CouponId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'兑换码', +'SCHEMA', N'dbo', +'TABLE', N'CouponRedemptionCode', +'COLUMN', N'Code' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'使用状态', +'SCHEMA', N'dbo', +'TABLE', N'CouponRedemptionCode', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'使用时间', +'SCHEMA', N'dbo', +'TABLE', N'CouponRedemptionCode', +'COLUMN', N'UsedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的用户优惠券ID', +'SCHEMA', N'dbo', +'TABLE', N'CouponRedemptionCode', +'COLUMN', N'UserCouponId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'删除标志', +'SCHEMA', N'dbo', +'TABLE', N'CouponRedemptionCode', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人Id', +'SCHEMA', N'dbo', +'TABLE', N'CouponRedemptionCode', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'CouponRedemptionCode', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人Id', +'SCHEMA', N'dbo', +'TABLE', N'CouponRedemptionCode', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'CouponRedemptionCode', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'优惠券兑换码记录表', +'SCHEMA', N'dbo', +'TABLE', N'CouponRedemptionCode' +GO + + +-- ---------------------------- +-- Table structure for CustomConfig +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[CustomConfig]') AND type IN ('U')) + DROP TABLE [dbo].[CustomConfig] +GO + +CREATE TABLE [dbo].[CustomConfig] ( + [Id] bigint NOT NULL, + [Name] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Code] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL, + [IsMultiple] bit NOT NULL, + [Json] text COLLATE Chinese_PRC_CI_AS NULL, + [AllowCreationEntity] bit NOT NULL, + [IsGenerate] bit NOT NULL, + [Status] int NOT NULL, + [Remark] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [CreatedUserId] bigint NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[CustomConfig] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfig', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'配置名称', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfig', +'COLUMN', N'Name' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'配置唯一编码(类名)', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfig', +'COLUMN', N'Code' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'是否是多项(集合)', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfig', +'COLUMN', N'IsMultiple' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'配置界面设计(json)', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfig', +'COLUMN', N'Json' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'是否允许创建实体', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfig', +'COLUMN', N'AllowCreationEntity' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'是否已生成实体', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfig', +'COLUMN', N'IsGenerate' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfig', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfig', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfig', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfig', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfig', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfig', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfig', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'自定义配置', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfig' +GO + + +-- ---------------------------- +-- Table structure for CustomConfigItem +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[CustomConfigItem]') AND type IN ('U')) + DROP TABLE [dbo].[CustomConfigItem] +GO + +CREATE TABLE [dbo].[CustomConfigItem] ( + [Id] bigint NOT NULL, + [ConfigId] bigint NOT NULL, + [Json] text COLLATE Chinese_PRC_CI_AS NOT NULL, + [Status] int NOT NULL, + [CreatedUserId] bigint NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[CustomConfigItem] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfigItem', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'自定义配置Id', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfigItem', +'COLUMN', N'ConfigId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'配置', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfigItem', +'COLUMN', N'Json' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfigItem', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfigItem', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfigItem', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfigItem', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfigItem', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfigItem', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'自定义配置子项', +'SCHEMA', N'dbo', +'TABLE', N'CustomConfigItem' +GO + + +-- ---------------------------- +-- Table structure for EventCertificate +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[EventCertificate]') AND type IN ('U')) + DROP TABLE [dbo].[EventCertificate] +GO + +CREATE TABLE [dbo].[EventCertificate] ( + [Id] bigint NOT NULL, + [ResultId] bigint NOT NULL, + [ParticipationRecordId] bigint NOT NULL, + [RegistrationId] bigint NOT NULL, + [EventId] bigint NOT NULL, + [ProjectId] bigint NOT NULL, + [ParticipantName] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [GroupName] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [AwardLevel] int NOT NULL, + [CertificateType] int NOT NULL, + [CertificateNo] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [CertificateUrl] varchar(256) COLLATE Chinese_PRC_CI_AS NOT NULL, + [CertificateStatus] int NOT NULL, + [GeneratedTime] datetime NULL, + [IssuedTime] datetime NULL, + [Remark] text COLLATE Chinese_PRC_CI_AS NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL, + [TemplateId] bigint NULL, + [UserId] bigint NOT NULL, + [MerchantCertificationId] bigint NULL +) +GO + +ALTER TABLE [dbo].[EventCertificate] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的成绩ID', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'ResultId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的参赛记录ID', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'ParticipationRecordId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的报名ID', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'RegistrationId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事ID', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'EventId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事项目ID', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'ProjectId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'参赛选手姓名', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'ParticipantName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'参赛组别', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'GroupName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'获奖等级:1-特等奖,2-一等奖,3-二等奖,4-三等奖,5-优秀奖', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'AwardLevel' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'证书类型:1-冠军证书,2-亚军证书,3-季军证书,4-优胜证书,5-参与证书', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'CertificateType' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'证书编号', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'CertificateNo' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'证书URL', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'CertificateUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'证书状态:0-未生成,1-已生成,2-已发放,3-已撤销', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'CertificateStatus' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'生成时间', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'GeneratedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'发放时间', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'IssuedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'证书模板ID', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'TemplateId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的用户ID', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'UserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'归属单位认证 ID(从 EventRegistration 继承)', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate', +'COLUMN', N'MerchantCertificationId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事证书表', +'SCHEMA', N'dbo', +'TABLE', N'EventCertificate' +GO + + +-- ---------------------------- +-- Table structure for EventCustomField +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[EventCustomField]') AND type IN ('U')) + DROP TABLE [dbo].[EventCustomField] +GO + +CREATE TABLE [dbo].[EventCustomField] ( + [Id] bigint NOT NULL, + [EventId] bigint NOT NULL, + [FieldName] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Sort] int NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[EventCustomField] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'EventCustomField', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事ID', +'SCHEMA', N'dbo', +'TABLE', N'EventCustomField', +'COLUMN', N'EventId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'字段名称', +'SCHEMA', N'dbo', +'TABLE', N'EventCustomField', +'COLUMN', N'FieldName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'排序', +'SCHEMA', N'dbo', +'TABLE', N'EventCustomField', +'COLUMN', N'Sort' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'EventCustomField', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'EventCustomField', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'EventCustomField', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'EventCustomField', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'EventCustomField', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事自定义字段表', +'SCHEMA', N'dbo', +'TABLE', N'EventCustomField' +GO + + +-- ---------------------------- +-- Table structure for EventFeeConfig +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[EventFeeConfig]') AND type IN ('U')) + DROP TABLE [dbo].[EventFeeConfig] +GO + +CREATE TABLE [dbo].[EventFeeConfig] ( + [Id] bigint NOT NULL, + [EventId] bigint NOT NULL, + [ChargeMode] int NOT NULL, + [Price] decimal(18,4) NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[EventFeeConfig] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'EventFeeConfig', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的赛事ID', +'SCHEMA', N'dbo', +'TABLE', N'EventFeeConfig', +'COLUMN', N'EventId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'收费模式', +'SCHEMA', N'dbo', +'TABLE', N'EventFeeConfig', +'COLUMN', N'ChargeMode' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事定价(仅当ChargeMode为FixedPrice或UnitPriceEvent时有效)', +'SCHEMA', N'dbo', +'TABLE', N'EventFeeConfig', +'COLUMN', N'Price' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'EventFeeConfig', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'EventFeeConfig', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'EventFeeConfig', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'EventFeeConfig', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'EventFeeConfig', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事费用配置表', +'SCHEMA', N'dbo', +'TABLE', N'EventFeeConfig' +GO + + +-- ---------------------------- +-- Table structure for EventInfo +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[EventInfo]') AND type IN ('U')) + DROP TABLE [dbo].[EventInfo] +GO + +CREATE TABLE [dbo].[EventInfo] ( + [Id] bigint NOT NULL, + [EventName] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [CoverImage] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [EventVideo] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [EventType] int NOT NULL, + [ChargeMode] int NOT NULL, + [EventStatus] int NOT NULL, + [RegistrationType] int NOT NULL, + [PointsRuleId] bigint NULL, + [RegistrationStartTime] datetime NOT NULL, + [RegistrationEndTime] datetime NOT NULL, + [IsNeedMaterial] bit NOT NULL, + [MaterialRemark] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [MaterialUploadStartTime] datetime NULL, + [MaterialUploadEndTime] datetime NULL, + [MatchStartTime] datetime NOT NULL, + [MatchEndTime] datetime NOT NULL, + [ProvinceId] bigint NULL, + [CityId] bigint NULL, + [DistrictId] bigint NULL, + [DetailAddress] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [EventIntroduction] text COLLATE Chinese_PRC_CI_AS NULL, + [ProcessStatus] int NOT NULL, + [Status] int NOT NULL, + [CreatedUserId] bigint NOT NULL, + [UpdatedTime] datetime NULL, + [DeleteMark] bit NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [CustomConfigJson] text COLLATE Chinese_PRC_CI_AS NULL, + [QrCodeUrl] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [MerchantId] bigint NULL, + [PointsRuleSnapshot] text COLLATE Chinese_PRC_CI_AS NULL, + [RefundRuleSnapshot] text COLLATE Chinese_PRC_CI_AS NULL +) +GO + +ALTER TABLE [dbo].[EventInfo] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事名称', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'EventName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'封面图片URL', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'CoverImage' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事视频URL', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'EventVideo' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事类型:线上/线下', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'EventType' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'收费模式', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'ChargeMode' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事状态:报名中/比赛中/已结束', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'EventStatus' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'报名方式:个人/团队/混合', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'RegistrationType' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'积分发放规则ID', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'PointsRuleId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'报名开始时间', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'RegistrationStartTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'报名结束时间', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'RegistrationEndTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'是否需要上传素材', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'IsNeedMaterial' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'上传素材备注', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'MaterialRemark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'素材上传开始时间', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'MaterialUploadStartTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'素材上传结束时间', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'MaterialUploadEndTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'比赛开始时间', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'MatchStartTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'比赛结束时间', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'MatchEndTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'省份Id', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'ProvinceId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'城市Id', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'CityId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'区县Id', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'DistrictId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'详细地址', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'DetailAddress' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事简介', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'EventIntroduction' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'流程状态(用于标识创建步骤)', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'ProcessStatus' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'自定义字段配置(JSON字符串)', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'CustomConfigJson' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事二维码URL', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'QrCodeUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联商户ID', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'MerchantId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'积分规则快照(JSON格式,保存创建/编辑赛事时的积分规则)', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'PointsRuleSnapshot' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'退款规则快照(JSON格式,保存创建/编辑赛事时的退款规则)', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo', +'COLUMN', N'RefundRuleSnapshot' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事信息表', +'SCHEMA', N'dbo', +'TABLE', N'EventInfo' +GO + + +-- ---------------------------- +-- Table structure for EventParticipant +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[EventParticipant]') AND type IN ('U')) + DROP TABLE [dbo].[EventParticipant] +GO + +CREATE TABLE [dbo].[EventParticipant] ( + [Id] bigint NOT NULL, + [EventId] bigint NOT NULL, + [HostName] varchar(128) COLLATE Chinese_PRC_CI_AS NULL, + [HostLogoUrl] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [OrganizerName] varchar(128) COLLATE Chinese_PRC_CI_AS NULL, + [OrganizerLogoUrl] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [CoOrganizerName] varchar(128) COLLATE Chinese_PRC_CI_AS NULL, + [CoOrganizerLogoUrl] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [SponsorName] varchar(128) COLLATE Chinese_PRC_CI_AS NULL, + [SponsorLogoUrl] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[EventParticipant] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipant', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的赛事ID', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipant', +'COLUMN', N'EventId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主办单位名称', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipant', +'COLUMN', N'HostName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主办单位LOGO', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipant', +'COLUMN', N'HostLogoUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'承办单位名称', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipant', +'COLUMN', N'OrganizerName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'承办单位LOGO', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipant', +'COLUMN', N'OrganizerLogoUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'协办单位名称', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipant', +'COLUMN', N'CoOrganizerName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'协办单位LOGO', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipant', +'COLUMN', N'CoOrganizerLogoUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赞助单位名称', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipant', +'COLUMN', N'SponsorName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赞助单位LOGO', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipant', +'COLUMN', N'SponsorLogoUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipant', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipant', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipant', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipant', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipant', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事参与单位表', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipant' +GO + + +-- ---------------------------- +-- Table structure for EventParticipationRecord +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[EventParticipationRecord]') AND type IN ('U')) + DROP TABLE [dbo].[EventParticipationRecord] +GO + +CREATE TABLE [dbo].[EventParticipationRecord] ( + [Id] bigint NOT NULL, + [RegistrationId] bigint NOT NULL, + [RegistrationItemId] bigint NOT NULL, + [RegistrationPersonId] bigint NOT NULL, + [EventId] bigint NOT NULL, + [ProjectId] bigint NOT NULL, + [ParticipantName] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [GroupName] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [ParticipationStatus] int NOT NULL, + [ParticipationTime] datetime NULL, + [FinishTime] datetime NULL, + [CancelReason] text COLLATE Chinese_PRC_CI_AS NULL, + [CancelTime] datetime NULL, + [Remark] text COLLATE Chinese_PRC_CI_AS NULL, + [UpdatedTime] datetime NULL, + [CreatedTime] datetime NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [UpdatedUserId] bigint NULL +) +GO + +ALTER TABLE [dbo].[EventParticipationRecord] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的报名ID', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord', +'COLUMN', N'RegistrationId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的报名项目ID', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord', +'COLUMN', N'RegistrationItemId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的报名人员ID', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord', +'COLUMN', N'RegistrationPersonId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事ID', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord', +'COLUMN', N'EventId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事项目ID', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord', +'COLUMN', N'ProjectId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'参赛选手姓名', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord', +'COLUMN', N'ParticipantName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'参赛组别', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord', +'COLUMN', N'GroupName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'参赛状态', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord', +'COLUMN', N'ParticipationStatus' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'参赛时间', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord', +'COLUMN', N'ParticipationTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'完赛时间', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord', +'COLUMN', N'FinishTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'取消报名原因', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord', +'COLUMN', N'CancelReason' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'取消报名时间', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord', +'COLUMN', N'CancelTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事参赛记录表', +'SCHEMA', N'dbo', +'TABLE', N'EventParticipationRecord' +GO + + +-- ---------------------------- +-- Table structure for EventProject +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[EventProject]') AND type IN ('U')) + DROP TABLE [dbo].[EventProject] +GO + +CREATE TABLE [dbo].[EventProject] ( + [Id] bigint NOT NULL, + [EventId] bigint NOT NULL, + [UpdatedTime] datetime NULL, + [CreatedTime] datetime NOT NULL, + [ProjectId] bigint NOT NULL, + [GenderType] int NOT NULL, + [Price] decimal(10,2) NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [UpdatedUserId] bigint NULL +) +GO + +ALTER TABLE [dbo].[EventProject] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'EventProject', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事ID', +'SCHEMA', N'dbo', +'TABLE', N'EventProject', +'COLUMN', N'EventId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'EventProject', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'EventProject', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'项目ID', +'SCHEMA', N'dbo', +'TABLE', N'EventProject', +'COLUMN', N'ProjectId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'性别要求 (男/女/不限)', +'SCHEMA', N'dbo', +'TABLE', N'EventProject', +'COLUMN', N'GenderType' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'价格', +'SCHEMA', N'dbo', +'TABLE', N'EventProject', +'COLUMN', N'Price' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'EventProject', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'EventProject', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'EventProject', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事项目关联表', +'SCHEMA', N'dbo', +'TABLE', N'EventProject' +GO + + +-- ---------------------------- +-- Table structure for EventProjectFee +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[EventProjectFee]') AND type IN ('U')) + DROP TABLE [dbo].[EventProjectFee] +GO + +CREATE TABLE [dbo].[EventProjectFee] ( + [Id] bigint NOT NULL, + [FeeConfigId] bigint NOT NULL, + [ProjectId] bigint NOT NULL, + [Price] decimal(18,4) NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[EventProjectFee] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectFee', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的费用配置ID', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectFee', +'COLUMN', N'FeeConfigId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的项目ID', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectFee', +'COLUMN', N'ProjectId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'项目价格', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectFee', +'COLUMN', N'Price' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectFee', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectFee', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectFee', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectFee', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectFee', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事项目费用配置表', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectFee' +GO + + +-- ---------------------------- +-- Table structure for EventProjectGroup +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[EventProjectGroup]') AND type IN ('U')) + DROP TABLE [dbo].[EventProjectGroup] +GO + +CREATE TABLE [dbo].[EventProjectGroup] ( + [Id] bigint NOT NULL, + [EventId] bigint NOT NULL, + [EventProjectId] bigint NOT NULL, + [ProjectId] bigint NOT NULL, + [ProjectGroupId] bigint NOT NULL, + [GroupName] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [BirthDateStart] datetime NOT NULL, + [BirthDateEnd] datetime NOT NULL, + [Gender] int NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[EventProjectGroup] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectGroup', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事ID', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectGroup', +'COLUMN', N'EventId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事项目ID', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectGroup', +'COLUMN', N'EventProjectId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的项目ID', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectGroup', +'COLUMN', N'ProjectId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的项目组别ID', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectGroup', +'COLUMN', N'ProjectGroupId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'组别名称', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectGroup', +'COLUMN', N'GroupName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'出生日期起始日期', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectGroup', +'COLUMN', N'BirthDateStart' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'出生日期结束日期', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectGroup', +'COLUMN', N'BirthDateEnd' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'性别要求', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectGroup', +'COLUMN', N'Gender' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectGroup', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectGroup', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectGroup', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectGroup', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectGroup', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事项目组别表', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectGroup' +GO + + +-- ---------------------------- +-- Table structure for EventProjectRegistrationLimit +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[EventProjectRegistrationLimit]') AND type IN ('U')) + DROP TABLE [dbo].[EventProjectRegistrationLimit] +GO + +CREATE TABLE [dbo].[EventProjectRegistrationLimit] ( + [Id] bigint NOT NULL, + [EventId] bigint NOT NULL, + [ProjectId] bigint NOT NULL, + [LimitCount] int NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[EventProjectRegistrationLimit] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectRegistrationLimit', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的赛事ID', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectRegistrationLimit', +'COLUMN', N'EventId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的赛事项目ID', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectRegistrationLimit', +'COLUMN', N'ProjectId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'项目报名限制数量(每个单位或团队最多报多少个该项目)', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectRegistrationLimit', +'COLUMN', N'LimitCount' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectRegistrationLimit', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectRegistrationLimit', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectRegistrationLimit', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectRegistrationLimit', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectRegistrationLimit', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事项目报名限制表', +'SCHEMA', N'dbo', +'TABLE', N'EventProjectRegistrationLimit' +GO + + +-- ---------------------------- +-- Table structure for EventRegistration +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[EventRegistration]') AND type IN ('U')) + DROP TABLE [dbo].[EventRegistration] +GO + +CREATE TABLE [dbo].[EventRegistration] ( + [Id] bigint NOT NULL, + [EventId] bigint NOT NULL, + [RegistrationMode] int NOT NULL, + [TeamName] varchar(128) COLLATE Chinese_PRC_CI_AS NULL, + [ContactName] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [ContactPhone] varchar(16) COLLATE Chinese_PRC_CI_AS NOT NULL, + [ContactEmail] varchar(64) COLLATE Chinese_PRC_CI_AS NULL, + [TotalPersonCount] int NOT NULL, + [TotalAmount] decimal(18,4) NOT NULL, + [PaymentStatus] int NOT NULL, + [PaymentMethod] int NOT NULL, + [OrderNo] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [PaymentTime] datetime NULL, + [Reviewer] varchar(64) COLLATE Chinese_PRC_CI_AS NULL, + [ReviewTime] datetime NULL, + [ReviewRemark] text COLLATE Chinese_PRC_CI_AS NULL, + [RegistrationRemark] text COLLATE Chinese_PRC_CI_AS NULL, + [RegistrationTime] datetime NOT NULL, + [Status] int NOT NULL, + [UpdatedTime] datetime NULL, + [DeleteMark] bit NOT NULL, + [CreatedTime] datetime NOT NULL, + [PaymentProofUrl] varchar(512) COLLATE Chinese_PRC_CI_AS NULL, + [MaterialUrl] varchar(512) COLLATE Chinese_PRC_CI_AS NULL, + [CreatedUserId] bigint NOT NULL, + [UpdatedUserId] bigint NULL, + [PaymentMethodType] int NOT NULL, + [MerchantCertificationId] bigint NULL +) +GO + +ALTER TABLE [dbo].[EventRegistration] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的赛事ID', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'EventId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'报名方式:1-个人,2-团队', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'RegistrationMode' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'团队名称', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'TeamName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'报名者姓名', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'ContactName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'报名者电话', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'ContactPhone' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'报名者邮箱', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'ContactEmail' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'总人数', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'TotalPersonCount' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'总费用', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'TotalAmount' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'支付状态:0-未支付/待审核,1-已支付/审核通过,2-支付失败/审核拒绝,3-已退款,4-已取消', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'PaymentStatus' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'支付方式:1-线下,2-线上', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'PaymentMethod' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'订单编号', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'OrderNo' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'支付时间', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'PaymentTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'审核人', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'Reviewer' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'审核时间', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'ReviewTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'审核备注', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'ReviewRemark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'报名备注', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'RegistrationRemark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'报名时间', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'RegistrationTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'支付凭证图片URL', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'PaymentProofUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'上传的素材URL', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'MaterialUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'具体支付方式', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'PaymentMethodType' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'归属单位认证 ID(记录报名时的单位)', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration', +'COLUMN', N'MerchantCertificationId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事报名表', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistration' +GO + + +-- ---------------------------- +-- Table structure for EventRegistrationItem +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[EventRegistrationItem]') AND type IN ('U')) + DROP TABLE [dbo].[EventRegistrationItem] +GO + +CREATE TABLE [dbo].[EventRegistrationItem] ( + [Id] bigint NOT NULL, + [RegistrationId] bigint NOT NULL, + [ProjectId] bigint NOT NULL, + [ProjectName] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [GroupName] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [UnitPrice] decimal(18,4) NOT NULL, + [PersonCount] int NOT NULL, + [TotalPrice] decimal(18,4) NOT NULL, + [Remark] text COLLATE Chinese_PRC_CI_AS NULL, + [ProjectTypeName] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL, + [EventProjectGroupId] bigint NULL, + [RefundOrderId] bigint NULL +) +GO + +ALTER TABLE [dbo].[EventRegistrationItem] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationItem', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的报名ID', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationItem', +'COLUMN', N'RegistrationId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'参赛项目ID', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationItem', +'COLUMN', N'ProjectId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'参赛项目名称', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationItem', +'COLUMN', N'ProjectName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'所属组别', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationItem', +'COLUMN', N'GroupName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'单项目费用(元)', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationItem', +'COLUMN', N'UnitPrice' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'报名人数', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationItem', +'COLUMN', N'PersonCount' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'项目总费用(元)', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationItem', +'COLUMN', N'TotalPrice' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationItem', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'项目类型名称', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationItem', +'COLUMN', N'ProjectTypeName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationItem', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationItem', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationItem', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationItem', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationItem', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'参赛项目组别ID', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationItem', +'COLUMN', N'EventProjectGroupId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的退款订单ID', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationItem', +'COLUMN', N'RefundOrderId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事报名项目关联表', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationItem' +GO + + +-- ---------------------------- +-- Table structure for EventRegistrationLimit +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[EventRegistrationLimit]') AND type IN ('U')) + DROP TABLE [dbo].[EventRegistrationLimit] +GO + +CREATE TABLE [dbo].[EventRegistrationLimit] ( + [Id] bigint NOT NULL, + [EventId] bigint NOT NULL, + [IndividualProjectLimit] int NOT NULL, + [TeamProjectLimit] int NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[EventRegistrationLimit] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationLimit', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的赛事ID', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationLimit', +'COLUMN', N'EventId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'个人项目限报数量(每人最多报多少个个人项目)', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationLimit', +'COLUMN', N'IndividualProjectLimit' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'团队项目限报数量(每人最多报多少个团队项目)', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationLimit', +'COLUMN', N'TeamProjectLimit' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationLimit', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationLimit', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationLimit', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationLimit', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationLimit', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事报名限制表', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationLimit' +GO + + +-- ---------------------------- +-- Table structure for EventRegistrationPayment +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[EventRegistrationPayment]') AND type IN ('U')) + DROP TABLE [dbo].[EventRegistrationPayment] +GO + +CREATE TABLE [dbo].[EventRegistrationPayment] ( + [Id] bigint NOT NULL, + [RegistrationId] bigint NOT NULL, + [TransactionNo] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [PaymentChannel] int NOT NULL, + [PaymentAmount] decimal(18,4) NOT NULL, + [PaymentTime] datetime NOT NULL, + [PaymentStatus] int NOT NULL, + [RefundStatus] int NOT NULL, + [RefundAmount] decimal(18,4) NOT NULL, + [RefundTime] datetime NULL, + [RefundReason] text COLLATE Chinese_PRC_CI_AS NULL, + [PayeeAccount] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [PayerAccount] varchar(128) COLLATE Chinese_PRC_CI_AS NULL, + [Remark] text COLLATE Chinese_PRC_CI_AS NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[EventRegistrationPayment] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的报名ID', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment', +'COLUMN', N'RegistrationId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'支付流水号', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment', +'COLUMN', N'TransactionNo' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'支付渠道:1-微信支付,2-支付宝,3-线下支付', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment', +'COLUMN', N'PaymentChannel' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'支付金额(元)', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment', +'COLUMN', N'PaymentAmount' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'支付时间', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment', +'COLUMN', N'PaymentTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'支付状态:0-待支付,1-已支付,2-支付失败,3-已退款', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment', +'COLUMN', N'PaymentStatus' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'退款状态:0-未退款,1-退款中,2-已退款,3-退款失败', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment', +'COLUMN', N'RefundStatus' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'退款金额(元)', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment', +'COLUMN', N'RefundAmount' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'退款时间', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment', +'COLUMN', N'RefundTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'退款原因', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment', +'COLUMN', N'RefundReason' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'收款账户', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment', +'COLUMN', N'PayeeAccount' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'付款账户', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment', +'COLUMN', N'PayerAccount' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事报名支付信息表', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPayment' +GO + + +-- ---------------------------- +-- Table structure for EventRegistrationPerson +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[EventRegistrationPerson]') AND type IN ('U')) + DROP TABLE [dbo].[EventRegistrationPerson] +GO + +CREATE TABLE [dbo].[EventRegistrationPerson] ( + [Id] bigint NOT NULL, + [RegistrationId] bigint NOT NULL, + [RegistrationItemId] bigint NOT NULL, + [ProjectId] bigint NOT NULL, + [PersonType] int NOT NULL, + [Name] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Gender] int NOT NULL, + [IdCard] varchar(18) COLLATE Chinese_PRC_CI_AS NOT NULL, + [BirthDate] datetime NOT NULL, + [Phone] varchar(16) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Age] int NOT NULL, + [Email] varchar(64) COLLATE Chinese_PRC_CI_AS NULL, + [GroupName] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [ProjectName] varchar(128) COLLATE Chinese_PRC_CI_AS NULL, + [CustomFieldValue] varchar(128) COLLATE Chinese_PRC_CI_AS NULL, + [Remark] text COLLATE Chinese_PRC_CI_AS NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL, + [EventProjectGroupId] bigint NULL, + [UserId] bigint NOT NULL, + [RefundOrderId] bigint NULL +) +GO + +ALTER TABLE [dbo].[EventRegistrationPerson] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的报名ID', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'RegistrationId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的报名项目ID', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'RegistrationItemId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的赛事项目ID', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'ProjectId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'人员类型:1-运动员,2-教练,3-领队', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'PersonType' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'姓名', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'Name' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'性别', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'Gender' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'身份证号', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'IdCard' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'出生日期', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'BirthDate' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'手机号', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'Phone' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'年龄', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'Age' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'邮箱', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'Email' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'所属组别', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'GroupName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'参赛项目名称', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'ProjectName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'自定义字段值', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'CustomFieldValue' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'参赛项目组别ID', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'EventProjectGroupId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的用户ID(必填)', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'UserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的退款订单ID', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson', +'COLUMN', N'RefundOrderId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事报名人员表', +'SCHEMA', N'dbo', +'TABLE', N'EventRegistrationPerson' +GO + + +-- ---------------------------- +-- Table structure for EventResult +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[EventResult]') AND type IN ('U')) + DROP TABLE [dbo].[EventResult] +GO + +CREATE TABLE [dbo].[EventResult] ( + [Id] bigint NOT NULL, + [ParticipationRecordId] bigint NOT NULL, + [RegistrationId] bigint NOT NULL, + [RegistrationPersonId] bigint NOT NULL, + [EventId] bigint NOT NULL, + [ProjectId] bigint NOT NULL, + [ParticipantName] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [GroupName] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Score] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Rank] int NOT NULL, + [AwardLevel] int NOT NULL, + [AwardStatus] int NOT NULL, + [Remark] text COLLATE Chinese_PRC_CI_AS NULL, + [UpdatedTime] datetime NULL, + [CreatedTime] datetime NOT NULL, + [ProjectTypeName] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [UpdatedUserId] bigint NULL, + [Status] int NOT NULL, + [MerchantCertificationId] bigint NULL +) +GO + +ALTER TABLE [dbo].[EventResult] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的参赛记录ID', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'ParticipationRecordId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的报名ID', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'RegistrationId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的报名人员ID', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'RegistrationPersonId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事ID', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'EventId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事项目ID', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'ProjectId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'参赛选手姓名', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'ParticipantName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'参赛组别', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'GroupName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'成绩', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'Score' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'排名', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'Rank' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'获奖等级:1-特等奖,2-一等奖,3-二等奖,4-三等奖,5-优秀奖', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'AwardLevel' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'获奖状态:0-未获奖,1-已获奖', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'AwardStatus' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'项目类型名称', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'ProjectTypeName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'归属单位认证 ID(从 EventRegistration 继承)', +'SCHEMA', N'dbo', +'TABLE', N'EventResult', +'COLUMN', N'MerchantCertificationId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事成绩表', +'SCHEMA', N'dbo', +'TABLE', N'EventResult' +GO + + +-- ---------------------------- +-- Table structure for EventScoreSheet +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[EventScoreSheet]') AND type IN ('U')) + DROP TABLE [dbo].[EventScoreSheet] +GO + +CREATE TABLE [dbo].[EventScoreSheet] ( + [Id] bigint NOT NULL, + [EventId] bigint NOT NULL, + [ProjectId] bigint NOT NULL, + [ProjectName] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [GroupName] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Round] int NOT NULL, + [SheetName] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [ScoreCriteria] text COLLATE Chinese_PRC_CI_AS NULL, + [ScoreStatus] int NOT NULL, + [StartScoreTime] datetime NULL, + [EndScoreTime] datetime NULL, + [Remark] text COLLATE Chinese_PRC_CI_AS NULL, + [UpdatedTime] datetime NULL, + [CreatedTime] datetime NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [UpdatedUserId] bigint NULL +) +GO + +ALTER TABLE [dbo].[EventScoreSheet] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'EventScoreSheet', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的赛事ID', +'SCHEMA', N'dbo', +'TABLE', N'EventScoreSheet', +'COLUMN', N'EventId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的项目ID', +'SCHEMA', N'dbo', +'TABLE', N'EventScoreSheet', +'COLUMN', N'ProjectId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'项目名称', +'SCHEMA', N'dbo', +'TABLE', N'EventScoreSheet', +'COLUMN', N'ProjectName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'参赛组别', +'SCHEMA', N'dbo', +'TABLE', N'EventScoreSheet', +'COLUMN', N'GroupName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'评分轮次', +'SCHEMA', N'dbo', +'TABLE', N'EventScoreSheet', +'COLUMN', N'Round' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'评分表名称', +'SCHEMA', N'dbo', +'TABLE', N'EventScoreSheet', +'COLUMN', N'SheetName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'评分标准', +'SCHEMA', N'dbo', +'TABLE', N'EventScoreSheet', +'COLUMN', N'ScoreCriteria' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'评分状态:0-未开始,1-评分中,2-已完成,3-已锁定', +'SCHEMA', N'dbo', +'TABLE', N'EventScoreSheet', +'COLUMN', N'ScoreStatus' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'开始评分时间', +'SCHEMA', N'dbo', +'TABLE', N'EventScoreSheet', +'COLUMN', N'StartScoreTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'结束评分时间', +'SCHEMA', N'dbo', +'TABLE', N'EventScoreSheet', +'COLUMN', N'EndScoreTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'EventScoreSheet', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'EventScoreSheet', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'EventScoreSheet', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'EventScoreSheet', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'EventScoreSheet', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'EventScoreSheet', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事评分表', +'SCHEMA', N'dbo', +'TABLE', N'EventScoreSheet' +GO + + +-- ---------------------------- +-- Table structure for EventUnit +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[EventUnit]') AND type IN ('U')) + DROP TABLE [dbo].[EventUnit] +GO + +CREATE TABLE [dbo].[EventUnit] ( + [Id] bigint NOT NULL, + [EventId] bigint NOT NULL, + [UnitType] int NOT NULL, + [UnitName] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [LogoUrl] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [Sort] int NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL, + [CustomUnitType] varchar(128) COLLATE Chinese_PRC_CI_AS NULL +) +GO + +ALTER TABLE [dbo].[EventUnit] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'EventUnit', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的赛事ID', +'SCHEMA', N'dbo', +'TABLE', N'EventUnit', +'COLUMN', N'EventId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'单位类型(枚举:0=主办,1=承办,2=协办,3=赞助)', +'SCHEMA', N'dbo', +'TABLE', N'EventUnit', +'COLUMN', N'UnitType' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'单位名称', +'SCHEMA', N'dbo', +'TABLE', N'EventUnit', +'COLUMN', N'UnitName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'单位LOGO URL', +'SCHEMA', N'dbo', +'TABLE', N'EventUnit', +'COLUMN', N'LogoUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'排序', +'SCHEMA', N'dbo', +'TABLE', N'EventUnit', +'COLUMN', N'Sort' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'EventUnit', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'EventUnit', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'EventUnit', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'EventUnit', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'EventUnit', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'自定义单位类型(当需要自定义时使用)', +'SCHEMA', N'dbo', +'TABLE', N'EventUnit', +'COLUMN', N'CustomUnitType' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事参与单位表', +'SCHEMA', N'dbo', +'TABLE', N'EventUnit' +GO + + +-- ---------------------------- +-- Table structure for FriendLink +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[FriendLink]') AND type IN ('U')) + DROP TABLE [dbo].[FriendLink] +GO + +CREATE TABLE [dbo].[FriendLink] ( + [Id] bigint NOT NULL, + [AppUserId] bigint NULL, + [SiteName] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Link] varchar(256) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Logo] varchar(256) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Url] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [IsIgnoreCheck] bit NOT NULL, + [Remark] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [Sort] int NOT NULL, + [Status] int NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedTime] datetime NOT NULL +) +GO + +ALTER TABLE [dbo].[FriendLink] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'FriendLink', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'博客用户Id', +'SCHEMA', N'dbo', +'TABLE', N'FriendLink', +'COLUMN', N'AppUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'网站名称', +'SCHEMA', N'dbo', +'TABLE', N'FriendLink', +'COLUMN', N'SiteName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'网站链接', +'SCHEMA', N'dbo', +'TABLE', N'FriendLink', +'COLUMN', N'Link' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'网站logo', +'SCHEMA', N'dbo', +'TABLE', N'FriendLink', +'COLUMN', N'Logo' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'对方博客友链的地址', +'SCHEMA', N'dbo', +'TABLE', N'FriendLink', +'COLUMN', N'Url' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'是否忽略对方站点是否存在本站链接', +'SCHEMA', N'dbo', +'TABLE', N'FriendLink', +'COLUMN', N'IsIgnoreCheck' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'FriendLink', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'排序值(值越小越靠前)', +'SCHEMA', N'dbo', +'TABLE', N'FriendLink', +'COLUMN', N'Sort' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'FriendLink', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'FriendLink', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'FriendLink', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'友情链接', +'SCHEMA', N'dbo', +'TABLE', N'FriendLink' +GO + + +-- ---------------------------- +-- Table structure for Merchant +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[Merchant]') AND type IN ('U')) + DROP TABLE [dbo].[Merchant] +GO + +CREATE TABLE [dbo].[Merchant] ( + [Id] bigint NOT NULL, + [MerchantName] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [CreditCode] varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL, + [BankName] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [AccountNumber] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [BusinessLicenseUrl] varchar(256) COLLATE Chinese_PRC_CI_AS NOT NULL, + [ContactPhone] varchar(16) COLLATE Chinese_PRC_CI_AS NULL, + [Status] int NOT NULL, + [CreatedUserId] bigint NOT NULL, + [UpdatedTime] datetime NULL, + [DeleteMark] bit NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [Address] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [AuditStatus] int NULL, + [AuditRemark] varchar(512) COLLATE Chinese_PRC_CI_AS NULL +) +GO + +ALTER TABLE [dbo].[Merchant] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'Merchant', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'商户名称', +'SCHEMA', N'dbo', +'TABLE', N'Merchant', +'COLUMN', N'MerchantName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'统一社会信用代码', +'SCHEMA', N'dbo', +'TABLE', N'Merchant', +'COLUMN', N'CreditCode' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'开户行', +'SCHEMA', N'dbo', +'TABLE', N'Merchant', +'COLUMN', N'BankName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'账号', +'SCHEMA', N'dbo', +'TABLE', N'Merchant', +'COLUMN', N'AccountNumber' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'营业执照图片URL', +'SCHEMA', N'dbo', +'TABLE', N'Merchant', +'COLUMN', N'BusinessLicenseUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'联系电话', +'SCHEMA', N'dbo', +'TABLE', N'Merchant', +'COLUMN', N'ContactPhone' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'Merchant', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'Merchant', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'Merchant', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'Merchant', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'Merchant', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'Merchant', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'地址', +'SCHEMA', N'dbo', +'TABLE', N'Merchant', +'COLUMN', N'Address' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'审核状态', +'SCHEMA', N'dbo', +'TABLE', N'Merchant', +'COLUMN', N'AuditStatus' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'审核备注', +'SCHEMA', N'dbo', +'TABLE', N'Merchant', +'COLUMN', N'AuditRemark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'商户管理表', +'SCHEMA', N'dbo', +'TABLE', N'Merchant' +GO + + +-- ---------------------------- +-- Table structure for MerchantCertification +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[MerchantCertification]') AND type IN ('U')) + DROP TABLE [dbo].[MerchantCertification] +GO + +CREATE TABLE [dbo].[MerchantCertification] ( + [Id] bigint NOT NULL, + [UserId] bigint NOT NULL, + [MerchantName] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [CreditCode] varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL, + [BusinessLicenseUrl] varchar(256) COLLATE Chinese_PRC_CI_AS NOT NULL, + [ContactPhone] varchar(16) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Address] varchar(256) COLLATE Chinese_PRC_CI_AS NOT NULL, + [AuditStatus] int NOT NULL, + [AuditRemark] varchar(512) COLLATE Chinese_PRC_CI_AS NULL, + [Status] int NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[MerchantCertification] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'MerchantCertification', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'用户ID', +'SCHEMA', N'dbo', +'TABLE', N'MerchantCertification', +'COLUMN', N'UserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'单位名称', +'SCHEMA', N'dbo', +'TABLE', N'MerchantCertification', +'COLUMN', N'MerchantName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'统一社会信用代码', +'SCHEMA', N'dbo', +'TABLE', N'MerchantCertification', +'COLUMN', N'CreditCode' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'营业执照图片URL', +'SCHEMA', N'dbo', +'TABLE', N'MerchantCertification', +'COLUMN', N'BusinessLicenseUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'联系电话', +'SCHEMA', N'dbo', +'TABLE', N'MerchantCertification', +'COLUMN', N'ContactPhone' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'地址', +'SCHEMA', N'dbo', +'TABLE', N'MerchantCertification', +'COLUMN', N'Address' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'审核状态', +'SCHEMA', N'dbo', +'TABLE', N'MerchantCertification', +'COLUMN', N'AuditStatus' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'审核备注', +'SCHEMA', N'dbo', +'TABLE', N'MerchantCertification', +'COLUMN', N'AuditRemark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'MerchantCertification', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'MerchantCertification', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'MerchantCertification', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'MerchantCertification', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'MerchantCertification', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'MerchantCertification', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'单位认证表', +'SCHEMA', N'dbo', +'TABLE', N'MerchantCertification' +GO + + +-- ---------------------------- +-- Table structure for Order +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[Order]') AND type IN ('U')) + DROP TABLE [dbo].[Order] +GO + +CREATE TABLE [dbo].[Order] ( + [Id] bigint NOT NULL, + [OrderNo] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [OrderType] int NOT NULL, + [MerchantId] bigint NULL, + [EventId] bigint NOT NULL, + [RegistrationId] bigint NOT NULL, + [RelatedOrderId] bigint NULL, + [CouponId] bigint NULL, + [OriginalAmount] decimal(18,4) NOT NULL, + [DiscountAmount] decimal(18,4) NOT NULL, + [ActualAmount] decimal(18,4) NOT NULL, + [OrderStatus] int NOT NULL, + [PaymentTime] datetime NULL, + [Remark] varchar(512) COLLATE Chinese_PRC_CI_AS NULL, + [Status] int NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL, + [MerchantCertificationId] bigint NULL, + [PayeeName] varchar(128) COLLATE Chinese_PRC_CI_AS NULL, + [PayeeBankName] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [PayeeBankAccount] varchar(64) COLLATE Chinese_PRC_CI_AS NULL +) +GO + +ALTER TABLE [dbo].[Order] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'订单编号', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'OrderNo' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'订单类型:1-收入,2-退款', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'OrderType' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'商户ID(支付商户)', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'MerchantId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'赛事ID', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'EventId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'报名ID', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'RegistrationId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联订单ID(退款时关联原订单)', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'RelatedOrderId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'优惠券ID', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'CouponId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'原金额', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'OriginalAmount' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'优惠金额', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'DiscountAmount' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'实付/退款金额', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'ActualAmount' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'订单状态', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'OrderStatus' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'支付/退款时间', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'PaymentTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'单位认证ID(单位关联)', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'MerchantCertificationId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'收款人姓名(线下支付退款时使用)', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'PayeeName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'收款人开户行(线下支付退款时使用)', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'PayeeBankName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'收款人银行卡号(线下支付退款时使用)', +'SCHEMA', N'dbo', +'TABLE', N'Order', +'COLUMN', N'PayeeBankAccount' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'订单表', +'SCHEMA', N'dbo', +'TABLE', N'Order' +GO + + +-- ---------------------------- +-- Table structure for Pictures +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[Pictures]') AND type IN ('U')) + DROP TABLE [dbo].[Pictures] +GO + +CREATE TABLE [dbo].[Pictures] ( + [Id] bigint NOT NULL, + [AlbumId] bigint NOT NULL, + [Url] varchar(256) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Remark] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [CreatedTime] datetime NOT NULL +) +GO + +ALTER TABLE [dbo].[Pictures] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'Pictures', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'相册Id', +'SCHEMA', N'dbo', +'TABLE', N'Pictures', +'COLUMN', N'AlbumId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'图片地址', +'SCHEMA', N'dbo', +'TABLE', N'Pictures', +'COLUMN', N'Url' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'Pictures', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'Pictures', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'相册图片表', +'SCHEMA', N'dbo', +'TABLE', N'Pictures' +GO + + +-- ---------------------------- +-- Table structure for PointsRecord +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[PointsRecord]') AND type IN ('U')) + DROP TABLE [dbo].[PointsRecord] +GO + +CREATE TABLE [dbo].[PointsRecord] ( + [Id] bigint NOT NULL, + [UserId] bigint NOT NULL, + [Type] int NOT NULL, + [Points] decimal(18) NOT NULL, + [Remark] varchar(512) COLLATE Chinese_PRC_CI_AS NULL, + [Status] int NOT NULL, + [CreatedUserId] bigint NOT NULL, + [UpdatedTime] datetime NULL, + [DeleteMark] bit NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [EventId] bigint NULL, + [ProjectId] bigint NULL, + [ProjectGroupId] bigint NULL, + [MerchantCertificationId] bigint NULL, + [ResultId] bigint NULL +) +GO + +ALTER TABLE [dbo].[PointsRecord] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'PointsRecord', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'用户ID(普通用户积分关联)', +'SCHEMA', N'dbo', +'TABLE', N'PointsRecord', +'COLUMN', N'UserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'积分变动类型:1-获取,2-消耗', +'SCHEMA', N'dbo', +'TABLE', N'PointsRecord', +'COLUMN', N'Type' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'变动积分', +'SCHEMA', N'dbo', +'TABLE', N'PointsRecord', +'COLUMN', N'Points' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'PointsRecord', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'PointsRecord', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'PointsRecord', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'PointsRecord', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'PointsRecord', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'PointsRecord', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'PointsRecord', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联赛事ID', +'SCHEMA', N'dbo', +'TABLE', N'PointsRecord', +'COLUMN', N'EventId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联项目ID', +'SCHEMA', N'dbo', +'TABLE', N'PointsRecord', +'COLUMN', N'ProjectId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联项目组别ID', +'SCHEMA', N'dbo', +'TABLE', N'PointsRecord', +'COLUMN', N'ProjectGroupId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'单位认证ID(单位用户积分关联)', +'SCHEMA', N'dbo', +'TABLE', N'PointsRecord', +'COLUMN', N'MerchantCertificationId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联成绩记录ID', +'SCHEMA', N'dbo', +'TABLE', N'PointsRecord', +'COLUMN', N'ResultId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'积分记录表', +'SCHEMA', N'dbo', +'TABLE', N'PointsRecord' +GO + + +-- ---------------------------- +-- Table structure for PointsRule +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[PointsRule]') AND type IN ('U')) + DROP TABLE [dbo].[PointsRule] +GO + +CREATE TABLE [dbo].[PointsRule] ( + [Id] bigint NOT NULL, + [RuleName] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [ParticipationPoints] int NULL, + [Remark] varchar(512) COLLATE Chinese_PRC_CI_AS NULL, + [Status] int NOT NULL, + [CreatedUserId] bigint NOT NULL, + [UpdatedTime] datetime NULL, + [DeleteMark] bit NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL +) +GO + +ALTER TABLE [dbo].[PointsRule] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'PointsRule', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'积分规则名称', +'SCHEMA', N'dbo', +'TABLE', N'PointsRule', +'COLUMN', N'RuleName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'参与积分(发放积分个数)', +'SCHEMA', N'dbo', +'TABLE', N'PointsRule', +'COLUMN', N'ParticipationPoints' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'PointsRule', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'PointsRule', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'PointsRule', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'PointsRule', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'PointsRule', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'PointsRule', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'PointsRule', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'积分规则表', +'SCHEMA', N'dbo', +'TABLE', N'PointsRule' +GO + + +-- ---------------------------- +-- Table structure for PointsRuleDetail +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[PointsRuleDetail]') AND type IN ('U')) + DROP TABLE [dbo].[PointsRuleDetail] +GO + +CREATE TABLE [dbo].[PointsRuleDetail] ( + [Id] bigint NOT NULL, + [PointsRuleId] bigint NOT NULL, + [StartRank] int NOT NULL, + [EndRank] int NOT NULL, + [Points] int NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[PointsRuleDetail] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'PointsRuleDetail', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'积分规则ID', +'SCHEMA', N'dbo', +'TABLE', N'PointsRuleDetail', +'COLUMN', N'PointsRuleId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'起始名次', +'SCHEMA', N'dbo', +'TABLE', N'PointsRuleDetail', +'COLUMN', N'StartRank' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'截止名次', +'SCHEMA', N'dbo', +'TABLE', N'PointsRuleDetail', +'COLUMN', N'EndRank' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'发放积分个数', +'SCHEMA', N'dbo', +'TABLE', N'PointsRuleDetail', +'COLUMN', N'Points' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'PointsRuleDetail', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'PointsRuleDetail', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'PointsRuleDetail', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'PointsRuleDetail', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'PointsRuleDetail', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'积分规则明细表', +'SCHEMA', N'dbo', +'TABLE', N'PointsRuleDetail' +GO + + +-- ---------------------------- +-- Table structure for Praise +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[Praise]') AND type IN ('U')) + DROP TABLE [dbo].[Praise] +GO + +CREATE TABLE [dbo].[Praise] ( + [Id] bigint NOT NULL, + [AccountId] bigint NOT NULL, + [ObjectId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL +) +GO + +ALTER TABLE [dbo].[Praise] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'Praise', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'用户ID', +'SCHEMA', N'dbo', +'TABLE', N'Praise', +'COLUMN', N'AccountId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'点赞对象ID', +'SCHEMA', N'dbo', +'TABLE', N'Praise', +'COLUMN', N'ObjectId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'Praise', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'点赞表', +'SCHEMA', N'dbo', +'TABLE', N'Praise' +GO + + +-- ---------------------------- +-- Table structure for Project +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[Project]') AND type IN ('U')) + DROP TABLE [dbo].[Project] +GO + +CREATE TABLE [dbo].[Project] ( + [Id] bigint NOT NULL, + [Name] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [CompletionCount] int NOT NULL, + [Fee] decimal(18,4) NOT NULL, + [DurationMinutes] int NOT NULL, + [DurationSeconds] int NOT NULL, + [VenueCount] int NOT NULL, + [SortIndex] int NOT NULL, + [Status] int NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL, + [ProjectType] int NOT NULL, + [CompletionCountType] int DEFAULT ((0)) NOT NULL, + [CompletionCountMin] int NULL, + [CompletionCountMax] int NULL, + [Remark] nvarchar(500) COLLATE Chinese_PRC_CI_AS NULL +) +GO + +ALTER TABLE [dbo].[Project] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'Project', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'项目名称', +'SCHEMA', N'dbo', +'TABLE', N'Project', +'COLUMN', N'Name' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'完成人数(单一值模式时有效)', +'SCHEMA', N'dbo', +'TABLE', N'Project', +'COLUMN', N'CompletionCount' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'费用(元)', +'SCHEMA', N'dbo', +'TABLE', N'Project', +'COLUMN', N'Fee' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'时长(分钟)', +'SCHEMA', N'dbo', +'TABLE', N'Project', +'COLUMN', N'DurationMinutes' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'时长(秒)', +'SCHEMA', N'dbo', +'TABLE', N'Project', +'COLUMN', N'DurationSeconds' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'场地数量(编排用)', +'SCHEMA', N'dbo', +'TABLE', N'Project', +'COLUMN', N'VenueCount' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'排序索引(编排用)', +'SCHEMA', N'dbo', +'TABLE', N'Project', +'COLUMN', N'SortIndex' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'Project', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'Project', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'Project', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'Project', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'Project', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'Project', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'项目类型(枚举)', +'SCHEMA', N'dbo', +'TABLE', N'Project', +'COLUMN', N'ProjectType' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'完成人数模式(0=单一值, 1=范围值)', +'SCHEMA', N'dbo', +'TABLE', N'Project', +'COLUMN', N'CompletionCountType' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'完成人数最小值(范围值模式时有效)', +'SCHEMA', N'dbo', +'TABLE', N'Project', +'COLUMN', N'CompletionCountMin' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'完成人数最大值(范围值模式时有效)', +'SCHEMA', N'dbo', +'TABLE', N'Project', +'COLUMN', N'CompletionCountMax' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'Project', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'项目表', +'SCHEMA', N'dbo', +'TABLE', N'Project' +GO + + +-- ---------------------------- +-- Table structure for ProjectGroup +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[ProjectGroup]') AND type IN ('U')) + DROP TABLE [dbo].[ProjectGroup] +GO + +CREATE TABLE [dbo].[ProjectGroup] ( + [Id] bigint NOT NULL, + [ProjectId] bigint NOT NULL, + [GroupName] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [BirthDateStart] datetime NOT NULL, + [BirthDateEnd] datetime NOT NULL, + [Gender] int NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[ProjectGroup] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'ProjectGroup', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的项目ID', +'SCHEMA', N'dbo', +'TABLE', N'ProjectGroup', +'COLUMN', N'ProjectId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'组别名称', +'SCHEMA', N'dbo', +'TABLE', N'ProjectGroup', +'COLUMN', N'GroupName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'出生日期起始日期', +'SCHEMA', N'dbo', +'TABLE', N'ProjectGroup', +'COLUMN', N'BirthDateStart' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'出生日期结束日期', +'SCHEMA', N'dbo', +'TABLE', N'ProjectGroup', +'COLUMN', N'BirthDateEnd' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'性别要求', +'SCHEMA', N'dbo', +'TABLE', N'ProjectGroup', +'COLUMN', N'Gender' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'ProjectGroup', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'ProjectGroup', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'ProjectGroup', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'ProjectGroup', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'ProjectGroup', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'项目组别表', +'SCHEMA', N'dbo', +'TABLE', N'ProjectGroup' +GO + + +-- ---------------------------- +-- Table structure for RefundConfig +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[RefundConfig]') AND type IN ('U')) + DROP TABLE [dbo].[RefundConfig] +GO + +CREATE TABLE [dbo].[RefundConfig] ( + [Id] bigint NOT NULL, + [DayStart] int NOT NULL, + [DayEnd] int NOT NULL, + [DeductPercentage] decimal(10,2) NOT NULL, + [Remark] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [Status] int NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[RefundConfig] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'RefundConfig', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'天数起始值', +'SCHEMA', N'dbo', +'TABLE', N'RefundConfig', +'COLUMN', N'DayStart' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'天数结束值', +'SCHEMA', N'dbo', +'TABLE', N'RefundConfig', +'COLUMN', N'DayEnd' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'扣除比例', +'SCHEMA', N'dbo', +'TABLE', N'RefundConfig', +'COLUMN', N'DeductPercentage' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'退款备注', +'SCHEMA', N'dbo', +'TABLE', N'RefundConfig', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'RefundConfig', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'RefundConfig', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'RefundConfig', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'RefundConfig', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'RefundConfig', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'RefundConfig', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'退款配置', +'SCHEMA', N'dbo', +'TABLE', N'RefundConfig' +GO + + +-- ---------------------------- +-- Table structure for RefundRecord +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[RefundRecord]') AND type IN ('U')) + DROP TABLE [dbo].[RefundRecord] +GO + +CREATE TABLE [dbo].[RefundRecord] ( + [Id] bigint NOT NULL, + [OutRefundNo] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [RefundId] varchar(64) COLLATE Chinese_PRC_CI_AS NULL, + [RegistrationId] bigint NOT NULL, + [OutTradeNo] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [TransactionId] varchar(64) COLLATE Chinese_PRC_CI_AS NULL, + [RefundAmount] decimal(18,2) NOT NULL, + [TotalAmount] decimal(18,2) NOT NULL, + [RefundReason] varchar(512) COLLATE Chinese_PRC_CI_AS NULL, + [RefundStatus] int NOT NULL, + [ApplyTime] datetime NOT NULL, + [SuccessTime] datetime NULL, + [MerchantId] bigint NULL, + [WeChatPayConfigId] bigint NULL, + [WeChatResponse] text COLLATE Chinese_PRC_CI_AS NULL, + [ErrorMessage] varchar(1024) COLLATE Chinese_PRC_CI_AS NULL, + [Status] int NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL, + [PayeeName] varchar(128) COLLATE Chinese_PRC_CI_AS NULL, + [PayeeBankName] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [PayeeBankAccount] varchar(64) COLLATE Chinese_PRC_CI_AS NULL +) +GO + +ALTER TABLE [dbo].[RefundRecord] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'商户退款单号(唯一)', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'OutRefundNo' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'微信退款单号', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'RefundId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的报名记录ID', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'RegistrationId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'商户订单号', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'OutTradeNo' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'微信支付订单号', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'TransactionId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'退款金额(元)', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'RefundAmount' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'订单总金额(元)', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'TotalAmount' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'退款原因', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'RefundReason' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'退款状态(0-退款中,1-退款成功,2-退款失败,3-退款关闭)', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'RefundStatus' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'申请时间', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'ApplyTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'退款完成时间', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'SuccessTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'商户ID', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'MerchantId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'微信支付配置ID', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'WeChatPayConfigId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'微信返回的原始数据(JSON)', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'WeChatResponse' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'错误信息', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'ErrorMessage' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'收款人姓名(线下支付退款时使用)', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'PayeeName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'收款人开户行(线下支付退款时使用)', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'PayeeBankName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'收款人银行卡号(线下支付退款时使用)', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord', +'COLUMN', N'PayeeBankAccount' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'退款记录表', +'SCHEMA', N'dbo', +'TABLE', N'RefundRecord' +GO + + +-- ---------------------------- +-- Table structure for SysCity +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[SysCity]') AND type IN ('U')) + DROP TABLE [dbo].[SysCity] +GO + +CREATE TABLE [dbo].[SysCity] ( + [Id] bigint NOT NULL, + [ProvinceCode] varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL, + [CityName] varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL, + [CityCode] varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[SysCity] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'SysCity', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'省份Code', +'SCHEMA', N'dbo', +'TABLE', N'SysCity', +'COLUMN', N'ProvinceCode' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'城市名称', +'SCHEMA', N'dbo', +'TABLE', N'SysCity', +'COLUMN', N'CityName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'城市Code', +'SCHEMA', N'dbo', +'TABLE', N'SysCity', +'COLUMN', N'CityCode' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'SysCity', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'SysCity', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'SysCity', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'SysCity', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'SysCity', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'城市表', +'SCHEMA', N'dbo', +'TABLE', N'SysCity' +GO + + +-- ---------------------------- +-- Table structure for SysDistrict +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[SysDistrict]') AND type IN ('U')) + DROP TABLE [dbo].[SysDistrict] +GO + +CREATE TABLE [dbo].[SysDistrict] ( + [Id] bigint NOT NULL, + [CityCode] varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL, + [DistrictCode] varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL, + [DistrictName] varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[SysDistrict] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'SysDistrict', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'城市Code', +'SCHEMA', N'dbo', +'TABLE', N'SysDistrict', +'COLUMN', N'CityCode' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'区县Code', +'SCHEMA', N'dbo', +'TABLE', N'SysDistrict', +'COLUMN', N'DistrictCode' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'区县名称', +'SCHEMA', N'dbo', +'TABLE', N'SysDistrict', +'COLUMN', N'DistrictName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'SysDistrict', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'SysDistrict', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'SysDistrict', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'SysDistrict', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'SysDistrict', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'区县表', +'SCHEMA', N'dbo', +'TABLE', N'SysDistrict' +GO + + +-- ---------------------------- +-- Table structure for SysMenu +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[SysMenu]') AND type IN ('U')) + DROP TABLE [dbo].[SysMenu] +GO + +CREATE TABLE [dbo].[SysMenu] ( + [Id] bigint NOT NULL, + [Name] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Type] int NOT NULL, + [Code] varchar(128) COLLATE Chinese_PRC_CI_AS NULL, + [ParentId] bigint NULL, + [RouteName] varchar(32) COLLATE Chinese_PRC_CI_AS NULL, + [Path] varchar(128) COLLATE Chinese_PRC_CI_AS NULL, + [Component] varchar(128) COLLATE Chinese_PRC_CI_AS NULL, + [Redirect] varchar(128) COLLATE Chinese_PRC_CI_AS NULL, + [Icon] varchar(64) COLLATE Chinese_PRC_CI_AS NULL, + [IsIframe] bit NOT NULL, + [Link] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [IsVisible] bit NOT NULL, + [IsKeepAlive] bit NOT NULL, + [IsFixed] bit NOT NULL, + [Status] int NOT NULL, + [Sort] int NOT NULL, + [Remark] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [CreatedUserId] bigint NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[SysMenu] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'菜单名称', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'Name' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'菜单类型', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'Type' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'权限编码', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'Code' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'父级菜单', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'ParentId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'路由名', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'RouteName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'路由地址', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'Path' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'组件路径', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'Component' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'重定向地址', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'Redirect' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'菜单图标', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'Icon' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'是否内嵌页面', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'IsIframe' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'外链地址', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'Link' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'是否可见', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'IsVisible' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'是否缓存', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'IsKeepAlive' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'是否固定', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'IsFixed' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'排序值(值越小越靠前)', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'Sort' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'系统菜单表', +'SCHEMA', N'dbo', +'TABLE', N'SysMenu' +GO + + +-- ---------------------------- +-- Table structure for SysOperationLog +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[SysOperationLog]') AND type IN ('U')) + DROP TABLE [dbo].[SysOperationLog] +GO + +CREATE TABLE [dbo].[SysOperationLog] ( + [Id] bigint NOT NULL, + [UserId] bigint NULL, + [LogLevel] int NOT NULL, + [Description] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [ControllerName] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [ActionName] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [HttpMethod] varchar(16) COLLATE Chinese_PRC_CI_AS NOT NULL, + [TraceId] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [ThreadId] int NOT NULL, + [UserAgent] varchar(256) COLLATE Chinese_PRC_CI_AS NOT NULL, + [RequestUrl] varchar(256) COLLATE Chinese_PRC_CI_AS NOT NULL, + [RemoteIp] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [OsDescription] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [Elapsed] int NOT NULL, + [Location] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [HttpStatusCode] int NOT NULL, + [Parameter] text COLLATE Chinese_PRC_CI_AS NULL, + [Response] text COLLATE Chinese_PRC_CI_AS NULL, + [Message] text COLLATE Chinese_PRC_CI_AS NOT NULL, + [Exception] text COLLATE Chinese_PRC_CI_AS NULL, + [CreatedTime] datetime NOT NULL +) +GO + +ALTER TABLE [dbo].[SysOperationLog] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'操作用户ID', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'UserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'日志级别', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'LogLevel' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'接口描述', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'Description' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'控制器名称', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'ControllerName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'路由名称', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'ActionName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'请求方式', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'HttpMethod' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'请求跟踪唯一ID (同一次请求ID相同)', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'TraceId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'线程ID', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'ThreadId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'浏览器', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'UserAgent' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'请求地址', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'RequestUrl' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'ip地址', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'RemoteIp' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'用户系统信息', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'OsDescription' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'耗时(毫秒)', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'Elapsed' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'Ip归属地', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'Location' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'http状态码', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'HttpStatusCode' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'请求参数', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'Parameter' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'响应结果', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'Response' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'详细信息', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'Message' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'异常信息', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'Exception' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'操作日志', +'SCHEMA', N'dbo', +'TABLE', N'SysOperationLog' +GO + + +-- ---------------------------- +-- Table structure for SysOrganization +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[SysOrganization]') AND type IN ('U')) + DROP TABLE [dbo].[SysOrganization] +GO + +CREATE TABLE [dbo].[SysOrganization] ( + [Id] bigint NOT NULL, + [ParentId] bigint NULL, + [Name] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Code] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Status] int NOT NULL, + [Sort] int NOT NULL, + [Remark] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [CreatedUserId] bigint NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[SysOrganization] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'SysOrganization', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'父级Id', +'SCHEMA', N'dbo', +'TABLE', N'SysOrganization', +'COLUMN', N'ParentId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'部门名称', +'SCHEMA', N'dbo', +'TABLE', N'SysOrganization', +'COLUMN', N'Name' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'部门编码', +'SCHEMA', N'dbo', +'TABLE', N'SysOrganization', +'COLUMN', N'Code' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'SysOrganization', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'排序值(值越小越靠前)', +'SCHEMA', N'dbo', +'TABLE', N'SysOrganization', +'COLUMN', N'Sort' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'SysOrganization', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'SysOrganization', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'SysOrganization', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'SysOrganization', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'SysOrganization', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'SysOrganization', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'组织机构信息表', +'SCHEMA', N'dbo', +'TABLE', N'SysOrganization' +GO + + +-- ---------------------------- +-- Table structure for SysProvince +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[SysProvince]') AND type IN ('U')) + DROP TABLE [dbo].[SysProvince] +GO + +CREATE TABLE [dbo].[SysProvince] ( + [Id] bigint NOT NULL, + [ProvinceCode] varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL, + [ProvinceName] varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL, + [RegionCode] varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[SysProvince] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'SysProvince', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'省份Code', +'SCHEMA', N'dbo', +'TABLE', N'SysProvince', +'COLUMN', N'ProvinceCode' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'省份名称', +'SCHEMA', N'dbo', +'TABLE', N'SysProvince', +'COLUMN', N'ProvinceName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'大区Code', +'SCHEMA', N'dbo', +'TABLE', N'SysProvince', +'COLUMN', N'RegionCode' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'SysProvince', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'SysProvince', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'SysProvince', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'SysProvince', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'SysProvince', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'省份表', +'SCHEMA', N'dbo', +'TABLE', N'SysProvince' +GO + + +-- ---------------------------- +-- Table structure for SysRole +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[SysRole]') AND type IN ('U')) + DROP TABLE [dbo].[SysRole] +GO + +CREATE TABLE [dbo].[SysRole] ( + [Id] bigint NOT NULL, + [Name] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Code] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Status] int NOT NULL, + [Sort] int NOT NULL, + [Remark] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [DeleteMark] bit NOT NULL, + [CreatedTime] datetime NOT NULL, + [CreatedUserId] bigint NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[SysRole] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'SysRole', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'角色名', +'SCHEMA', N'dbo', +'TABLE', N'SysRole', +'COLUMN', N'Name' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'角色编码', +'SCHEMA', N'dbo', +'TABLE', N'SysRole', +'COLUMN', N'Code' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'SysRole', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'排序值', +'SCHEMA', N'dbo', +'TABLE', N'SysRole', +'COLUMN', N'Sort' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'SysRole', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'SysRole', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'SysRole', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'SysRole', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'SysRole', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'SysRole', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'角色表', +'SCHEMA', N'dbo', +'TABLE', N'SysRole' +GO + + +-- ---------------------------- +-- Table structure for SysRoleMenu +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[SysRoleMenu]') AND type IN ('U')) + DROP TABLE [dbo].[SysRoleMenu] +GO + +CREATE TABLE [dbo].[SysRoleMenu] ( + [Id] bigint NOT NULL, + [RoleId] bigint NOT NULL, + [MenuId] bigint NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [DeleteMark] bit NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[SysRoleMenu] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'SysRoleMenu', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'角色id', +'SCHEMA', N'dbo', +'TABLE', N'SysRoleMenu', +'COLUMN', N'RoleId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'菜单按钮id', +'SCHEMA', N'dbo', +'TABLE', N'SysRoleMenu', +'COLUMN', N'MenuId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'SysRoleMenu', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'SysRoleMenu', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'SysRoleMenu', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'SysRoleMenu', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'SysRoleMenu', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'角色权限表', +'SCHEMA', N'dbo', +'TABLE', N'SysRoleMenu' +GO + + +-- ---------------------------- +-- Table structure for SysSigninLog +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[SysSigninLog]') AND type IN ('U')) + DROP TABLE [dbo].[SysSigninLog] +GO + +CREATE TABLE [dbo].[SysSigninLog] ( + [Id] bigint NOT NULL, + [UserId] bigint NOT NULL, + [RemoteIp] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [UserAgent] varchar(256) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Location] varchar(128) COLLATE Chinese_PRC_CI_AS NOT NULL, + [OsDescription] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [Message] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [CreatedTime] datetime NOT NULL +) +GO + +ALTER TABLE [dbo].[SysSigninLog] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'SysSigninLog', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'用户ID', +'SCHEMA', N'dbo', +'TABLE', N'SysSigninLog', +'COLUMN', N'UserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'ip地址', +'SCHEMA', N'dbo', +'TABLE', N'SysSigninLog', +'COLUMN', N'RemoteIp' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'浏览器', +'SCHEMA', N'dbo', +'TABLE', N'SysSigninLog', +'COLUMN', N'UserAgent' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'Ip归属地', +'SCHEMA', N'dbo', +'TABLE', N'SysSigninLog', +'COLUMN', N'Location' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'用户系统信息', +'SCHEMA', N'dbo', +'TABLE', N'SysSigninLog', +'COLUMN', N'OsDescription' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'消息', +'SCHEMA', N'dbo', +'TABLE', N'SysSigninLog', +'COLUMN', N'Message' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'SysSigninLog', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'用户登录日志', +'SCHEMA', N'dbo', +'TABLE', N'SysSigninLog' +GO + + +-- ---------------------------- +-- Table structure for SysSmsLog +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[SysSmsLog]') AND type IN ('U')) + DROP TABLE [dbo].[SysSmsLog] +GO + +CREATE TABLE [dbo].[SysSmsLog] ( + [Id] bigint NOT NULL, + [Phone] varchar(20) COLLATE Chinese_PRC_CI_AS NOT NULL, + [TemplateCode] varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL, + [TemplateParam] varchar(512) COLLATE Chinese_PRC_CI_AS NULL, + [Success] bit NOT NULL, + [ResponseCode] varchar(50) COLLATE Chinese_PRC_CI_AS NULL, + [ResponseMessage] varchar(512) COLLATE Chinese_PRC_CI_AS NULL, + [RequestId] varchar(128) COLLATE Chinese_PRC_CI_AS NULL, + [Exception] text COLLATE Chinese_PRC_CI_AS NULL, + [CreatedTime] datetime NOT NULL +) +GO + +ALTER TABLE [dbo].[SysSmsLog] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'SysSmsLog', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'接收手机号', +'SCHEMA', N'dbo', +'TABLE', N'SysSmsLog', +'COLUMN', N'Phone' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'短信模板Code', +'SCHEMA', N'dbo', +'TABLE', N'SysSmsLog', +'COLUMN', N'TemplateCode' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'模板参数', +'SCHEMA', N'dbo', +'TABLE', N'SysSmsLog', +'COLUMN', N'TemplateParam' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'发送状态(成功/失败)', +'SCHEMA', N'dbo', +'TABLE', N'SysSmsLog', +'COLUMN', N'Success' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'响应代码', +'SCHEMA', N'dbo', +'TABLE', N'SysSmsLog', +'COLUMN', N'ResponseCode' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'响应消息', +'SCHEMA', N'dbo', +'TABLE', N'SysSmsLog', +'COLUMN', N'ResponseMessage' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'请求ID', +'SCHEMA', N'dbo', +'TABLE', N'SysSmsLog', +'COLUMN', N'RequestId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'异常信息', +'SCHEMA', N'dbo', +'TABLE', N'SysSmsLog', +'COLUMN', N'Exception' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'发送时间', +'SCHEMA', N'dbo', +'TABLE', N'SysSmsLog', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'短信发送日志', +'SCHEMA', N'dbo', +'TABLE', N'SysSmsLog' +GO + + +-- ---------------------------- +-- Table structure for SysUser +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[SysUser]') AND type IN ('U')) + DROP TABLE [dbo].[SysUser] +GO + +CREATE TABLE [dbo].[SysUser] ( + [Id] bigint NOT NULL, + [Account] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Password] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Name] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Gender] int NOT NULL, + [OrgId] bigint NOT NULL, + [NickName] varchar(32) COLLATE Chinese_PRC_CI_AS NULL, + [Birthday] date NULL, + [Avatar] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [Mobile] varchar(16) COLLATE Chinese_PRC_CI_AS NULL, + [Email] varchar(64) COLLATE Chinese_PRC_CI_AS NULL, + [Status] int NOT NULL, + [LastLoginIp] varchar(32) COLLATE Chinese_PRC_CI_AS NULL, + [LastLoginAddress] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, + [LastLoginTime] datetime NULL, + [Remark] varchar(256) COLLATE Chinese_PRC_CI_AS NULL, + [CreatedUserId] bigint NOT NULL, + [UpdatedTime] datetime NULL, + [DeleteMark] bit NOT NULL, + [LockExpired] datetime NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL +) +GO + +ALTER TABLE [dbo].[SysUser] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'账号', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'Account' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'密码', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'Password' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'姓名', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'Name' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'性别', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'Gender' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'组织机构id', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'OrgId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'昵称', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'NickName' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'生日', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'Birthday' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'头像', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'Avatar' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'手机号码', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'Mobile' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'邮箱', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'Email' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'最后一次登录IP地址', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'LastLoginIp' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'最后一次登录位置', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'LastLoginAddress' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'最后登录时间', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'LastLoginTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'Remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'账号锁定过期时间', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'LockExpired' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'SysUser', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'系统用户表', +'SCHEMA', N'dbo', +'TABLE', N'SysUser' +GO + + +-- ---------------------------- +-- Table structure for SysUserRole +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[SysUserRole]') AND type IN ('U')) + DROP TABLE [dbo].[SysUserRole] +GO + +CREATE TABLE [dbo].[SysUserRole] ( + [Id] bigint NOT NULL, + [UserId] bigint NOT NULL, + [RoleId] bigint NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [DeleteMark] bit NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[SysUserRole] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'SysUserRole', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'用户id', +'SCHEMA', N'dbo', +'TABLE', N'SysUserRole', +'COLUMN', N'UserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'角色id', +'SCHEMA', N'dbo', +'TABLE', N'SysUserRole', +'COLUMN', N'RoleId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'SysUserRole', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'SysUserRole', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'SysUserRole', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'SysUserRole', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'SysUserRole', +'COLUMN', N'UpdatedTime' +GO + + +-- ---------------------------- +-- Table structure for Team +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[Team]') AND type IN ('U')) + DROP TABLE [dbo].[Team] +GO + +CREATE TABLE [dbo].[Team] ( + [Id] bigint NOT NULL, + [Name] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Status] int NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL, + [MerchantCertificationId] bigint NULL +) +GO + +ALTER TABLE [dbo].[Team] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'Team', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'团队名称', +'SCHEMA', N'dbo', +'TABLE', N'Team', +'COLUMN', N'Name' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'团队状态', +'SCHEMA', N'dbo', +'TABLE', N'Team', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'Team', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'Team', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'Team', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'Team', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'Team', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联的单位认证ID', +'SCHEMA', N'dbo', +'TABLE', N'Team', +'COLUMN', N'MerchantCertificationId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'团队表', +'SCHEMA', N'dbo', +'TABLE', N'Team' +GO + + +-- ---------------------------- +-- Table structure for TeamMember +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[TeamMember]') AND type IN ('U')) + DROP TABLE [dbo].[TeamMember] +GO + +CREATE TABLE [dbo].[TeamMember] ( + [Id] bigint NOT NULL, + [TeamId] bigint NOT NULL, + [UserId] bigint NOT NULL, + [JoinTime] datetime NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL, + [PersonType] int DEFAULT ((1)) NOT NULL +) +GO + +ALTER TABLE [dbo].[TeamMember] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'TeamMember', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'团队ID', +'SCHEMA', N'dbo', +'TABLE', N'TeamMember', +'COLUMN', N'TeamId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'用户ID(关联AppUser)', +'SCHEMA', N'dbo', +'TABLE', N'TeamMember', +'COLUMN', N'UserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'加入时间', +'SCHEMA', N'dbo', +'TABLE', N'TeamMember', +'COLUMN', N'JoinTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'TeamMember', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'TeamMember', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'TeamMember', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'TeamMember', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'TeamMember', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'团队角色 (PersonType)', +'SCHEMA', N'dbo', +'TABLE', N'TeamMember', +'COLUMN', N'PersonType' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'团队成员关联表', +'SCHEMA', N'dbo', +'TABLE', N'TeamMember' +GO + + +-- ---------------------------- +-- Table structure for UserCoupon +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[UserCoupon]') AND type IN ('U')) + DROP TABLE [dbo].[UserCoupon] +GO + +CREATE TABLE [dbo].[UserCoupon] ( + [Id] bigint NOT NULL, + [UserId] bigint NOT NULL, + [CouponId] bigint NOT NULL, + [ClaimTime] datetime NOT NULL, + [Status] int NOT NULL, + [UseTime] datetime NULL, + [OrderId] bigint NULL, + [CreatedTime] datetime NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL, + [RedemptionCodeId] bigint NULL, + [RedemptionCode] varchar(32) COLLATE Chinese_PRC_CI_AS NULL +) +GO + +ALTER TABLE [dbo].[UserCoupon] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'UserCoupon', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'用户ID', +'SCHEMA', N'dbo', +'TABLE', N'UserCoupon', +'COLUMN', N'UserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'优惠券ID', +'SCHEMA', N'dbo', +'TABLE', N'UserCoupon', +'COLUMN', N'CouponId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'领取时间', +'SCHEMA', N'dbo', +'TABLE', N'UserCoupon', +'COLUMN', N'ClaimTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'状态', +'SCHEMA', N'dbo', +'TABLE', N'UserCoupon', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'使用时间', +'SCHEMA', N'dbo', +'TABLE', N'UserCoupon', +'COLUMN', N'UseTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'关联订单ID', +'SCHEMA', N'dbo', +'TABLE', N'UserCoupon', +'COLUMN', N'OrderId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'UserCoupon', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'删除标志', +'SCHEMA', N'dbo', +'TABLE', N'UserCoupon', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人Id', +'SCHEMA', N'dbo', +'TABLE', N'UserCoupon', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人Id', +'SCHEMA', N'dbo', +'TABLE', N'UserCoupon', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'UserCoupon', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'兑换码ID', +'SCHEMA', N'dbo', +'TABLE', N'UserCoupon', +'COLUMN', N'RedemptionCodeId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'兑换码', +'SCHEMA', N'dbo', +'TABLE', N'UserCoupon', +'COLUMN', N'RedemptionCode' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'用户优惠券领取记录', +'SCHEMA', N'dbo', +'TABLE', N'UserCoupon' +GO + + +-- ---------------------------- +-- Table structure for WeChatPayConfig +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[WeChatPayConfig]') AND type IN ('U')) + DROP TABLE [dbo].[WeChatPayConfig] +GO + +CREATE TABLE [dbo].[WeChatPayConfig] ( + [Id] bigint NOT NULL, + [MerchantId] bigint NOT NULL, + [MerchantIdValue] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL, + [MerchantV3Secret] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [MerchantCertificateSerialNumber] varchar(64) COLLATE Chinese_PRC_CI_AS NOT NULL, + [MerchantCertificatePrivateKey] varchar(256) COLLATE Chinese_PRC_CI_AS NOT NULL, + [Status] int NOT NULL, + [DeleteMark] bit NOT NULL, + [CreatedUserId] bigint NOT NULL, + [CreatedTime] datetime NOT NULL, + [UpdatedUserId] bigint NULL, + [UpdatedTime] datetime NULL +) +GO + +ALTER TABLE [dbo].[WeChatPayConfig] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'主键', +'SCHEMA', N'dbo', +'TABLE', N'WeChatPayConfig', +'COLUMN', N'Id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'商户ID(外键)', +'SCHEMA', N'dbo', +'TABLE', N'WeChatPayConfig', +'COLUMN', N'MerchantId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'微信支付商户号', +'SCHEMA', N'dbo', +'TABLE', N'WeChatPayConfig', +'COLUMN', N'MerchantIdValue' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'微信支付 APIv3 密钥', +'SCHEMA', N'dbo', +'TABLE', N'WeChatPayConfig', +'COLUMN', N'MerchantV3Secret' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'微信支付商户证书序列号', +'SCHEMA', N'dbo', +'TABLE', N'WeChatPayConfig', +'COLUMN', N'MerchantCertificateSerialNumber' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'微信支付商户私钥文件URL', +'SCHEMA', N'dbo', +'TABLE', N'WeChatPayConfig', +'COLUMN', N'MerchantCertificatePrivateKey' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'可用状态', +'SCHEMA', N'dbo', +'TABLE', N'WeChatPayConfig', +'COLUMN', N'Status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'标记删除', +'SCHEMA', N'dbo', +'TABLE', N'WeChatPayConfig', +'COLUMN', N'DeleteMark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'WeChatPayConfig', +'COLUMN', N'CreatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'WeChatPayConfig', +'COLUMN', N'CreatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新人', +'SCHEMA', N'dbo', +'TABLE', N'WeChatPayConfig', +'COLUMN', N'UpdatedUserId' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'更新时间', +'SCHEMA', N'dbo', +'TABLE', N'WeChatPayConfig', +'COLUMN', N'UpdatedTime' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'微信支付配置表', +'SCHEMA', N'dbo', +'TABLE', N'WeChatPayConfig' +GO + + +-- ---------------------------- +-- Primary Key structure for table Albums +-- ---------------------------- +ALTER TABLE [dbo].[Albums] ADD CONSTRAINT [PK_Albums_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table AppUser +-- ---------------------------- +ALTER TABLE [dbo].[AppUser] ADD CONSTRAINT [PK_AppUser_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table Article +-- ---------------------------- +ALTER TABLE [dbo].[Article] ADD CONSTRAINT [PK_Article_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table ArticleCategory +-- ---------------------------- +ALTER TABLE [dbo].[ArticleCategory] ADD CONSTRAINT [PK_ArticleCategory_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table ArticleTag +-- ---------------------------- +ALTER TABLE [dbo].[ArticleTag] ADD CONSTRAINT [PK_ArticleTag_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table AuthAccount +-- ---------------------------- +ALTER TABLE [dbo].[AuthAccount] ADD CONSTRAINT [PK_AuthAccount_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table Banner +-- ---------------------------- +ALTER TABLE [dbo].[Banner] ADD CONSTRAINT [PK_Banner_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table BannerConfig +-- ---------------------------- +ALTER TABLE [dbo].[BannerConfig] ADD CONSTRAINT [PK_BannerConfig_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table Categories +-- ---------------------------- +ALTER TABLE [dbo].[Categories] ADD CONSTRAINT [PK_Categories_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table Certificate +-- ---------------------------- +ALTER TABLE [dbo].[Certificate] ADD CONSTRAINT [PK_Certificate_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table CertificateElement +-- ---------------------------- +ALTER TABLE [dbo].[CertificateElement] ADD CONSTRAINT [PK_CertificateElement_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table CertificatePlaceholder +-- ---------------------------- +ALTER TABLE [dbo].[CertificatePlaceholder] ADD CONSTRAINT [PK_CertificatePlaceholder_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table CertificateTemplate +-- ---------------------------- +ALTER TABLE [dbo].[CertificateTemplate] ADD CONSTRAINT [PK_CertificateTemplate_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table Comments +-- ---------------------------- +ALTER TABLE [dbo].[Comments] ADD CONSTRAINT [PK_Comments_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table Coupon +-- ---------------------------- +ALTER TABLE [dbo].[Coupon] ADD CONSTRAINT [PK_Coupon_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table CouponRedemptionCode +-- ---------------------------- +ALTER TABLE [dbo].[CouponRedemptionCode] ADD CONSTRAINT [PK_CouponRedemptionCode_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table CustomConfig +-- ---------------------------- +ALTER TABLE [dbo].[CustomConfig] ADD CONSTRAINT [PK_CustomConfig_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table CustomConfigItem +-- ---------------------------- +ALTER TABLE [dbo].[CustomConfigItem] ADD CONSTRAINT [PK_CustomConfigItem_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table EventCertificate +-- ---------------------------- +ALTER TABLE [dbo].[EventCertificate] ADD CONSTRAINT [PK_EventCertificate_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table EventCustomField +-- ---------------------------- +ALTER TABLE [dbo].[EventCustomField] ADD CONSTRAINT [PK_EventCustomField_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table EventFeeConfig +-- ---------------------------- +ALTER TABLE [dbo].[EventFeeConfig] ADD CONSTRAINT [PK_EventFeeConfig_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table EventInfo +-- ---------------------------- +ALTER TABLE [dbo].[EventInfo] ADD CONSTRAINT [PK_EventInfo_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table EventParticipant +-- ---------------------------- +ALTER TABLE [dbo].[EventParticipant] ADD CONSTRAINT [PK_EventParticipant_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table EventParticipationRecord +-- ---------------------------- +ALTER TABLE [dbo].[EventParticipationRecord] ADD CONSTRAINT [PK_EventParticipationRecord_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table EventProject +-- ---------------------------- +ALTER TABLE [dbo].[EventProject] ADD CONSTRAINT [PK_EventProject_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table EventProjectFee +-- ---------------------------- +ALTER TABLE [dbo].[EventProjectFee] ADD CONSTRAINT [PK_EventProjectFee_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table EventProjectGroup +-- ---------------------------- +ALTER TABLE [dbo].[EventProjectGroup] ADD CONSTRAINT [PK_EventProjectGroup_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table EventProjectRegistrationLimit +-- ---------------------------- +ALTER TABLE [dbo].[EventProjectRegistrationLimit] ADD CONSTRAINT [PK_EventProjectRegistrationLimit_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table EventRegistration +-- ---------------------------- +ALTER TABLE [dbo].[EventRegistration] ADD CONSTRAINT [PK_EventRegistration_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table EventRegistrationItem +-- ---------------------------- +ALTER TABLE [dbo].[EventRegistrationItem] ADD CONSTRAINT [PK_EventRegistrationItem_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table EventRegistrationLimit +-- ---------------------------- +ALTER TABLE [dbo].[EventRegistrationLimit] ADD CONSTRAINT [PK_EventRegistrationLimit_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table EventRegistrationPayment +-- ---------------------------- +ALTER TABLE [dbo].[EventRegistrationPayment] ADD CONSTRAINT [PK_EventRegistrationPayment_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table EventRegistrationPerson +-- ---------------------------- +ALTER TABLE [dbo].[EventRegistrationPerson] ADD CONSTRAINT [PK_EventRegistrationPerson_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table EventResult +-- ---------------------------- +ALTER TABLE [dbo].[EventResult] ADD CONSTRAINT [PK_EventResult_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table EventScoreSheet +-- ---------------------------- +ALTER TABLE [dbo].[EventScoreSheet] ADD CONSTRAINT [PK_EventScoreSheet_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table EventUnit +-- ---------------------------- +ALTER TABLE [dbo].[EventUnit] ADD CONSTRAINT [PK_EventUnit_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table FriendLink +-- ---------------------------- +ALTER TABLE [dbo].[FriendLink] ADD CONSTRAINT [PK_FriendLink_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table Merchant +-- ---------------------------- +ALTER TABLE [dbo].[Merchant] ADD CONSTRAINT [PK_Merchant_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table MerchantCertification +-- ---------------------------- +ALTER TABLE [dbo].[MerchantCertification] ADD CONSTRAINT [PK_MerchantCertification_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table Order +-- ---------------------------- +ALTER TABLE [dbo].[Order] ADD CONSTRAINT [PK_Order_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table Pictures +-- ---------------------------- +ALTER TABLE [dbo].[Pictures] ADD CONSTRAINT [PK_Pictures_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table PointsRecord +-- ---------------------------- +ALTER TABLE [dbo].[PointsRecord] ADD CONSTRAINT [PK_PointsRecord_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table PointsRule +-- ---------------------------- +ALTER TABLE [dbo].[PointsRule] ADD CONSTRAINT [PK_PointsRule_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table PointsRuleDetail +-- ---------------------------- +ALTER TABLE [dbo].[PointsRuleDetail] ADD CONSTRAINT [PK_PointsRuleDetail_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table Praise +-- ---------------------------- +ALTER TABLE [dbo].[Praise] ADD CONSTRAINT [PK_Praise_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table Project +-- ---------------------------- +ALTER TABLE [dbo].[Project] ADD CONSTRAINT [PK_Project_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table ProjectGroup +-- ---------------------------- +ALTER TABLE [dbo].[ProjectGroup] ADD CONSTRAINT [PK_ProjectGroup_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table RefundConfig +-- ---------------------------- +ALTER TABLE [dbo].[RefundConfig] ADD CONSTRAINT [PK_RefundConfig_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table RefundRecord +-- ---------------------------- +ALTER TABLE [dbo].[RefundRecord] ADD CONSTRAINT [PK_RefundRecord_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table SysCity +-- ---------------------------- +ALTER TABLE [dbo].[SysCity] ADD CONSTRAINT [PK_SysCity_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table SysDistrict +-- ---------------------------- +ALTER TABLE [dbo].[SysDistrict] ADD CONSTRAINT [PK_SysDistrict_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table SysMenu +-- ---------------------------- +ALTER TABLE [dbo].[SysMenu] ADD CONSTRAINT [PK_SysMenu_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table SysOperationLog +-- ---------------------------- +ALTER TABLE [dbo].[SysOperationLog] ADD CONSTRAINT [PK_SysOperationLog_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table SysOrganization +-- ---------------------------- +ALTER TABLE [dbo].[SysOrganization] ADD CONSTRAINT [PK_SysOrganization_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table SysProvince +-- ---------------------------- +ALTER TABLE [dbo].[SysProvince] ADD CONSTRAINT [PK_SysProvince_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table SysRole +-- ---------------------------- +ALTER TABLE [dbo].[SysRole] ADD CONSTRAINT [PK_SysRole_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table SysRoleMenu +-- ---------------------------- +ALTER TABLE [dbo].[SysRoleMenu] ADD CONSTRAINT [PK_SysRoleMenu_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table SysSigninLog +-- ---------------------------- +ALTER TABLE [dbo].[SysSigninLog] ADD CONSTRAINT [PK_SysSigninLog_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table SysSmsLog +-- ---------------------------- +ALTER TABLE [dbo].[SysSmsLog] ADD CONSTRAINT [PK_SysSmsLog_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table SysUser +-- ---------------------------- +ALTER TABLE [dbo].[SysUser] ADD CONSTRAINT [PK_SysUser_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table SysUserRole +-- ---------------------------- +ALTER TABLE [dbo].[SysUserRole] ADD CONSTRAINT [PK_SysUserRole_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table Team +-- ---------------------------- +ALTER TABLE [dbo].[Team] ADD CONSTRAINT [PK_Team_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table TeamMember +-- ---------------------------- +ALTER TABLE [dbo].[TeamMember] ADD CONSTRAINT [PK_TeamMember_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table UserCoupon +-- ---------------------------- +ALTER TABLE [dbo].[UserCoupon] ADD CONSTRAINT [PK_UserCoupon_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Primary Key structure for table WeChatPayConfig +-- ---------------------------- +ALTER TABLE [dbo].[WeChatPayConfig] ADD CONSTRAINT [PK_WeChatPayConfig_Id] PRIMARY KEY CLUSTERED ([Id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + diff --git a/二期需求/花样跳绳打分(1).xmind b/二期需求/花样跳绳打分(1).xmind new file mode 100644 index 0000000..4b21214 Binary files /dev/null and b/二期需求/花样跳绳打分(1).xmind differ diff --git a/二期需求/花样跳绳裁判端开发说明书(简明执行版).docx b/二期需求/花样跳绳裁判端开发说明书(简明执行版).docx new file mode 100644 index 0000000..0ae18db Binary files /dev/null and b/二期需求/花样跳绳裁判端开发说明书(简明执行版).docx differ diff --git a/二期需求/花样跳绳裁判端逻辑与测试验收说明书.docx b/二期需求/花样跳绳裁判端逻辑与测试验收说明书.docx new file mode 100644 index 0000000..5c14e6c Binary files /dev/null and b/二期需求/花样跳绳裁判端逻辑与测试验收说明书.docx differ diff --git a/二期需求/赛事二期四模块开发设计说明书(含数据库变更).docx b/二期需求/赛事二期四模块开发设计说明书(含数据库变更).docx new file mode 100644 index 0000000..fec7d3b Binary files /dev/null and b/二期需求/赛事二期四模块开发设计说明书(含数据库变更).docx differ diff --git a/二期需求/赛事二期四模块开发设计说明书(含数据库变更).txt b/二期需求/赛事二期四模块开发设计说明书(含数据库变更).txt new file mode 100644 index 0000000..eb79e78 --- /dev/null +++ b/二期需求/赛事二期四模块开发设计说明书(含数据库变更).txt @@ -0,0 +1,2 @@ + +TECHNICAL DEVELOPMENT SPECIFICATION`n赛事二期四模块开发设计说明书`n基于 dbo.sql 一期库 · 含二期数据库变更与逐表落地指引`n文档属性`n内容`n文档属性`n内容`n版本`nV1.0 开发稿`n编制日期`n2026-08-03`n数据库`nSQL Server 16 / dbo`n一期基线`ndbo.sql(65张表)`n需求基线`n赛事二期四模块需求规格说明书`n适用人员`n后端、前端、测试、DBA、实施`n变更标识`n一期沿用 / 二期新增字段 / 二期新增表 / 兼容废弃`n设计策略`n最小侵入、版本化、可审计、可回滚`n`n交付结论 一期报名域可以继续沿用;二期现场打分域必须新增场次、裁判分配、任务、逐项评分、修正、结果版本、发布批次等表。本文已把每个功能细化到读取、插入或更新的具体表字段。`n`n0. 阅读说明与变更标识`n标识`n含义`n实施方式`n[一期沿用]`ndbo.sql 已存在表/字段`n保持兼容;按本文约束继续读写`n[二期新增字段]`n在一期表上 ALTER TABLE 增加`n先加可空/默认值,再回填、建约束与索引`n[二期新增表]`n一期不存在,二期新建`n以本文数据字典和索引约束为开发基线`n[兼容废弃]`n一期字段保留但不再作为权威数据源`n双写或派生一段时间,完成迁移后只读`n`n重要 本文没有直接修改 dbo.sql。所有二期结构均为迁移设计,必须通过独立、可回滚的数据库版本脚本发布,不得重新执行 dbo.sql 中的 DROP TABLE。`n1. 一期数据库结论`n1.1 基线概况`ndbo.sql 共解析到 65 张 dbo 表,均使用 bigint 主键 Id。`n本说明书识别出 30 张与二期四模块直接相关的一期表。`n导出脚本仅明确了各表主键,未发现外键、业务唯一索引和普通查询索引定义;二期必须补齐关键索引。`n一期普遍使用 DeleteMark、CreatedUserId、CreatedTime、UpdatedUserId、UpdatedTime 作为软删除和审计字段。`n一期日期使用 datetime、文本混用 varchar/text;二期新增字段建议使用 datetime2(3)、nvarchar(max),但接口层统一处理编码与时区。`n1.2 一期相关表按模块归属`n模块`n一期可沿用表`n结论`n报名平台`nEventInfo、EventProject、EventProjectGroup、EventRegistration、EventRegistrationItem、EventRegistrationPerson、EventRegistrationPayment、Order、RefundRecord、AppUser、Team、TeamMember`n报名主链完整,需补版本、审核、同步与参赛号字段`n打分工作台`nEventParticipationRecord、EventScoreSheet、EventResult、SysUser、SysRole、SysUserRole、SysOperationLog`n只有参赛、评分表定义、结果快照;缺现场调度与版本化评分`n裁判端`nEventScoreSheet、EventResult、SysUser`n现有表不能记录每名裁判的逐项输入和提交版本`n跃享跳小程序`nEventInfo、Project、ProjectGroup、EventResult`n可查基础赛事与结果,但缺发布批次、公开策略和更正版本`n`n1.3 一期表的关键风险`n风险`n现状`n二期处理`nEventParticipant 命名歧义`n实际存主办/承办/协办/赞助单位,不是参赛运动员`n禁止把它当参赛人表;参赛人仍用 EventRegistrationPerson / EventParticipationRecord`nEventResult.Score 为 varchar(32)`n无法可靠排序、聚合和精度控制`n新增 TotalScore decimal(18,4) 为权威值;Score 仅兼容展示`nEventScoreSheet 粒度不足`n表内是项目、组别、轮次、评分标准与起止时间`n保留作为评分表定义;新建 EventJudgeScoreSheet/Detail 存裁判提交`n无版本和并发令牌`n评分修正、成绩发布可能覆盖`n关键表增加 Version/RowVersion;历史新建版本表`n无业务审计`nSysOperationLog 偏HTTP技术日志`n新增 EventBusinessAuditLog 记录前后值、原因和业务对象`n缺可靠事件投递`n报名同步、成绩发布易丢消息`n新增 EventIntegrationOutbox,业务事务内写事件`n`n2. 二期总体数据架构`n2.1 核心数据链`n一期报名链继续作为上游,二期从有效参赛记录开始扩展现场评分域。开发时按以下主键链路传递,不以姓名、组别名称等快照字段作为关联条件。`nEventInfo → EventProject → EventProjectGroup:赛事、项目、组别。`nEventRegistration → EventRegistrationItem → EventRegistrationPerson:报名单、报名项目、报名人员。`nEventParticipationRecord:审核通过后形成的有效参赛记录。`nEventSession → EventSessionEntry:场次/场地和出场顺序。`nEventJudgeAssignment → EventJudgeTask:裁判角色绑定和具体评分任务。`nEventJudgeScoreSheet → EventJudgeScoreDetail:裁判评分单头与逐项输入。`nEventResult → EventResultVersion → EventResultPublish:当前成绩、历史版本、对外发布批次。`n2.2 二期新增表清单`n标识`n表名`n职责`n字段数`n[二期新增表]`nEventScoreRule`n评分规则版本主表`n12`n[二期新增表]`nEventScoreRuleItem`n评分规则明细`n12`n[二期新增表]`nEventVenue`n赛事场地`n10`n[二期新增表]`nEventSession`n比赛场次`n13`n[二期新增表]`nEventSessionEntry`n场次出场顺序`n11`n[二期新增表]`nEventScoringDevice`n评分设备`n9`n[二期新增表]`nEventJudgeAssignment`n裁判角色分配`n10`n[二期新增表]`nEventJudgeTask`n裁判评分任务`n16`n[二期新增表]`nEventJudgeScoreSheet`n裁判评分单版本`n22`n[二期新增表]`nEventJudgeScoreDetail`n逐项评分明细`n13`n[二期新增表]`nEventScoreCorrection`n成绩修正审批`n13`n[二期新增表]`nEventResultVersion`n成绩历史版本`n16`n[二期新增表]`nEventResultPublish`n成绩发布批次`n13`n[二期新增表]`nEventBusinessAuditLog`n业务审计`n13`n[二期新增表]`nEventIntegrationOutbox`n可靠事件投递`n12`n`n2.3 一期表新增字段清单`n标识`n一期表`n新增字段`n[二期新增字段]`nEventInfo`nTimeZone、ResultPublishMode、MinorNameDisplayMode、DataVersion、RowVersion`n[二期新增字段]`nEventRegistration`nRegistrationNo、ReviewStatus、ReviewerUserId、SubmittedTime、Version、ScoringSyncStatus、ScoringSyncVersion、ScoringSyncedTime、RowVersion`n[二期新增字段]`nEventRegistrationItem`nEventProjectId、ItemStatus、EntryType、Version`n[二期新增字段]`nEventRegistrationPerson`nIdentityType、PassportNo、TeamMemberRole、IsSubstitute、PublicDisplayName、Version`n[二期新增字段]`nEventParticipationRecord`nEventProjectGroupId、EntryType、TeamId、EntryNo、SourceVersion、SyncStatus、RowVersion`n[二期新增字段]`nEventScoreSheet`nEventProjectGroupId、ScoreRuleId、ScoreRuleVersion、SchemaVersion、RowVersion`n[二期新增字段]`nEventResult`nSessionEntryId、DifficultyScore、PerformanceScore、DeductionScore、TotalScore、IsDisqualified、DisqualifyReasonCode、ResultStatus、ResultVersion、PublishVersion、PublishedTime、CalculationJson、RowVersion`n`n3. 报名平台开发落地`n3.1 报名保存/提交`n步骤`n操作`n表与字段`n事务/校验`n1`n创建报名主单`nINSERT EventRegistration:EventId、RegistrationMode、TeamName、ContactName、ContactPhone、TotalPersonCount、TotalAmount、PaymentStatus、OrderNo、Status;二期写 RegistrationNo、ReviewStatus=0、Version=1`nEventId 有效;RegistrationNo 唯一;金额服务端计算`n2`n保存报名项目`nINSERT/UPDATE EventRegistrationItem:RegistrationId、ProjectId、EventProjectGroupId、UnitPrice、PersonCount、TotalPrice;二期写 EventProjectId、EntryType、ItemStatus、Version`n校验 EventProject/EventProjectGroup;同报名单项目组别唯一`n3`n保存人员`nINSERT/UPDATE EventRegistrationPerson:RegistrationId、RegistrationItemId、UserId、Name、Gender、BirthDate、GroupName;二期写 IdentityType、TeamMemberRole、IsSubstitute、Version`n年龄/性别/组别、人数、重复人员校验`n4`n提交报名`nUPDATE EventRegistration:Status、SubmittedTime、Version=Version+1、UpdatedTime;INSERT EventBusinessAuditLog`nWHERE Id=@id AND RowVersion=@rowVersion;截止时间读 EventInfo.RegistrationEndTime`n`n3.2 审核通过与生成有效参赛记录`n锁定 EventRegistration(RowVersion)并读取 EventRegistrationItem、EventRegistrationPerson。`n更新 EventRegistration.ReviewStatus、ReviewerUserId、Reviewer、ReviewTime、ReviewRemark、Status、Version。`n每个有效报名人员/项目组合 INSERT EventParticipationRecord,写 RegistrationId、RegistrationItemId、RegistrationPersonId、EventId、ProjectId、ParticipantName、GroupName,以及二期字段 EventProjectGroupId、EntryType、TeamId、EntryNo、SourceVersion。`n同一事务 INSERT EventBusinessAuditLog 和 EventIntegrationOutbox(eventType='registration.approved')。`n消费者成功接收后更新 EventRegistration.ScoringSyncStatus、ScoringSyncVersion、ScoringSyncedTime。`n唯一性 建议建立 EventParticipationRecord(RegistrationItemId, RegistrationPersonId, DeleteMark) 唯一索引,防止审核回调或消息重试生成重复参赛记录。`n3.3 报名查询、变更与取消`n功能`n读取字段`n写入字段`n注意事项`n报名详情`nEventRegistration.*;Item.ProjectName/GroupName/TotalPrice;Person.Name/Gender/BirthDate`n无`n证件号、手机号脱敏;不要返回密码/认证材料`n审核驳回`nEventRegistration.RowVersion`nReviewStatus、ReviewerUserId、ReviewTime、ReviewRemark、Status、Version`n写审计;不删除明细`n审核后变更`nEventRegistration.Version;ParticipationRecord.SourceVersion`nItem/Person 对应字段、Version;Registration.Version;Outbox`n已编排时禁止静默变更;工作台显示影响`n取消报名`nPaymentStatus、ParticipationStatus、场次状态`nRegistration.Status;ParticipationRecord.ParticipationStatus/CancelReason/CancelTime`n已开始场次禁止普通取消;退款走现有 RefundRecord`n`n3.4 报名平台接口到表映射`n接口`n主表`n明细表`n主要WHERE条件`nPOST /registrations`nEventRegistration`nEventRegistrationItem、EventRegistrationPerson`nEventId、CreatedUserId;幂等键由业务层控制`nPUT /registrations/{id}`nEventRegistration`nItem、Person`nId + CreatedUserId + RowVersion + DeleteMark=0`nPOST /registrations/{id}/submit`nEventRegistration`nEventBusinessAuditLog`nId + RowVersion + Status=草稿`nPOST /registrations/{id}/review`nEventRegistration`nEventParticipationRecord、AuditLog、Outbox`nId + RowVersion + ReviewStatus=待审`nGET /registrations`nEventRegistration`nItem、Person`nEventId + Status + PaymentStatus + 时间范围`n`n4. 打分系统工作台开发落地`n4.1 赛前配置`n工作台功能`n表操作`n字段`n场地维护`nINSERT/UPDATE EventVenue`nEventId、VenueCode、VenueName、Status、Sort`n场次维护`nINSERT/UPDATE EventSession`nEventId、EventProjectId、EventProjectGroupId、VenueId、SessionNo、StartTime、EndTime、Status、Version`n出场编排`nINSERT/UPDATE EventSessionEntry`nSessionId、ParticipationRecordId、EntryNo、PlayOrder、EntryStatus、Version`n评分规则发布`nINSERT EventScoreRule + EventScoreRuleItem`nRuleCode、RuleVersion、RuleJson、JudgeRole、ItemCode、LevelValue、上下限、步长`n评分表定义`nUPDATE/INSERT EventScoreSheet`nEventId、ProjectId、GroupName、Round、ScoreCriteria;二期写 EventProjectGroupId、ScoreRuleId、ScoreRuleVersion、SchemaVersion=2`n设备绑定`nINSERT/UPDATE EventScoringDevice`nDeviceCode、BindUserId、LastOnlineTime、Status`n裁判分配`nINSERT/UPDATE EventJudgeAssignment`nSessionId、JudgeUserId、JudgeRole、DeviceId、AssignmentStatus`n`n4.2 开始场次与下发任务`nUPDATE EventSession.Status=30(进行中),WHERE Id=@sessionId AND RowVersion=@rowVersion。`n选择下一位时 UPDATE EventSessionEntry.EntryStatus=进行中、StartTime,并将 EventSession.CurrentEntryId 更新为该 Entry.Id。`n读取 EventJudgeAssignment 中有效裁判分配,按每个 JudgeRole INSERT EventJudgeTask;TaskSnapshotJson 固化赛事、项目、组别、参赛者、规则摘要。`n同事务写 EventIntegrationOutbox(eventType='judge_task.dispatched');推送失败可由裁判端 GET /judge/tasks/current 补拉。`n上一位仍有 TaskStatus=评分中/已下发未提交时,默认拒绝切换;强制切换必须写 EventBusinessAuditLog.Reason。`n4.3 提交进度监控`n显示项`n查询表`n字段/聚合`n裁判角色状态`nEventJudgeTask`nJudgeRole、TaskStatus、DispatchedTime、AcceptedTime、ExpiresTime`n裁判/设备在线`nEventJudgeAssignment + EventScoringDevice + SysUser`nJudgeUserId、DeviceId、LastOnlineTime、Status、SysUser.Name`n评分单状态`nEventJudgeScoreSheet`nSheetStatus、SheetVersion、SubmittedTime、TotalScore、IsDisqualified`n缺交/超时`nEventJudgeTask`nTaskStatus 非已提交且 ExpiresTime < SYSUTCDATETIME()`n成绩聚合状态`nEventResult + EventResultVersion`nResultStatus、ResultVersion、TotalScore、CalculationJson`n`n4.4 成绩聚合、确认与发布`n收齐必须角色的当前有效 EventJudgeScoreSheet(IsCurrent=1, SheetStatus=已提交) 后触发聚合。`n评分引擎读取 EventScoreRule/Item 和各 ScoreDetail,使用 decimal 计算,生成 CalculationJson。`nUPSERT EventResult:写二期字段 DifficultyScore、PerformanceScore、DeductionScore、TotalScore、DQ、ResultStatus、ResultVersion;兼容同步 Score=格式化字符串。`nINSERT EventResultVersion 保存不可变版本;确认时仅更新 EventResult 当前快照状态。`n发布时 INSERT EventResultPublish,更新 EventResult.PublishVersion、PublishedTime、ResultStatus;同事务写 Outbox(result.published)。`n4.5 工作台接口到表映射`n接口`n读表`n写表`n并发控制`nPOST /sessions`nEventProject、EventProjectGroup、EventVenue`nEventSession`nSessionNo业务唯一`nPUT /sessions/{id}/entries`nEventParticipationRecord`nEventSessionEntry`nSessionId+PlayOrder/ParticipationRecordId唯一`nPOST /sessions/{id}/start`nEventSession`nEventSession、AuditLog`nRowVersion`nPOST /sessions/{id}/dispatch`nSessionEntry、JudgeAssignment、ScoreRule`nJudgeTask、Outbox`nSession/Entry Version`nGET /sessions/{id}/monitor`nJudgeTask、JudgeScoreSheet、Device`n无`n只读,推送+补拉`nPOST /results/{id}/confirm`nEventResult、ResultVersion`nEventResult、AuditLog`nEventResult.RowVersion + ResultVersion`nPOST /results/publish`nEventResult、ResultVersion`nResultPublish、EventResult、Outbox、AuditLog`n发布范围+PublishVersion唯一`n`n5. 打分系统裁判端开发落地`n5.1 领取任务`n登录账号沿用 SysUser;权限沿用 SysRole/SysUserRole,新增角色数据 DP、DM、DR、P、T,不新增系统角色表。`nGET 当前任务查询 EventJudgeTask,条件 JudgeUserId=@userId、TaskStatus in(已下发,已接收,评分中)、ExpiresTime未过期。`n任务头部直接读取 TaskSnapshotJson,避免赛事配置在评分过程中变化;关联 ID 仅用于校验和后续查询。`n接收任务 UPDATE TaskStatus、AcceptedTime、TaskVersion,并校验 RowVersion。`n5.2 草稿与正式提交`n动作`n表操作`n必须写入/校验`n首次保存草稿`nINSERT EventJudgeScoreSheet;批量 INSERT EventJudgeScoreDetail`nJudgeTaskId、JudgeUserId、JudgeRole、ScoreRuleId/Version、SheetVersion=1、SheetStatus=草稿;Detail.ItemCode/InputValue/CountValue`n更新草稿`nUPDATE 当前草稿;MERGE/重建 Detail`n仅 SheetStatus=草稿且 JudgeUserId=当前用户;规则项必须属于当前 RuleId`n服务端复算`n读取 RuleItem + Detail`n写 DifficultyScore、PerformanceScore、DeductionScore、TotalScore、CalculationJson;客户端值不可信`n正式提交`nUPDATE ScoreSheet;UPDATE JudgeTask;INSERT AuditLog/Outbox`nIdempotencyKey 唯一;SheetStatus=已提交、SubmittedTime;TaskStatus=已提交`n提交结果查询`n查询 ScoreSheet`n按 JudgeTaskId+IdempotencyKey 返回同一结果,处理客户端超时重试`n`n5.3 各裁判角色的明细落表`n角色`nEventJudgeScoreDetail.ItemCode 示例`n字段写法`n评分单汇总字段`nDP/DM/DR`nREQUIRED_N3_PLUS、REQUIRED_N2_MINUS、DIFFICULTY_LEVEL_0_8`nCountValue=数量;UnitValue=规则分值;Subtotal=CountValue×UnitValue`nDifficultyScore;规定元素完成/缺失写 CalculationJson`nP`nMUSIC、QUALITY、ENTERTAINMENT、CREATIVITY、VARIETY、FAILURE_COUNT`n手工值 InputValue;失误联动行 IsAutoGenerated=1、ParentItemCode=FAILURE_COUNT`nPerformanceScore`nT`nINTERMISSION、VIOLATION、FAILURE、REQUIRED_MISSING、DQ_REASON_*`nCountValue、UnitValue、Subtotal;DQ原因写评分单头 DisqualifyReasonCode`nDeductionScore、IsDisqualified、TotalScore`n`n5.4 修正流程`n工作台 INSERT EventScoreCorrection(CorrectionStatus=申请),不得直接 UPDATE 已提交评分单。`n批准后 INSERT 新 EventJudgeTask,OriginalTaskId 指向旧任务,任务状态为修正任务。`n裁判提交新 EventJudgeScoreSheet,SheetVersion=旧版本+1、OriginalSheetId=旧评分单、CorrectionReason=申请原因。`n事务内将旧评分单 IsCurrent=0,新评分单 IsCurrent=1;更新 EventScoreCorrection.NewScoreSheetId、CorrectionStatus=完成。`n重新聚合 EventResult,INSERT 新 EventResultVersion;已发布成绩需重新走发布流程。`n6. 跃享跳小程序开发落地`n6.1 公开成绩查询`n页面`n主查询表`nWHERE条件`n返回字段`n赛事列表`nEventInfo`nDeleteMark=0 AND EventStatus可公开;关联存在已发布结果`nId、EventName、MatchStartTime/EndTime、地区、CoverImage`n项目/组别筛选`nEventProject、EventProjectGroup、Project`nEventId=@eventId AND DeleteMark=0`nEventProjectId、ProjectId、Project.Name、EventProjectGroupId、GroupName`n排名列表`nEventResult`nEventId/ProjectId/GroupName;ResultStatus=已发布;PublishVersion有效`nRank、PublicDisplayName或ParticipantName脱敏、TotalScore、IsDisqualified`n成绩详情`nEventResult + EventResultVersion + EventResultPublish`nResultVersion/PublishVersion匹配;PublicFieldJson允许`n难度/表现/扣分/总分/更新时间/更正说明`n`n6.2 禁止直接返回的字段`nEventRegistrationPerson.IdCard、Phone、Email、BirthDate、PassportNo。`nEventRegistration.ContactPhone、ContactEmail、PaymentProofUrl、MaterialUrl。`nEventJudgeScoreSheet.JudgeUserId、IdempotencyKey、CorrectionReason,以及内部 CalculationJson 全量内容。`nSysUser、AppUser、Order、Payment、Refund 任何敏感或财务字段。`n后端强制 公开查询必须在服务端按 EventResultPublish.PublicFieldJson 做字段裁剪,不能只依靠小程序前端隐藏。建议建立只读查询服务或数据库视图 vw_PublicEventResult。`n6.3 缓存失效`n缓存键建议:event-result:{EventId}:{ProjectId}:{EventProjectGroupId}:{PublishVersion}。EventResultPublish 发布、撤销或更正事务成功后,由 EventIntegrationOutbox 发送 result.published/result.revoked,使查询服务删除旧 PublishVersion 缓存。`n7. 一期表变更数据字典`n7.1 EventInfo(一期表)`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增字段]`nTimeZone`nvarchar(64)`n否`n'Asia/Shanghai'`n赛事时区`n[二期新增字段]`nResultPublishMode`nint`n否`n0`n成绩发布粒度`n[二期新增字段]`nMinorNameDisplayMode`nint`n否`n0`n未成年人姓名公开策略`n[二期新增字段]`nDataVersion`nint`n否`n1`n对外同步版本`n[二期新增字段]`nRowVersion`nrowversion`n否`n`n并发控制`n`n7.2 EventRegistration(一期表)`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增字段]`nRegistrationNo`nvarchar(64)`n是`nNULL`n人类可读报名号;迁移后设唯一`n[二期新增字段]`nReviewStatus`nint`n否`n0`n独立审核状态,避免复用Status`n[二期新增字段]`nReviewerUserId`nbigint`n是`nNULL`n审核人SysUser.Id;Reviewer保留快照`n[二期新增字段]`nSubmittedTime`ndatetime2(3)`n是`nNULL`n正式提交时间`n[二期新增字段]`nVersion`nint`n否`n1`n业务版本`n[二期新增字段]`nScoringSyncStatus`nint`n否`n0`n未同步/已同步/失败`n[二期新增字段]`nScoringSyncVersion`nint`n否`n0`n同步到评分域的版本`n[二期新增字段]`nScoringSyncedTime`ndatetime2(3)`n是`nNULL`n最近同步时间`n[二期新增字段]`nRowVersion`nrowversion`n否`n`n并发控制`n`n7.3 EventRegistrationItem(一期表)`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增字段]`nEventProjectId`nbigint`n是`nNULL`n补齐赛事项目关联`n[二期新增字段]`nItemStatus`nint`n否`n0`n报名项状态`n[二期新增字段]`nEntryType`nint`n否`n0`n个人/双人/四人/团体`n[二期新增字段]`nVersion`nint`n否`n1`n报名项版本`n`n7.4 EventRegistrationPerson(一期表)`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增字段]`nIdentityType`nint`n否`n1`n证件类型`n[二期新增字段]`nPassportNo`nnvarchar(32)`n是`nNULL`n护照号;应加密或令牌化`n[二期新增字段]`nTeamMemberRole`nint`n是`nNULL`n队员/教练/领队/替补`n[二期新增字段]`nIsSubstitute`nbit`n否`n0`n是否替补`n[二期新增字段]`nPublicDisplayName`nnvarchar(64)`n是`nNULL`n对外显示名`n[二期新增字段]`nVersion`nint`n否`n1`n人员版本`n`n隐私规则 一期 IdCard 为明文字段。二期新数据应迁移到加密/令牌化方案;在完成兼容改造前,禁止在日志和公开接口输出 IdCard/PassportNo。`n7.5 EventParticipationRecord(一期表)`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增字段]`nEventProjectGroupId`nbigint`n是`nNULL`n赛事组别主键`n[二期新增字段]`nEntryType`nint`n否`n0`n个人/双人/四人/团体`n[二期新增字段]`nTeamId`nbigint`n是`nNULL`n队伍主体`n[二期新增字段]`nEntryNo`nvarchar(32)`n是`nNULL`n赛事内参赛号`n[二期新增字段]`nSourceVersion`nint`n否`n1`n来源报名版本`n[二期新增字段]`nSyncStatus`nint`n否`n0`n同步/编排状态`n[二期新增字段]`nRowVersion`nrowversion`n否`n`n并发控制`n`n7.6 EventScoreSheet(一期表)`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增字段]`nEventProjectGroupId`nbigint`n是`nNULL`n评分表定义对应赛事组别`n[二期新增字段]`nScoreRuleId`nbigint`n是`nNULL`n二期评分规则`n[二期新增字段]`nScoreRuleVersion`nint`n是`nNULL`n规则版本`n[二期新增字段]`nSchemaVersion`nint`n否`n1`n定义结构版本;二期使用2`n[二期新增字段]`nRowVersion`nrowversion`n否`n`n并发控制`n`n7.7 EventResult(一期表)`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增字段]`nSessionEntryId`nbigint`n是`nNULL`n二期场次出场记录`n[二期新增字段]`nDifficultyScore`ndecimal(18,4)`n否`n0`n难度分`n[二期新增字段]`nPerformanceScore`ndecimal(18,4)`n否`n0`n表现分`n[二期新增字段]`nDeductionScore`ndecimal(18,4)`n否`n0`n扣分`n[二期新增字段]`nTotalScore`ndecimal(18,4)`n是`nNULL`n权威数值总分;Score保留兼容字符串`n[二期新增字段]`nIsDisqualified`nbit`n否`n0`n是否DQ`n[二期新增字段]`nDisqualifyReasonCode`nvarchar(64)`n是`nNULL`nDQ原因`n[二期新增字段]`nResultStatus`nint`n否`n0`n二期结果状态`n[二期新增字段]`nResultVersion`nint`n否`n1`n当前结果版本`n[二期新增字段]`nPublishVersion`nint`n是`nNULL`n当前公开版本`n[二期新增字段]`nPublishedTime`ndatetime2(3)`n是`nNULL`n发布时间`n[二期新增字段]`nCalculationJson`nnvarchar(max)`n是`nNULL`n当前聚合明细`n[二期新增字段]`nRowVersion`nrowversion`n否`n`n并发控制`n`n兼容规则 新增 TotalScore 为权威数值字段;一期 Score(varchar(32)) 暂时由服务层同步写入格式化值。所有计算、排序和排名禁止再使用 Score。`n8. 二期新增表数据字典`n8.1 EventScoreRule [二期新增表]`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增表]`nId`nbigint`n否`n`n主键`n[二期新增表]`nEventId`nbigint`n否`n`n赛事`n[二期新增表]`nEventProjectId`nbigint`n否`n`n赛事项目`n[二期新增表]`nEventProjectGroupId`nbigint`n是`nNULL`n赛事组别;NULL 表示项目通用`n[二期新增表]`nRuleCode`nvarchar(64)`n否`n`n规则编码`n[二期新增表]`nRuleName`nnvarchar(128)`n否`n`n规则名称`n[二期新增表]`nRuleVersion`nint`n否`n1`n同一规则递增版本`n[二期新增表]`nRuleJson`nnvarchar(max)`n否`n`n完整只读规则快照`n[二期新增表]`nStatus`nint`n否`n0`n0草稿/10已发布/90停用`n[二期新增表]`nPublishedTime`ndatetime2(3)`n是`nNULL`n发布时间`n[二期新增表]`nCreatedUserId`nbigint`n否`n`n创建人`n[二期新增表]`nCreatedTime`ndatetime2(3)`n否`nSYSUTCDATETIME()`n创建时间`n`n8.2 EventScoreRuleItem [二期新增表]`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增表]`nId`nbigint`n否`n`n主键`n[二期新增表]`nScoreRuleId`nbigint`n否`n`n规则主表`n[二期新增表]`nJudgeRole`nvarchar(16)`n否`n`nDP/DM/DR/P/T`n[二期新增表]`nItemCode`nvarchar(64)`n否`n`n稳定项编码`n[二期新增表]`nItemName`nnvarchar(128)`n否`n`n显示名称`n[二期新增表]`nItemType`nint`n否`n`n1等级计数/2表现维度/3扣分/4DQ原因`n[二期新增表]`nLevelValue`ndecimal(18,4)`n是`nNULL`n等级或单次分值`n[二期新增表]`nMinValue`ndecimal(18,4)`n是`nNULL`n最小值`n[二期新增表]`nMaxValue`ndecimal(18,4)`n是`nNULL`n最大值`n[二期新增表]`nStepValue`ndecimal(18,4)`n是`nNULL`n步长`n[二期新增表]`nSort`nint`n否`n0`n显示顺序`n[二期新增表]`nExtensionJson`nnvarchar(max)`n是`nNULL`n联动/显示扩展`n`n8.3 EventVenue [二期新增表]`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增表]`nId`nbigint`n否`n`n主键`n[二期新增表]`nEventId`nbigint`n否`n`n赛事`n[二期新增表]`nVenueCode`nvarchar(32)`n否`n`n场地编码`n[二期新增表]`nVenueName`nnvarchar(128)`n否`n`n场地名称`n[二期新增表]`nStatus`nint`n否`n1`n可用状态`n[二期新增表]`nSort`nint`n否`n0`n排序`n[二期新增表]`nCreatedUserId`nbigint`n否`n`n创建人`n[二期新增表]`nCreatedTime`ndatetime2(3)`n否`nSYSUTCDATETIME()`n创建时间`n[二期新增表]`nUpdatedUserId`nbigint`n是`nNULL`n更新人`n[二期新增表]`nUpdatedTime`ndatetime2(3)`n是`nNULL`n更新时间`n`n8.4 EventSession [二期新增表]`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增表]`nId`nbigint`n否`n`n主键`n[二期新增表]`nEventId`nbigint`n否`n`n赛事`n[二期新增表]`nEventProjectId`nbigint`n否`n`n赛事项目`n[二期新增表]`nEventProjectGroupId`nbigint`n否`n`n赛事组别`n[二期新增表]`nVenueId`nbigint`n否`n`n场地`n[二期新增表]`nSessionNo`nvarchar(32)`n否`n`n场次号`n[二期新增表]`nSessionName`nnvarchar(128)`n是`nNULL`n场次名称`n[二期新增表]`nStartTime`ndatetime2(3)`n是`nNULL`n计划开始`n[二期新增表]`nEndTime`ndatetime2(3)`n是`nNULL`n计划结束`n[二期新增表]`nStatus`nint`n否`n0`n场次状态`n[二期新增表]`nCurrentEntryId`nbigint`n是`nNULL`n当前出场记录`n[二期新增表]`nVersion`nint`n否`n1`n乐观锁业务版本`n[二期新增表]`nRowVersion`nrowversion`n否`n`n数据库并发令牌`n`n8.5 EventSessionEntry [二期新增表]`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增表]`nId`nbigint`n否`n`n主键`n[二期新增表]`nSessionId`nbigint`n否`n`n场次`n[二期新增表]`nParticipationRecordId`nbigint`n否`n`n一期有效参赛记录`n[二期新增表]`nEntryNo`nvarchar(32)`n否`n`n场内参赛号`n[二期新增表]`nPlayOrder`nint`n否`n`n出场顺序`n[二期新增表]`nEntryStatus`nint`n否`n0`n待出场/检录/进行/完成/退赛/DQ`n[二期新增表]`nCallTime`ndatetime2(3)`n是`nNULL`n叫号时间`n[二期新增表]`nStartTime`ndatetime2(3)`n是`nNULL`n实际开始`n[二期新增表]`nFinishTime`ndatetime2(3)`n是`nNULL`n实际结束`n[二期新增表]`nVersion`nint`n否`n1`n版本`n[二期新增表]`nRowVersion`nrowversion`n否`n`n并发令牌`n`n8.6 EventScoringDevice [二期新增表]`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增表]`nId`nbigint`n否`n`n主键`n[二期新增表]`nEventId`nbigint`n否`n`n赛事`n[二期新增表]`nDeviceCode`nvarchar(64)`n否`n`n设备唯一编码`n[二期新增表]`nDeviceName`nnvarchar(128)`n是`nNULL`n设备名称`n[二期新增表]`nDeviceType`nint`n否`n0`n平板/电脑/手机`n[二期新增表]`nBindUserId`nbigint`n是`nNULL`n当前绑定后台用户`n[二期新增表]`nLastOnlineTime`ndatetime2(3)`n是`nNULL`n最后在线`n[二期新增表]`nStatus`nint`n否`n1`n可用/离线/停用`n[二期新增表]`nRemark`nnvarchar(512)`n是`nNULL`n备注`n`n8.7 EventJudgeAssignment [二期新增表]`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增表]`nId`nbigint`n否`n`n主键`n[二期新增表]`nEventId`nbigint`n否`n`n赛事`n[二期新增表]`nSessionId`nbigint`n否`n`n场次`n[二期新增表]`nJudgeUserId`nbigint`n否`n`nSysUser.Id`n[二期新增表]`nJudgeRole`nvarchar(16)`n否`n`nDP/DM/DR/P/T`n[二期新增表]`nDeviceId`nbigint`n是`nNULL`n绑定设备`n[二期新增表]`nAssignmentStatus`nint`n否`n1`n有效/替换/停用`n[二期新增表]`nStartTime`ndatetime2(3)`n是`nNULL`n生效时间`n[二期新增表]`nEndTime`ndatetime2(3)`n是`nNULL`n失效时间`n[二期新增表]`nRemark`nnvarchar(512)`n是`nNULL`n替换原因等`n`n8.8 EventJudgeTask [二期新增表]`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增表]`nId`nbigint`n否`n`n主键`n[二期新增表]`nSessionId`nbigint`n否`n`n场次`n[二期新增表]`nSessionEntryId`nbigint`n否`n`n当前出场记录`n[二期新增表]`nJudgeAssignmentId`nbigint`n否`n`n裁判分配`n[二期新增表]`nJudgeUserId`nbigint`n否`n`n裁判用户快照`n[二期新增表]`nJudgeRole`nvarchar(16)`n否`n`n角色快照`n[二期新增表]`nScoreRuleId`nbigint`n否`n`n评分规则`n[二期新增表]`nRuleVersion`nint`n否`n`n规则版本`n[二期新增表]`nTaskVersion`nint`n否`n1`n任务版本`n[二期新增表]`nTaskStatus`nint`n否`n0`n任务状态`n[二期新增表]`nTaskSnapshotJson`nnvarchar(max)`n否`n`n赛事/参赛者/规则摘要`n[二期新增表]`nDispatchedTime`ndatetime2(3)`n是`nNULL`n下发时间`n[二期新增表]`nAcceptedTime`ndatetime2(3)`n是`nNULL`n接收时间`n[二期新增表]`nExpiresTime`ndatetime2(3)`n是`nNULL`n有效截止`n[二期新增表]`nOriginalTaskId`nbigint`n是`nNULL`n修正任务来源`n[二期新增表]`nRowVersion`nrowversion`n否`n`n并发令牌`n`n8.9 EventJudgeScoreSheet [二期新增表]`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增表]`nId`nbigint`n否`n`n主键`n[二期新增表]`nJudgeTaskId`nbigint`n否`n`n裁判任务`n[二期新增表]`nSessionEntryId`nbigint`n否`n`n出场记录`n[二期新增表]`nJudgeUserId`nbigint`n否`n`n提交裁判`n[二期新增表]`nJudgeRole`nvarchar(16)`n否`n`n裁判角色`n[二期新增表]`nScoreRuleId`nbigint`n否`n`n规则`n[二期新增表]`nRuleVersion`nint`n否`n`n规则版本`n[二期新增表]`nSheetVersion`nint`n否`n1`n评分版本`n[二期新增表]`nSheetStatus`nint`n否`n0`n草稿/已提交/已确认/作废`n[二期新增表]`nIsCurrent`nbit`n否`n1`n当前有效版本`n[二期新增表]`nDifficultyScore`ndecimal(18,4)`n否`n0`n难度分`n[二期新增表]`nPerformanceScore`ndecimal(18,4)`n否`n0`n表现分`n[二期新增表]`nDeductionScore`ndecimal(18,4)`n否`n0`n扣分`n[二期新增表]`nTotalScore`ndecimal(18,4)`n否`n0`n裁判单合计`n[二期新增表]`nIsDisqualified`nbit`n否`n0`n是否DQ`n[二期新增表]`nDisqualifyReasonCode`nvarchar(64)`n是`nNULL`nDQ原因编码`n[二期新增表]`nCalculationJson`nnvarchar(max)`n否`n`n服务端计算明细`n[二期新增表]`nIdempotencyKey`nvarchar(64)`n否`n`n提交幂等键`n[二期新增表]`nSubmittedTime`ndatetime2(3)`n是`nNULL`n提交时间`n[二期新增表]`nOriginalSheetId`nbigint`n是`nNULL`n修正来源`n[二期新增表]`nCorrectionReason`nnvarchar(512)`n是`nNULL`n修正原因`n[二期新增表]`nRowVersion`nrowversion`n否`n`n并发令牌`n`n8.10 EventJudgeScoreDetail [二期新增表]`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增表]`nId`nbigint`n否`n`n主键`n[二期新增表]`nScoreSheetId`nbigint`n否`n`n评分单`n[二期新增表]`nItemCode`nvarchar(64)`n否`n`n规则项编码`n[二期新增表]`nItemName`nnvarchar(128)`n否`n`n项名称快照`n[二期新增表]`nItemType`nint`n否`n`n项类型`n[二期新增表]`nInputValue`ndecimal(18,4)`n是`nNULL`n原始输入`n[二期新增表]`nCountValue`ndecimal(18,4)`n是`nNULL`n计数`n[二期新增表]`nUnitValue`ndecimal(18,4)`n是`nNULL`n单值`n[二期新增表]`nSubtotal`ndecimal(18,4)`n是`nNULL`n小计`n[二期新增表]`nIsAutoGenerated`nbit`n否`n0`n是否由失误等联动生成`n[二期新增表]`nParentItemCode`nvarchar(64)`n是`nNULL`n联动来源`n[二期新增表]`nExtensionJson`nnvarchar(max)`n是`nNULL`n额外输入/说明`n[二期新增表]`nSort`nint`n否`n0`n显示顺序`n`n8.11 EventScoreCorrection [二期新增表]`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增表]`nId`nbigint`n否`n`n主键`n[二期新增表]`nEventId`nbigint`n否`n`n赛事`n[二期新增表]`nSessionEntryId`nbigint`n否`n`n出场记录`n[二期新增表]`nOriginalScoreSheetId`nbigint`n否`n`n原评分单`n[二期新增表]`nJudgeRole`nvarchar(16)`n否`n`n角色`n[二期新增表]`nApplyUserId`nbigint`n否`n`n申请人`n[二期新增表]`nApplyReason`nnvarchar(512)`n否`n`n申请原因`n[二期新增表]`nApproveUserId`nbigint`n是`nNULL`n审批人`n[二期新增表]`nApproveRemark`nnvarchar(512)`n是`nNULL`n审批意见`n[二期新增表]`nCorrectionStatus`nint`n否`n0`n申请/批准/拒绝/完成`n[二期新增表]`nNewScoreSheetId`nbigint`n是`nNULL`n完成后的新评分单`n[二期新增表]`nCreatedTime`ndatetime2(3)`n否`nSYSUTCDATETIME()`n申请时间`n[二期新增表]`nCompletedTime`ndatetime2(3)`n是`nNULL`n完成时间`n`n8.12 EventResultVersion [二期新增表]`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增表]`nId`nbigint`n否`n`n主键`n[二期新增表]`nEventResultId`nbigint`n否`n`n一期EventResult`n[二期新增表]`nSessionEntryId`nbigint`n否`n`n出场记录`n[二期新增表]`nResultVersion`nint`n否`n`n结果版本`n[二期新增表]`nDifficultyScore`ndecimal(18,4)`n否`n0`n难度聚合`n[二期新增表]`nPerformanceScore`ndecimal(18,4)`n否`n0`n表现聚合`n[二期新增表]`nDeductionScore`ndecimal(18,4)`n否`n0`n主裁判扣分`n[二期新增表]`nTotalScore`ndecimal(18,4)`n否`n0`n正式总分`n[二期新增表]`nRank`nint`n是`nNULL`n该版本名次`n[二期新增表]`nIsDisqualified`nbit`n否`n0`n是否DQ`n[二期新增表]`nDisqualifyReasonCode`nvarchar(64)`n是`nNULL`nDQ原因`n[二期新增表]`nResultStatus`nint`n否`n0`n计算/待复核/确认/发布/撤销`n[二期新增表]`nRuleVersion`nint`n否`n`n评分规则版本`n[二期新增表]`nCalculationJson`nnvarchar(max)`n否`n`n聚合明细`n[二期新增表]`nCreatedUserId`nbigint`n否`n`n生成人`n[二期新增表]`nCreatedTime`ndatetime2(3)`n否`nSYSUTCDATETIME()`n生成时间`n`n8.13 EventResultPublish [二期新增表]`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增表]`nId`nbigint`n否`n`n主键`n[二期新增表]`nEventId`nbigint`n否`n`n赛事`n[二期新增表]`nPublishVersion`nint`n否`n`n发布版本`n[二期新增表]`nPublishScope`nint`n否`n`n赛事/项目/组别/场次`n[二期新增表]`nScopeId`nbigint`n是`nNULL`n范围对象`n[二期新增表]`nPublishStatus`nint`n否`n0`n准备/已发布/已撤销`n[二期新增表]`nPublicFieldJson`nnvarchar(max)`n否`n`n公开字段策略`n[二期新增表]`nMinorNameDisplayMode`nint`n否`n0`n未成年人姓名策略`n[二期新增表]`nPublishedUserId`nbigint`n是`nNULL`n发布人`n[二期新增表]`nPublishedTime`ndatetime2(3)`n是`nNULL`n发布时间`n[二期新增表]`nRevokedUserId`nbigint`n是`nNULL`n撤销人`n[二期新增表]`nRevokedTime`ndatetime2(3)`n是`nNULL`n撤销时间`n[二期新增表]`nRemark`nnvarchar(512)`n是`nNULL`n更正/撤销说明`n`n8.14 EventBusinessAuditLog [二期新增表]`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增表]`nId`nbigint`n否`n`n主键`n[二期新增表]`nEventId`nbigint`n是`nNULL`n赛事`n[二期新增表]`nBizType`nvarchar(64)`n否`n`nREGISTRATION/JUDGE_TASK/SCORE/RESULT/PUBLISH`n[二期新增表]`nBizId`nbigint`n否`n`n业务主键`n[二期新增表]`nAction`nvarchar(64)`n否`n`n动作`n[二期新增表]`nOperatorUserId`nbigint`n否`n`n操作人`n[二期新增表]`nOperatorRole`nvarchar(64)`n是`nNULL`n操作角色`n[二期新增表]`nBeforeJson`nnvarchar(max)`n是`nNULL`n变更前`n[二期新增表]`nAfterJson`nnvarchar(max)`n是`nNULL`n变更后`n[二期新增表]`nReason`nnvarchar(512)`n是`nNULL`n原因`n[二期新增表]`nTraceId`nvarchar(64)`n是`nNULL`n链路ID`n[二期新增表]`nRemoteIp`nvarchar(64)`n是`nNULL`n来源IP`n[二期新增表]`nCreatedTime`ndatetime2(3)`n否`nSYSUTCDATETIME()`n时间`n`n8.15 EventIntegrationOutbox [二期新增表]`n标识`n字段`nSQL Server类型`nNULL`n默认值`n用途`n[二期新增表]`nId`nbigint`n否`n`n主键`n[二期新增表]`nEventId`nbigint`n是`nNULL`n赛事`n[二期新增表]`nAggregateType`nvarchar(64)`n否`n`n聚合类型`n[二期新增表]`nAggregateId`nbigint`n否`n`n聚合主键`n[二期新增表]`nEventType`nvarchar(128)`n否`n`n事件类型`n[二期新增表]`nPayloadJson`nnvarchar(max)`n否`n`n事件负载`n[二期新增表]`nPayloadVersion`nint`n否`n1`n负载版本`n[二期新增表]`nPublishStatus`nint`n否`n0`n待发/已发/失败`n[二期新增表]`nRetryCount`nint`n否`n0`n重试次数`n[二期新增表]`nNextRetryTime`ndatetime2(3)`n是`nNULL`n下次重试`n[二期新增表]`nCreatedTime`ndatetime2(3)`n否`nSYSUTCDATETIME()`n创建时间`n[二期新增表]`nPublishedTime`ndatetime2(3)`n是`nNULL`n发送时间`n`n9. 索引、唯一约束与外键`n表`n索引名`n字段`n用途`nEventRegistration`nUX_EventRegistration_RegistrationNo`nRegistrationNo`nUNIQUE WHERE RegistrationNo IS NOT NULL`nEventParticipationRecord`nUX_EPR_RegItem_Person`nRegistrationItemId, RegistrationPersonId, DeleteMark`nUNIQUE`nEventSession`nUX_EventSession_No`nEventId, SessionNo`nUNIQUE`nEventSessionEntry`nUX_SessionEntry_Record`nSessionId, ParticipationRecordId`nUNIQUE`nEventSessionEntry`nUX_SessionEntry_Order`nSessionId, PlayOrder`nUNIQUE`nEventJudgeAssignment`nUX_JudgeAssign_Role`nSessionId, JudgeRole, JudgeUserId, AssignmentStatus`n按有效状态唯一`nEventJudgeTask`nIX_JudgeTask_Current`nJudgeUserId, TaskStatus, ExpiresTime`n裁判端当前任务`nEventJudgeTask`nUX_JudgeTask_Version`nSessionEntryId, JudgeAssignmentId, TaskVersion`nUNIQUE`nEventJudgeScoreSheet`nUX_ScoreSheet_Idempotency`nIdempotencyKey`nUNIQUE`nEventJudgeScoreSheet`nUX_ScoreSheet_Current`nJudgeTaskId, SheetVersion`nUNIQUE`nEventJudgeScoreDetail`nUX_ScoreDetail_Item`nScoreSheetId, ItemCode`nUNIQUE`nEventResultVersion`nUX_Result_Version`nEventResultId, ResultVersion`nUNIQUE`nEventResultPublish`nUX_Publish_Version`nEventId, PublishVersion`nUNIQUE`nEventIntegrationOutbox`nIX_Outbox_Pending`nPublishStatus, NextRetryTime, CreatedTime`n消息发布扫描`nEventBusinessAuditLog`nIX_Audit_Biz`nBizType, BizId, CreatedTime DESC`n业务追溯`n`n9.2 外键策略`n新表必须建立外键;一期表若历史脏数据较多,可先建立 WITH NOCHECK 外键或仅在应用层校验,清洗后再启用。`n所有软删除表的外键不使用 ON DELETE CASCADE;删除通过 DeleteMark/状态控制,保留评分审计链。`nEventJudgeScoreSheet、EventResultVersion、EventScoreCorrection 等审计链表禁止物理删除。`n跨服务拆库时,把外键改为逻辑外键,但仍保留索引和服务端存在性校验。`n10. 状态枚举与字段常量`n枚举`n建议值`n说明`nSessionStatus`n0草稿 / 10就绪 / 20检录 / 30进行中 / 40暂停 / 50待确认 / 60结束 / 90取消`nEventSession.Status`nSessionEntryStatus`n0待出场 / 10已检录 / 20叫号 / 30进行中 / 40完成 / 80退赛 / 90DQ`nEventSessionEntry.EntryStatus`nJudgeTaskStatus`n0待下发 / 10已下发 / 20已接收 / 30评分中 / 40已提交 / 50需修正 / 60已修正 / 90作废 / 99过期`nEventJudgeTask.TaskStatus`nScoreSheetStatus`n0草稿 / 10已提交 / 20已确认 / 30修正版 / 90作废`nEventJudgeScoreSheet.SheetStatus`nCorrectionStatus`n0申请 / 10批准 / 20拒绝 / 30评分中 / 40完成 / 90取消`nEventScoreCorrection.CorrectionStatus`nResultStatus`n0计算中 / 10待复核 / 20已确认 / 30已发布 / 40已更正 / 90已撤销`nEventResult.ResultStatus / Version.ResultStatus`nPublishStatus`n0准备 / 10已发布 / 90已撤销`nEventResultPublish.PublishStatus`nJudgeRole`nDP / DM / DR / P / T`n数据库存稳定代码,中文名称由字典/规则返回`n`n兼容提醒 一期各 Status 字段的实际枚举必须从现有后端代码核对后再迁移;本文只定义新增字段枚举,不建议直接改写一期 Status 的数值语义。`n11. 事务、幂等与并发`n业务事务`n同一事务内必须完成`n失败处理`n审核通过`n更新 EventRegistration + 插入 ParticipationRecord + AuditLog + Outbox`n整体回滚;消息异步重试`n任务下发`n更新 Session/Entry + 插入 JudgeTask + Outbox`n整体回滚;禁止只有部分裁判收到有效任务`n评分提交`n更新 ScoreSheet/Detail + 更新 JudgeTask + AuditLog + Outbox`nIdempotencyKey 重复返回原结果`n修正切版`n旧Sheet IsCurrent=0 + 新Sheet IsCurrent=1 + Correction完成 + 结果重算触发`n唯一约束保证仅一个当前版本`n成绩发布`n插入 ResultPublish + 更新 EventResult 发布字段 + AuditLog + Outbox`n数据库成功即视为发布已受理;缓存/通知异步补偿`n`n关键 UPDATE 必须带 RowVersion 或 Version 条件,受影响行数为 0 时返回 409 Conflict。`n评分提交先按 IdempotencyKey 查询;存在则直接返回已保存评分单,不重复写明细。`n聚合任务按 SessionEntryId 加分布式锁或数据库应用锁,同一参赛者只允许一个聚合任务执行。`nOutbox 发布器采用 SELECT ... WITH (UPDLOCK, READPAST) 批量领取,失败递增 RetryCount 并计算 NextRetryTime。`n12. 数据迁移与发布步骤`n备份 QA/生产并记录 dbo.sql 基线哈希;禁止在迁移脚本中 DROP 一期表。`n第一批只创建二期新表、可空字段、默认约束和非唯一索引。`n回填 EventRegistration.RegistrationNo、Version;EventResult.TotalScore 从 Score TRY_CONVERT(decimal(18,4)),无法转换的数据进入异常清单。`n根据 EventRegistrationItem.ProjectId + EventProjectGroupId 回填 EventProjectId;无法唯一匹配的数据人工处理。`n应用上线进入兼容双写:EventResult 同时写 TotalScore 和 Score,ReviewerUserId 与 Reviewer 同步。`n验证数据一致后创建唯一索引、启用 NOT NULL/外键约束。`n逐赛事启用二期评分域功能开关;一期结果查询保留回滚通道。`n稳定运行一个赛事周期后再评估停写 Score、旧 ScoreCriteria 或其他兼容字段。`n12.2 回滚原则`n结构回滚只关闭二期功能并停止写新表,不立即删除新表或新增字段。`n发布失败时 EventResult.PublishVersion 指回上一有效版本,并新建撤销审计记录。`n迁移脚本必须提供 down 说明,但生产 down 不执行破坏性 DROP;数据保留用于审计。`n13. 建议迁移DDL骨架`n说明 以下是开发起步骨架,不替代最终 DBA 审核。主键值沿用现有 bigint ID 生成器;约束名、默认值和外键需按项目迁移框架拆分。`n-- 1) 一期表加字段示例(先可兼容发布)`nALTER TABLE dbo.EventResult ADD`n SessionEntryId bigint NULL,`n DifficultyScore decimal(18,4) NOT NULL CONSTRAINT DF_EventResult_DifficultyScore DEFAULT(0),`n PerformanceScore decimal(18,4) NOT NULL CONSTRAINT DF_EventResult_PerformanceScore DEFAULT(0),`n DeductionScore decimal(18,4) NOT NULL CONSTRAINT DF_EventResult_DeductionScore DEFAULT(0),`n TotalScore decimal(18,4) NULL,`n IsDisqualified bit NOT NULL CONSTRAINT DF_EventResult_DQ DEFAULT(0),`n DisqualifyReasonCode varchar(64) NULL,`n ResultStatus int NOT NULL CONSTRAINT DF_EventResult_ResultStatus DEFAULT(0),`n ResultVersion int NOT NULL CONSTRAINT DF_EventResult_ResultVersion DEFAULT(1),`n PublishVersion int NULL,`n PublishedTime datetime2(3) NULL,`n CalculationJson nvarchar(max) NULL,`n RowVersion rowversion;`n `n-- 2) 二期裁判任务核心表`nCREATE TABLE dbo.EventJudgeTask(`n Id bigint NOT NULL CONSTRAINT PK_EventJudgeTask PRIMARY KEY,`n SessionId bigint NOT NULL,`n SessionEntryId bigint NOT NULL,`n JudgeAssignmentId bigint NOT NULL,`n JudgeUserId bigint NOT NULL,`n JudgeRole varchar(16) NOT NULL,`n ScoreRuleId bigint NOT NULL,`n RuleVersion int NOT NULL,`n TaskVersion int NOT NULL CONSTRAINT DF_EventJudgeTask_Version DEFAULT(1),`n TaskStatus int NOT NULL CONSTRAINT DF_EventJudgeTask_Status DEFAULT(0),`n TaskSnapshotJson nvarchar(max) NOT NULL,`n DispatchedTime datetime2(3) NULL,`n AcceptedTime datetime2(3) NULL,`n ExpiresTime datetime2(3) NULL,`n OriginalTaskId bigint NULL,`n RowVersion rowversion`n);`n `n-- 3) 裁判评分单:IdempotencyKey防重复,历史版本不覆盖`nCREATE TABLE dbo.EventJudgeScoreSheet(`n Id bigint NOT NULL CONSTRAINT PK_EventJudgeScoreSheet PRIMARY KEY,`n JudgeTaskId bigint NOT NULL,`n SessionEntryId bigint NOT NULL,`n JudgeUserId bigint NOT NULL,`n JudgeRole varchar(16) NOT NULL,`n ScoreRuleId bigint NOT NULL,`n RuleVersion int NOT NULL,`n SheetVersion int NOT NULL CONSTRAINT DF_JudgeSheet_Version DEFAULT(1),`n SheetStatus int NOT NULL CONSTRAINT DF_JudgeSheet_Status DEFAULT(0),`n IsCurrent bit NOT NULL CONSTRAINT DF_JudgeSheet_Current DEFAULT(1),`n DifficultyScore decimal(18,4) NOT NULL CONSTRAINT DF_JudgeSheet_D DEFAULT(0),`n PerformanceScore decimal(18,4) NOT NULL CONSTRAINT DF_JudgeSheet_P DEFAULT(0),`n DeductionScore decimal(18,4) NOT NULL CONSTRAINT DF_JudgeSheet_T DEFAULT(0),`n TotalScore decimal(18,4) NOT NULL CONSTRAINT DF_JudgeSheet_Total DEFAULT(0),`n IsDisqualified bit NOT NULL CONSTRAINT DF_JudgeSheet_DQ DEFAULT(0),`n DisqualifyReasonCode varchar(64) NULL,`n CalculationJson nvarchar(max) NOT NULL,`n IdempotencyKey varchar(64) NOT NULL,`n SubmittedTime datetime2(3) NULL,`n OriginalSheetId bigint NULL,`n CorrectionReason nvarchar(512) NULL,`n RowVersion rowversion,`n CONSTRAINT UX_JudgeSheet_Idempotency UNIQUE(IdempotencyKey),`n CONSTRAINT UX_JudgeSheet_TaskVersion UNIQUE(JudgeTaskId, SheetVersion)`n);`n `n-- 4) 权威数值迁移;不能转换的旧Score需人工处理`nUPDATE dbo.EventResult`nSET TotalScore = TRY_CONVERT(decimal(18,4), Score)`nWHERE TotalScore IS NULL;`nSELECT Id, Score FROM dbo.EventResult`nWHERE Score IS NOT NULL AND TotalScore IS NULL;`n14. 开发与测试完成定义`n检查项`n完成标准`n数据库`n新表/字段、默认值、索引、外键、回填脚本均通过QA;无DROP一期数据`n后端`n每个写接口有事务、幂等、权限、版本冲突处理和业务审计`n裁判端`n任务快照驱动;草稿恢复;提交超时可查询结果;不重复生成评分单`n工作台`n场次、出场、裁判、设备、任务、评分、结果、发布状态可追踪`n小程序`n只读已发布版本;敏感字段不返回;更正/撤销后缓存及时失效`n测试`n覆盖重复提交、串场、断网、修正、DQ、并发确认、发布撤销、旧数据迁移`n运维`nOutbox积压、评分失败、设备离线、版本冲突、发布延迟均有监控告警`n`n附录A:一期相关表字段速查`nEventInfo`n标识`n字段`n类型`nNULL`n[一期沿用]`nId`nbigint`n否`n[一期沿用]`nEventName`nvarchar(128)`n否`n[一期沿用]`nCoverImage`nvarchar(256)`n是`n[一期沿用]`nEventVideo`nvarchar(256)`n是`n[一期沿用]`nEventType`nint`n否`n[一期沿用]`nChargeMode`nint`n否`n[一期沿用]`nEventStatus`nint`n否`n[一期沿用]`nRegistrationType`nint`n否`n[一期沿用]`nPointsRuleId`nbigint`n是`n[一期沿用]`nRegistrationStartTime`ndatetime`n否`n[一期沿用]`nRegistrationEndTime`ndatetime`n否`n[一期沿用]`nIsNeedMaterial`nbit`n否`n[一期沿用]`nMaterialRemark`nvarchar(256)`n是`n[一期沿用]`nMaterialUploadStartTime`ndatetime`n是`n[一期沿用]`nMaterialUploadEndTime`ndatetime`n是`n[一期沿用]`nMatchStartTime`ndatetime`n否`n[一期沿用]`nMatchEndTime`ndatetime`n否`n[一期沿用]`nProvinceId`nbigint`n是`n[一期沿用]`nCityId`nbigint`n是`n[一期沿用]`nDistrictId`nbigint`n是`n[一期沿用]`nDetailAddress`nvarchar(256)`n是`n[一期沿用]`nEventIntroduction`ntext`n是`n[一期沿用]`nProcessStatus`nint`n否`n[一期沿用]`nStatus`nint`n否`n[一期沿用]`nCreatedUserId`nbigint`n否`n[一期沿用]`nUpdatedTime`ndatetime`n是`n[一期沿用]`nDeleteMark`nbit`n否`n[一期沿用]`nCreatedTime`ndatetime`n否`n[一期沿用]`nUpdatedUserId`nbigint`n是`n[一期沿用]`nCustomConfigJson`ntext`n是`n[一期沿用]`nQrCodeUrl`nvarchar(256)`n是`n[一期沿用]`nMerchantId`nbigint`n是`n[一期沿用]`nPointsRuleSnapshot`ntext`n是`n[一期沿用]`nRefundRuleSnapshot`ntext`n是`n`nEventProject`n标识`n字段`n类型`nNULL`n[一期沿用]`nId`nbigint`n否`n[一期沿用]`nEventId`nbigint`n否`n[一期沿用]`nUpdatedTime`ndatetime`n是`n[一期沿用]`nCreatedTime`ndatetime`n否`n[一期沿用]`nProjectId`nbigint`n否`n[一期沿用]`nGenderType`nint`n否`n[一期沿用]`nPrice`ndecimal(10,2)`n否`n[一期沿用]`nDeleteMark`nbit`n否`n[一期沿用]`nCreatedUserId`nbigint`n否`n[一期沿用]`nUpdatedUserId`nbigint`n是`n`nEventProjectGroup`n标识`n字段`n类型`nNULL`n[一期沿用]`nId`nbigint`n否`n[一期沿用]`nEventId`nbigint`n否`n[一期沿用]`nEventProjectId`nbigint`n否`n[一期沿用]`nProjectId`nbigint`n否`n[一期沿用]`nProjectGroupId`nbigint`n否`n[一期沿用]`nGroupName`nvarchar(128)`n否`n[一期沿用]`nBirthDateStart`ndatetime`n否`n[一期沿用]`nBirthDateEnd`ndatetime`n否`n[一期沿用]`nGender`nint`n否`n[一期沿用]`nDeleteMark`nbit`n否`n[一期沿用]`nCreatedUserId`nbigint`n否`n[一期沿用]`nCreatedTime`ndatetime`n否`n[一期沿用]`nUpdatedUserId`nbigint`n是`n[一期沿用]`nUpdatedTime`ndatetime`n是`n`nEventRegistration`n标识`n字段`n类型`nNULL`n[一期沿用]`nId`nbigint`n否`n[一期沿用]`nEventId`nbigint`n否`n[一期沿用]`nRegistrationMode`nint`n否`n[一期沿用]`nTeamName`nvarchar(128)`n是`n[一期沿用]`nContactName`nvarchar(64)`n否`n[一期沿用]`nContactPhone`nvarchar(16)`n否`n[一期沿用]`nContactEmail`nvarchar(64)`n是`n[一期沿用]`nTotalPersonCount`nint`n否`n[一期沿用]`nTotalAmount`ndecimal(18,4)`n否`n[一期沿用]`nPaymentStatus`nint`n否`n[一期沿用]`nPaymentMethod`nint`n否`n[一期沿用]`nOrderNo`nvarchar(64)`n否`n[一期沿用]`nPaymentTime`ndatetime`n是`n[一期沿用]`nReviewer`nvarchar(64)`n是`n[一期沿用]`nReviewTime`ndatetime`n是`n[一期沿用]`nReviewRemark`ntext`n是`n[一期沿用]`nRegistrationRemark`ntext`n是`n[一期沿用]`nRegistrationTime`ndatetime`n否`n[一期沿用]`nStatus`nint`n否`n[一期沿用]`nUpdatedTime`ndatetime`n是`n[一期沿用]`nDeleteMark`nbit`n否`n[一期沿用]`nCreatedTime`ndatetime`n否`n[一期沿用]`nPaymentProofUrl`nvarchar(512)`n是`n[一期沿用]`nMaterialUrl`nvarchar(512)`n是`n[一期沿用]`nCreatedUserId`nbigint`n否`n[一期沿用]`nUpdatedUserId`nbigint`n是`n[一期沿用]`nPaymentMethodType`nint`n否`n[一期沿用]`nMerchantCertificationId`nbigint`n是`n`nEventRegistrationItem`n标识`n字段`n类型`nNULL`n[一期沿用]`nId`nbigint`n否`n[一期沿用]`nRegistrationId`nbigint`n否`n[一期沿用]`nProjectId`nbigint`n否`n[一期沿用]`nProjectName`nvarchar(128)`n否`n[一期沿用]`nGroupName`nvarchar(64)`n否`n[一期沿用]`nUnitPrice`ndecimal(18,4)`n否`n[一期沿用]`nPersonCount`nint`n否`n[一期沿用]`nTotalPrice`ndecimal(18,4)`n否`n[一期沿用]`nRemark`ntext`n是`n[一期沿用]`nProjectTypeName`nvarchar(64)`n否`n[一期沿用]`nDeleteMark`nbit`n否`n[一期沿用]`nCreatedUserId`nbigint`n否`n[一期沿用]`nCreatedTime`ndatetime`n否`n[一期沿用]`nUpdatedUserId`nbigint`n是`n[一期沿用]`nUpdatedTime`ndatetime`n是`n[一期沿用]`nEventProjectGroupId`nbigint`n是`n[一期沿用]`nRefundOrderId`nbigint`n是`n`nEventRegistrationPerson`n标识`n字段`n类型`nNULL`n[一期沿用]`nId`nbigint`n否`n[一期沿用]`nRegistrationId`nbigint`n否`n[一期沿用]`nRegistrationItemId`nbigint`n否`n[一期沿用]`nProjectId`nbigint`n否`n[一期沿用]`nPersonType`nint`n否`n[一期沿用]`nName`nvarchar(64)`n否`n[一期沿用]`nGender`nint`n否`n[一期沿用]`nIdCard`nvarchar(18)`n否`n[一期沿用]`nBirthDate`ndatetime`n否`n[一期沿用]`nPhone`nvarchar(16)`n否`n[一期沿用]`nAge`nint`n否`n[一期沿用]`nEmail`nvarchar(64)`n是`n[一期沿用]`nGroupName`nvarchar(64)`n否`n[一期沿用]`nProjectName`nvarchar(128)`n是`n[一期沿用]`nCustomFieldValue`nvarchar(128)`n是`n[一期沿用]`nRemark`ntext`n是`n[一期沿用]`nDeleteMark`nbit`n否`n[一期沿用]`nCreatedUserId`nbigint`n否`n[一期沿用]`nCreatedTime`ndatetime`n否`n[一期沿用]`nUpdatedUserId`nbigint`n是`n[一期沿用]`nUpdatedTime`ndatetime`n是`n[一期沿用]`nEventProjectGroupId`nbigint`n是`n[一期沿用]`nUserId`nbigint`n否`n[一期沿用]`nRefundOrderId`nbigint`n是`n`nEventRegistrationPayment`n标识`n字段`n类型`nNULL`n[一期沿用]`nId`nbigint`n否`n[一期沿用]`nRegistrationId`nbigint`n否`n[一期沿用]`nTransactionNo`nvarchar(64)`n否`n[一期沿用]`nPaymentChannel`nint`n否`n[一期沿用]`nPaymentAmount`ndecimal(18,4)`n否`n[一期沿用]`nPaymentTime`ndatetime`n否`n[一期沿用]`nPaymentStatus`nint`n否`n[一期沿用]`nRefundStatus`nint`n否`n[一期沿用]`nRefundAmount`ndecimal(18,4)`n否`n[一期沿用]`nRefundTime`ndatetime`n是`n[一期沿用]`nRefundReason`ntext`n是`n[一期沿用]`nPayeeAccount`nvarchar(128)`n否`n[一期沿用]`nPayerAccount`nvarchar(128)`n是`n[一期沿用]`nRemark`ntext`n是`n[一期沿用]`nDeleteMark`nbit`n否`n[一期沿用]`nCreatedUserId`nbigint`n否`n[一期沿用]`nCreatedTime`ndatetime`n否`n[一期沿用]`nUpdatedUserId`nbigint`n是`n[一期沿用]`nUpdatedTime`ndatetime`n是`n`nEventParticipationRecord`n标识`n字段`n类型`nNULL`n[一期沿用]`nId`nbigint`n否`n[一期沿用]`nRegistrationId`nbigint`n否`n[一期沿用]`nRegistrationItemId`nbigint`n否`n[一期沿用]`nRegistrationPersonId`nbigint`n否`n[一期沿用]`nEventId`nbigint`n否`n[一期沿用]`nProjectId`nbigint`n否`n[一期沿用]`nParticipantName`nvarchar(64)`n否`n[一期沿用]`nGroupName`nvarchar(64)`n否`n[一期沿用]`nParticipationStatus`nint`n否`n[一期沿用]`nParticipationTime`ndatetime`n是`n[一期沿用]`nFinishTime`ndatetime`n是`n[一期沿用]`nCancelReason`ntext`n是`n[一期沿用]`nCancelTime`ndatetime`n是`n[一期沿用]`nRemark`ntext`n是`n[一期沿用]`nUpdatedTime`ndatetime`n是`n[一期沿用]`nCreatedTime`ndatetime`n否`n[一期沿用]`nDeleteMark`nbit`n否`n[一期沿用]`nCreatedUserId`nbigint`n否`n[一期沿用]`nUpdatedUserId`nbigint`n是`n`nEventScoreSheet`n标识`n字段`n类型`nNULL`n[一期沿用]`nId`nbigint`n否`n[一期沿用]`nEventId`nbigint`n否`n[一期沿用]`nProjectId`nbigint`n否`n[一期沿用]`nProjectName`nvarchar(128)`n否`n[一期沿用]`nGroupName`nvarchar(64)`n否`n[一期沿用]`nRound`nint`n否`n[一期沿用]`nSheetName`nvarchar(128)`n否`n[一期沿用]`nScoreCriteria`ntext`n是`n[一期沿用]`nScoreStatus`nint`n否`n[一期沿用]`nStartScoreTime`ndatetime`n是`n[一期沿用]`nEndScoreTime`ndatetime`n是`n[一期沿用]`nRemark`ntext`n是`n[一期沿用]`nUpdatedTime`ndatetime`n是`n[一期沿用]`nCreatedTime`ndatetime`n否`n[一期沿用]`nDeleteMark`nbit`n否`n[一期沿用]`nCreatedUserId`nbigint`n否`n[一期沿用]`nUpdatedUserId`nbigint`n是`n`nEventResult`n标识`n字段`n类型`nNULL`n[一期沿用]`nId`nbigint`n否`n[一期沿用]`nParticipationRecordId`nbigint`n否`n[一期沿用]`nRegistrationId`nbigint`n否`n[一期沿用]`nRegistrationPersonId`nbigint`n否`n[一期沿用]`nEventId`nbigint`n否`n[一期沿用]`nProjectId`nbigint`n否`n[一期沿用]`nParticipantName`nvarchar(64)`n否`n[一期沿用]`nGroupName`nvarchar(64)`n否`n[一期沿用]`nScore`nvarchar(32)`n否`n[一期沿用]`nRank`nint`n否`n[一期沿用]`nAwardLevel`nint`n否`n[一期沿用]`nAwardStatus`nint`n否`n[一期沿用]`nRemark`ntext`n是`n[一期沿用]`nUpdatedTime`ndatetime`n是`n[一期沿用]`nCreatedTime`ndatetime`n否`n[一期沿用]`nProjectTypeName`nvarchar(64)`n否`n[一期沿用]`nDeleteMark`nbit`n否`n[一期沿用]`nCreatedUserId`nbigint`n否`n[一期沿用]`nUpdatedUserId`nbigint`n是`n[一期沿用]`nStatus`nint`n否`n[一期沿用]`nMerchantCertificationId`nbigint`n是`n`nSysUser`n标识`n字段`n类型`nNULL`n[一期沿用]`nId`nbigint`n否`n[一期沿用]`nAccount`nvarchar(32)`n否`n[一期沿用]`nPassword`nvarchar(64)`n否`n[一期沿用]`nName`nvarchar(32)`n否`n[一期沿用]`nGender`nint`n否`n[一期沿用]`nOrgId`nbigint`n否`n[一期沿用]`nNickName`nvarchar(32)`n是`n[一期沿用]`nBirthday`ndate`n是`n[一期沿用]`nAvatar`nvarchar(256)`n是`n[一期沿用]`nMobile`nvarchar(16)`n是`n[一期沿用]`nEmail`nvarchar(64)`n是`n[一期沿用]`nStatus`nint`n否`n[一期沿用]`nLastLoginIp`nvarchar(32)`n是`n[一期沿用]`nLastLoginAddress`nvarchar(255)`n是`n[一期沿用]`nLastLoginTime`ndatetime`n是`n[一期沿用]`nRemark`nvarchar(256)`n是`n[一期沿用]`nCreatedUserId`nbigint`n否`n[一期沿用]`nUpdatedTime`ndatetime`n是`n[一期沿用]`nDeleteMark`nbit`n否`n[一期沿用]`nLockExpired`ndatetime`n是`n[一期沿用]`nCreatedTime`ndatetime`n否`n[一期沿用]`nUpdatedUserId`nbigint`n是`n`nSysRole`n标识`n字段`n类型`nNULL`n[一期沿用]`nId`nbigint`n否`n[一期沿用]`nName`nvarchar(32)`n否`n[一期沿用]`nCode`nvarchar(32)`n否`n[一期沿用]`nStatus`nint`n否`n[一期沿用]`nSort`nint`n否`n[一期沿用]`nRemark`nvarchar(256)`n是`n[一期沿用]`nDeleteMark`nbit`n否`n[一期沿用]`nCreatedTime`ndatetime`n否`n[一期沿用]`nCreatedUserId`nbigint`n否`n[一期沿用]`nUpdatedUserId`nbigint`n是`n[一期沿用]`nUpdatedTime`ndatetime`n是`n`nTeam`n标识`n字段`n类型`nNULL`n[一期沿用]`nId`nbigint`n否`n[一期沿用]`nName`nvarchar(64)`n否`n[一期沿用]`nStatus`nint`n否`n[一期沿用]`nDeleteMark`nbit`n否`n[一期沿用]`nCreatedUserId`nbigint`n否`n[一期沿用]`nCreatedTime`ndatetime`n否`n[一期沿用]`nUpdatedUserId`nbigint`n是`n[一期沿用]`nUpdatedTime`ndatetime`n是`n[一期沿用]`nMerchantCertificationId`nbigint`n是`n`nTeamMember`n标识`n字段`n类型`nNULL`n[一期沿用]`nId`nbigint`n否`n[一期沿用]`nTeamId`nbigint`n否`n[一期沿用]`nUserId`nbigint`n否`n[一期沿用]`nJoinTime`ndatetime`n否`n[一期沿用]`nDeleteMark`nbit`n否`n[一期沿用]`nCreatedUserId`nbigint`n否`n[一期沿用]`nCreatedTime`ndatetime`n否`n[一期沿用]`nUpdatedUserId`nbigint`n是`n[一期沿用]`nUpdatedTime`ndatetime`n是`n[一期沿用]`nPersonType`nint DEFAULT ((1))`n否`n`n diff --git a/二期需求/赛事二期四模块需求规格说明书.docx b/二期需求/赛事二期四模块需求规格说明书.docx new file mode 100644 index 0000000..310803e Binary files /dev/null and b/二期需求/赛事二期四模块需求规格说明书.docx differ diff --git a/二期需求/赛事二期四模块需求规格说明书.txt b/二期需求/赛事二期四模块需求规格说明书.txt new file mode 100644 index 0000000..1975f90 --- /dev/null +++ b/二期需求/赛事二期四模块需求规格说明书.txt @@ -0,0 +1,2 @@ + +PRODUCT REQUIREMENTS SPECIFICATION`n赛事二期四模块需求规格说明书`n报名平台 · 打分系统工作台 · 打分系统裁判端 · 跃享跳小程序`n文档属性`n内容`n文档属性`n内容`n版本`nV1.0(开发评审稿)`n编制日期`n2026-08-03`n需求来源`n蓝湖 Axure 原型《花样打分系统》`n适用对象`n产品、研发、测试、实施、运维`n覆盖范围`n四个指定模块`n需求阶段`n赛事二期`n原型可用性`n部分页面可见;页面树受登录状态影响`n说明`n原型明确项与开发补全项分级标注`n`n文档使用原则 标记为【原型明确】的内容可作为实现基线;标记为【开发补全】的内容用于补齐可开发、可测试所必需的系统行为,需在需求评审中确认后纳入范围。`n`n修订记录`n版本`n日期`n修订说明`n编制`nV1.0`n2026-08-03`n基于蓝湖原型首次形成四模块开发规格`nCodex`n`n目录与阅读导航`n1. 文档说明与需求分级`n2. 产品目标、范围与总体流程`n3. 角色权限与核心数据模型`n4. 报名平台需求`n5. 打分系统工作台需求`n6. 打分系统裁判端需求`n7. 跃享跳小程序需求`n8. 评分规则与成绩计算`n9. 跨模块接口与事件`n10. 非功能、安全与运维要求`n11. 测试验收与上线准备`n12. 待确认问题清单`n1. 文档说明与需求分级`n1.1 编制目的`n本说明书将原型中的页面与交互意图转化为可供研发、测试和实施直接使用的需求基线,重点补齐页面背后的数据、权限、状态、计算、接口、异常和验收标准。`n1.2 需求证据等级`n等级`n含义`n实施要求`nA|原型明确`n原型中可直接观察到的页面、字段、角色、按钮、规则或示例`n默认纳入本期;如变更需产品确认`nB|强关联推导`n为使原型流程闭环所必需,且可由上下游关系合理确定`n纳入技术方案前需产品确认边界`nC|开发补全`n原型未明确但开发、测试、运维不可缺少的行为`n评审确认后转为正式需求`nD|建议/后续`n体验、运营或平台化增强项`n不默认计入本期排期`n`n1.3 原型已确认信息`n【A】原型目录明确包含:报名平台、打分系统工作台、打分系统裁判端、跃享跳小程序;另有“跃享跳小程序成绩查询”“后期优化”“裁判长”等页面节点。`n【A】裁判端包含难度裁判 DP(力量体操)、DM(多摇)、DR(绳子运用)、表现裁判 P、主裁判 T 等角色页面。`n【A】评分页头部展示赛事、项目/赛制、组别、场次-场地、裁判角色和运动员/队伍,并提供“提交打分”“成绩修正”等操作。`n【A】难度页面分为“规定元素打分区域”和“难度打分区域”;表现裁判包含音乐、完成质量、娱乐、创意、多样性与失误计数;主裁判包含间歇、违例、失误、规定元素、取消比赛资格等处理。`n【A】原型说明:规定元素目标数量为 4;3 级及以上每个计 1 个,2 级及以下每个计 0.5 个;规定元素缺失数 = 4 - 完成数量。`n【A】原型提供难度等级示例分值表,并明确难度裁判得分为各等级动作数量乘以对应分值后求和;取消比赛资格按 0 分处理。`n限制说明 蓝湖当前出现“用户状态发生变化,请重新登录”的提示,原型画布与已加载页面可读取,但部分目录子页面无法稳定展开。因此本文对未直接呈现的页面使用 B/C 等级,并在第 12 章集中列出待确认项。`n2. 产品目标、范围与总体流程`n2.1 产品目标`n完成从赛事配置、参赛报名、资格审核、编排与裁判分配,到现场打分、成绩确认、发布查询的完整业务闭环。`n保证多裁判、多场地并发条件下评分数据准确、可追溯、可恢复,避免重复提交、串场评分、版本覆盖和规则不一致。`n为参赛者、教练、裁判、赛事运营和公众提供与角色匹配的信息入口,同时隔离未发布成绩和敏感个人信息。`n2.2 本期范围`n模块`n核心职责`n主要用户`n本期输出`n报名平台`n赛事报名、参赛信息、项目选择、资格与缴费状态`n运动员/教练/领队、报名审核员`n有效参赛记录与报名数据包`n打分系统工作台`n赛前配置、现场调度、评分监控、异常处理、成绩确认发布`n赛事管理员、技术官员、裁判长、成绩员`n场次任务、正式成绩、审计记录`n打分系统裁判端`n按裁判角色录入并提交评分、查看/修正授权范围内成绩`nDP/DM/DR/P/T 裁判`n原始评分单、提交版本、修正记录`n跃享跳小程序`n面向移动端的赛事与成绩查询`n运动员、教练、领队、公众`n已发布成绩、排名和个人明细`n`n2.3 端到端业务流程`n赛事运营在报名平台/工作台创建赛事、项目、组别、报名规则、评分规则版本和赛程基础数据。`n参赛单位或个人提交报名;系统完成必填、年龄/性别/组别、重复报名、队伍人数和材料校验;审核通过后形成有效参赛记录。`n工作台接收报名数据,完成号码、组次、场次场地、出场顺序、裁判组和设备/账号绑定。`n现场开始场次后,工作台向对应裁判端下发当前运动员/队伍和角色任务;裁判按角色记录分项与计数。`n裁判提交评分;服务端进行版本、任务、规则、范围和幂等校验,保存原始评分单并回传提交结果。`n工作台监控各裁判提交情况,按规则聚合成绩;遇到漏评、错评、掉线或争议时进入修正/复核流程。`n成绩经裁判长/成绩负责人确认后成为正式成绩,并按发布策略同步给跃享跳小程序。`n成绩修正、取消资格或撤销发布时生成新版本和审计记录,并向查询端同步最新可见版本。`n2.4 关键状态链`n对象`n状态链`n关键约束`n报名单`n草稿 → 已提交 → 审核中 → 已通过/已驳回 → 已取消`n通过后影响编排;变更需重审或锁定`n场次`n未开始 → 检录中 → 进行中 → 待确认 → 已结束`n进行中限制规则和编排变更`n裁判任务`n待接收 → 评分中 → 已提交 → 已确认/需修正 → 已修正`n同一任务每个版本仅允许一个有效提交`n成绩`n计算中 → 待复核 → 已确认 → 已发布 → 已更正/已撤销`n仅已发布版本对小程序可见`n`n3. 角色权限与核心数据模型`n3.1 角色权限矩阵`n角色`n可见范围`n核心权限`n禁止事项`n系统管理员`n全平台`n租户/账号/基础字典/权限/审计`n不得直接修改正式成绩值`n赛事管理员`n所辖赛事`n赛事、项目、组别、报名、赛程、裁判组配置`n赛事开始后不得无痕修改规则`n报名审核员`n所辖报名`n审核、驳回、导出、异常标记`n不得查看无关赛事敏感信息`n成绩负责人/工作台操作员`n所辖场地/场次`n开闭场、叫号、监控、重发任务、发起修正、确认成绩`n不得伪造裁判原始提交`n裁判长`n授权场次`n复核、批准修正、取消资格、成绩确认`n不得删除历史版本`nDP/DM/DR/P/T 裁判`n分配任务`n录入、暂存、提交、授权后修正本人评分`n不得评分未分配任务或查看未授权裁判明细`n参赛者/教练/领队`n本人/本队`n报名维护、进度查看、已发布成绩查询`n不得访问他人隐私与未发布成绩`n公众用户`n公开赛事`n查询已发布排名/成绩`n不得查看证件、联系方式、缴费材料`n`n3.2 核心数据实体`n实体`n主键/唯一键`n关键字段`n关系与说明`n赛事 Event`nevent_id`n名称、主办方、时间、地区、状态、时区`n1:N 项目、场地、报名单、成绩`n项目 Discipline`ndiscipline_id`n项目名称、赛制、单人/团体、规则版本`n关联组别与评分模板`n组别 Category`ncategory_id`n性别、年龄、水平、队伍人数限制`n用于报名校验和排名分组`n参赛主体 Entrant`nentrant_id`n个人/队伍、成员、单位、证件脱敏信息`n一主体可有多个报名项目`n报名单 Registration`nregistration_id;赛事+主体+项目唯一`n状态、材料、费用、审核意见、版本`n通过后形成参赛记录`n场次 Session`nsession_id`n日期、场次号、场地、项目、组别、状态`n包含出场顺序和裁判组`n裁判任务 JudgeTask`ntask_id;场次+参赛记录+角色+裁判唯一`n角色、状态、下发时间、规则快照`n绑定一个或多个评分单版本`n评分单 ScoreSheet`nscore_sheet_id;task_id+version 唯一`n分项、计数、扣分、合计、提交人/时间`n原始提交不可覆盖,修正新建版本`n成绩 Result`nresult_id;参赛记录+场次唯一`n原始分、扣分、总分、排名、状态、发布版本`n聚合多个裁判评分单`n审计 AuditLog`naudit_id`n操作者、动作、前后值、原因、时间、设备/IP`n覆盖关键配置、评分、发布与权限操作`n`n3.3 通用标识与版本规则`n所有业务对象使用不可复用的全局 ID;赛事内可另设人类可读的参赛号、场次号、场地号。`n评分规则、报名规则、编排和正式成绩必须带 version;赛事进行中调用均使用任务下发时的规则快照,禁止读取被后台随后修改的“当前值”。`n评分单采用追加版本模型:submitted_version 不可物理覆盖;修正生成 version+1,并记录原版本、原因、申请人、批准人。`n接口写操作携带 request_id/idempotency_key,重复请求必须返回同一业务结果。`n4. 报名平台需求`n模块定位 负责产生准确、完整、可审核、可编排的参赛数据。由于报名平台子页面未在当前画布直接展开,本章将赛事报名闭环列为 B/C 级需求,评审时应与现有一期能力做差异确认。`n4.1 功能清单`n编号`n功能`n等级`n需求说明`n验收摘要`nREG-001`n赛事报名入口`nB`n按赛事状态展示可报名项目、报名时间、参赛须知、联系方式;停止/结束后不可新建报名。`n用户可进入正确赛事且入口状态与时间一致`nREG-002`n身份与主体选择`nC`n支持个人、队伍/单位报名;选择已有主体或新建;敏感字段按权限脱敏。`n同一账号可管理授权主体,不得越权`nREG-003`n参赛信息维护`nB`n维护姓名/队名、性别、出生日期、证件、单位、教练/领队、联系方式、成员名单、附件。`n必填和格式校验明确,草稿可续填`nREG-004`n项目与组别选择`nB`n根据赛事、主体属性和规则过滤可选项目/组别,显示冲突与限制。`n不符合条件的组合不可提交`nREG-005`n团体成员校验`nC`n校验人数上下限、成员重复、角色重复、跨队限制、队伍信息完整性。`n错误定位到具体成员与字段`nREG-006`n材料上传`nC`n支持规定格式/大小/数量的照片、证明、承诺书等;病毒扫描与访问控制。`n失败可重试,删除/替换有记录`nREG-007`n费用与订单`nC`n按项目/人数/优惠计算应付;记录支付、退款、减免和对账状态。`n金额由服务端计算,支付回调幂等`nREG-008`n提交与承诺`nB`n提交前展示确认页和声明;提交后生成编号并进入审核。`n重复点击仅产生一张报名单`nREG-009`n审核与驳回`nC`n审核员查看材料与校验结果,可通过、驳回并填写原因;批量操作需二次确认。`n状态、意见、操作者与时间可追溯`nREG-010`n报名变更/取消`nC`n在允许期限内修改或取消;已通过修改可触发重审;已编排后按策略限制。`n变更不破坏参赛号和历史版本`nREG-011`n查询与导出`nB`n按赛事、项目、组别、单位、状态、支付状态查询;导出字段按权限控制。`n导出与页面筛选一致并有审计`nREG-012`n通知`nD`n提交、审核、驳回、支付、赛程变更时通过站内/短信/微信模板通知。`n通知失败不回滚主业务,可重试`n`n4.2 报名字段与校验`n字段组`n示例字段`n校验规则`n数据处理`n主体信息`n姓名/队名、证件类型/号、出生日期、性别、单位`n证件唯一性、年龄与组别、格式、必填`n证件号加密存储、前端脱敏`n联系方式`n手机号、邮箱、紧急联系人`n格式、验证码/授权(如启用)`n仅本人和授权运营可见`n项目组别`n项目、赛制、组别、参赛类型`n开放状态、兼项冲突、性别/年龄/水平限制`n保存规则校验结果快照`n团体成员`n成员、队内角色、替补标识`n人数、重复成员、成员资格`n成员变更保留前后版本`n报名材料`n证件照、资格证明、承诺书`n类型、大小、数量、有效期`n私有存储、签名 URL、病毒扫描`n财务信息`n费用明细、订单、支付渠道、退款`n金额不可由客户端决定`n财务记录与报名状态解耦`n`n4.3 报名业务规则`n同一赛事、同一参赛主体、同一项目/组别原则上只能有一条有效报名;重复提交由服务端唯一约束拦截。`n报名截止时间按赛事时区由服务端判定;客户端时间仅用于展示。`n资格校验失败分为阻断项与警告项;阻断项不可提交,警告项允许提交但需审核员确认。`n报名通过并同步到工作台后,关键字段变更必须触发增量同步和影响提示;不得静默覆盖已编排数据。`n报名与支付状态分离。审核通过不必然等于已支付,是否要求“支付完成才有效”由赛事配置决定。`n4.4 报名平台异常与边界`n场景`n系统行为`n用户提示/补偿`n截止瞬间提交`n服务端再次校验截止时间;超时拒绝,不生成有效报名`n提示报名已截止,保留草稿只读`n支付成功但回调延迟`n订单保持处理中并主动查询渠道;回调幂等`n展示“支付确认中”,禁止重复支付`n审核后修改关键字段`n按配置进入重审或禁止修改`n明确受影响字段和审核状态`n同步工作台失败`n进入重试队列,报名通过状态不回滚`n后台展示同步异常并可人工重试`n附件上传中断`n分片/重试或重新上传,不提交不完整附件`n提示失败原因和限制`n`n5. 打分系统工作台需求`n模块定位 工作台是赛事现场的控制中心,负责把报名/编排数据转化为可执行的裁判任务,并完成评分监控、异常处置、成绩确认与发布。`n5.1 功能清单`n编号`n功能`n等级`n需求说明`nWKS-001`n赛事/场次选择`nB`n按日期、赛事、场地、项目、组别选择工作上下文;明确当前环境与网络状态。`nWKS-002`n赛前数据检查`nC`n检查参赛名单、出场顺序、裁判组、评分规则、设备绑定和发布策略完整性。`nWKS-003`n裁判组与角色分配`nB`n为场次分配 DP/DM/DR/P/T 等角色和账号/设备,禁止一人占用冲突角色。`nWKS-004`n场次控制`nB`n支持检录、开始、暂停、恢复、结束;操作需权限和确认。`nWKS-005`n叫号与当前选手`nB`n按出场顺序切换当前运动员/队,向裁判端下发一致任务;支持跳过、退赛、补赛。`nWKS-006`n提交进度监控`nA/B`n按裁判角色展示待接收、评分中、已提交、超时、离线、需修正状态。`nWKS-007`n评分单查看`nB`n查看各裁判原始分项、提交时间、版本、设备,但不得直接覆盖裁判原始值。`nWKS-008`n成绩聚合`nA/B`n按规则版本计算难度、表现、扣分、总分、DQ 与排名;展示计算明细。`nWKS-009`n异常重发/补交`nC`n任务未达、断线或误切换时可重发;已提交不得重复生成有效评分。`nWKS-010`n成绩修正流程`nA`n原型提供“成绩修正”;工作台发起修正,指定对象/原因,经授权后生成新版本。`nWKS-011`n取消比赛资格`nA`n主裁判选择原因并确认;确认 DQ 后该参赛者按 0 分处理且保留原始评分。`nWKS-012`n成绩确认/发布`nB`n裁判长或成绩负责人确认正式成绩;按赛事/项目/组别/场次发布或撤销。`nWKS-013`n排名与导出`nC`n按组别生成排名,处理并列;导出成绩册、裁判评分单、审计记录。`nWKS-014`n审计与告警`nC`n关键操作留痕;缺裁判、超时、分差异常、规则不一致、同步失败产生告警。`n`n5.2 工作台页面与组件`n页面/区域`n必须展示`n关键操作`n刷新策略`n场次总览`n赛事、场地、项目、组别、当前进度、网络/服务状态`n进入场次、开闭场、异常查看`n5-10 秒轮询或推送`n场次控制台`n当前/下一位、出场队列、各裁判提交状态、计时`n叫号、开始、暂停、跳过、重发`n任务状态实时推送`n评分监控`nDP/DM/DR/P/T 分项、版本、提交时间、异常标识`n查看详情、发起修正`n提交后实时更新`n成绩确认`n原始分、扣分、总分、DQ、排名、规则版本`n复核、确认、发布/撤销`n显式刷新并防并发覆盖`n日志告警`n时间、级别、对象、动作、结果、处理人`n确认、指派、重试、导出`n实时或近实时`n`n5.3 工作台关键控制规则`n工作台切换当前参赛者前,必须检查上一位是否仍有裁判处于评分中;允许强制切换时必须二次确认并记录原因。`n裁判端任务必须包含 event_id、session_id、entry_id、judge_role、rule_version、task_version 和有效期;任何不匹配提交均拒绝。`n正式成绩确认使用乐观锁:提交 expected_result_version;版本不一致时提示已被他人更新并要求重新加载。`n撤销发布不删除成绩,只改变对外可见版本;小程序缓存必须按 result_version 失效。`n离线补交必须校验任务时间窗和授权;超出时间窗进入人工复核,不能自动覆盖现场结果。`n5.4 成绩修正流程`n工作台选择参赛者、裁判角色和当前有效评分版本,发起修正并填写原因。`n系统冻结原版本,向原裁判或授权裁判下发“修正任务”,并展示原值但要求显式确认修改项。`n裁判提交修正版;服务端生成 ScoreSheet version+1,不覆盖 version N。`n系统重新聚合成绩,标记为“待复核”;对比展示修正前后值和对排名的影响。`n裁判长/成绩负责人批准后生成新的正式成绩版本;如已发布,按策略重新发布并记录更正说明。`n6. 打分系统裁判端需求`n原型明确 裁判端是本次可见原型最完整的模块。原型呈现 DP、DM、DR、P、T 角色页,以及赛事、项目、组别、场次-场地、提交打分、成绩与修正等元素。`n6.1 通用页面结构`n区域`n原型字段/控件`n开发要求`n任务头部`n裁判姓名、赛事、项目/赛制、裁判角色、场次-场地、组别、运动员/队`n所有字段来自任务快照;entry_id 隐式携带;明显显示当前角色和参赛者,防串评`n评分区域`n随角色变化的计数、分项、数量、小计、说明`n客户端只允许合法输入;服务端独立复算;每次修改本地暂存`n成绩信息`n成绩/小计/扣分等`n实时计算仅作预览,最终以服务端结果为准`n操作区`n提交打分、成绩修正(原型明确)`n提交前汇总确认;提交后锁定;修正需授权任务`n状态提示`n原型未完整呈现`n补充连接、同步、暂存、提交成功/失败、任务过期、只读状态`n`n6.2 通用交互要求`n数字计数提供加/减或数量选择器;范围、步长和可选值由评分模板下发,前端不得硬编码。`n减操作不得小于 0;数量选择器超出上限时禁用或拒绝,并给出明确提示。`n页面自动暂存未提交输入;刷新/短时掉线后恢复相同 task_id、task_version 的草稿。任务已切换或作废时不得自动套用旧草稿。`n提交前展示所有分项、自动小计、扣分/缺失和预估总分;裁判确认后提交。`n提交按钮防连点;请求超时后先查询提交结果,再决定是否重试,避免重复评分单。`n提交成功后页面只读并显示提交时间、版本和服务端签名/流水号;修正必须通过独立授权入口。`n6.3 难度裁判 DP/DM/DR`n【A】三类难度裁判原型页面结构一致,角色名称分别为 DP(力量体操裁判)、DM(多摇裁判)、DR(绳子运用裁判)。页面包含规定元素打分区域与难度打分区域。`n功能`n输入`n计算/展示`n校验`n规定元素计数`nn3+ 数量、n2- 数量`n完成数量 = n3+×1 + n2-×0.5;缺失数 = max(0, 4-完成数量)`n非负;步长按规则;是否允许完成数>4待确认`n难度等级计数`n各难度等级的动作数量`n各等级小计 = 数量×等级分值;难度分 = 各小计之和`n等级集合与分值使用任务规则快照`n数量选择`n原型展示 1-50 等数量选项/加减数量`n选择后更新对应行和总分`n上限应配置;避免长列表误触`n提交`n完整评分单`n服务端复算并保存原始分项与合计`n任务、角色、规则版本、幂等键必须匹配`n`n6.4 表现裁判 P`n【A】原型展示表现打分区域与失误打分区域,表现维度包括音乐、完成质量、娱乐、创意、多样性;原型说明表现裁判记录一次失误时,对应五个方面的“减数量”加 1。`n项目`n要求`n五个表现维度`n分别记录加/减计数或分值;具体初始分、步长、上下限、维度权重由规则模板配置。`n失误计数`n记录失误次数;每增加 1 次失误,系统按规则同步影响五个表现维度的减数量。需避免人工与自动重复扣减。`n联动可解释性`n界面标识由失误自动生成的扣减;撤销失误时同步回滚对应自动扣减;手工调整与自动调整分开存储。`n表现分`n客户端预览,服务端根据维度基准、加减计数、失误联动和规则版本复算。`n`n6.5 主裁判 T`n【A】原型主裁判页面包含间歇、违例、失误、规定元素、扣分打分区域,以及取消比赛资格。两人同步/四人同步页面还展示多组规定元素计数。`n功能`n原型内容`n开发行为`n扣分项`n间歇、违例、失误等计数`n扣分项、单次扣分、上限、是否可叠加均由规则模板配置;合计由服务端复算。`n规定元素`n缺失数量与计数`n单人/双人/四人按评分模板展示对应子单元;明确聚合方式。`n其他处罚`n运动员/队被叫超过 60 秒未上场、显露纹身等原型说明项`n作为可配置处罚代码,不用文案判断;记录证据/备注(若赛事要求)。`n取消比赛资格`n原因包括违反赛场纪律、参赛人员不符合规定、未穿跳绳鞋、使用外部助力器材、不文明用语、有悖奥林匹克精神的元素等`n必须选择原因并二次确认;提交后总分按 0 处理,保留原始评分,需裁判长权限。`n`n6.6 裁判端提交与修正状态`n状态`n页面行为`n允许操作`n待接收`n显示任务摘要和接收确认`n接收/拒绝(需原因)`n评分中`n输入可编辑,自动暂存,展示网络状态`n加减、选择、保存草稿、提交`n提交中`n界面冻结并显示进度`n取消重复点击;超时查询结果`n已提交`n只读显示服务端确认值、时间、版本`n返回任务列表;无权直接编辑`n需修正`n显示原值、修正原因和授权人`n修改授权字段并重新提交`n任务作废/过期`n只读并提示返回`n不得提交;联系工作台`n`n7. 跃享跳小程序需求`n原型范围 页面树明确存在“跃享跳小程序”和“跃享跳小程序成绩查询”。因此本期至少应交付已发布成绩查询;报名、支付或社交能力不在当前原型证据范围内。`n7.1 功能清单`n编号`n功能`n等级`n需求说明`nMINI-001`n赛事选择`nA/B`n展示可查询赛事,支持按名称/日期/地区筛选;仅展示允许公开的赛事。`nMINI-002`n成绩查询`nA`n按项目、组别、参赛者/队伍、参赛号查询已发布成绩。`nMINI-003`n排名列表`nB`n展示名次、姓名/队名、单位、总分、状态;支持并列和 DQ/退赛标识。`nMINI-004`n成绩详情`nB`n展示赛事、项目、组别、场次、总分及允许公开的分项/扣分/规则说明。`nMINI-005`n本人/本队成绩`nC`n登录后可聚合本人或授权队伍成绩;不应扩大公开字段。`nMINI-006`n更正提示`nC`n已发布成绩被修正时显示“已更正”、更新时间和公开说明。`nMINI-007`n分享`nD`n分享赛事榜单或个人成绩卡;分享页只含公开数据并带版本/更新时间。`n`n7.2 查询页面字段`n页面`n字段`n交互/规则`n赛事列表`n赛事名称、时间、地区、状态`n默认最近赛事;已撤销公开的赛事不展示`n筛选区`n项目、组别、参赛者/队伍、参赛号`n筛选条件联动;输入防抖;空结果给出建议`n排名列表`n名次、姓名/队名、单位、总分、状态`n并列名次按赛事规则;未发布分项不可透出`n成绩详情`n基础信息、分项、扣分、总分、版本、更新时间`n分项展示由发布配置决定;DQ 显示原因公开文案(如允许)`n`n7.3 隐私与缓存`n公开端不展示证件号、手机号、出生日期、报名材料、支付信息、裁判账号与内部审核意见。`n未成年人姓名显示策略由赛事配置决定,可使用部分脱敏或参赛号。`n查询接口只返回 status=published 且 publish_version 有效的数据;后端必须强制过滤,不能只由前端隐藏。`n榜单可短缓存,但缓存键必须包含 event_id、discipline_id、category_id、publish_version;更正或撤销发布时主动失效。`n8. 评分规则与成绩计算`n8.1 规则配置原则`n所有分值、等级、步长、上下限、扣分项、裁判角色、聚合公式、精度与舍入方式均由 rule_version 管理,不在客户端硬编码。`n规则发布后生成只读快照;场次开始后任务引用固定快照。规则修订仅影响新任务,除非通过受控的数据迁移流程。`n客户端计算仅用于即时反馈,正式成绩由服务端评分引擎复算并产出 calculation_detail。`n金额与分数均使用十进制定点数;禁止使用二进制浮点直接累加。`n8.2 原型难度分值示例`n以下来自原型说明区域,作为示例规则快照展示。原型画布还出现个别小计与分值表可能存在 0.01 差异,因此最终上线值和舍入规则必须由赛事规则负责人确认。`n难度等级`n0`n0.5`n1`n2`n3`n4`n5`n6`n7`n8`n示例分值`n0`n0.12`n0.15`n0.23`n0.34`n0.51`n0.76`n1.14`n1.71`n2.56`n`n8.3 建议计算模型`n计算项`n公式/处理`n精度与边界`n规定元素完成数`nrequired_completed = n3_plus × 1 + n2_minus × 0.5`n非负;是否封顶 4 待确认`n规定元素缺失数`nrequired_missing = max(0, required_target - required_completed)`nrequired_target 原型示例为 4`n单等级小计`nlevel_subtotal[i] = level_count[i] × level_value[i]`n内部至少 4 位小数`n难度分`ndifficulty_score = Σ level_subtotal[i]`n显示精度、逐项舍入还是总和舍入待确认`n表现分`nperformance_score = rule(base, dimensions, manual_adjustments, auto_failure_adjustments)`n维度基准、权重与上下限待确认`n主裁判扣分`nchief_deduction = Σ penalty_count[k] × penalty_value[k]`n处罚是否叠加与上限由规则配置`n总分`ntotal = aggregate(difficulty judges, performance judges) - chief_deduction`n裁判取平均/去极值等聚合规则待确认`n取消资格`nif disqualified then official_total = 0`n保留原始分和 DQ 原因;排名状态为 DQ`n`n8.4 并列与排名`n排名只基于已确认成绩;未完成、退赛、DQ 的排序位置和展示文案由赛事规则配置。`n并列打破规则必须配置为有序条件列表,例如总分 → 难度分 → 表现分 → 更少扣分;若仍相同则并列。`n成绩更正后仅重算受影响的项目/组别排名,并生成新的排名版本。`n9. 跨模块接口与事件`n9.1 接口边界`n接口域`n调用方 → 提供方`n主要能力`n一致性要求`n报名同步`n报名平台 → 工作台`n有效参赛记录、项目组别、成员、状态变更`n至少一次投递 + 消费幂等;增量带版本`n赛程任务`n工作台 → 裁判端`n当前参赛者、裁判角色、规则快照、任务状态`n实时推送 + 可拉取补偿;严格校验 task_version`n评分提交`n裁判端 → 评分服务`n草稿/正式提交/修正提交`n幂等键;服务端复算;不可覆盖历史`n成绩聚合`n评分服务 → 工作台`n评分单进度、计算结果、异常`n事件带 result_version;乱序事件丢弃旧版本`n成绩发布`n工作台 → 查询服务/小程序`n正式成绩、排名、公开字段、撤销/更正`n发布版本原子切换;缓存失效`n`n9.2 建议核心 API`n方法`n路径示例`n用途`n关键校验`nGET`n/events/{eventId}/registration-config`n读取报名规则`n事件可见性、规则版本`nPOST`n/registrations`n创建/提交报名`n资格、唯一性、截止时间、幂等`nPOST`n/sessions/{sessionId}/dispatch`n下发当前裁判任务`n场次状态、参赛记录、角色绑定`nGET`n/judge/tasks/current`n裁判端拉取当前任务`n裁判身份、设备、任务有效期`nPUT`n/judge/tasks/{taskId}/draft`n保存评分草稿`ntask_version、字段范围`nPOST`n/judge/tasks/{taskId}/submit`n提交评分`n幂等、规则快照、服务端复算`nPOST`n/score-sheets/{id}/corrections`n创建修正版本`n授权、原因、原版本、审批`nPOST`n/results/{resultId}/confirm`n确认正式成绩`nexpected_version、权限、完整性`nPOST`n/results/publish`n批量发布/撤销`n范围、版本、二次确认、审计`nGET`n/public/results`n小程序成绩查询`n仅已发布、隐私过滤、限流`n`n9.3 事件定义`n事件`n触发时机`n最小载荷`n消费者`nregistration.approved`n报名审核通过`nregistration_id、entry_id、event_id、version`n编排/工作台`nregistration.changed`n有效报名关键字段变化`n对象 ID、changed_fields、version`n工作台、通知`njudge_task.dispatched`n工作台下发任务`ntask_id、judge_id、entry_id、role、task_version`n裁判端`nscore_sheet.submitted`n裁判提交成功`nsheet_id、task_id、role、version、checksum`n聚合、工作台`nresult.confirmed`n成绩复核确认`nresult_id、result_version、status`n发布服务`nresult.published`n成绩对外发布/更正`n范围、publish_version、changed_result_ids`n小程序、缓存、通知`n`n10. 非功能、安全与运维要求`n10.1 性能与容量`n指标`n建议目标`n说明`n裁判任务下发`nP95 ≤ 1 秒(同赛场网络正常)`n从工作台确认到裁判端可见`n评分提交响应`nP95 ≤ 1.5 秒;P99 ≤ 3 秒`n含校验、复算与持久化,不含客户端断网`n工作台状态更新`n正常 ≤ 2 秒`n评分提交到监控状态更新`n公开成绩查询`nP95 ≤ 1 秒`n常用榜单可缓存`n并发容量`n按赛事最大场地数×每场裁判数×安全系数 3 评估`n压测必须覆盖多场地同时提交`n`n10.2 可用性与离线策略`n裁判端必须显示连接状态和最后同步时间;断网时允许本地草稿,但正式提交需进入明确的“待同步”队列。`n本地草稿加密存储并绑定 judge_id、device_id、task_id、task_version;退出账号或任务作废后清理。`n服务端不可用时工作台进入降级模式:保留当前参赛者与已下发任务,不允许无规则依据地切换或发布成绩。`n数据库和消息队列故障恢复必须保证评分单不丢、不重、不覆盖;按 event_id 支持灾难恢复演练。`n10.3 安全要求`n统一身份认证和基于赛事/场次/角色的数据权限;裁判端短时令牌,不在客户端持久化长期密钥。`n评分提交包含任务签名或服务端可验证的上下文,阻止伪造 task_id、跨场次提交和角色越权。`n个人敏感信息加密存储与传输;日志、导出、错误信息不得输出完整证件号和联系方式。`n关键操作(规则发布、场次开始、修正批准、DQ、成绩发布/撤销、批量导出)需二次确认与审计。`n接口实施限流、防重放、CSRF/注入防护;文件上传采用白名单、大小限制和恶意文件扫描。`n10.4 可观测性与审计`n类别`n必须记录`n告警条件`n业务指标`n任务下发数、提交成功率、平均评分时长、修正率、DQ 数、发布延迟`n提交失败率/延迟超阈、单场异常修正激增`n技术指标`nAPI 延迟、错误率、消息积压、数据库连接、推送在线数`n服务不可用、积压持续、资源逼近阈值`n审计日志`n操作者、角色、对象、动作、前后值、原因、时间、设备/IP`n高风险操作、越权尝试、批量异常`n链路追踪`nregistration_id/task_id/score_sheet_id/result_id/request_id`n跨服务超时或事件丢失`n`n11. 测试验收与上线准备`n11.1 核心验收场景`n编号`n场景`n操作`n预期结果`nAC-01`n正常闭环`n报名通过→编排→下发 DP/DM/DR/P/T→全部提交→聚合→确认→发布→小程序查询`n各模块 ID/版本一致,公开结果与工作台正式结果一致`nAC-02`n重复提交`n裁判连续点击或网络重试同一 idempotency_key`n只产生一条有效评分单,返回同一结果`nAC-03`n串场防护`n使用旧任务/其他场次 task_id 提交`n服务端拒绝并记录安全日志`nAC-04`n难度计算`n按各等级输入数量并提交`n服务端按规则快照复算,精度/舍入符合确认规则`nAC-05`n规定元素`nn3+、n2- 不同组合`n完成数与缺失数计算正确,边界不出现负数`nAC-06`n表现失误联动`n增加/撤销失误`n五维自动减数量同步变化,不与人工调整重复`nAC-07`nDQ`n主裁判选择原因并确认`n正式总分为 0,原始评分保留,小程序按规则展示 DQ`nAC-08`n成绩修正`n已提交/已发布成绩发起修正`n新建版本、完整审计、重新聚合,公开版本正确切换`nAC-09`n断网恢复`n裁判评分中断网后恢复`n草稿不丢;重复同步不重;过期任务不提交`nAC-10`n并发确认`n两名工作台人员同时确认同一成绩`n乐观锁阻止后提交者覆盖`nAC-11`n隐私`n匿名用户查询和尝试越权参数`n仅返回已发布公开字段,敏感字段不可推断`nAC-12`n报名同步变更`n已通过报名变更组别/成员`n工作台收到版本化变更并提示对编排影响`n`n11.2 测试类型`n单元测试:评分公式、边界、舍入、状态机、权限、幂等与版本比较。`n契约测试:报名同步、任务下发、评分提交、结果发布事件的 schema 与向后兼容。`n集成测试:多裁判同场提交、修正、DQ、撤销发布和小程序缓存失效。`n性能测试:多场地并发提交、榜单热点查询、批量发布、消息积压恢复。`n安全测试:越权、重放、参数篡改、注入、附件上传、敏感信息泄漏。`n现场演练:弱网/断网、设备更换、裁判替换、场次暂停、服务重启和应急纸质回录。`n11.3 上线检查表`n赛事、项目、组别、场地、场次、出场顺序已锁定并抽样核对。`n评分规则版本已由业务负责人签字确认,包含精度、舍入、聚合、并列、DQ。`n裁判账号、角色、设备、网络和备用设备已完成现场联调。`n报名与工作台全量/增量数据数量一致,无未处理同步异常。`n生产监控、告警、审计、备份和回滚预案已验证。`n小程序只读公开接口完成隐私复核,未发布成绩无法访问。`n完成至少一次全流程彩排和一次断网/恢复演练。`n12. 待确认问题清单`n评审要求 下列问题会直接影响数据库、评分引擎、接口和测试用例。建议在开发排期锁定前逐项给出结论、责任人和截止时间。`n编号`n模块`n待确认问题`n责任建议`n优先级`nQ-01`n报名平台`n一期已有页面/能力与本期新增范围分别是什么?是否包含支付、退款、材料上传和审核?`n产品/运营`n高`nQ-02`n报名平台`n个人、双人、四人、团体的成员数量、替补和兼项规则是什么?`n竞赛规则负责人`n高`nQ-03`n规则`n原型示例难度分值是否为正式值?等级 2×2 在画布中出现 0.45/0.46 差异,采用何种精度与舍入顺序?`n规则负责人`n阻断`nQ-04`n规则`n规定元素完成数超过 4 时是否封顶?缺失数是否允许小数?`n规则负责人`n高`nQ-05`n规则`nDP、DM、DR 多名裁判的分数如何聚合:求和、平均、去极值还是其他?`n规则负责人`n阻断`nQ-06`n规则`n表现五维的初始分、每次加减分值、上下限和权重分别是什么?`n规则负责人`n阻断`nQ-07`n规则`n表现失误对五维“减数量+1”的联动是永久同步还是允许裁判单独调整?`n规则负责人`n高`nQ-08`n主裁判`n间歇、违例、失误等每项扣分值、计数上限、叠加关系是什么?`n规则负责人`n阻断`nQ-09`nDQ`n哪些角色可发起/确认/撤销取消资格?是否需要双人复核?小程序是否公开原因?`n裁判长/产品`n高`nQ-10`n工作台`n成绩修正由原裁判、替补裁判还是裁判长操作?已发布成绩更正是否需要公告?`n产品/裁判长`n高`nQ-11`n排名`n并列处理、退赛/未上场/DQ 排序规则是什么?`n规则负责人`n高`nQ-12`n小程序`n成绩详情公开到何种粒度:仅总分、分项、裁判分、扣分原因?未成年人姓名如何展示?`n产品/法务`n高`nQ-13`n现场`n裁判端目标设备、屏幕方向、系统版本、网络条件和离线容忍时间是多少?`n实施/技术`n中`nQ-14`n数据`n报名平台与工作台是同库、API 同步还是消息同步?历史赛事数据是否迁移?`n架构/产品`n高`nQ-15`n发布`n成绩按单人、单场、项目或组别发布?撤销/更正的对外提示和缓存时效是什么?`n产品/运营`n高`n`n附录 A:开发任务拆分建议`n工作包`n后端`n前端/端`n测试重点`nA1 报名域`n报名/资格/订单/审核/同步`n报名 H5/管理端`n规则边界、幂等、同步`nA2 赛事编排域`n赛事/场次/裁判组/任务`n工作台配置与控制台`n状态机、并发、任务一致性`nA3 评分引擎`n规则版本、评分单、计算、修正`n裁判端 DP/DM/DR/P/T`n公式、精度、断网、重复提交`nA4 成绩发布域`n聚合、确认、排名、发布版本`n工作台成绩页、小程序`n版本切换、隐私、缓存`nA5 平台能力`n认证权限、审计、消息、监控、文件`n账号/告警/运维界面`n越权、恢复、可观测性`n`n附录 B:需求追踪约定`n研发任务、接口、测试用例和缺陷均引用本文件编号(REG/WKS/MINI/AC 等)。`n第 12 章待确认项形成评审决议后,应更新正文、版本号和修订记录,不以会议口头结论替代文档。`n原型后续更新时,以页面 ID/版本 ID 建立变更清单,判断对数据、接口、状态机和测试的影响。`n