midway-fatcms 0.0.6 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/.qoder/skills/midway-fatcms/01-quick-start.md +231 -0
  2. package/.qoder/skills/midway-fatcms/02-crud-quick.md +337 -0
  3. package/.qoder/skills/midway-fatcms/03-crud-sharding.md +488 -0
  4. package/.qoder/skills/midway-fatcms/04-condition-operators.md +93 -0
  5. package/.qoder/skills/midway-fatcms/05-configuration.md +290 -0
  6. package/.qoder/skills/midway-fatcms/06-builtin-functions.md +241 -0
  7. package/.qoder/skills/midway-fatcms/07-examples.md +500 -0
  8. package/.qoder/skills/midway-fatcms/SKILL.md +96 -0
  9. package/README.md +9 -9
  10. package/dist/controller/base/BaseApiController.d.ts +1 -2
  11. package/dist/controller/base/BaseApiController.js +0 -4
  12. package/dist/controller/gateway/DocGatewayController.js +1 -1
  13. package/dist/controller/manage/FlowConfigManageApi.js +4 -2
  14. package/dist/controller/manage/SysConfigMangeApi.js +6 -1
  15. package/dist/controller/manage/UserAccountManageApi.js +7 -2
  16. package/dist/index.d.ts +2 -2
  17. package/dist/index.js +2 -2
  18. package/dist/libs/crud-pro/CrudPro.d.ts +23 -2
  19. package/dist/libs/crud-pro/CrudPro.js +53 -2
  20. package/dist/libs/crud-pro/interfaces.d.ts +82 -12
  21. package/dist/libs/crud-pro/models/CrudResult.d.ts +115 -0
  22. package/dist/libs/crud-pro/models/CrudResult.js +126 -0
  23. package/dist/libs/crud-pro/models/RequestModel.d.ts +2 -38
  24. package/dist/libs/crud-pro/models/RequestModel.js +2 -99
  25. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +36 -2
  26. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +8 -4
  27. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +1 -2
  28. package/dist/libs/crud-pro/utils/OrderByUtils.d.ts +70 -0
  29. package/dist/libs/crud-pro/utils/OrderByUtils.js +158 -0
  30. package/dist/libs/crud-pro-quick/CrudProQuick.d.ts +295 -0
  31. package/dist/libs/crud-pro-quick/CrudProQuick.js +529 -0
  32. package/dist/libs/crud-pro-quick/fixSoftDelete.d.ts +30 -0
  33. package/dist/{service/curd → libs/crud-pro-quick}/fixSoftDelete.js +3 -6
  34. package/dist/libs/crud-pro-quick/index.d.ts +36 -0
  35. package/dist/libs/crud-pro-quick/index.js +49 -0
  36. package/dist/libs/crud-pro-quick/models.d.ts +33 -0
  37. package/dist/libs/crud-pro-quick/models.js +2 -0
  38. package/dist/libs/crud-sharding/ShardingConfig.d.ts +15 -2
  39. package/dist/libs/crud-sharding/ShardingConfig.js +2 -2
  40. package/dist/libs/crud-sharding/ShardingCrudPro.d.ts +119 -274
  41. package/dist/libs/crud-sharding/ShardingCrudPro.js +559 -379
  42. package/dist/libs/crud-sharding/ShardingMerger.d.ts +12 -20
  43. package/dist/libs/crud-sharding/ShardingMerger.js +36 -51
  44. package/dist/libs/crud-sharding/ShardingResult.d.ts +33 -0
  45. package/dist/libs/crud-sharding/ShardingResult.js +16 -0
  46. package/dist/libs/crud-sharding/ShardingRouter.d.ts +1 -0
  47. package/dist/libs/crud-sharding/ShardingRouter.js +25 -6
  48. package/dist/libs/crud-sharding/ShardingTableCreator.d.ts +21 -4
  49. package/dist/libs/crud-sharding/ShardingTableCreator.js +193 -59
  50. package/dist/libs/crud-sharding/ShardingUtils.d.ts +48 -0
  51. package/dist/libs/crud-sharding/ShardingUtils.js +122 -1
  52. package/dist/libs/crud-sharding/TIME_COLUMN_CLEAN_SPEC.md +488 -0
  53. package/dist/libs/crud-sharding/index.d.ts +4 -3
  54. package/dist/libs/crud-sharding/index.js +14 -2
  55. package/dist/models/bizmodels.d.ts +2 -6
  56. package/dist/service/SysAppService.d.ts +2 -2
  57. package/dist/service/SysAppService.js +16 -5
  58. package/dist/service/SysConfigService.d.ts +1 -1
  59. package/dist/service/SysConfigService.js +7 -2
  60. package/dist/service/SysDictDataService.js +14 -4
  61. package/dist/service/SysMenuService.js +7 -2
  62. package/dist/service/curd/CurdMixService.d.ts +6 -4
  63. package/dist/service/curd/CurdMixService.js +16 -2
  64. package/dist/service/curd/CurdProService.d.ts +43 -27
  65. package/dist/service/curd/CurdProService.js +32 -33
  66. package/dist/service/flow/FlowConfigService.js +7 -2
  67. package/dist/service/flow/FlowInstanceCrudService.js +22 -19
  68. package/package.json +2 -1
  69. package/src/controller/base/BaseApiController.ts +0 -5
  70. package/src/controller/gateway/DocGatewayController.ts +1 -1
  71. package/src/controller/manage/CrudStandardDesignApi.ts +4 -3
  72. package/src/controller/manage/FlowConfigManageApi.ts +4 -2
  73. package/src/controller/manage/SysConfigMangeApi.ts +6 -1
  74. package/src/controller/manage/UserAccountManageApi.ts +7 -2
  75. package/src/index.ts +2 -2
  76. package/src/libs/crud-pro/CrudPro.ts +62 -4
  77. package/src/libs/crud-pro/interfaces.ts +110 -15
  78. package/src/libs/crud-pro/models/CrudResult.ts +178 -0
  79. package/src/libs/crud-pro/models/RequestModel.ts +4 -110
  80. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +41 -2
  81. package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +11 -7
  82. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +1 -2
  83. package/src/libs/crud-pro/utils/OrderByUtils.ts +169 -0
  84. package/src/libs/crud-pro-quick/CrudProQuick.ts +594 -0
  85. package/src/{service/curd → libs/crud-pro-quick}/fixSoftDelete.ts +23 -13
  86. package/src/libs/crud-pro-quick/index.ts +52 -0
  87. package/src/libs/crud-pro-quick/models.ts +35 -0
  88. package/src/libs/crud-sharding/ShardingConfig.ts +18 -2
  89. package/src/libs/crud-sharding/ShardingCrudPro.ts +689 -440
  90. package/src/libs/crud-sharding/ShardingMerger.ts +47 -73
  91. package/src/libs/crud-sharding/ShardingResult.ts +29 -0
  92. package/src/libs/crud-sharding/ShardingRouter.ts +27 -6
  93. package/src/libs/crud-sharding/ShardingTableCreator.ts +214 -71
  94. package/src/libs/crud-sharding/ShardingUtils.ts +137 -0
  95. package/src/libs/crud-sharding/TIME_COLUMN_CLEAN_SPEC.md +488 -0
  96. package/src/libs/crud-sharding/index.ts +14 -3
  97. package/src/models/bizmodels.ts +4 -7
  98. package/src/service/SysAppService.ts +18 -7
  99. package/src/service/SysConfigService.ts +8 -3
  100. package/src/service/SysDictDataService.ts +14 -4
  101. package/src/service/SysMenuService.ts +7 -2
  102. package/src/service/crudstd/CrudStdService.ts +2 -2
  103. package/src/service/curd/CurdMixService.ts +26 -5
  104. package/src/service/curd/CurdProService.ts +58 -39
  105. package/src/service/flow/FlowConfigService.ts +7 -2
  106. package/src/service/flow/FlowInstanceCrudService.ts +23 -20
  107. package/dist/libs/crud-pro/README.md +0 -809
  108. package/dist/libs/crud-pro/README_FUNC.md +0 -193
  109. package/dist/libs/crud-sharding/ROUTING_LOGIC.md +0 -944
  110. package/dist/models/StandardColumns.d.ts +0 -71
  111. package/dist/models/StandardColumns.js +0 -28
  112. package/dist/service/curd/CrudProQuick.d.ts +0 -190
  113. package/dist/service/curd/CrudProQuick.js +0 -319
  114. package/dist/service/curd/README.md +0 -1001
  115. package/dist/service/curd/fixSoftDelete.d.ts +0 -20
  116. package/src/libs/crud-pro/README.md +0 -809
  117. package/src/libs/crud-pro/README_FUNC.md +0 -193
  118. package/src/libs/crud-sharding/ROUTING_LOGIC.md +0 -944
  119. package/src/models/StandardColumns.ts +0 -76
  120. package/src/service/curd/CrudProQuick.ts +0 -360
  121. package/src/service/curd/README.md +0 -1001
