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.
Files changed (265) hide show
  1. package/.eslintrc.json +12 -0
  2. package/.prettierrc.js +4 -0
  3. package/README.md +7 -0
  4. package/dist/config/config.default.js +52 -15
  5. package/dist/configuration.d.ts +1 -0
  6. package/dist/configuration.js +33 -8
  7. package/dist/controller/base/BaseApiController.d.ts +1 -1
  8. package/dist/controller/base/BaseApiController.js +14 -6
  9. package/dist/controller/gateway/AsyncTaskController.d.ts +14 -0
  10. package/dist/controller/gateway/AsyncTaskController.js +108 -0
  11. package/dist/controller/gateway/CrudMtdGatewayController.d.ts +3 -3
  12. package/dist/controller/gateway/CrudMtdGatewayController.js +9 -6
  13. package/dist/controller/gateway/CrudStdGatewayController.d.ts +5 -5
  14. package/dist/controller/gateway/DocGatewayController.js +14 -9
  15. package/dist/controller/gateway/PublicApiController.js +4 -6
  16. package/dist/controller/gateway/StaticController.d.ts +2 -0
  17. package/dist/controller/gateway/StaticController.js +59 -40
  18. package/dist/controller/helpers.controller.d.ts +1 -1
  19. package/dist/controller/home.controller.js +2 -2
  20. package/dist/controller/manage/AnyApiMangeApi.js +2 -2
  21. package/dist/controller/manage/AppLogMangeApi.js +2 -2
  22. package/dist/controller/manage/AppMangeApi.js +2 -2
  23. package/dist/controller/manage/AppPageMangeApi.js +2 -2
  24. package/dist/controller/manage/AppSchemaHistoryApi.js +2 -2
  25. package/dist/controller/manage/CrudMethodsMangeApi.js +2 -2
  26. package/dist/controller/manage/CrudStandardDesignApi.d.ts +1 -1
  27. package/dist/controller/manage/CrudStandardDesignApi.js +78 -75
  28. package/dist/controller/manage/DataDictManageApi.d.ts +1 -1
  29. package/dist/controller/manage/DataDictManageApi.js +1 -1
  30. package/dist/controller/manage/DeployManageApi.d.ts +1 -1
  31. package/dist/controller/manage/DeployManageApi.js +38 -34
  32. package/dist/controller/manage/DocLibManageApi.js +2 -2
  33. package/dist/controller/manage/DocManageApi.js +2 -2
  34. package/dist/controller/manage/FileManageApi.js +1 -1
  35. package/dist/controller/manage/LowCodeTplManageApi.js +2 -2
  36. package/dist/controller/manage/MenuManageApi.js +2 -2
  37. package/dist/controller/manage/ProxyApiMangeApi.js +2 -2
  38. package/dist/controller/manage/SuperAdminManageApi.d.ts +2 -2
  39. package/dist/controller/manage/SuperAdminManageApi.js +12 -8
  40. package/dist/controller/manage/SysConfigMangeApi.d.ts +1 -1
  41. package/dist/controller/manage/SysConfigMangeApi.js +8 -6
  42. package/dist/controller/manage/SystemInfoManageApi.d.ts +1 -1
  43. package/dist/controller/manage/SystemInfoManageApi.js +7 -1
  44. package/dist/controller/manage/UserAccountManageApi.d.ts +2 -2
  45. package/dist/controller/manage/UserAccountManageApi.js +7 -2
  46. package/dist/controller/manage/WorkbenchMangeApi.js +3 -3
  47. package/dist/controller/myinfo/AuthController.d.ts +0 -4
  48. package/dist/controller/myinfo/AuthController.js +1 -54
  49. package/dist/controller/render/AppRenderController.js +10 -4
  50. package/dist/controller/test.controller.d.ts +1 -1
  51. package/dist/controller/test.controller.js +5 -5
  52. package/dist/index.d.ts +34 -4
  53. package/dist/index.js +34 -4
  54. package/dist/libs/crud-pro/CrudPro.d.ts +1 -0
  55. package/dist/libs/crud-pro/CrudPro.js +5 -0
  56. package/dist/libs/crud-pro/defaultConfigs.js +2 -0
  57. package/dist/libs/crud-pro/interfaces.d.ts +7 -1
  58. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +2 -1
  59. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +8 -1
  60. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +8 -0
  61. package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +1 -1
  62. package/dist/libs/crud-pro/models/ResModel.d.ts +16 -0
  63. package/dist/libs/crud-pro/models/ResModel.js +2 -0
  64. package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +1 -1
  65. package/dist/libs/crud-pro/models/TransactionSqlServer.js +1 -1
  66. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +1 -0
  67. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +27 -15
  68. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +13 -17
  69. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +1 -1
  70. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +10 -12
  71. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +14 -23
  72. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +7 -6
  73. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +2 -6
  74. package/dist/libs/crud-pro/services/CrudProServiceBase.js +3 -2
  75. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +1 -0
  76. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +32 -7
  77. package/dist/libs/crud-pro/utils/DatabaseName.js +24 -3
  78. package/dist/libs/crud-pro/utils/MixinUtils.js +1 -1
  79. package/dist/libs/crud-pro/utils/ValidateUtils.js +1 -1
  80. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +2 -2
  81. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -0
  82. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -0
  83. package/dist/libs/global-config/global-config.d.ts +45 -0
  84. package/dist/libs/global-config/global-config.js +33 -0
  85. package/dist/libs/utils/errorToString.d.ts +2 -0
  86. package/dist/libs/utils/errorToString.js +57 -0
  87. package/dist/libs/utils/fatcms-request.js +2 -2
  88. package/dist/middleware/forbidden.middleware.js +4 -20
  89. package/dist/middleware/global.middleware.js +8 -1
  90. package/dist/models/AsyncTaskModel.d.ts +69 -0
  91. package/dist/models/AsyncTaskModel.js +26 -0
  92. package/dist/models/RedisKeys.d.ts +8 -0
  93. package/dist/models/RedisKeys.js +11 -0
  94. package/dist/models/SystemTables.d.ts +1 -3
  95. package/dist/models/SystemTables.js +2 -4
  96. package/dist/schedule/anonymousContext.d.ts +13 -0
  97. package/dist/schedule/anonymousContext.js +59 -0
  98. package/dist/schedule/index.d.ts +4 -3
  99. package/dist/schedule/index.js +8 -67
  100. package/dist/schedule/runSchedule.d.ts +15 -0
  101. package/dist/schedule/runSchedule.js +68 -0
  102. package/dist/schedule/scheduleNames.d.ts +13 -0
  103. package/dist/schedule/scheduleNames.js +17 -0
  104. package/dist/service/AuthService.js +8 -5
  105. package/dist/service/EnumInfoService.js +7 -4
  106. package/dist/service/FileCenterService.js +13 -9
  107. package/dist/service/SysConfigService.js +4 -2
  108. package/dist/service/UserAccountService.js +10 -6
  109. package/dist/service/UserSessionService.js +2 -1
  110. package/dist/service/VisitStatService.d.ts +1 -1
  111. package/dist/service/VisitStatService.js +20 -27
  112. package/dist/service/WorkbenchService.js +4 -2
  113. package/dist/service/anyapi/AnyApiService.js +4 -2
  114. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +37 -0
  115. package/dist/service/asyncTask/AsyncTaskRunnerService.js +232 -0
  116. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -0
  117. package/dist/service/asyncTask/AsyncTaskService.js +34 -0
  118. package/dist/service/crudstd/CrudStdService.d.ts +2 -1
  119. package/dist/service/crudstd/CrudStdService.js +48 -3
  120. package/dist/service/curd/CrudProQuick.d.ts +24 -0
  121. package/dist/service/curd/CrudProQuick.js +105 -0
  122. package/dist/service/curd/CurdMixByAccountService.js +12 -6
  123. package/dist/service/curd/CurdMixByDictService.js +4 -2
  124. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +10 -1
  125. package/dist/service/curd/CurdMixByLinkToCustomService.js +72 -24
  126. package/dist/service/curd/CurdMixBySysConfigService.js +4 -2
  127. package/dist/service/curd/CurdMixByWorkbenchService.js +4 -2
  128. package/dist/service/curd/CurdMixService.d.ts +1 -1
  129. package/dist/service/curd/CurdMixService.js +2 -2
  130. package/dist/service/curd/CurdMixUtils.d.ts +7 -0
  131. package/dist/service/curd/CurdMixUtils.js +65 -28
  132. package/dist/service/curd/CurdProService.d.ts +2 -10
  133. package/dist/service/curd/CurdProService.js +31 -146
  134. package/dist/service/curd/fixCfgModel.d.ts +3 -0
  135. package/dist/service/curd/fixCfgModel.js +107 -0
  136. package/dist/service/proxyapi/ProxyApiLoadService.js +7 -4
  137. package/dist/views/404_app.html +31 -0
  138. package/dist/views/404_workbench.html +34 -0
  139. package/dist/views/static/favicon.ico +0 -0
  140. package/package.json +9 -2
  141. package/src/config/config.default.ts +58 -27
  142. package/src/configuration.ts +42 -9
  143. package/src/controller/base/BaseApiController.ts +26 -19
  144. package/src/controller/gateway/AnyApiGatewayController.ts +1 -1
  145. package/src/controller/gateway/AsyncTaskController.ts +83 -0
  146. package/src/controller/gateway/CrudMtdGatewayController.ts +17 -13
  147. package/src/controller/gateway/CrudStdGatewayController.ts +4 -4
  148. package/src/controller/gateway/DocGatewayController.ts +25 -17
  149. package/src/controller/gateway/FileController.ts +8 -9
  150. package/src/controller/gateway/ProxyApiGatewayController.ts +4 -4
  151. package/src/controller/gateway/PublicApiController.ts +19 -22
  152. package/src/controller/gateway/StaticController.ts +234 -242
  153. package/src/controller/helpers.controller.ts +1 -1
  154. package/src/controller/home.controller.ts +8 -15
  155. package/src/controller/manage/AnyApiMangeApi.ts +11 -11
  156. package/src/controller/manage/AppLogMangeApi.ts +5 -5
  157. package/src/controller/manage/AppMangeApi.ts +7 -7
  158. package/src/controller/manage/AppPageMangeApi.ts +5 -5
  159. package/src/controller/manage/AppSchemaHistoryApi.ts +3 -3
  160. package/src/controller/manage/CrudMethodsMangeApi.ts +5 -5
  161. package/src/controller/manage/CrudStandardDesignApi.ts +106 -113
  162. package/src/controller/manage/DataDictManageApi.ts +5 -5
  163. package/src/controller/manage/DeployManageApi.ts +85 -89
  164. package/src/controller/manage/DocLibManageApi.ts +5 -5
  165. package/src/controller/manage/DocManageApi.ts +10 -10
  166. package/src/controller/manage/FileManageApi.ts +1 -1
  167. package/src/controller/manage/LowCodeTplManageApi.ts +2 -2
  168. package/src/controller/manage/MenuManageApi.ts +10 -15
  169. package/src/controller/manage/ProxyApiMangeApi.ts +2 -2
  170. package/src/controller/manage/SuperAdminManageApi.ts +14 -13
  171. package/src/controller/manage/SysConfigMangeApi.ts +11 -11
  172. package/src/controller/manage/SystemInfoManageApi.ts +11 -6
  173. package/src/controller/manage/UserAccountManageApi.ts +10 -4
  174. package/src/controller/manage/WorkbenchMangeApi.ts +8 -8
  175. package/src/controller/myinfo/AuthController.ts +6 -72
  176. package/src/controller/render/AppRenderController.ts +24 -21
  177. package/src/controller/test.controller.ts +18 -18
  178. package/src/index.ts +38 -4
  179. package/src/libs/crud-pro/CrudPro.ts +7 -0
  180. package/src/libs/crud-pro/defaultConfigs.ts +2 -0
  181. package/src/libs/crud-pro/interfaces.ts +10 -3
  182. package/src/libs/crud-pro/models/ExecuteContext.ts +3 -3
  183. package/src/libs/crud-pro/models/ExecuteContextFunc.ts +11 -1
  184. package/src/libs/crud-pro/models/RequestCfgModel.ts +1 -1
  185. package/src/libs/crud-pro/models/RequestModel.ts +1 -1
  186. package/src/libs/crud-pro/models/ResModel.ts +19 -0
  187. package/src/libs/crud-pro/models/SqlCfgModel.ts +2 -2
  188. package/src/libs/crud-pro/models/Transaction.ts +8 -9
  189. package/src/libs/crud-pro/models/TransactionPostgres.ts +1 -1
  190. package/src/libs/crud-pro/models/TransactionSqlServer.ts +8 -13
  191. package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +32 -23
  192. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +38 -54
  193. package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +26 -45
  194. package/src/libs/crud-pro/services/CrudProGenSqlService.ts +23 -40
  195. package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +25 -29
  196. package/src/libs/crud-pro/services/CrudProServiceBase.ts +5 -9
  197. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +36 -9
  198. package/src/libs/crud-pro/utils/DatabaseName.ts +35 -15
  199. package/src/libs/crud-pro/utils/DateTimeUtils.ts +2 -2
  200. package/src/libs/crud-pro/utils/MixinUtils.ts +1 -1
  201. package/src/libs/crud-pro/utils/ValidateUtils.ts +1 -3
  202. package/src/libs/crud-pro/utils/pool/MySQLUtils.ts +1 -1
  203. package/src/libs/crud-pro/utils/pool/PostgresUtils.ts +3 -3
  204. package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +3 -3
  205. package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +2 -2
  206. package/src/libs/crud-pro/utils/sqlConvert/convertMix.ts +26 -0
  207. package/src/libs/global-config/global-config.ts +78 -0
  208. package/src/libs/utils/crypto-utils.ts +2 -4
  209. package/src/libs/utils/errorToString.ts +61 -0
  210. package/src/libs/utils/fatcms-request.ts +9 -21
  211. package/src/libs/utils/ordernum-utils.ts +2 -6
  212. package/src/libs/utils/parseConfig.ts +7 -15
  213. package/src/middleware/forbidden.middleware.ts +6 -25
  214. package/src/middleware/global.middleware.ts +18 -16
  215. package/src/models/AsyncTaskModel.ts +79 -0
  216. package/src/models/RedisKeys.ts +13 -0
  217. package/src/models/SystemTables.ts +1 -4
  218. package/src/models/bizmodels.ts +1 -2
  219. package/src/schedule/anonymousContext.ts +79 -0
  220. package/src/schedule/index.ts +11 -72
  221. package/src/schedule/runSchedule.ts +83 -0
  222. package/src/schedule/scheduleNames.ts +21 -0
  223. package/src/service/AuthService.ts +13 -8
  224. package/src/service/EnumInfoService.ts +8 -3
  225. package/src/service/FileCenterService.ts +12 -6
  226. package/src/service/SysConfigService.ts +10 -6
  227. package/src/service/UserAccountService.ts +14 -4
  228. package/src/service/UserSessionService.ts +5 -4
  229. package/src/service/VisitStatService.ts +57 -70
  230. package/src/service/WorkbenchService.ts +7 -2
  231. package/src/service/anyapi/AnyApiService.ts +11 -8
  232. package/src/service/asyncTask/AsyncTaskRunnerService.ts +255 -0
  233. package/src/service/asyncTask/AsyncTaskService.ts +21 -0
  234. package/src/service/base/BaseService.ts +2 -2
  235. package/src/service/crudstd/CrudStdService.ts +60 -5
  236. package/src/service/curd/CrudProQuick.ts +137 -0
  237. package/src/service/curd/CurdMixByAccountService.ts +14 -6
  238. package/src/service/curd/CurdMixByDictService.ts +8 -2
  239. package/src/service/curd/CurdMixByLinkToCustomService.ts +101 -50
  240. package/src/service/curd/CurdMixBySysConfigService.ts +7 -2
  241. package/src/service/curd/CurdMixByWorkbenchService.ts +6 -2
  242. package/src/service/curd/CurdMixService.ts +3 -3
  243. package/src/service/curd/CurdMixUtils.ts +82 -39
  244. package/src/service/curd/CurdProService.ts +45 -189
  245. package/src/service/curd/fixCfgModel.ts +139 -0
  246. package/src/service/proxyapi/ProxyApiLoadService.ts +12 -3
  247. package/src/views/404_app.html +31 -0
  248. package/src/views/404_workbench.html +34 -0
  249. package/src/views/static/favicon.ico +0 -0
  250. package/tsconfig.json +32 -0
  251. package/dist/controller/medstatistic/MedAdminController.d.ts +0 -35
  252. package/dist/controller/medstatistic/MedAdminController.js +0 -205
  253. package/dist/controller/medstatistic/MedClientController.d.ts +0 -28
  254. package/dist/controller/medstatistic/MedClientController.js +0 -188
  255. package/dist/controller/medstatistic/MedMessageService.d.ts +0 -19
  256. package/dist/controller/medstatistic/MedMessageService.js +0 -95
  257. package/dist/controller/medstatistic/MedScoreService.d.ts +0 -21
  258. package/dist/controller/medstatistic/MedScoreService.js +0 -107
  259. package/dist/controller/medstatistic/constants.d.ts +0 -32
  260. package/dist/controller/medstatistic/constants.js +0 -43
  261. package/src/controller/medstatistic/MedAdminController.ts +0 -221
  262. package/src/controller/medstatistic/MedClientController.ts +0 -188
  263. package/src/controller/medstatistic/MedMessageService.ts +0 -89
  264. package/src/controller/medstatistic/MedScoreService.ts +0 -108
  265. 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);
