Droplet.Entitys 1.0.7
Droplet.Entitys 数据库实体类库
该项目是水滴查询系统的数据库实体层,基于 .NET 8 与 Entity Framework Core。主要定义系统各业务模块的数据表结构(通过实体类 + EFCore 注解)并在 NuGet 包中提供给其它服务使用。
使用方式
- 在应用的
DbContext中引入DropletDbContext或将其中的实体复制到现有上下文。 - 通过 EFCore Code First 迁移生成数据库:
- 添加迁移:
dotnet ef migrations add Init - 更新数据库:
dotnet ef database update
- 添加迁移:
- 引用 NuGet 包后即可访问所有实体
DbSet<>。
全局基础字段(继承自 BaseEntity)
| 字段 | 类型 | 说明 |
|---|---|---|
| Id | bigint Identity | 主键ID |
| Remark | nvarchar(200) | 备注 |
| Sort | int | 排序值 |
| DeleteYn | bit | 是否删除 0=未删除 1=已删除 |
| CreateBy | bigint | 创建人ID |
| CreateByName | nvarchar(50) | 创建人名称 |
| CreateTime | datetime | 创建时间 |
| UpdateBy | bigint | 更新人ID |
| UpdateByName | varchar(100) | 更新人名称 |
| UpdateTime | datetime | 更新时间 |
| Version | rowversion | 并发版本号 |
说明:
ArticleContentEntity未继承BaseEntity,其自身只包含内容相关字段。
业务数据表一览
后台管理
D_Admin_User (AdminUserEntity)
后台管理系统的用户实体,包含认证、登录统计及基础展示信息。
| 字段 | 类型 | 说明 |
|---|---|---|
| UserName | nvarchar(20) | 用户名称 |
| UserPhone | nvarchar(11) | 用户手机(索引) |
| Password | nvarchar(50) | 用户密码(密文) |
| EcSalt | nvarchar(4) | 密码扩展盐值 |
| UserPicture | nvarchar(800) | 用户头像 |
| LoginCount | int | 登录次数 |
| LastIp | nvarchar(20) | 最后登录IP |
| LastLoginDate | datetime | 最后登录时间 |
D_Admin_Role (AdminRoleEntity)
后台角色实体,定义管理端的角色信息。
| 字段 | 类型 | 说明 |
|---|---|---|
| RoleName | nvarchar(20) | 角色名称 |
D_Admin_Menu (AdminMenuEntity)
后台菜单实体,定义系统管理端的菜单结构。
| 字段 | 类型 | 说明 |
|---|---|---|
| Pid | bigint | 父级ID |
| MenuName | nvarchar(20) | 菜单名称 |
| MenuVal | nvarchar(20) | 菜单模块值 |
D_Admin_Role_Menu (AdminRoleMenuEntity)
后台角色与菜单关系表,关联角色与菜单。
| 字段 | 类型 | 说明 |
|---|---|---|
| AdminRoleId | bigint | 角色ID |
| AdminMenuId | bigint | 菜单ID |
D_Admin_User_Role (AdminUserRoleEntity)
后台用户与角色关系表,关联用户与角色。
| 字段 | 类型 | 说明 |
|---|---|---|
| AdminUserId | bigint | 管理用户ID |
| AdminRoleId | bigint | 管理角色ID |
用户与公司
D_User (UserEntity)
用户主表,包含用户的登录、认证、基础信息及状态等。
| 字段 | 类型 | 说明 |
|---|---|---|
| LoginId | nvarchar(50) | 登录名(唯一索引) |
| UserName | nvarchar(50) | 用户名 |
| NickName | nvarchar(50) | 用户昵称 |
| RealName | nvarchar(50) | 真实姓名 |
| Mobile | nvarchar(11) | 手机号(唯一索引) |
| Password | nvarchar(100) | 登录密码 |
| PasswordResetRequired | tinyint | 是否需重置密码 0=否 1=是 |
| nvarchar(50) | 邮箱 | |
| Gender | tinyint | 性别 0=未知 1=男 2=女 |
| AvatarUrl | nvarchar(800) | 头像地址 |
| TryCount | tinyint | 密码错误次数 |
| IsEnable | tinyint | 是否激活 0=未激活 1=激活 |
| LastLoginTime | datetime | 最后登录时间 |
| IsForbidTrade | tinyint | 是否禁止交易 0=否 1=是 |
| IP | nvarchar(20) | 登录IP |
D_User_Company (UserCompanyEntity)
用户与公司关系表,关联用户与企业信息。
| 字段 | 类型 | 说明 |
|---|---|---|
| UserId | bigint | 用户ID |
| CompanyId | bigint | 公司ID |
D_Company (CompanyEntity)
公司实体,包含企业的基础信息、信用代码、法人、地址等。
| 字段 | 类型 | 说明 |
|---|---|---|
| CompanyName | nvarchar(1000) | 公司名称 |
| CompanyNo | nvarchar(100) | 企业号 |
| CreditCode | nvarchar(50) | 统一社会信用代码(唯一索引) |
| StartDate | nvarchar(20) | 成立日期 |
| OperName | nvarchar(1000) | 法定代表人姓名 |
| StatusName | nvarchar(100) | 企业状态 |
| Address | nvarchar(1000) | 注册地址 |
内容与文章
D_Article_Category (ArticleCategoryEntity)
文章分类实体,支持多级分类结构,便于内容归类管理。
| 字段 | 类型 | 说明 |
|---|---|---|
| ParentId | bigint | 父级ID |
| CategoryName | nvarchar(20) | 分类名称 |
| CategoryCode | nvarchar(20) | 分类码 |
D_Article (ArticleEntity)
文章主表,包含文章的分类、标题、作者、主图、简介及状态等信息。
| 字段 | 类型 | 说明 |
|---|---|---|
| ArticleCategoryId | bigint | 分类ID(索引) |
| ArticleTitle | nvarchar(500) | 标题 |
| ArticleAuthor | nvarchar(50) | 作者 |
| MainImage | nvarchar(800) | 主图 |
| ReleaseTime | datetime | 发布时间 |
| ContentSummary | nvarchar(500) | 简介 |
| Status | tinyint | 状态 1=上架 0=下架 |
D_Article_Content (ArticleContentEntity)
文章内容表,存储文章的正文内容及关键字。
| 字段 | 类型 | 说明 |
|---|---|---|
| Id | bigint Identity | 主键ID |
| ArticleId | bigint | 文章ID(唯一索引) |
| ArticleContent | text | 文章内容 |
| Keywords | nvarchar(255) | 关键字(索引) |
首页配置
D_Home_Banner (HomeBannerEntity)
首页或其它页面的轮播横幅配置实体,包含图片、跳转链接及展示类型。
| 字段 | 类型 | 说明 |
|---|---|---|
| BannerImageUrl | nvarchar(600) | 主图地址 |
| LinkUrl | nvarchar(600) | 跳转链接 |
| BannerType | tinyint | 轮播图类型 1=首页 |
D_Home_Product (HomeProductEntity)
首页产品推荐配置实体,关联产品用于首页展示。
| 字段 | 类型 | 说明 |
|---|---|---|
| ProductId | bigint | 产品ID |
产品与SKU
D_Product_Category (ProductCategoryEntity)
产品分类实体,支持多级分类结构,便于商品归类管理。
| 字段 | 类型 | 说明 |
|---|---|---|
| ParentId | bigint | 父级ID |
| CategoryName | nvarchar(50) | 分类名称 |
| CategoryCode | nvarchar(50) | 分类编码 |
D_Product (ProductEntity)
产品主表,包含商品的基本信息、价格、库存、分类及上下架状态等。
| 字段 | 类型 | 说明 |
|---|---|---|
| StoreId | bigint | 店铺ID(索引) |
| ProductCategoryId | bigint | 产品分类ID(索引) |
| ProductName | nvarchar(200) | 产品名称 |
| ProductPrice | decimal(12,2) | 产品价格 |
| ProductNum | int | 产品库存 |
| ProductType | tinyint | 类型 1=报告 2=单一套餐 3=综合套餐 |
| ReleaseYn | tinyint | 是否上架 0=否 1=是 |
| ProductMainImage | nvarchar(800) | 产品主图 |
| ProductSummary | nvarchar(500) | 产品简介 |
| UseStartTime | datetime | 使用周期开始时间 |
| UseEndTime | datetime | 使用周期结束时间 |
D_Product_Sku (ProductSkuEntity)
产品SKU表,描述商品的具体销售单元(如套餐、规格),包含价格、库存等。
| 字段 | 类型 | 说明 |
|---|---|---|
| ProductId | bigint | 商品ID(索引) |
| StoreId | bigint | 店铺ID(索引) |
| ProductCategoryId | bigint | 产品分类ID(索引) |
| SkuName | nvarchar(200) | SKU名称 |
| SkuPrice | decimal(12,2) | SKU价格 |
| SkuNum | int | SKU库存 |
| SkuType | tinyint | 类型 1=报告 2=单一套餐 3=综合套餐 |
| SkuMainImage | nvarchar(200) | SKU主图 |
| SkuSummary | nvarchar(500) | SKU简介 |
| SkuUseStartTime | datetime | 使用周期开始 |
| SkuUseEndTime | datetime | 使用周期结束 |
订单与交易
D_Order (OrderEntity)
订单主表,记录用户购买行为、金额、状态、支付等信息。
| 字段 | 类型 | 说明 |
|---|---|---|
| StoreId | bigint | 店铺ID(索引) |
| UserId | bigint | 用户ID(索引) |
| CompanyId | bigint | 公司ID(索引) |
| OrderNo | nvarchar(20) | 订单号(唯一索引) |
| OrderAmount | decimal(12,2) | 订单金额 |
| OrderType | tinyint | 订单类型 1=普通购买 2=卡密购买 |
| Status | tinyint | 状态 0=待确认 1=待支付 2=待生成报告 3=已完成 4=已取消 5=已关闭 |
| PayStatus | tinyint | 支付状态 0=未支付 1=已支付 2=退款中 3=已退款 4=退款失败 |
| PayAmount | decimal(12,2) | 支付金额 |
| PayTime | datetime | 支付时间 |
D_Order_Item (OrderItemEntity)
订单明细表,记录每笔订单的商品、数量、SKU等详细信息。
| 字段 | 类型 | 说明 |
|---|---|---|
| StoreId | bigint | 店铺ID |
| UserId | bigint | 用户ID |
| CompanyId | bigint | 公司ID |
| OrderNo | nvarchar(20) | 订单号 |
| OrderNum | int | 购买数量 |
| OrderType | tinyint | 订单类型 1=直接购买 2=卡密购买 |
| ProductId | bigint | 产品ID |
| ProductName | nvarchar(200) | 产品名称 |
| ProductType | tinyint | 产品类型 1=报告 2=单一套餐 3=综合套餐 |
| ProductMainImage | nvarchar(800) | 产品主图 |
| ProductCategoryId | bigint | 产品分类ID |
| ProductSkuName | nvarchar(200) | SKU名称 |
| ProductSkuPrice | decimal(12,2) | SKU价格 |
| ProductSkuType | tinyint | SKU类型 |
| ProductSkuMainImage | nvarchar(800) | SKU主图 |
| ProductSkuSummary | nvarchar(200) | SKU简介 |
| ProductSkuUseStartTime | datetime | SKU使用开始时间 |
| ProductSkuUseEndTime | datetime | SKU使用结束时间 |
D_Order_Key (OrderKeyEntity)
订单卡密表,记录订单相关的卡密信息及其状态、兑换等。
| 字段 | 类型 | 说明 |
|---|---|---|
| StoreId | bigint | 店铺ID |
| UserId | bigint | 用户ID |
| CompanyId | bigint | 公司ID |
| OrderItemId | bigint | 订单明细ID |
| OrderNo | nvarchar(20) | 订单号 |
| CodeId | bigint | 记录ID(唯一索引) |
| Code | nvarchar(50) | 卡密值 |
| CodeState | tinyint | 卡密状态 1=待使用 2=已使用 |
| CodeOId | bigint | 兑换记录ID(唯一索引) |
| CodeAddTime | datetime | 生成时间 |
| CodeDhTime | datetime | 兑换时间 |
| CodeOrderNo | nvarchar(50) | 编号 |
D_Order_Report (OrderReportEntity)
订单报告表,记录订单生成的报告及相关企业、状态等信息。
| 字段 | 类型 | 说明 |
|---|---|---|
| StoreId | bigint | 店铺ID |
| UserId | bigint | 用户ID |
| CompanyId | bigint | 公司ID |
| OrderItemId | bigint | 订单明细ID |
| OrderNo | nvarchar(20) | 订单号 |
| BackStr | nvarchar(50) | 记录流水号(唯一索引) |
| Rid | bigint | 报告ID(唯一索引) |
| File | nvarchar(50) | 报告文件地址 |
| Name | nvarchar(50) | 公司名称 |
| Code | nvarchar(50) | 社会统一代码(唯一索引) |
| State | tinyint | 状态 3=已使用 4=已认证 |
| AddTime | datetime | 申请时间 |
| DomicileDistrict | nvarchar(50) | 区域代码 |
| Hydm | nvarchar(50) | 行业代码 |
| Report | nvarchar(50) | 报告名称 |
| Url | nvarchar(50) | 授权地址 |
支付
D_Payment_Channel (PaymentChannelEntity)
支付通道主表,定义支付渠道及相关配置。
| 字段 | 类型 | 说明 |
|---|---|---|
| Name | nvarchar(50) | 支付渠道名称 |
| Code | nvarchar(50) | 支付渠道标识(唯一索引) |
| FundAccountType | tinyint | 资金账户类型 1=余额 2=银联余额 3=银联B2B 4=民生B2B |
| IsActive | bit | 是否激活 |
| SettlementStartTime | nvarchar(10) | 结算开始时间 |
| SettlementEndTime | nvarchar(10) | 结算结束时间 |
| LogoUrl | nvarchar(800) | 通道logo |
| IsDirect | bit | 是否直连支付 |
| IsQRCode | bit | 是否二维码支付 |
| PayOrderNoPrefix | nvarchar(10) | 支付订单号前缀 |
| OpenType | tinyint | 是否按时间段开放 1=否 2=是 |
| OpenHoursStart | tinyint | 按时段开始小时 |
| OpenHoursEnd | tinyint | 按时段结束小时 |
| OpenHoursType | bit | 是否跨天 0=否 1=是 |
| PayBlurb | nvarchar(50) | 支付简介 |
| PayIcon | nvarchar(20) | 支付icon class 名 |
| InstallmentNumbers | nvarchar(50) | 分期设置(逗号分隔) |
| ShowYn | bit | 是否显示 |
| TerminalId | nvarchar(50) | 终端号 |
| IsSplitFee | bit | 手续费是否分摊 |
| IsUseRate | bit | 是否用费率计算 |
| IsPrepaid | bit | 是否预付费 |
| Fee | decimal(12,2) | 手续费用 |
| SettlementCycle | nvarchar(40) | 计算周期 |
D_Payment_Channel_Config (PaymentChannelConfigEntity)
支付通道配置表,定义支付通道与平台类型的关联。
| 字段 | 类型 | 说明 |
|---|---|---|
| PaymentChannelId | bigint | 支付通道ID(索引) |
| PlatformType | tinyint | 平台 1=PC 2=微信 3=H5 4=App |
店铺
D_Store (StoreEntity)
店铺实体,包含电商平台或业务系统中的店铺基础信息。
| 字段 | 类型 | 说明 |
|---|---|---|
| StoreName | nvarchar(50) | 店铺名称 |
索引与约束摘要
- 唯一索引:
OrderEntity.OrderNo、PaymentChannelEntity.Code、UserEntity.LoginId、UserEntity.Mobile、CompanyEntity.CreditCode、OrderReportEntity.BackStr、OrderReportEntity.Rid、OrderReportEntity.Code、OrderKeyEntity.CodeId、OrderKeyEntity.CodeOId、ArticleContentEntity.ArticleId - 组合索引:多个实体对常用查询字段组合建立普通索引以提升检索性能。
版本与打包
NuGet 包通过项目文件属性 GeneratePackageOnBuild=True 自动生成,输出路径:Release 目录。
你可以在 .csproj 中添加:
<None Include="README.md" Pack="True" PackagePath="/" />
已在后续步骤中配置以便包含本说明文件。
版权
Copyright © jtx.top
No packages depend on Droplet.Entitys.
.NET 8.0
- Microsoft.EntityFrameworkCore (>= 8.0.22)
- Microsoft.EntityFrameworkCore.Abstractions (>= 8.0.22)
- Netor.Extensions.EnumSourceGenerator (>= 1.0.6)