|
@@ -118,18 +118,27 @@ export class SystemConfig {
|
|
|
|
|
|
|
|
### 共享CRUD集成(核心简化)
|
|
### 共享CRUD集成(核心简化)
|
|
|
```typescript
|
|
```typescript
|
|
|
-// 服务实现 - 复用GenericCrudService
|
|
|
|
|
-const systemConfigService = new GenericCrudService(dataSource, SystemConfig, {
|
|
|
|
|
- tenantOptions: {
|
|
|
|
|
- enabled: true,
|
|
|
|
|
- tenantIdField: 'tenantId',
|
|
|
|
|
- autoExtractFromContext: true
|
|
|
|
|
- },
|
|
|
|
|
- userTracking: {
|
|
|
|
|
- createdByField: 'createdBy',
|
|
|
|
|
- updatedByField: 'updatedBy'
|
|
|
|
|
|
|
+// 服务实现 - 继承GenericCrudService(参考文件模块模式)
|
|
|
|
|
+export class SystemConfigService extends GenericCrudService<SystemConfig> {
|
|
|
|
|
+ constructor(dataSource: DataSource) {
|
|
|
|
|
+ super(dataSource, SystemConfig, {
|
|
|
|
|
+ tenantOptions: {
|
|
|
|
|
+ enabled: true,
|
|
|
|
|
+ tenantIdField: 'tenantId',
|
|
|
|
|
+ autoExtractFromContext: true
|
|
|
|
|
+ },
|
|
|
|
|
+ userTracking: {
|
|
|
|
|
+ createdByField: 'createdBy',
|
|
|
|
|
+ updatedByField: 'updatedBy'
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
-});
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 可添加自定义方法,如Redis缓存相关方法
|
|
|
|
|
+ async getConfigByKey(tenantId: number, key: string): Promise<string | null> {
|
|
|
|
|
+ // Redis缓存逻辑
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
// 路由生成 - 一行代码获得完整CRUD API
|
|
// 路由生成 - 一行代码获得完整CRUD API
|
|
|
const systemConfigRoutes = createCrudRoutes({
|
|
const systemConfigRoutes = createCrudRoutes({
|
|
@@ -184,7 +193,7 @@ const systemConfigRoutes = createCrudRoutes({
|
|
|
"请为这个棕地史诗开发详细的用户故事。关键考虑因素:
|
|
"请为这个棕地史诗开发详细的用户故事。关键考虑因素:
|
|
|
|
|
|
|
|
- 这是对运行TypeORM + PostgreSQL + Hono + Redis + @d8d/shared-crud的现有系统的增强
|
|
- 这是对运行TypeORM + PostgreSQL + Hono + Redis + @d8d/shared-crud的现有系统的增强
|
|
|
-- **核心简化**: 直接复用共享CRUD包,自动获得多租户隔离、用户跟踪、完整CRUD API
|
|
|
|
|
|
|
+- **核心简化**: 继承GenericCrudService抽象类,自动获得多租户隔离、用户跟踪、完整CRUD API
|
|
|
- 集成点:共享CRUD包的GenericCrudService和createCrudRoutes、认证模块的MiniAuthService、支付模块的PaymentService、Redis缓存
|
|
- 集成点:共享CRUD包的GenericCrudService和createCrudRoutes、认证模块的MiniAuthService、支付模块的PaymentService、Redis缓存
|
|
|
- 要遵循的现有模式:共享CRUD包的通用模式、文件模块的CRUD模式、多租户实体模式
|
|
- 要遵循的现有模式:共享CRUD包的通用模式、文件模块的CRUD模式、多租户实体模式
|
|
|
- 关键兼容性要求:现有API保持不变,数据库schema向后兼容
|
|
- 关键兼容性要求:现有API保持不变,数据库schema向后兼容
|