| 版本 | 日期 | 描述 | 作者 |
|---|---|---|---|
| 1.0 | 2025-10-20 | 创建集团级进销存系统全栈架构文档 | Claude |
集团管理多公司AI智能进销存应用系统是一个面向集团化企业的全栈供应链管理平台,支持母子公司多租户架构,集成AI服务实现智能决策,覆盖供应商管理、销售管理、库存管理、采购管理、客户档案管理等核心业务。
graph TB
subgraph "客户端层"
A[Web管理后台<br/>React + shadcn/ui] --> E[API网关]
B[小程序端<br/>Taro多端框架] --> E
C[H5移动端<br/>响应式设计] --> E
D[数据大屏<br/>可视化展示] --> E
end
subgraph "API网关层"
E[Hono API网关] --> F[认证中间件]
E --> G[权限中间件]
E --> H[多租户路由]
E --> I[AI服务代理]
end
subgraph "业务服务层"
J[组织架构服务] --> K[数据存储层]
L[供应商管理服务] --> K
M[销售管理服务] --> K
N[库存管理服务] --> K
O[采购管理服务] --> K
P[客户管理服务] --> K
Q[AI决策服务] --> K
R[文件管理服务] --> K
end
subgraph "数据存储层"
K["PostgreSQL 17<br/>主数据库"] --> S[业务数据]
K --> T[用户权限数据]
K --> U[组织架构数据]
V["Redis 7<br/>缓存层"] --> W[会话缓存]
V --> X[热点数据]
Y["MinIO<br/>对象存储"] --> Z[文件存储]
end
subgraph "AI服务层"
AA[第三方AI服务] --> AB[销售预测]
AA --> AC[库存优化]
AA --> AD[供应商匹配]
AA --> AE[客户分析]
end
subgraph "基础设施层"
AF[Docker容器] --> AG[多八多云端环境]
AH[Node.js运行时] --> AI[生产部署]
AJ[监控告警] --> AK[运维管理]
end
style A fill:#e1f5fe
style B fill:#f3e5f5
style E fill:#fff3e0
style J fill:#e8f5e8
style K fill:#f0fff0
style AA fill:#fff0f5
// 公司实体
@Entity('companies')
export class Company {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column({ nullable: true })
parentId: number;
@ManyToOne(() => Company, company => company.children)
parent: Company;
@OneToMany(() => Company, company => company.parent)
children: Company[];
@OneToMany(() => User, user => user.company)
users: User[];
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
}
// 用户实体扩展
@Entity('users')
export class User {
// 现有字段...
@Column()
companyId: number;
@ManyToOne(() => Company, company => company.users)
company: Company;
}
company_id字段company_id字段创建复合索引WHERE company_id = ?条件graph LR
A[业务系统] --> B[AI服务网关]
B --> C[销售预测服务]
B --> D[库存优化服务]
B --> E[供应商匹配服务]
B --> F[客户分析服务]
C --> G[历史销售数据]
D --> H[库存数据]
E --> I[供应商数据]
F --> J[客户数据]
K[第三方AI平台] --> L[模型训练]
L --> M[模型部署]
M --> B
// AI服务接口定义
interface AIService {
// 销售预测
predictSales(params: SalesPredictionParams): Promise<SalesPredictionResult>;
// 库存优化
optimizeInventory(params: InventoryOptimizationParams): Promise<InventoryOptimizationResult>;
// 供应商匹配
matchSuppliers(params: SupplierMatchingParams): Promise<SupplierMatchingResult>;
// 客户分析
analyzeCustomers(params: CustomerAnalysisParams): Promise<CustomerAnalysisResult>;
}
interface Organization {
companies: Company[];
users: User[];
roles: Role[];
permissions: Permission[];
}
interface Supplier {
id: number;
name: string;
contactInfo: ContactInfo;
certificates: Certificate[];
cooperationLevel: CooperationLevel;
ratings: Rating[];
companyId: number;
}
interface SalesOrder {
id: number;
customerId: number;
items: OrderItem[];
status: OrderStatus;
totalAmount: number;
companyId: number;
aiRecommendations: AIRecommendation[];
}
interface Inventory {
id: number;
productId: number;
warehouseId: number;
quantity: number;
reservedQuantity: number;
minStockLevel: number;
maxStockLevel: number;
companyId: number;
aiOptimization: AIOptimization;
}
interface PurchaseOrder {
id: number;
supplierId: number;
items: PurchaseItem[];
status: PurchaseStatus;
totalAmount: number;
companyId: number;
aiSupplierMatch: AISupplierMatch;
}
interface Customer {
id: number;
name: string;
contactInfo: ContactInfo;
level: CustomerLevel;
creditRating: CreditRating;
orderHistory: OrderHistory[];
companyId: number;
aiAnalysis: AIAnalysis;
}
/api/v1/ 前缀// 使用Hono RPC实现类型安全API
const app = new Hono()
.route('/api/v1/auth', authRoutes)
.route('/api/v1/users', userRoutes)
.route('/api/v1/suppliers', supplierRoutes)
.route('/api/v1/sales', salesRoutes)
.route('/api/v1/inventory', inventoryRoutes)
.route('/api/v1/purchases', purchaseRoutes)
.route('/api/v1/customers', customerRoutes)
.route('/api/v1/ai', aiRoutes);
# 安装依赖
pnpm install
# 启动完整开发环境
pnpm dev
# 单独启动Web端
pnpm dev:web
# 单独启动小程序H5
pnpm dev:mini
# 单独启动微信小程序
pnpm dev:weapp
# 运行所有测试
pnpm test
# API测试
pnpm test:api
# 组件测试
pnpm test:components
# E2E测试
pnpm test:e2e
pnpm test:e2e:chromium
# 测试覆盖率
pnpm test:coverage
# 数据库迁移
pnpm db:migrate
# 种子数据
pnpm db:seed
# 数据库备份
pnpm db:backup
# 数据库恢复
pnpm db:restore
文档状态: 正式版 适用范围: 集团管理多公司AI智能进销存应用系统全栈架构设计