midway-fatcms 0.0.1-beta.2 → 0.0.1-beta.22
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.
- package/.eslintrc.json +12 -0
- package/.prettierrc.js +4 -0
- package/README.md +7 -0
- package/dist/config/config.default.js +52 -15
- package/dist/configuration.d.ts +1 -0
- package/dist/configuration.js +33 -8
- package/dist/controller/base/BaseApiController.d.ts +1 -1
- package/dist/controller/base/BaseApiController.js +14 -6
- package/dist/controller/gateway/AsyncTaskController.d.ts +14 -0
- package/dist/controller/gateway/AsyncTaskController.js +108 -0
- package/dist/controller/gateway/CrudMtdGatewayController.d.ts +3 -3
- package/dist/controller/gateway/CrudMtdGatewayController.js +9 -6
- package/dist/controller/gateway/CrudStdGatewayController.d.ts +5 -5
- package/dist/controller/gateway/DocGatewayController.js +14 -9
- package/dist/controller/gateway/PublicApiController.js +4 -6
- package/dist/controller/gateway/StaticController.d.ts +2 -0
- package/dist/controller/gateway/StaticController.js +59 -40
- package/dist/controller/helpers.controller.d.ts +1 -1
- package/dist/controller/home.controller.js +2 -2
- package/dist/controller/manage/AnyApiMangeApi.js +2 -2
- package/dist/controller/manage/AppLogMangeApi.js +2 -2
- package/dist/controller/manage/AppMangeApi.js +2 -2
- package/dist/controller/manage/AppPageMangeApi.js +2 -2
- package/dist/controller/manage/AppSchemaHistoryApi.js +2 -2
- package/dist/controller/manage/CrudMethodsMangeApi.js +2 -2
- package/dist/controller/manage/CrudStandardDesignApi.d.ts +1 -1
- package/dist/controller/manage/CrudStandardDesignApi.js +78 -75
- package/dist/controller/manage/DataDictManageApi.d.ts +1 -1
- package/dist/controller/manage/DataDictManageApi.js +1 -1
- package/dist/controller/manage/DeployManageApi.d.ts +1 -1
- package/dist/controller/manage/DeployManageApi.js +38 -34
- package/dist/controller/manage/DocLibManageApi.js +2 -2
- package/dist/controller/manage/DocManageApi.js +2 -2
- package/dist/controller/manage/FileManageApi.js +1 -1
- package/dist/controller/manage/LowCodeTplManageApi.js +2 -2
- package/dist/controller/manage/MenuManageApi.js +2 -2
- package/dist/controller/manage/ProxyApiMangeApi.js +2 -2
- package/dist/controller/manage/SuperAdminManageApi.d.ts +2 -2
- package/dist/controller/manage/SuperAdminManageApi.js +12 -8
- package/dist/controller/manage/SysConfigMangeApi.d.ts +1 -1
- package/dist/controller/manage/SysConfigMangeApi.js +8 -6
- package/dist/controller/manage/SystemInfoManageApi.d.ts +1 -1
- package/dist/controller/manage/SystemInfoManageApi.js +7 -1
- package/dist/controller/manage/UserAccountManageApi.d.ts +2 -2
- package/dist/controller/manage/UserAccountManageApi.js +7 -2
- package/dist/controller/manage/WorkbenchMangeApi.js +3 -3
- package/dist/controller/myinfo/AuthController.d.ts +0 -4
- package/dist/controller/myinfo/AuthController.js +1 -54
- package/dist/controller/render/AppRenderController.js +10 -4
- package/dist/controller/test.controller.d.ts +1 -1
- package/dist/controller/test.controller.js +5 -5
- package/dist/index.d.ts +34 -4
- package/dist/index.js +34 -4
- package/dist/libs/crud-pro/CrudPro.d.ts +1 -0
- package/dist/libs/crud-pro/CrudPro.js +5 -0
- package/dist/libs/crud-pro/defaultConfigs.js +2 -0
- package/dist/libs/crud-pro/interfaces.d.ts +7 -1
- package/dist/libs/crud-pro/models/ExecuteContext.d.ts +2 -1
- package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +8 -1
- package/dist/libs/crud-pro/models/ExecuteContextFunc.js +8 -0
- package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +1 -1
- package/dist/libs/crud-pro/models/ResModel.d.ts +16 -0
- package/dist/libs/crud-pro/models/ResModel.js +2 -0
- package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +1 -1
- package/dist/libs/crud-pro/models/TransactionSqlServer.js +1 -1
- package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +1 -0
- package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +27 -15
- package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +13 -17
- package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +1 -1
- package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +10 -12
- package/dist/libs/crud-pro/services/CrudProGenSqlService.js +14 -23
- package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +7 -6
- package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +2 -6
- package/dist/libs/crud-pro/services/CrudProServiceBase.js +3 -2
- package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +1 -0
- package/dist/libs/crud-pro/services/CrudProTableMetaService.js +32 -7
- package/dist/libs/crud-pro/utils/DatabaseName.js +24 -3
- package/dist/libs/crud-pro/utils/MixinUtils.js +1 -1
- package/dist/libs/crud-pro/utils/ValidateUtils.js +1 -1
- package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +2 -2
- package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -0
- package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -0
- package/dist/libs/global-config/global-config.d.ts +45 -0
- package/dist/libs/global-config/global-config.js +33 -0
- package/dist/libs/utils/errorToString.d.ts +2 -0
- package/dist/libs/utils/errorToString.js +57 -0
- package/dist/libs/utils/fatcms-request.js +2 -2
- package/dist/middleware/forbidden.middleware.js +4 -20
- package/dist/middleware/global.middleware.js +8 -1
- package/dist/models/AsyncTaskModel.d.ts +69 -0
- package/dist/models/AsyncTaskModel.js +26 -0
- package/dist/models/RedisKeys.d.ts +8 -0
- package/dist/models/RedisKeys.js +11 -0
- package/dist/models/SystemTables.d.ts +1 -3
- package/dist/models/SystemTables.js +2 -4
- package/dist/schedule/anonymousContext.d.ts +13 -0
- package/dist/schedule/anonymousContext.js +59 -0
- package/dist/schedule/index.d.ts +4 -3
- package/dist/schedule/index.js +8 -67
- package/dist/schedule/runSchedule.d.ts +15 -0
- package/dist/schedule/runSchedule.js +68 -0
- package/dist/schedule/scheduleNames.d.ts +13 -0
- package/dist/schedule/scheduleNames.js +17 -0
- package/dist/service/AuthService.js +8 -5
- package/dist/service/EnumInfoService.js +7 -4
- package/dist/service/FileCenterService.js +13 -9
- package/dist/service/SysConfigService.js +4 -2
- package/dist/service/UserAccountService.js +10 -6
- package/dist/service/UserSessionService.js +2 -1
- package/dist/service/VisitStatService.d.ts +1 -1
- package/dist/service/VisitStatService.js +20 -27
- package/dist/service/WorkbenchService.js +4 -2
- package/dist/service/anyapi/AnyApiService.js +4 -2
- package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +37 -0
- package/dist/service/asyncTask/AsyncTaskRunnerService.js +232 -0
- package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -0
- package/dist/service/asyncTask/AsyncTaskService.js +34 -0
- package/dist/service/crudstd/CrudStdService.d.ts +2 -1
- package/dist/service/crudstd/CrudStdService.js +48 -3
- package/dist/service/curd/CrudProQuick.d.ts +24 -0
- package/dist/service/curd/CrudProQuick.js +105 -0
- package/dist/service/curd/CurdMixByAccountService.js +12 -6
- package/dist/service/curd/CurdMixByDictService.js +4 -2
- package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +10 -1
- package/dist/service/curd/CurdMixByLinkToCustomService.js +72 -24
- package/dist/service/curd/CurdMixBySysConfigService.js +4 -2
- package/dist/service/curd/CurdMixByWorkbenchService.js +4 -2
- package/dist/service/curd/CurdMixService.d.ts +1 -1
- package/dist/service/curd/CurdMixService.js +2 -2
- package/dist/service/curd/CurdMixUtils.d.ts +7 -0
- package/dist/service/curd/CurdMixUtils.js +65 -28
- package/dist/service/curd/CurdProService.d.ts +2 -10
- package/dist/service/curd/CurdProService.js +31 -146
- package/dist/service/curd/fixCfgModel.d.ts +3 -0
- package/dist/service/curd/fixCfgModel.js +107 -0
- package/dist/service/proxyapi/ProxyApiLoadService.js +7 -4
- package/dist/views/404_app.html +31 -0
- package/dist/views/404_workbench.html +34 -0
- package/dist/views/static/favicon.ico +0 -0
- package/package.json +9 -2
- package/src/config/config.default.ts +58 -27
- package/src/configuration.ts +42 -9
- package/src/controller/base/BaseApiController.ts +26 -19
- package/src/controller/gateway/AnyApiGatewayController.ts +1 -1
- package/src/controller/gateway/AsyncTaskController.ts +83 -0
- package/src/controller/gateway/CrudMtdGatewayController.ts +17 -13
- package/src/controller/gateway/CrudStdGatewayController.ts +4 -4
- package/src/controller/gateway/DocGatewayController.ts +25 -17
- package/src/controller/gateway/FileController.ts +8 -9
- package/src/controller/gateway/ProxyApiGatewayController.ts +4 -4
- package/src/controller/gateway/PublicApiController.ts +19 -22
- package/src/controller/gateway/StaticController.ts +234 -242
- package/src/controller/helpers.controller.ts +1 -1
- package/src/controller/home.controller.ts +8 -15
- package/src/controller/manage/AnyApiMangeApi.ts +11 -11
- package/src/controller/manage/AppLogMangeApi.ts +5 -5
- package/src/controller/manage/AppMangeApi.ts +7 -7
- package/src/controller/manage/AppPageMangeApi.ts +5 -5
- package/src/controller/manage/AppSchemaHistoryApi.ts +3 -3
- package/src/controller/manage/CrudMethodsMangeApi.ts +5 -5
- package/src/controller/manage/CrudStandardDesignApi.ts +106 -113
- package/src/controller/manage/DataDictManageApi.ts +5 -5
- package/src/controller/manage/DeployManageApi.ts +85 -89
- package/src/controller/manage/DocLibManageApi.ts +5 -5
- package/src/controller/manage/DocManageApi.ts +10 -10
- package/src/controller/manage/FileManageApi.ts +1 -1
- package/src/controller/manage/LowCodeTplManageApi.ts +2 -2
- package/src/controller/manage/MenuManageApi.ts +10 -15
- package/src/controller/manage/ProxyApiMangeApi.ts +2 -2
- package/src/controller/manage/SuperAdminManageApi.ts +14 -13
- package/src/controller/manage/SysConfigMangeApi.ts +11 -11
- package/src/controller/manage/SystemInfoManageApi.ts +11 -6
- package/src/controller/manage/UserAccountManageApi.ts +10 -4
- package/src/controller/manage/WorkbenchMangeApi.ts +8 -8
- package/src/controller/myinfo/AuthController.ts +6 -72
- package/src/controller/render/AppRenderController.ts +24 -21
- package/src/controller/test.controller.ts +18 -18
- package/src/index.ts +38 -4
- package/src/libs/crud-pro/CrudPro.ts +7 -0
- package/src/libs/crud-pro/defaultConfigs.ts +2 -0
- package/src/libs/crud-pro/interfaces.ts +10 -3
- package/src/libs/crud-pro/models/ExecuteContext.ts +3 -3
- package/src/libs/crud-pro/models/ExecuteContextFunc.ts +11 -1
- package/src/libs/crud-pro/models/RequestCfgModel.ts +1 -1
- package/src/libs/crud-pro/models/RequestModel.ts +1 -1
- package/src/libs/crud-pro/models/ResModel.ts +19 -0
- package/src/libs/crud-pro/models/SqlCfgModel.ts +2 -2
- package/src/libs/crud-pro/models/Transaction.ts +8 -9
- package/src/libs/crud-pro/models/TransactionPostgres.ts +1 -1
- package/src/libs/crud-pro/models/TransactionSqlServer.ts +8 -13
- package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +32 -23
- package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +38 -54
- package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +26 -45
- package/src/libs/crud-pro/services/CrudProGenSqlService.ts +23 -40
- package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +25 -29
- package/src/libs/crud-pro/services/CrudProServiceBase.ts +5 -9
- package/src/libs/crud-pro/services/CrudProTableMetaService.ts +36 -9
- package/src/libs/crud-pro/utils/DatabaseName.ts +35 -15
- package/src/libs/crud-pro/utils/DateTimeUtils.ts +2 -2
- package/src/libs/crud-pro/utils/MixinUtils.ts +1 -1
- package/src/libs/crud-pro/utils/ValidateUtils.ts +1 -3
- package/src/libs/crud-pro/utils/pool/MySQLUtils.ts +1 -1
- package/src/libs/crud-pro/utils/pool/PostgresUtils.ts +3 -3
- package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +3 -3
- package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +2 -2
- package/src/libs/crud-pro/utils/sqlConvert/convertMix.ts +26 -0
- package/src/libs/global-config/global-config.ts +78 -0
- package/src/libs/utils/crypto-utils.ts +2 -4
- package/src/libs/utils/errorToString.ts +61 -0
- package/src/libs/utils/fatcms-request.ts +9 -21
- package/src/libs/utils/ordernum-utils.ts +2 -6
- package/src/libs/utils/parseConfig.ts +7 -15
- package/src/middleware/forbidden.middleware.ts +6 -25
- package/src/middleware/global.middleware.ts +18 -16
- package/src/models/AsyncTaskModel.ts +79 -0
- package/src/models/RedisKeys.ts +13 -0
- package/src/models/SystemTables.ts +1 -4
- package/src/models/bizmodels.ts +1 -2
- package/src/schedule/anonymousContext.ts +79 -0
- package/src/schedule/index.ts +11 -72
- package/src/schedule/runSchedule.ts +83 -0
- package/src/schedule/scheduleNames.ts +21 -0
- package/src/service/AuthService.ts +13 -8
- package/src/service/EnumInfoService.ts +8 -3
- package/src/service/FileCenterService.ts +12 -6
- package/src/service/SysConfigService.ts +10 -6
- package/src/service/UserAccountService.ts +14 -4
- package/src/service/UserSessionService.ts +5 -4
- package/src/service/VisitStatService.ts +57 -70
- package/src/service/WorkbenchService.ts +7 -2
- package/src/service/anyapi/AnyApiService.ts +11 -8
- package/src/service/asyncTask/AsyncTaskRunnerService.ts +255 -0
- package/src/service/asyncTask/AsyncTaskService.ts +21 -0
- package/src/service/base/BaseService.ts +2 -2
- package/src/service/crudstd/CrudStdService.ts +60 -5
- package/src/service/curd/CrudProQuick.ts +137 -0
- package/src/service/curd/CurdMixByAccountService.ts +14 -6
- package/src/service/curd/CurdMixByDictService.ts +8 -2
- package/src/service/curd/CurdMixByLinkToCustomService.ts +101 -50
- package/src/service/curd/CurdMixBySysConfigService.ts +7 -2
- package/src/service/curd/CurdMixByWorkbenchService.ts +6 -2
- package/src/service/curd/CurdMixService.ts +3 -3
- package/src/service/curd/CurdMixUtils.ts +82 -39
- package/src/service/curd/CurdProService.ts +45 -189
- package/src/service/curd/fixCfgModel.ts +139 -0
- package/src/service/proxyapi/ProxyApiLoadService.ts +12 -3
- package/src/views/404_app.html +31 -0
- package/src/views/404_workbench.html +34 -0
- package/src/views/static/favicon.ico +0 -0
- package/tsconfig.json +32 -0
- package/dist/controller/medstatistic/MedAdminController.d.ts +0 -35
- package/dist/controller/medstatistic/MedAdminController.js +0 -205
- package/dist/controller/medstatistic/MedClientController.d.ts +0 -28
- package/dist/controller/medstatistic/MedClientController.js +0 -188
- package/dist/controller/medstatistic/MedMessageService.d.ts +0 -19
- package/dist/controller/medstatistic/MedMessageService.js +0 -95
- package/dist/controller/medstatistic/MedScoreService.d.ts +0 -21
- package/dist/controller/medstatistic/MedScoreService.js +0 -107
- package/dist/controller/medstatistic/constants.d.ts +0 -32
- package/dist/controller/medstatistic/constants.js +0 -43
- package/src/controller/medstatistic/MedAdminController.ts +0 -221
- package/src/controller/medstatistic/MedClientController.ts +0 -188
- package/src/controller/medstatistic/MedMessageService.ts +0 -89
- package/src/controller/medstatistic/MedScoreService.ts +0 -108
- package/src/controller/medstatistic/constants.ts +0 -63
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export * from './controller/gateway/FileController';
|
|
|
8
8
|
export * from './controller/gateway/ProxyApiGatewayController';
|
|
9
9
|
export * from './controller/gateway/PublicApiController';
|
|
10
10
|
export * from './controller/gateway/StaticController';
|
|
11
|
+
export * from './controller/gateway/AsyncTaskController';
|
|
11
12
|
export * from './controller/helpers.controller';
|
|
12
13
|
export * from './controller/home.controller';
|
|
13
14
|
export * from './controller/manage/AnyApiMangeApi';
|
|
@@ -30,10 +31,6 @@ export * from './controller/manage/SysConfigMangeApi';
|
|
|
30
31
|
export * from './controller/manage/SystemInfoManageApi';
|
|
31
32
|
export * from './controller/manage/UserAccountManageApi';
|
|
32
33
|
export * from './controller/manage/WorkbenchMangeApi';
|
|
33
|
-
export * from './controller/medstatistic/MedAdminController';
|
|
34
|
-
export * from './controller/medstatistic/MedClientController';
|
|
35
|
-
export * from './controller/medstatistic/MedMessageService';
|
|
36
|
-
export * from './controller/medstatistic/MedScoreService';
|
|
37
34
|
export * from './controller/myinfo/AuthController';
|
|
38
35
|
export * from './controller/myinfo/MyInfoController';
|
|
39
36
|
export * from './controller/render/AppRenderController';
|
|
@@ -67,5 +64,38 @@ export * from './service/curd/CurdMixBySysConfigService';
|
|
|
67
64
|
export * from './service/curd/CurdMixByWorkbenchService';
|
|
68
65
|
export * from './service/curd/CurdMixService';
|
|
69
66
|
export * from './service/curd/CurdProService';
|
|
67
|
+
export * from './service/curd/CrudProQuick';
|
|
70
68
|
export * from './service/proxyapi/ProxyApiLoadService';
|
|
71
69
|
export * from './service/proxyapi/ProxyApiService';
|
|
70
|
+
export * from './service/asyncTask/AsyncTaskService';
|
|
71
|
+
export * from './service/asyncTask/AsyncTaskRunnerService';
|
|
72
|
+
export * from './models/userSession';
|
|
73
|
+
export * from './models/bizmodels';
|
|
74
|
+
export * from './models/SystemEntities';
|
|
75
|
+
export * from './models/SystemPerm';
|
|
76
|
+
export * from './models/contextLogger';
|
|
77
|
+
export * from './models/devops';
|
|
78
|
+
export * from './models/SystemTables';
|
|
79
|
+
export * from './models/AsyncTaskModel';
|
|
80
|
+
export * from './schedule/index';
|
|
81
|
+
export * from './libs/utils/common-dto';
|
|
82
|
+
export * from './libs/utils/crypto-utils';
|
|
83
|
+
export * from './libs/utils/fatcms-request';
|
|
84
|
+
export * from './libs/utils/functions';
|
|
85
|
+
export * from './libs/utils/ordernum-utils';
|
|
86
|
+
export * from './libs/utils/parseConfig';
|
|
87
|
+
export * from './libs/crud-pro/CrudPro';
|
|
88
|
+
export * from './libs/crud-pro/defaultConfigs';
|
|
89
|
+
export * from './libs/crud-pro/exceptions';
|
|
90
|
+
export * from './libs/crud-pro/interfaces';
|
|
91
|
+
export * from './libs/crud-pro/models/ExecuteContext';
|
|
92
|
+
export * from './libs/crud-pro/models/FuncContext';
|
|
93
|
+
export * from './libs/crud-pro/models/RequestModel';
|
|
94
|
+
export * from './libs/crud-pro/models/SqlCfgModel';
|
|
95
|
+
export * from './libs/crud-pro/models/Transaction';
|
|
96
|
+
export * from './libs/crud-pro/models/keys';
|
|
97
|
+
export * from './libs/crud-pro/models/ExecuteContextFunc';
|
|
98
|
+
export * from './libs/crud-pro/models/RequestCfgModel';
|
|
99
|
+
export * from './libs/crud-pro/models/SqlSegArg';
|
|
100
|
+
export * from './libs/crud-pro/models/ResModel';
|
|
101
|
+
export * from './libs/global-config/global-config';
|
package/dist/index.js
CHANGED
|
@@ -26,6 +26,7 @@ __exportStar(require("./controller/gateway/FileController"), exports);
|
|
|
26
26
|
__exportStar(require("./controller/gateway/ProxyApiGatewayController"), exports);
|
|
27
27
|
__exportStar(require("./controller/gateway/PublicApiController"), exports);
|
|
28
28
|
__exportStar(require("./controller/gateway/StaticController"), exports);
|
|
29
|
+
__exportStar(require("./controller/gateway/AsyncTaskController"), exports);
|
|
29
30
|
__exportStar(require("./controller/helpers.controller"), exports);
|
|
30
31
|
__exportStar(require("./controller/home.controller"), exports);
|
|
31
32
|
__exportStar(require("./controller/manage/AnyApiMangeApi"), exports);
|
|
@@ -48,10 +49,6 @@ __exportStar(require("./controller/manage/SysConfigMangeApi"), exports);
|
|
|
48
49
|
__exportStar(require("./controller/manage/SystemInfoManageApi"), exports);
|
|
49
50
|
__exportStar(require("./controller/manage/UserAccountManageApi"), exports);
|
|
50
51
|
__exportStar(require("./controller/manage/WorkbenchMangeApi"), exports);
|
|
51
|
-
__exportStar(require("./controller/medstatistic/MedAdminController"), exports);
|
|
52
|
-
__exportStar(require("./controller/medstatistic/MedClientController"), exports);
|
|
53
|
-
__exportStar(require("./controller/medstatistic/MedMessageService"), exports);
|
|
54
|
-
__exportStar(require("./controller/medstatistic/MedScoreService"), exports);
|
|
55
52
|
__exportStar(require("./controller/myinfo/AuthController"), exports);
|
|
56
53
|
__exportStar(require("./controller/myinfo/MyInfoController"), exports);
|
|
57
54
|
__exportStar(require("./controller/render/AppRenderController"), exports);
|
|
@@ -85,5 +82,38 @@ __exportStar(require("./service/curd/CurdMixBySysConfigService"), exports);
|
|
|
85
82
|
__exportStar(require("./service/curd/CurdMixByWorkbenchService"), exports);
|
|
86
83
|
__exportStar(require("./service/curd/CurdMixService"), exports);
|
|
87
84
|
__exportStar(require("./service/curd/CurdProService"), exports);
|
|
85
|
+
__exportStar(require("./service/curd/CrudProQuick"), exports);
|
|
88
86
|
__exportStar(require("./service/proxyapi/ProxyApiLoadService"), exports);
|
|
89
87
|
__exportStar(require("./service/proxyapi/ProxyApiService"), exports);
|
|
88
|
+
__exportStar(require("./service/asyncTask/AsyncTaskService"), exports);
|
|
89
|
+
__exportStar(require("./service/asyncTask/AsyncTaskRunnerService"), exports);
|
|
90
|
+
__exportStar(require("./models/userSession"), exports);
|
|
91
|
+
__exportStar(require("./models/bizmodels"), exports);
|
|
92
|
+
__exportStar(require("./models/SystemEntities"), exports);
|
|
93
|
+
__exportStar(require("./models/SystemPerm"), exports);
|
|
94
|
+
__exportStar(require("./models/contextLogger"), exports);
|
|
95
|
+
__exportStar(require("./models/devops"), exports);
|
|
96
|
+
__exportStar(require("./models/SystemTables"), exports);
|
|
97
|
+
__exportStar(require("./models/AsyncTaskModel"), exports);
|
|
98
|
+
__exportStar(require("./schedule/index"), exports);
|
|
99
|
+
__exportStar(require("./libs/utils/common-dto"), exports);
|
|
100
|
+
__exportStar(require("./libs/utils/crypto-utils"), exports);
|
|
101
|
+
__exportStar(require("./libs/utils/fatcms-request"), exports);
|
|
102
|
+
__exportStar(require("./libs/utils/functions"), exports);
|
|
103
|
+
__exportStar(require("./libs/utils/ordernum-utils"), exports);
|
|
104
|
+
__exportStar(require("./libs/utils/parseConfig"), exports);
|
|
105
|
+
__exportStar(require("./libs/crud-pro/CrudPro"), exports);
|
|
106
|
+
__exportStar(require("./libs/crud-pro/defaultConfigs"), exports);
|
|
107
|
+
__exportStar(require("./libs/crud-pro/exceptions"), exports);
|
|
108
|
+
__exportStar(require("./libs/crud-pro/interfaces"), exports);
|
|
109
|
+
__exportStar(require("./libs/crud-pro/models/ExecuteContext"), exports);
|
|
110
|
+
__exportStar(require("./libs/crud-pro/models/FuncContext"), exports);
|
|
111
|
+
__exportStar(require("./libs/crud-pro/models/RequestModel"), exports);
|
|
112
|
+
__exportStar(require("./libs/crud-pro/models/SqlCfgModel"), exports);
|
|
113
|
+
__exportStar(require("./libs/crud-pro/models/Transaction"), exports);
|
|
114
|
+
__exportStar(require("./libs/crud-pro/models/keys"), exports);
|
|
115
|
+
__exportStar(require("./libs/crud-pro/models/ExecuteContextFunc"), exports);
|
|
116
|
+
__exportStar(require("./libs/crud-pro/models/RequestCfgModel"), exports);
|
|
117
|
+
__exportStar(require("./libs/crud-pro/models/SqlSegArg"), exports);
|
|
118
|
+
__exportStar(require("./libs/crud-pro/models/ResModel"), exports);
|
|
119
|
+
__exportStar(require("./libs/global-config/global-config"), exports);
|
|
@@ -75,6 +75,8 @@ class CrudPro {
|
|
|
75
75
|
async executeCrudByCfg(reqJson, cfgJson) {
|
|
76
76
|
const logger = this.executeContext.getLogger();
|
|
77
77
|
logger.info('CurdPro executeCrudByCfg', cfgJson);
|
|
78
|
+
// 在执行之前可以根据业务需要修改需要执行的内容。
|
|
79
|
+
await this.beforeExecuteSQLList(reqJson, cfgJson);
|
|
78
80
|
const exeCtx = this.executeContext;
|
|
79
81
|
if (!cfgJson.method) {
|
|
80
82
|
throw new exceptions_1.CommonException(exceptions_1.Exceptions.CFG_METHOD_EMPTY, JSON.stringify(cfgJson));
|
|
@@ -127,5 +129,8 @@ class CrudPro {
|
|
|
127
129
|
async afterExecuteSQLList() {
|
|
128
130
|
return this.executeContext.contextFunc.afterExecuteSQLList();
|
|
129
131
|
}
|
|
132
|
+
async beforeExecuteSQLList(reqJson, cfgJson) {
|
|
133
|
+
return this.executeContext.contextFunc.beforeExecuteSQLList(reqJson, cfgJson);
|
|
134
|
+
}
|
|
130
135
|
}
|
|
131
136
|
exports.CrudPro = CrudPro;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DEFAULT_LIMIT = exports.DEFAULT_MAX_LIMIT = exports.defaultCrudProCfg = void 0;
|
|
4
|
+
const keys_1 = require("./models/keys");
|
|
4
5
|
exports.defaultCrudProCfg = {
|
|
5
6
|
sysDatabaseName: 'fatcms',
|
|
7
|
+
sysDatabaseDbType: keys_1.SqlDbType.mysql,
|
|
6
8
|
sysConfigTableName: 'sys_configs',
|
|
7
9
|
dictItemTableName: 'sys_data_dict_item',
|
|
8
10
|
methodsTableName: 'sys_crud_methods',
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { KeysOfAuthType, KeysOfSimpleSQL, KeysOfValidators, SqlDbType } from './models/keys';
|
|
2
2
|
export interface ICrudProCfg {
|
|
3
3
|
sysDatabaseName?: string;
|
|
4
|
+
sysDatabaseDbType?: SqlDbType;
|
|
4
5
|
methodsTableName?: string;
|
|
5
6
|
methodsCacheTime?: number;
|
|
6
7
|
dictItemTableName?: string;
|
|
@@ -86,7 +87,7 @@ export interface IBaseCfgModel {
|
|
|
86
87
|
sqlTable?: string;
|
|
87
88
|
sqlSchema?: string;
|
|
88
89
|
sqlDatabase?: string;
|
|
89
|
-
|
|
90
|
+
sqlDbType?: SqlDbType;
|
|
90
91
|
maxLimit?: number;
|
|
91
92
|
columns?: string | string[];
|
|
92
93
|
columnsRelation?: ColumnRelation[];
|
|
@@ -154,4 +155,9 @@ export interface ILogger {
|
|
|
154
155
|
error(msg: any, ...args: any[]): void;
|
|
155
156
|
warn(msg: any, ...args: any[]): void;
|
|
156
157
|
}
|
|
158
|
+
export interface IExecuteUnsafeQueryCtx {
|
|
159
|
+
sqlTable: string;
|
|
160
|
+
sqlDatabase: string;
|
|
161
|
+
sqlDbType: SqlDbType;
|
|
162
|
+
}
|
|
157
163
|
export {};
|
|
@@ -4,6 +4,7 @@ import { SqlCfgModel } from './SqlCfgModel';
|
|
|
4
4
|
import { Transaction } from './Transaction';
|
|
5
5
|
import { ICrudProCfg, ILogger, IVisitor } from '../interfaces';
|
|
6
6
|
import { IExecuteContextFunc } from './ExecuteContextFunc';
|
|
7
|
+
import { ResModelFlexible } from './ResModel';
|
|
7
8
|
declare class ExecuteContext {
|
|
8
9
|
private transaction;
|
|
9
10
|
private logger;
|
|
@@ -24,7 +25,7 @@ declare class ExecuteContext {
|
|
|
24
25
|
getVisitor(): IVisitor;
|
|
25
26
|
getReqModel(): RequestModel;
|
|
26
27
|
setReqModel(reqModel: RequestModel): void;
|
|
27
|
-
getResModel():
|
|
28
|
+
getResModel(): ResModelFlexible;
|
|
28
29
|
getOneObj(): any;
|
|
29
30
|
getResRows(): any[];
|
|
30
31
|
setResModelItem(resName: string, data: any): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IConnectionPool } from '../interfaces';
|
|
1
|
+
import { IConnectionPool, IRequestCfgModel, IRequestModel } from '../interfaces';
|
|
2
2
|
import { ExecuteContext } from './ExecuteContext';
|
|
3
3
|
import { SqlCfgModel } from './SqlCfgModel';
|
|
4
4
|
import { RequestCfgModel } from './RequestCfgModel';
|
|
@@ -10,6 +10,7 @@ export interface IExecuteContextFunc {
|
|
|
10
10
|
getFunctionMap(): any;
|
|
11
11
|
validateByAuthCfg(cfgModel: RequestCfgModel, reqModel: RequestModel): Promise<any>;
|
|
12
12
|
afterExecuteSQLList(): Promise<any>;
|
|
13
|
+
beforeExecuteSQLList(reqJson: IRequestModel, cfgJson: IRequestCfgModel): Promise<any>;
|
|
13
14
|
}
|
|
14
15
|
export declare class BaseExecuteContextFunc implements IExecuteContextFunc {
|
|
15
16
|
private executeContext;
|
|
@@ -26,6 +27,12 @@ export declare class BaseExecuteContextFunc implements IExecuteContextFunc {
|
|
|
26
27
|
* @param exeCtx
|
|
27
28
|
*/
|
|
28
29
|
afterExecuteSQLList(): Promise<any>;
|
|
30
|
+
/**
|
|
31
|
+
* 在执行之前可以根据业务需要修改需要执行的内容
|
|
32
|
+
* @param reqJson
|
|
33
|
+
* @param cfgJson
|
|
34
|
+
*/
|
|
35
|
+
beforeExecuteSQLList(reqJson: IRequestModel, cfgJson: IRequestCfgModel): Promise<any>;
|
|
29
36
|
getExecuteContext(): ExecuteContext;
|
|
30
37
|
setExecuteContext(executeContext: ExecuteContext): void;
|
|
31
38
|
}
|
|
@@ -54,6 +54,14 @@ class BaseExecuteContextFunc {
|
|
|
54
54
|
afterExecuteSQLList() {
|
|
55
55
|
return null;
|
|
56
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* 在执行之前可以根据业务需要修改需要执行的内容
|
|
59
|
+
* @param reqJson
|
|
60
|
+
* @param cfgJson
|
|
61
|
+
*/
|
|
62
|
+
beforeExecuteSQLList(reqJson, cfgJson) {
|
|
63
|
+
return Promise.resolve();
|
|
64
|
+
}
|
|
57
65
|
getExecuteContext() {
|
|
58
66
|
return this.executeContext;
|
|
59
67
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
interface ResModelAffected {
|
|
2
|
+
insertId?: string | number;
|
|
3
|
+
affectedRows: number;
|
|
4
|
+
}
|
|
5
|
+
interface ResModelStandard {
|
|
6
|
+
row?: any;
|
|
7
|
+
rows?: any[];
|
|
8
|
+
total_count?: number;
|
|
9
|
+
affected?: ResModelAffected;
|
|
10
|
+
insert_affected?: ResModelAffected;
|
|
11
|
+
update_affected?: ResModelAffected;
|
|
12
|
+
}
|
|
13
|
+
declare type ResModelFlexible = ResModelStandard & {
|
|
14
|
+
[key: string]: any;
|
|
15
|
+
};
|
|
16
|
+
export { ResModelAffected, ResModelStandard, ResModelFlexible };
|
|
@@ -4,6 +4,7 @@ import { ICurdProServiceHub } from '../models/ServiceHub';
|
|
|
4
4
|
declare class CrudProCachedCfgService extends CrudProServiceBase {
|
|
5
5
|
constructor(serviceHub: ICurdProServiceHub);
|
|
6
6
|
getCachedCfgByMethod(method: string, isEnableCache: boolean): Promise<IRequestCfgModel | null>;
|
|
7
|
+
private getCachedCfgByMethodInner;
|
|
7
8
|
private loadMethodInfo;
|
|
8
9
|
private loadMethodInfoList;
|
|
9
10
|
}
|
|
@@ -4,6 +4,7 @@ exports.CrudProCachedCfgService = void 0;
|
|
|
4
4
|
const humps_1 = require("humps");
|
|
5
5
|
const CrudProServiceBase_1 = require("./CrudProServiceBase");
|
|
6
6
|
const MixinUtils_1 = require("../utils/MixinUtils");
|
|
7
|
+
const convertMix_1 = require("../utils/sqlConvert/convertMix");
|
|
7
8
|
const MemoryRefreshCache_1 = require("../utils/MemoryRefreshCache");
|
|
8
9
|
const methodCache = new MemoryRefreshCache_1.default();
|
|
9
10
|
function parseMethodInfo(methodInfo) {
|
|
@@ -17,42 +18,53 @@ class CrudProCachedCfgService extends CrudProServiceBase_1.CrudProServiceBase {
|
|
|
17
18
|
super(serviceHub);
|
|
18
19
|
}
|
|
19
20
|
async getCachedCfgByMethod(method, isEnableCache) {
|
|
21
|
+
const methodInfo = await this.getCachedCfgByMethodInner(method, isEnableCache);
|
|
22
|
+
if (!methodInfo) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
return { ...methodInfo };
|
|
26
|
+
}
|
|
27
|
+
async getCachedCfgByMethodInner(method, isEnableCache) {
|
|
20
28
|
// 不使用缓存
|
|
21
29
|
if (!isEnableCache) {
|
|
22
30
|
return await this.loadMethodInfo(method);
|
|
23
31
|
}
|
|
24
32
|
methodCache.setProps({
|
|
25
|
-
keepTime:
|
|
33
|
+
keepTime: 1000 * 60 * 2,
|
|
26
34
|
requestFn: () => this.loadMethodInfoList(),
|
|
27
35
|
getKeyFn: item => item.method,
|
|
28
36
|
});
|
|
29
|
-
|
|
37
|
+
const methodInfo = await methodCache.getItem(method);
|
|
38
|
+
if (methodInfo) {
|
|
39
|
+
return methodInfo;
|
|
40
|
+
}
|
|
41
|
+
return await this.loadMethodInfo(method);
|
|
30
42
|
}
|
|
31
43
|
async loadMethodInfo(method) {
|
|
32
|
-
const { methodsTableName, sysDatabaseName } = this.getContextCfg();
|
|
33
|
-
const sql = `select *
|
|
34
|
-
from ${methodsTableName}
|
|
35
|
-
where method = ? `; // 全部加载到内存
|
|
44
|
+
const { methodsTableName, sysDatabaseName, sysDatabaseDbType } = this.getContextCfg();
|
|
45
|
+
const sql = `select * from ${methodsTableName} where method = ? `; // 全部加载到内存
|
|
36
46
|
const baseInfo = {
|
|
37
|
-
|
|
38
|
-
|
|
47
|
+
sqlTable: methodsTableName,
|
|
48
|
+
sqlDatabase: sysDatabaseName,
|
|
49
|
+
sqlDbType: sysDatabaseDbType,
|
|
39
50
|
};
|
|
40
|
-
const
|
|
41
|
-
const rows2 =
|
|
51
|
+
const queryRes = await this.executeUnsafeQuery(baseInfo, sql, [method]);
|
|
52
|
+
const rows2 = (0, convertMix_1.pickAndConvertRowsByMix)(queryRes, sysDatabaseDbType);
|
|
42
53
|
if (rows2.length > 0) {
|
|
43
54
|
return parseMethodInfo(rows2[0]);
|
|
44
55
|
}
|
|
45
56
|
return null;
|
|
46
57
|
}
|
|
47
58
|
async loadMethodInfoList() {
|
|
48
|
-
const { methodsTableName, sysDatabaseName } = this.getContextCfg();
|
|
59
|
+
const { methodsTableName, sysDatabaseName, sysDatabaseDbType } = this.getContextCfg();
|
|
49
60
|
const sql = `select * from ${methodsTableName}`; // 全部加载到内存
|
|
50
61
|
const baseInfo = {
|
|
51
|
-
|
|
52
|
-
|
|
62
|
+
sqlTable: methodsTableName,
|
|
63
|
+
sqlDatabase: sysDatabaseName,
|
|
64
|
+
sqlDbType: sysDatabaseDbType,
|
|
53
65
|
};
|
|
54
|
-
const
|
|
55
|
-
const rows2 =
|
|
66
|
+
const queryRes = await this.executeUnsafeQuery(baseInfo, sql);
|
|
67
|
+
const rows2 = (0, convertMix_1.pickAndConvertRowsByMix)(queryRes, sysDatabaseDbType);
|
|
56
68
|
return rows2.map(row => {
|
|
57
69
|
return parseMethodInfo(row);
|
|
58
70
|
});
|
|
@@ -5,7 +5,7 @@ const _ = require("lodash");
|
|
|
5
5
|
const CrudProServiceBase_1 = require("./CrudProServiceBase");
|
|
6
6
|
const keys_1 = require("../models/keys");
|
|
7
7
|
const exceptions_1 = require("../exceptions");
|
|
8
|
-
const
|
|
8
|
+
const convertMix_1 = require("../utils/sqlConvert/convertMix");
|
|
9
9
|
const convertPgSql_1 = require("../utils/sqlConvert/convertPgSql");
|
|
10
10
|
const convertMsSql_1 = require("../utils/sqlConvert/convertMsSql");
|
|
11
11
|
const ModelUtils_1 = require("../utils/ModelUtils");
|
|
@@ -30,36 +30,32 @@ class CrudProExecuteSqlService extends CrudProServiceBase_1.CrudProServiceBase {
|
|
|
30
30
|
const exeCtx = this.getExecuteContext();
|
|
31
31
|
const connection = await this.getTxConnectionBySqlCfg(sqlCfgModel);
|
|
32
32
|
const executeSqlArgs = this.handleExecuteSqlArgsByResModel(exeCtx, sqlCfgModel.executeSqlArgs || []);
|
|
33
|
-
let sqlRes;
|
|
34
33
|
let queryRes;
|
|
35
|
-
if (sqlCfgModel.
|
|
34
|
+
if (sqlCfgModel.sqlDbType === keys_1.SqlDbType.postgres) {
|
|
35
|
+
// import { PoolClient } from 'pg';
|
|
36
36
|
const pgClient = connection;
|
|
37
37
|
const pgSql = (0, convertPgSql_1.replaceQuestionMarks)(sqlCfgModel.executeSql);
|
|
38
38
|
this.logger.info('executeSqlCfgModel_postgres', pgSql, executeSqlArgs, sqlCfgModel.resPicker);
|
|
39
39
|
queryRes = await pgClient.query({
|
|
40
40
|
text: pgSql,
|
|
41
|
-
values: executeSqlArgs || []
|
|
41
|
+
values: executeSqlArgs || [],
|
|
42
42
|
});
|
|
43
|
-
sqlRes = (0, convertPgType_1.pickAndConvertPgRows)(queryRes);
|
|
44
43
|
}
|
|
45
|
-
else if (sqlCfgModel.
|
|
44
|
+
else if (sqlCfgModel.sqlDbType === keys_1.SqlDbType.sqlserver) { // SQLServer
|
|
46
45
|
const mssql = (0, convertMsSql_1.replaceQuestionMarksForMssql)(sqlCfgModel.executeSql);
|
|
47
46
|
this.logger.info('executeSqlCfgModel_sqlserver', mssql, executeSqlArgs, sqlCfgModel.resPicker);
|
|
48
|
-
// SQLServer
|
|
49
47
|
queryRes = await connection.query(mssql, executeSqlArgs);
|
|
50
|
-
sqlRes = _.get(queryRes, 'recordsets[0]') || [];
|
|
51
48
|
}
|
|
52
|
-
else {
|
|
49
|
+
else { // MYSQL
|
|
53
50
|
this.logger.info('executeSqlCfgModel_mysql', sqlCfgModel.executeSql, executeSqlArgs, sqlCfgModel.resPicker);
|
|
54
|
-
// MYSQL
|
|
55
51
|
queryRes = await connection.query(sqlCfgModel.executeSql, executeSqlArgs);
|
|
56
|
-
sqlRes = queryRes[0];
|
|
57
52
|
}
|
|
53
|
+
const sqlRes = (0, convertMix_1.pickAndConvertRowsByMix)(queryRes, sqlCfgModel.sqlDbType);
|
|
58
54
|
const resObject = this.toQueryResByResPicker(sqlRes, queryRes, sqlCfgModel);
|
|
59
55
|
exeCtx.setResModelItem(sqlCfgModel.resName, resObject);
|
|
60
56
|
}
|
|
61
57
|
handleExecuteSqlArgsByResModel(exeCtx, executeSqlArgs) {
|
|
62
|
-
return executeSqlArgs.map(
|
|
58
|
+
return executeSqlArgs.map(arg => {
|
|
63
59
|
if (arg && typeof arg === 'object' && typeof arg.___GENERATE_GET_RES_ATTR___ === 'string') {
|
|
64
60
|
const word = arg.___GENERATE_GET_RES_ATTR___;
|
|
65
61
|
if (word.startsWith(keys_1.KeysOfCustomSQL.SQL_PICK_RES_AS_NUMBER)) {
|
|
@@ -70,7 +66,7 @@ class CrudProExecuteSqlService extends CrudProServiceBase_1.CrudProServiceBase {
|
|
|
70
66
|
}
|
|
71
67
|
if (word.startsWith(keys_1.KeysOfCustomSQL.SQL_PICK_RES_AS_STRING)) {
|
|
72
68
|
const resName = MixinUtils_1.MixinUtils.removeStringPrefix(word, keys_1.KeysOfCustomSQL.SQL_PICK_RES_AS_STRING);
|
|
73
|
-
return String(exeCtx.getResModelItemLodash(resName) ||
|
|
69
|
+
return String(exeCtx.getResModelItemLodash(resName) || '');
|
|
74
70
|
}
|
|
75
71
|
}
|
|
76
72
|
return arg;
|
|
@@ -198,16 +194,16 @@ class CrudProExecuteSqlService extends CrudProServiceBase_1.CrudProServiceBase {
|
|
|
198
194
|
}
|
|
199
195
|
// 增删改res的内容是修改结果:包括: insert\delete\update
|
|
200
196
|
if (keys_1.KeysOfSqlResPicker.UPDATE_RESULT === resPicker) {
|
|
201
|
-
if (sqlCfgModel.
|
|
197
|
+
if (sqlCfgModel.sqlDbType === keys_1.SqlDbType.postgres) {
|
|
202
198
|
return {
|
|
203
199
|
insertId: _.get(queryRes, 'rows[0].id'),
|
|
204
|
-
affectedRows: _.get(queryRes, 'rowCount')
|
|
200
|
+
affectedRows: _.get(queryRes, 'rowCount'),
|
|
205
201
|
};
|
|
206
202
|
}
|
|
207
|
-
if (sqlCfgModel.
|
|
203
|
+
if (sqlCfgModel.sqlDbType === keys_1.SqlDbType.sqlserver) {
|
|
208
204
|
return {
|
|
209
205
|
insertId: _.get(queryRes, 'recordset[0].id'),
|
|
210
|
-
affectedRows: _.get(queryRes, 'rowsAffected[0]')
|
|
206
|
+
affectedRows: _.get(queryRes, 'rowsAffected[0]'),
|
|
211
207
|
};
|
|
212
208
|
}
|
|
213
209
|
return sqlRes;
|
|
@@ -16,10 +16,8 @@ const createFunc = (sqlCfg) => {
|
|
|
16
16
|
},
|
|
17
17
|
toMatchSqlColumnName: (columnName) => {
|
|
18
18
|
const arr = columnName.split(',');
|
|
19
|
-
return arr
|
|
20
|
-
|
|
21
|
-
.join(',');
|
|
22
|
-
}
|
|
19
|
+
return arr.map(s => (0, convertColumnName_1.toSqlColumnName)(s.trim(), sqlCfg)).join(',');
|
|
20
|
+
},
|
|
23
21
|
};
|
|
24
22
|
};
|
|
25
23
|
class ValueChecker {
|
|
@@ -192,29 +190,29 @@ class CrudProGenSqlCondition {
|
|
|
192
190
|
else if (equalsIgnoreCase(keys_1.KeysOfConditions.$LIKE, compare)) {
|
|
193
191
|
tmpArgList.push(value0);
|
|
194
192
|
tmpSql = `${toSqlColumnName(key)} COLLATE UTF8MB4_GENERAL_CI like concat(?, '%')`; // like前缀匹配
|
|
195
|
-
if (this.sqlCfg.
|
|
196
|
-
tmpSql = `${toSqlColumnName(key)} like concat(
|
|
193
|
+
if (this.sqlCfg.sqlDbType === keys_1.SqlDbType.postgres) {
|
|
194
|
+
tmpSql = `${toSqlColumnName(key)} like concat(?::text, '%')`; // like前缀匹配
|
|
197
195
|
}
|
|
198
196
|
}
|
|
199
197
|
else if (equalsIgnoreCase(keys_1.KeysOfConditions.$NOT_LIKE, compare)) {
|
|
200
198
|
tmpArgList.push(value0);
|
|
201
199
|
tmpSql = `${toSqlColumnName(key)} COLLATE UTF8MB4_GENERAL_CI not like concat(?, '%')`;
|
|
202
|
-
if (this.sqlCfg.
|
|
203
|
-
tmpSql = `${toSqlColumnName(key)} not like concat(
|
|
200
|
+
if (this.sqlCfg.sqlDbType === keys_1.SqlDbType.postgres) {
|
|
201
|
+
tmpSql = `${toSqlColumnName(key)} not like concat(?::text, '%')`;
|
|
204
202
|
}
|
|
205
203
|
}
|
|
206
204
|
else if (equalsIgnoreCase(keys_1.KeysOfConditions.$LIKE_INCLUDE, compare)) {
|
|
207
205
|
tmpArgList.push(value0);
|
|
208
206
|
tmpSql = `${toSqlColumnName(key)} COLLATE UTF8MB4_GENERAL_CI like concat('%', ?, '%')`; // like包含
|
|
209
|
-
if (this.sqlCfg.
|
|
210
|
-
tmpSql = `${toSqlColumnName(key)} like concat('%',
|
|
207
|
+
if (this.sqlCfg.sqlDbType === keys_1.SqlDbType.postgres) {
|
|
208
|
+
tmpSql = `${toSqlColumnName(key)} like concat('%', ?::text, '%')`; // like包含
|
|
211
209
|
}
|
|
212
210
|
}
|
|
213
211
|
else if (equalsIgnoreCase(keys_1.KeysOfConditions.$NOT_LIKE_INCLUDE, compare)) {
|
|
214
212
|
tmpArgList.push(value0);
|
|
215
213
|
tmpSql = `${toSqlColumnName(key)} COLLATE UTF8MB4_GENERAL_CI not like concat('%',?, '%')`; // like不包含
|
|
216
|
-
if (this.sqlCfg.
|
|
217
|
-
tmpSql = `${toSqlColumnName(key)} not like concat('%'
|
|
214
|
+
if (this.sqlCfg.sqlDbType === keys_1.SqlDbType.postgres) {
|
|
215
|
+
tmpSql = `${toSqlColumnName(key)} not like concat('%',?::text, '%')`; // like不包含
|
|
218
216
|
}
|
|
219
217
|
}
|
|
220
218
|
else if (equalsIgnoreCase(keys_1.KeysOfConditions.$MATCH, compare)) {
|
|
@@ -91,10 +91,10 @@ class CrudProGenSqlService extends CrudProServiceBase_1.CrudProServiceBase {
|
|
|
91
91
|
* @private
|
|
92
92
|
*/
|
|
93
93
|
generateOriginSqlForDelete(cfgModel) {
|
|
94
|
-
if (cfgModel.
|
|
94
|
+
if (cfgModel.sqlDbType === keys_1.SqlDbType.postgres) {
|
|
95
95
|
return 'delete from @@table where @@asWhere:condition ';
|
|
96
96
|
}
|
|
97
|
-
if (cfgModel.
|
|
97
|
+
if (cfgModel.sqlDbType === keys_1.SqlDbType.sqlserver) {
|
|
98
98
|
return 'delete from @@table where @@asWhere:condition ';
|
|
99
99
|
}
|
|
100
100
|
return 'delete from @@table where @@asWhere:condition limit 100 '; // 删除操作,不能一次性删除太多
|
|
@@ -105,35 +105,26 @@ class CrudProGenSqlService extends CrudProServiceBase_1.CrudProServiceBase {
|
|
|
105
105
|
* @private
|
|
106
106
|
*/
|
|
107
107
|
generateOriginSqlForDuplicateInsert(cfgModel) {
|
|
108
|
-
if (cfgModel.
|
|
108
|
+
if (cfgModel.sqlDbType === keys_1.SqlDbType.postgres) {
|
|
109
109
|
const uniqueColumn = cfgModel.uniqueColumn; // id
|
|
110
110
|
if (!Array.isArray(uniqueColumn) || uniqueColumn.length === 0) {
|
|
111
111
|
throw new exceptions_1.CommonException(exceptions_1.Exceptions.CFG_ERROR_POSTGRES_UNIQUE_COLUMNS_NULL);
|
|
112
112
|
}
|
|
113
|
-
const unique_column = uniqueColumn
|
|
113
|
+
const unique_column = uniqueColumn
|
|
114
|
+
.map(s => {
|
|
114
115
|
return `"${s}"`;
|
|
115
|
-
})
|
|
116
|
+
})
|
|
117
|
+
.join(',');
|
|
116
118
|
return `insert into @@table ( @@asInsertKeys:data ) values( @@asInsertValues:data ) ON CONFLICT (${unique_column}) DO UPDATE set @@asUpdate:data `; // 关键字的前后,必须有空格
|
|
117
119
|
}
|
|
118
|
-
if (cfgModel.
|
|
120
|
+
if (cfgModel.sqlDbType === keys_1.SqlDbType.sqlserver) {
|
|
119
121
|
const uniqueColumn = cfgModel.uniqueColumn; // id
|
|
120
122
|
if (uniqueColumn.length !== 1) {
|
|
121
123
|
throw new exceptions_1.CommonException(exceptions_1.Exceptions.CFG_UNIQUE_COLUMN_COUNT_MUST_ONE);
|
|
122
124
|
}
|
|
123
125
|
const uniqueColumnStr = uniqueColumn[0];
|
|
124
|
-
const uniqueColumnVal =
|
|
125
|
-
const sql =
|
|
126
|
-
`IF EXISTS (SELECT 1 FROM @@table WHERE [${uniqueColumnStr}] = ${uniqueColumnVal})` +
|
|
127
|
-
"BEGIN\n" +
|
|
128
|
-
" UPDATE @@table\n" +
|
|
129
|
-
" SET @@asUpdate:data\n" +
|
|
130
|
-
` WHERE [${uniqueColumnStr}] = ${uniqueColumnVal} ;\n` +
|
|
131
|
-
"END\n" +
|
|
132
|
-
"ELSE\n" +
|
|
133
|
-
"BEGIN\n" +
|
|
134
|
-
" INSERT INTO @@table ( @@asInsertKeys:data )\n" +
|
|
135
|
-
" VALUES ( @@asInsertValues:data );\n" +
|
|
136
|
-
"END";
|
|
126
|
+
const uniqueColumnVal = '@@data.' + uniqueColumnStr;
|
|
127
|
+
const sql = '' + `IF EXISTS (SELECT 1 FROM @@table WHERE [${uniqueColumnStr}] = ${uniqueColumnVal})` + 'BEGIN\n' + ' UPDATE @@table\n' + ' SET @@asUpdate:data\n' + ` WHERE [${uniqueColumnStr}] = ${uniqueColumnVal} ;\n` + 'END\n' + 'ELSE\n' + 'BEGIN\n' + ' INSERT INTO @@table ( @@asInsertKeys:data )\n' + ' VALUES ( @@asInsertValues:data );\n' + 'END';
|
|
137
128
|
return sql;
|
|
138
129
|
}
|
|
139
130
|
return 'insert into @@table ( @@asInsertKeys:data ) values( @@asInsertValues:data ) on duplicate key update @@asUpdate:data '; // 关键字的前后,必须有空格
|
|
@@ -144,10 +135,10 @@ class CrudProGenSqlService extends CrudProServiceBase_1.CrudProServiceBase {
|
|
|
144
135
|
* @private
|
|
145
136
|
*/
|
|
146
137
|
generateOriginSqlForInsert(cfgModel) {
|
|
147
|
-
if (cfgModel.
|
|
138
|
+
if (cfgModel.sqlDbType === keys_1.SqlDbType.postgres) {
|
|
148
139
|
return 'insert into @@table ( @@asInsertKeys:data ) values( @@asInsertValues:data ) RETURNING * ';
|
|
149
140
|
}
|
|
150
|
-
if (cfgModel.
|
|
141
|
+
if (cfgModel.sqlDbType === keys_1.SqlDbType.sqlserver) {
|
|
151
142
|
return 'insert into @@table ( @@asInsertKeys:data ) OUTPUT INSERTED.* values( @@asInsertValues:data ) ';
|
|
152
143
|
}
|
|
153
144
|
return 'insert into @@table ( @@asInsertKeys:data ) values( @@asInsertValues:data )'; // 关键字的前后,必须有空格
|
|
@@ -156,10 +147,10 @@ class CrudProGenSqlService extends CrudProServiceBase_1.CrudProServiceBase {
|
|
|
156
147
|
const exeCtx = this.getExecuteContext();
|
|
157
148
|
const reqCfgModel = exeCtx.getCfgModel();
|
|
158
149
|
const sqlCfgList = reqCfgModel.sqlCfgList || [];
|
|
159
|
-
const { sqlTable, sqlSchema, sqlDatabase,
|
|
150
|
+
const { sqlTable, sqlSchema, sqlDatabase, sqlDbType, maxLimit, columns, columnsRelation } = reqCfgModel;
|
|
160
151
|
for (let i = 0; i < sqlCfgList.length; i++) {
|
|
161
152
|
const sqlCfgModel = sqlCfgList[i];
|
|
162
|
-
sqlCfgModel.
|
|
153
|
+
sqlCfgModel.sqlDbType = MixinUtils_1.MixinUtils.selectNotEmpty(sqlCfgModel.sqlDbType, sqlDbType);
|
|
163
154
|
sqlCfgModel.sqlDatabase = MixinUtils_1.MixinUtils.selectNotEmpty(sqlCfgModel.sqlDatabase, sqlDatabase);
|
|
164
155
|
sqlCfgModel.sqlSchema = MixinUtils_1.MixinUtils.selectNotEmpty(sqlCfgModel.sqlSchema, sqlSchema);
|
|
165
156
|
sqlCfgModel.sqlTable = MixinUtils_1.MixinUtils.selectNotEmpty(sqlCfgModel.sqlTable, sqlTable);
|