@@ -32,5 +32,6 @@ declare class CrudPro {
32
32
  private executeSQLList;
33
33
  private parseRunSqlException;
34
34
  private afterExecuteSQLList;
35
+ private beforeExecuteSQLList;
35
36
  }
36
37
  export { CrudPro };
@@ -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
- sqlDdType?: SqlDbType;
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(): Record<string, any>;
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
  }
@@ -13,7 +13,7 @@ declare class RequestCfgModel {
13
13
  sqlTable: string;
14
14
  sqlSchema?: string;
15
15
  sqlDatabase?: string;
16
- sqlDdType?: SqlDbType;
16
+ sqlDbType?: SqlDbType;
17
17
  maxLimit: number;
18
18
  method: string;
19
19
  transactionEnable: boolean;
@@ -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 };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -6,7 +6,7 @@ declare class SqlCfgModel {
6
6
  sqlTable: string;
7
7
  sqlSchema?: string;
8
8
  sqlDatabase?: string;
9
- sqlDdType?: SqlDbType;
9
+ sqlDbType?: SqlDbType;
10
10
  maxLimit: number;
11
11
  resName: string;
12
12
  resPicker: KeysOfSqlResPicker;
@@ -39,7 +39,7 @@ class TransactionSqlServer {
39
39
  }
40
40
  }
