# Business ERP Solution - 企业ERP管理系统
## 项目概述
- **项目类型**:Web应用(ASP.NET Core MVC)
- **主要功能**:
- 产品管理(Products)
- 销售点系统(POS - Point of Sale)
- 公司管理
- 采购管理
- 库存管理
- 财务管理(收入、账户、转账)
- 用户角色和权限管理
- 多语言支持(英语、阿拉伯语)
- **技术栈**:
- .NET 8.0
- ASP.NET Core MVC
- Entity Framework Core 8.0.12
- SQL Server / MySQL / PostgreSQL(多数据库支持)
- JWT身份验证
- SignalR实时通信
- Swagger API文档
- Docker支持
## 模块结构
```
BusinessERP/
├── Controllers/ # MVC控制器
├── Data/ # 数据访问层
├── Extensions/ # 扩展方法
├── Helpers/ # 辅助类
├── Migrations/ # 数据库迁移
├── Models/ # 数据模型
├── Pages/ # Razor页面
├── Properties/ # 项目属性
├── Resources/ # 本地化资源
├── Services/ # 业务服务层
├── Views/ # 视图模板
├── wwwroot/ # 静态文件
├── appsettings.json # 应用配置
├── appsettings.Development.json # 开发环境配置
├── BusinessERP.csproj # 项目文件
├── Dockerfile # Docker配置
└── Program.cs # 应用入口
```
## 核心业务逻辑
### 1. 系统架构
- **多层架构**:Controller → Service → Repository → Database
- **依赖注入**:使用ASP.NET Core内置DI容器
- **身份验证**:JWT Bearer Token + ASP.NET Core Identity
- **授权**:基于角色的访问控制(RBAC)
### 2. 主要功能模块
#### 2.1 产品管理
- 产品CRUD操作
- 产品分类管理
- 库存跟踪
- 价格管理
#### 2.2 POS系统
- 快速销售处理
- 购物车管理
- 多种支付方式
- 收据打印
- 销售报表
#### 2.3 采购管理
- 供应商管理
- 采购订单
- 采购入库
- 采购退货
#### 2.4 财务管理
- 收入记录
- 支出管理
- 账户管理
- 资金转账
- 财务报表
#### 2.5 用户管理
- 多角色支持(超级管理员、管理员、普通用户)
- 权限粒度控制
- 用户活动日志
### 3. 数据库支持
系统支持三种数据库:
- **SQL Server** - 默认推荐
- **MySQL** - 使用Pomelo.EntityFrameworkCore.MySql
- **PostgreSQL** - 使用Npgsql.EntityFrameworkCore.PostgreSQL
### 4. 多语言支持
- 英语(默认)
- 阿拉伯语
- 可扩展其他语言
## 核心代码分析
### 1. 项目配置 (BusinessERP.csproj)
```xml
net8.0
```
关键NuGet包:
- `Microsoft.AspNetCore.Identity.EntityFrameworkCore` - 身份认证
- `Microsoft.EntityFrameworkCore.SqlServer` - SQL Server支持
- `Microsoft.AspNetCore.Authentication.JwtBearer` - JWT认证
- `Swashbuckle.AspNetCore` - Swagger文档
- `Sendgrid` - 邮件服务
### 2. 入口文件 (Program.cs)
主要配置:
- 数据库上下文配置(支持多数据库)
- 身份认证和授权配置
- JWT认证配置
- Swagger文档配置
- SignalR实时通信配置
- CORS跨域配置
- 本地化配置
### 3. 数据库上下文
```csharp
builder.Services.AddDbContextPool(options =>
options.UseSqlServer(connectionString));
```
### 4. 服务注册
```csharp
builder.Services.AddTransient();
builder.Services.AddTransient();
builder.Services.AddTransient();
builder.Services.AddTransient();
```
## 系统要求
### 开发环境
1. **Visual Studio 2022 Community Edition** 或 **VS Code**
2. **.NET SDK 8.0**
3. **SQL Server 2017+** / MySQL 8.0+ / PostgreSQL 13+
4. **SQL Server Management Studio (SSMS)** 或数据库客户端
5. **IIS Hosting Bundle**(用于生产部署)
### 运行环境
- Windows Server 2019+ / Linux
- IIS / Nginx / Apache
- .NET Runtime 8.0
## API文档
系统自动生成Swagger文档:
- 开发环境:`/swagger`
- 包含完整的API端点、请求/响应模型
- 支持JWT认证测试
## Docker支持
项目包含Dockerfile,支持容器化部署:
```dockerfile
DockerDefaultTargetOS: Windows
```
## 安全特性
1. **数据保护**:
```csharp
builder.Services.AddDataProtection()
.SetApplicationName("Business ERP Solution")
.AddKeyManagementOptions(options => {
options.NewKeyLifetime = new TimeSpan(180, 0, 0, 0);
});
```
2. **CORS配置**:
```csharp
options.AddPolicy("Open", builder =>
builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod());
```
3. **会话管理**:
- 60分钟会话超时
- 分布式内存缓存
## 适用场景
- 中小型企业ERP系统
- 零售店POS系统
- 批发贸易管理
- 多分支机构管理
- 库存和销售一体化管理
## 版本信息
- 目标框架:.NET 8.0
- EF Core版本:8.0.12
- 文档完善度:高(包含用户手册、ER图、视频教程)