@@ -0,0 +1,52 @@
1
+ /**
2
+ * 快捷 CRUD 操作模块
3
+ *
4
+ * 在 CrudPro 之上封装便捷方法,提供简洁的 API 进行单表 CRUD 操作。
5
+ * 内部使用工厂函数模式,每次操作都会获取新的 CrudPro 实例,因此**可以安全复用**。
6
+ *
7
+ * **与 CrudPro 的关系:**
8
+ * - CrudPro 是有状态执行器,禁止复用
9
+ * - CrudProQuick 内部每次调用工厂函数获取新 CrudPro,可以安全复用
10
+ *
11
+ * **使用方式:**
12
+ * 必须通过 CurdProService.getQuickCrud() 获取实例,不要直接构造。
13
+ *
14
+ * @example
15
+ * // 通过 CurdProService 获取实例
16
+ * const quick = curdProService.getQuickCrud('mydb', SqlDbType.mysql, 't_user');
17
+ *
18
+ * // 设置公共配置
19
+ * quick.setBaseCfgModel({
20
+ * enableSoftDelete: true,
21
+ * enableStandardUpdateCfg: true,
22
+ * });
23
+ *
24
+ * // 查询列表(新 API)
25
+ * const result = await quick.findList({ condition: { status: 1 } });
26
+ * console.log(result.rows, result.count);
27
+ *
28
+ * // 插入数据(新 API)
29
+ * const insertResult = await quick.insert({ data: { name: '张三', age: 20 } });
30
+ * console.log(insertResult.affectedRows, insertResult.insertId);
31
+ */
32
+
33
+ // 核心类
34
+ export { CrudProQuick } from './CrudProQuick';
35
+
36
+ // 类型导出
37
+ export type { ICrudProQuickFactory } from './CrudProQuick';
38
+ export type { IRequestCfgModel2, ICommonStandardColumns } from './models';
39
+
40
+ // 工具函数
41
+ export { fixSoftDelete } from './fixSoftDelete';
42
+
43
+ // 重新导出结果类型
44
+ export {
45
+ CrudWriteResult,
46
+ CrudQueryOneResult,
47
+ CrudQueryListResult,
48
+ CrudQueryPageResult,
49
+ CrudExistResult,
50
+ CrudCountResult,
51
+ CrudUpsertResult,
52
+ } from '@/libs/crud-pro/models/CrudResult';
@@ -0,0 +1,35 @@
1
+ import { IRequestCfgModel } from '@/libs/crud-pro/interfaces';
2
+
3
+ /**
4
+ * 常用标准表结构字段(6个字段)
5
+ *
6
+ * 用于软删除和审计跟踪:
7
+ * - deleted_at: 删除时间戳,0=未删除
8
+ * - deleted_by: 删除人ID
9
+ * - created_by: 创建人ID
10
+ * - created_at: 创建时间(毫秒时间戳)
11
+ * - modified_by: 修改人ID
12
+ * - modified_at: 修改时间(毫秒时间戳)
13
+ */
14
+ export interface ICommonStandardColumns {
15
+ deleted_at?: number;
16
+ deleted_by?: string;
17
+ created_by?: string;
18
+ created_at?: number;
19
+ modified_by?: string;
20
+ modified_at?: number;
21
+ }
22
+
23
+ /**
24
+ * 扩展的请求配置模型
25
+ *
26
+ * 在 IRequestCfgModel 基础上添加了业务层常用的配置项:
27
+ * - enableStandardUpdateCfg: 启用标准字段自动填充
28
+ * - enableStandardUpdateCfgCondition: 启用标准字段条件注入
29
+ * - enableSoftDelete: 启用软删除
30
+ */
31
+ export interface IRequestCfgModel2 extends IRequestCfgModel {
32
+ enableStandardUpdateCfg?: boolean | string[]; // 默认为true
33
+ enableStandardUpdateCfgCondition?: boolean | string[]; // 默认为false
34
+ enableSoftDelete?: boolean;
35
+ }
@@ -1,3 +1,11 @@
1
+ import { CrudPro } from '@/libs/crud-pro/CrudPro';
2
+
3
+ /**
4
+ * CrudPro 工厂函数类型
5
+ * 每次调用返回新的 CrudPro 实例,避免状态污染
6
+ */
7
+ export type CrudProFactory = () => CrudPro;
8
+
1
9
  /**
2
10
  * 分表配置模型
3
11
  *
@@ -63,6 +71,14 @@ export interface IShardingConfig {
63
71
  */
64
72
  timeColumn?: string;
65
73
 
74
+ /**
75
+ * 主键字段
76
+ * 用于时间分表场景下,当 condition 中包含主键时,时间字段仅用于路由定位分表,
77
+ * 不参与具体表的查询条件(避免时间精度损失导致查询失败)
78
+ * 例如:id, order_id
79
+ */
80
+ primaryKey?: string;
81
+
66
82
  /**
67
83
  * 自定义分表路由函数
68
84
  * 用于 CUSTOM 类型
@@ -86,8 +102,8 @@ export interface IShardingConfig {
86
102
  * 适用于时间分表类型(YEAR/MONTH/DAY)。
87
103
  *
88
104
  * 默认值:
89
- * - YEAR: 3(最近3年)
90
- * - MONTH: 12(最近12个月)
105
+ * - YEAR: 2(最近2年)
106
+ * - MONTH: 3(最近3个月)
91
107
  * - DAY: 7(最近7天)
92
108
  *
93
109
  * @example