41
41
  return request.query(sql);
42
- }
42
+ },
43
43
  };
44
44
  }
45
45
  /**
@@ -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: 2000,
33
+ keepTime: 1000 * 60 * 2,
26
34
  requestFn: () => this.loadMethodInfoList(),
27
35
  getKeyFn: item => item.method,
28
36
  });
29
- return await methodCache.getItem(method);
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
- tableName: methodsTableName,
38
- dbName: sysDatabaseName,
47
+ sqlTable: methodsTableName,
48
+ sqlDatabase: sysDatabaseName,
49
+ sqlDbType: sysDatabaseDbType,
39
50
  };
40
- const [rows] = await this.executeUnsafeQuery(baseInfo, sql, [method]);
41
- const rows2 = rows;
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
- tableName: methodsTableName,
52
- dbName: sysDatabaseName,
62
+ sqlTable: methodsTableName,
63
+ sqlDatabase: sysDatabaseName,
64
+ sqlDbType: sysDatabaseDbType,
53
65
  };
54
- const [rows] = await this.executeUnsafeQuery(baseInfo, sql);
55
- const rows2 = rows;
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 convertPgType_1 = require("../utils/sqlConvert/convertPgType");
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.sqlDdType === keys_1.SqlDbType.postgres) { // import { PoolClient } from 'pg';
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.sqlDdType === keys_1.SqlDbType.sqlserver) {
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((arg) => {
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.sqlDdType === keys_1.SqlDbType.postgres) {
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.sqlDdType === keys_1.SqlDbType.sqlserver) {
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;
@@ -1,5 +1,5 @@
1
1
  import { SqlSegArg } from '../models/SqlSegArg';
2
- import { SqlCfgModel } from "../models/SqlCfgModel";
2
+ import { SqlCfgModel } from '../models/SqlCfgModel';
3
3
  declare class CrudProGenSqlCondition {
4
4
  private readonly sqlCfg;
5
5
  constructor(sqlCfg: SqlCfgModel);
@@ -16,10 +16,8 @@ const createFunc = (sqlCfg) => {
16
16
  },
17
17
  toMatchSqlColumnName: (columnName) => {
18
18
  const arr = columnName.split(',');
19
- return arr
20
- .map(s => (0, convertColumnName_1.toSqlColumnName)(s.trim(), sqlCfg))
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.sqlDdType === keys_1.SqlDbType.postgres) {
196
- tmpSql = `${toSqlColumnName(key)} like concat(?, '%')`; // like前缀匹配
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.sqlDdType === keys_1.SqlDbType.postgres) {
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.sqlDdType === keys_1.SqlDbType.postgres) {
210
- tmpSql = `${toSqlColumnName(key)} like concat('%', ?, '%')`; // like包含
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.sqlDdType === keys_1.SqlDbType.postgres) {
217
- tmpSql = `${toSqlColumnName(key)} not like concat('%',?, '%')`; // like不包含
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.sqlDdType === keys_1.SqlDbType.postgres) {
94
+ if (cfgModel.sqlDbType === keys_1.SqlDbType.postgres) {
95
95
  return 'delete from @@table where @@asWhere:condition ';
96
96
  }
97
- if (cfgModel.sqlDdType === keys_1.SqlDbType.sqlserver) {
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.sqlDdType === keys_1.SqlDbType.postgres) {
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.map((s) => {
113
+ const unique_column = uniqueColumn
114
+ .map(s => {
114
115
  return `"${s}"`;
115
- }).join(",");
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.sqlDdType === keys_1.SqlDbType.sqlserver) {
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 = "@@data." + uniqueColumnStr;
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.sqlDdType === keys_1.SqlDbType.postgres) {
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.sqlDdType === keys_1.SqlDbType.sqlserver) {
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, sqlDdType, maxLimit, columns, columnsRelation } = reqCfgModel;
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.sqlDdType = MixinUtils_1.MixinUtils.selectNotEmpty(sqlCfgModel.sqlDdType, sqlDdType);
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);