midway-fatcms 0.0.1-beta.6 → 0.0.1-beta.60

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 (500) hide show
  1. package/.eslintrc.json +14 -0
  2. package/.prettierrc.js +4 -0
  3. package/README.md +8 -1
  4. package/dist/config/config.default.d.ts +3 -3
  5. package/dist/config/config.default.js +160 -185
  6. package/dist/config/seed/aeskey.txt +1 -1
  7. package/dist/config/utils.d.ts +1 -1
  8. package/dist/config/utils.js +23 -23
  9. package/dist/configuration.d.ts +7 -6
  10. package/dist/configuration.js +113 -89
  11. package/dist/controller/base/BaseApiController.d.ts +37 -31
  12. package/dist/controller/base/BaseApiController.js +164 -138
  13. package/dist/controller/gateway/AnyApiGatewayController.d.ts +13 -13
  14. package/dist/controller/gateway/AnyApiGatewayController.js +55 -55
  15. package/dist/controller/gateway/AsyncTaskController.d.ts +20 -0
  16. package/dist/controller/gateway/AsyncTaskController.js +181 -0
  17. package/dist/controller/gateway/CrudMtdGatewayController.d.ts +21 -21
  18. package/dist/controller/gateway/CrudMtdGatewayController.js +122 -116
  19. package/dist/controller/gateway/CrudStdGatewayController.d.ts +38 -38
  20. package/dist/controller/gateway/CrudStdGatewayController.js +129 -137
  21. package/dist/controller/gateway/DocGatewayController.d.ts +27 -27
  22. package/dist/controller/gateway/DocGatewayController.js +179 -174
  23. package/dist/controller/gateway/FileController.d.ts +26 -25
  24. package/dist/controller/gateway/FileController.js +129 -129
  25. package/dist/controller/gateway/ProxyApiGatewayController.d.ts +18 -18
  26. package/dist/controller/gateway/ProxyApiGatewayController.js +78 -78
  27. package/dist/controller/gateway/PublicApiController.d.ts +27 -27
  28. package/dist/controller/gateway/PublicApiController.js +162 -167
  29. package/dist/controller/gateway/StaticController.d.ts +23 -24
  30. package/dist/controller/gateway/StaticController.js +286 -285
  31. package/dist/controller/helpers.controller.d.ts +39 -39
  32. package/dist/controller/helpers.controller.js +188 -188
  33. package/dist/controller/home.controller.d.ts +9 -9
  34. package/dist/controller/home.controller.js +72 -71
  35. package/dist/controller/manage/AnyApiMangeApi.d.ts +10 -10
  36. package/dist/controller/manage/AnyApiMangeApi.js +98 -98
  37. package/dist/controller/manage/AppLogMangeApi.d.ts +10 -10
  38. package/dist/controller/manage/AppLogMangeApi.js +88 -88
  39. package/dist/controller/manage/AppMangeApi.d.ts +10 -10
  40. package/dist/controller/manage/AppMangeApi.js +88 -88
  41. package/dist/controller/manage/AppPageMangeApi.d.ts +10 -10
  42. package/dist/controller/manage/AppPageMangeApi.js +87 -87
  43. package/dist/controller/manage/AppSchemaHistoryApi.d.ts +10 -10
  44. package/dist/controller/manage/AppSchemaHistoryApi.js +83 -83
  45. package/dist/controller/manage/CrudMethodsMangeApi.d.ts +10 -10
  46. package/dist/controller/manage/CrudMethodsMangeApi.js +84 -84
  47. package/dist/controller/manage/CrudStandardDesignApi.d.ts +46 -38
  48. package/dist/controller/manage/CrudStandardDesignApi.js +395 -354
  49. package/dist/controller/manage/DataDictManageApi.d.ts +15 -15
  50. package/dist/controller/manage/DataDictManageApi.js +133 -133
  51. package/dist/controller/manage/DeployManageApi.d.ts +19 -19
  52. package/dist/controller/manage/DeployManageApi.js +180 -176
  53. package/dist/controller/manage/DocLibManageApi.d.ts +10 -10
  54. package/dist/controller/manage/DocLibManageApi.js +104 -104
  55. package/dist/controller/manage/DocManageApi.d.ts +11 -11
  56. package/dist/controller/manage/DocManageApi.js +130 -130
  57. package/dist/controller/manage/FileManageApi.d.ts +13 -13
  58. package/dist/controller/manage/FileManageApi.js +77 -77
  59. package/dist/controller/manage/LowCodeTplManageApi.d.ts +13 -13
  60. package/dist/controller/manage/LowCodeTplManageApi.js +86 -86
  61. package/dist/controller/manage/MenuManageApi.d.ts +10 -10
  62. package/dist/controller/manage/MenuManageApi.js +93 -93
  63. package/dist/controller/manage/ProxyApiMangeApi.d.ts +10 -10
  64. package/dist/controller/manage/ProxyApiMangeApi.js +87 -87
  65. package/dist/controller/manage/SuperAdminManageApi.d.ts +24 -24
  66. package/dist/controller/manage/SuperAdminManageApi.js +153 -149
  67. package/dist/controller/manage/SysConfigMangeApi.d.ts +11 -11
  68. package/dist/controller/manage/SysConfigMangeApi.js +126 -124
  69. package/dist/controller/manage/SystemInfoManageApi.d.ts +12 -12
  70. package/dist/controller/manage/SystemInfoManageApi.js +72 -66
  71. package/dist/controller/manage/UserAccountManageApi.d.ts +14 -14
  72. package/dist/controller/manage/UserAccountManageApi.js +129 -124
  73. package/dist/controller/manage/WorkbenchMangeApi.d.ts +11 -11
  74. package/dist/controller/manage/WorkbenchMangeApi.js +103 -103
  75. package/dist/controller/myinfo/AuthController.d.ts +33 -37
  76. package/dist/controller/myinfo/AuthController.js +136 -189
  77. package/dist/controller/myinfo/MyInfoController.d.ts +13 -13
  78. package/dist/controller/myinfo/MyInfoController.js +51 -51
  79. package/dist/controller/render/AppRenderController.d.ts +11 -11
  80. package/dist/controller/render/AppRenderController.js +92 -85
  81. package/dist/controller/test.controller.d.ts +8 -8
  82. package/dist/controller/test.controller.js +51 -51
  83. package/dist/filter/default.filter.d.ts +7 -7
  84. package/dist/filter/default.filter.js +23 -23
  85. package/dist/filter/notfound.filter.d.ts +5 -5
  86. package/dist/filter/notfound.filter.js +20 -20
  87. package/dist/index.d.ts +103 -93
  88. package/dist/index.js +121 -111
  89. package/dist/interface.d.ts +27 -27
  90. package/dist/interface.js +3 -3
  91. package/dist/libs/crud-pro/CrudPro.d.ts +37 -36
  92. package/dist/libs/crud-pro/CrudPro.js +136 -131
  93. package/dist/libs/crud-pro/defaultConfigs.d.ts +4 -4
  94. package/dist/libs/crud-pro/defaultConfigs.js +15 -13
  95. package/dist/libs/crud-pro/exceptions.d.ts +104 -104
  96. package/dist/libs/crud-pro/exceptions.js +117 -117
  97. package/dist/libs/crud-pro/interfaces.d.ts +163 -157
  98. package/dist/libs/crud-pro/interfaces.js +12 -12
  99. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +49 -42
  100. package/dist/libs/crud-pro/models/ExecuteContext.js +79 -79
  101. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +38 -31
  102. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +72 -64
  103. package/dist/libs/crud-pro/models/FuncContext.d.ts +18 -18
  104. package/dist/libs/crud-pro/models/FuncContext.js +6 -6
  105. package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +65 -65
  106. package/dist/libs/crud-pro/models/RequestCfgModel.js +81 -81
  107. package/dist/libs/crud-pro/models/RequestModel.d.ts +25 -25
  108. package/dist/libs/crud-pro/models/RequestModel.js +113 -113
  109. package/dist/libs/crud-pro/models/ResModel.d.ts +16 -0
  110. package/dist/libs/crud-pro/models/ResModel.js +2 -0
  111. package/dist/libs/crud-pro/models/ServiceHub.d.ts +20 -20
  112. package/dist/libs/crud-pro/models/ServiceHub.js +2 -2
  113. package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +22 -22
  114. package/dist/libs/crud-pro/models/SqlCfgModel.js +40 -40
  115. package/dist/libs/crud-pro/models/SqlSegArg.d.ts +6 -6
  116. package/dist/libs/crud-pro/models/SqlSegArg.js +12 -12
  117. package/dist/libs/crud-pro/models/Transaction.d.ts +30 -29
  118. package/dist/libs/crud-pro/models/Transaction.js +74 -67
  119. package/dist/libs/crud-pro/models/TransactionMySQL.d.ts +28 -28
  120. package/dist/libs/crud-pro/models/TransactionMySQL.js +76 -76
  121. package/dist/libs/crud-pro/models/TransactionPostgres.d.ts +28 -28
  122. package/dist/libs/crud-pro/models/TransactionPostgres.js +85 -85
  123. package/dist/libs/crud-pro/models/TransactionSqlServer.d.ts +34 -34
  124. package/dist/libs/crud-pro/models/TransactionSqlServer.js +92 -92
  125. package/dist/libs/crud-pro/models/keys.d.ts +106 -106
  126. package/dist/libs/crud-pro/models/keys.js +149 -149
  127. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +11 -10
  128. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +73 -61
  129. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.d.ts +9 -9
  130. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.js +112 -112
  131. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.d.ts +17 -17
  132. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +225 -227
  133. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.d.ts +9 -9
  134. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.js +51 -51
  135. package/dist/libs/crud-pro/services/CrudProFieldValidateService.d.ts +13 -13
  136. package/dist/libs/crud-pro/services/CrudProFieldValidateService.js +148 -148
  137. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +24 -24
  138. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +340 -342
  139. package/dist/libs/crud-pro/services/CrudProGenSqlService.d.ts +25 -25
  140. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +165 -174
  141. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.d.ts +32 -32
  142. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +334 -333
  143. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +24 -28
  144. package/dist/libs/crud-pro/services/CrudProServiceBase.js +90 -78
  145. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +9 -8
  146. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +78 -53
  147. package/dist/libs/crud-pro/services/CurdProServiceHub.d.ts +32 -32
  148. package/dist/libs/crud-pro/services/CurdProServiceHub.js +64 -64
  149. package/dist/libs/crud-pro/sql.txt +120 -120
  150. package/dist/libs/crud-pro/utils/CompareUtils.d.ts +9 -9
  151. package/dist/libs/crud-pro/utils/CompareUtils.js +25 -25
  152. package/dist/libs/crud-pro/utils/DatabaseName.d.ts +9 -9
  153. package/dist/libs/crud-pro/utils/DatabaseName.js +50 -29
  154. package/dist/libs/crud-pro/utils/DateTimeUtils.d.ts +7 -7
  155. package/dist/libs/crud-pro/utils/DateTimeUtils.js +21 -21
  156. package/dist/libs/crud-pro/utils/MemoryRefreshCache.d.ts +19 -19
  157. package/dist/libs/crud-pro/utils/MemoryRefreshCache.js +47 -47
  158. package/dist/libs/crud-pro/utils/MessageParseUtils.d.ts +5 -5
  159. package/dist/libs/crud-pro/utils/MessageParseUtils.js +33 -33
  160. package/dist/libs/crud-pro/utils/MixinUtils.d.ts +39 -39
  161. package/dist/libs/crud-pro/utils/MixinUtils.js +255 -255
  162. package/dist/libs/crud-pro/utils/ModelUtils.d.ts +11 -11
  163. package/dist/libs/crud-pro/utils/ModelUtils.js +49 -49
  164. package/dist/libs/crud-pro/utils/MultiKeyMap.d.ts +11 -11
  165. package/dist/libs/crud-pro/utils/MultiKeyMap.js +63 -63
  166. package/dist/libs/crud-pro/utils/SqlFuncUtils.d.ts +5 -5
  167. package/dist/libs/crud-pro/utils/SqlFuncUtils.js +29 -29
  168. package/dist/libs/crud-pro/utils/TypeUtils.d.ts +40 -40
  169. package/dist/libs/crud-pro/utils/TypeUtils.js +166 -166
  170. package/dist/libs/crud-pro/utils/ValidateUtils.d.ts +3 -3
  171. package/dist/libs/crud-pro/utils/ValidateUtils.js +165 -165
  172. package/dist/libs/crud-pro/utils/pool/MySQLUtils.d.ts +3 -3
  173. package/dist/libs/crud-pro/utils/pool/MySQLUtils.js +19 -19
  174. package/dist/libs/crud-pro/utils/pool/PostgresUtils.d.ts +3 -3
  175. package/dist/libs/crud-pro/utils/pool/PostgresUtils.js +20 -20
  176. package/dist/libs/crud-pro/utils/pool/SqlServerUtils.d.ts +3 -3
  177. package/dist/libs/crud-pro/utils/pool/SqlServerUtils.js +20 -20
  178. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.d.ts +4 -4
  179. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +21 -21
  180. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -0
  181. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -0
  182. package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.d.ts +2 -2
  183. package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.js +11 -11
  184. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.d.ts +2 -2
  185. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.js +11 -11
  186. package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.d.ts +2 -2
  187. package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.js +128 -128
  188. package/dist/libs/global-config/global-config.d.ts +69 -0
  189. package/dist/libs/global-config/global-config.js +36 -0
  190. package/dist/libs/utils/base64.d.ts +9 -0
  191. package/dist/libs/utils/base64.js +42 -0
  192. package/dist/libs/utils/common-dto.d.ts +18 -18
  193. package/dist/libs/utils/common-dto.js +40 -40
  194. package/dist/libs/utils/crypto-utils.d.ts +3 -3
  195. package/dist/libs/utils/crypto-utils.js +46 -46
  196. package/dist/libs/utils/errorToString.d.ts +2 -0
  197. package/dist/libs/utils/errorToString.js +57 -0
  198. package/dist/libs/utils/fatcms-request.d.ts +30 -30
  199. package/dist/libs/utils/fatcms-request.js +104 -104
  200. package/dist/libs/utils/functions.d.ts +5 -4
  201. package/dist/libs/utils/functions.js +72 -63
  202. package/dist/libs/utils/ordernum-utils.d.ts +2 -2
  203. package/dist/libs/utils/ordernum-utils.js +13 -13
  204. package/dist/libs/utils/parseConfig.d.ts +7 -7
  205. package/dist/libs/utils/parseConfig.js +44 -44
  206. package/dist/libs/utils/parseCreateSql.d.ts +10 -5
  207. package/dist/libs/utils/parseCreateSql.js +87 -86
  208. package/dist/libs/utils/render-utils.d.ts +28 -28
  209. package/dist/libs/utils/render-utils.js +133 -135
  210. package/dist/middleware/forbidden.middleware.d.ts +10 -10
  211. package/dist/middleware/forbidden.middleware.js +54 -70
  212. package/dist/middleware/global.middleware.d.ts +10 -10
  213. package/dist/middleware/global.middleware.js +266 -246
  214. package/dist/middleware/permission.middleware.d.ts +18 -18
  215. package/dist/middleware/permission.middleware.js +74 -74
  216. package/dist/middleware/rediscache.middleware.d.ts +3 -0
  217. package/dist/middleware/rediscache.middleware.js +77 -0
  218. package/dist/middleware/redislock.middleware.d.ts +7 -0
  219. package/dist/middleware/redislock.middleware.js +72 -0
  220. package/dist/middleware/tx.middleware.d.ts +9 -9
  221. package/dist/middleware/tx.middleware.js +40 -40
  222. package/dist/models/AsyncTaskModel.d.ts +74 -0
  223. package/dist/models/AsyncTaskModel.js +31 -0
  224. package/dist/models/RedisKeys.d.ts +15 -0
  225. package/dist/models/RedisKeys.js +18 -0
  226. package/dist/models/SystemEntities.d.ts +105 -98
  227. package/dist/models/SystemEntities.js +9 -2
  228. package/dist/models/SystemPerm.d.ts +95 -95
  229. package/dist/models/SystemPerm.js +100 -100
  230. package/dist/models/SystemTables.d.ts +25 -27
  231. package/dist/models/SystemTables.js +28 -30
  232. package/dist/models/bizmodels.d.ts +99 -69
  233. package/dist/models/bizmodels.js +39 -34
  234. package/dist/models/contextLogger.d.ts +25 -25
  235. package/dist/models/contextLogger.js +112 -112
  236. package/dist/models/devops.d.ts +12 -12
  237. package/dist/models/devops.js +19 -19
  238. package/dist/models/userSession.d.ts +62 -61
  239. package/dist/models/userSession.js +165 -165
  240. package/dist/schedule/anonymousContext.d.ts +14 -0
  241. package/dist/schedule/anonymousContext.js +59 -0
  242. package/dist/schedule/index.d.ts +4 -3
  243. package/dist/schedule/index.js +10 -69
  244. package/dist/schedule/runSchedule.d.ts +12 -0
  245. package/dist/schedule/runSchedule.js +68 -0
  246. package/dist/schedule/scheduleNames.d.ts +13 -0
  247. package/dist/schedule/scheduleNames.js +17 -0
  248. package/dist/service/AuthService.d.ts +71 -70
  249. package/dist/service/AuthService.js +259 -248
  250. package/dist/service/EnumInfoService.d.ts +30 -30
  251. package/dist/service/EnumInfoService.js +127 -123
  252. package/dist/service/FileCenterService.d.ts +43 -43
  253. package/dist/service/FileCenterService.js +351 -347
  254. package/dist/service/SysConfigService.d.ts +7 -7
  255. package/dist/service/SysConfigService.js +47 -45
  256. package/dist/service/UserAccountService.d.ts +23 -23
  257. package/dist/service/UserAccountService.js +107 -103
  258. package/dist/service/UserSessionService.d.ts +38 -16
  259. package/dist/service/UserSessionService.js +157 -85
  260. package/dist/service/VisitStatService.d.ts +14 -14
  261. package/dist/service/VisitStatService.js +158 -165
  262. package/dist/service/WorkbenchService.d.ts +53 -20
  263. package/dist/service/WorkbenchService.js +211 -153
  264. package/dist/service/anyapi/AnyApiSandboxService.d.ts +15 -15
  265. package/dist/service/anyapi/AnyApiSandboxService.js +122 -122
  266. package/dist/service/anyapi/AnyApiService.d.ts +27 -27
  267. package/dist/service/anyapi/AnyApiService.js +181 -179
  268. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +50 -0
  269. package/dist/service/asyncTask/AsyncTaskRunnerService.js +287 -0
  270. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -0
  271. package/dist/service/asyncTask/AsyncTaskService.js +34 -0
  272. package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -0
  273. package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -0
  274. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -0
  275. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -0
  276. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -0
  277. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +141 -0
  278. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -0
  279. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +135 -0
  280. package/dist/service/base/ApiBaseService.d.ts +15 -15
  281. package/dist/service/base/ApiBaseService.js +50 -50
  282. package/dist/service/base/ApiRateLimiter.d.ts +10 -10
  283. package/dist/service/base/ApiRateLimiter.js +51 -51
  284. package/dist/service/base/BaseService.d.ts +41 -29
  285. package/dist/service/base/BaseService.js +101 -79
  286. package/dist/service/base/RedisCacheService.d.ts +20 -13
  287. package/dist/service/base/RedisCacheService.js +57 -50
  288. package/dist/service/crudstd/CrudStdActionService.d.ts +17 -17
  289. package/dist/service/crudstd/CrudStdActionService.js +32 -32
  290. package/dist/service/crudstd/CrudStdConstant.d.ts +58 -58
  291. package/dist/service/crudstd/CrudStdConstant.js +64 -64
  292. package/dist/service/crudstd/CrudStdRelationService.d.ts +10 -10
  293. package/dist/service/crudstd/CrudStdRelationService.js +112 -85
  294. package/dist/service/crudstd/CrudStdService.d.ts +69 -50
  295. package/dist/service/crudstd/CrudStdService.js +392 -182
  296. package/dist/service/curd/CrudProQuick.d.ts +44 -0
  297. package/dist/service/curd/CrudProQuick.js +147 -0
  298. package/dist/service/curd/CurdMixByAccountService.d.ts +9 -9
  299. package/dist/service/curd/CurdMixByAccountService.js +92 -87
  300. package/dist/service/curd/CurdMixByDictService.d.ts +13 -13
  301. package/dist/service/curd/CurdMixByDictService.js +114 -111
  302. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +31 -22
  303. package/dist/service/curd/CurdMixByLinkToCustomService.js +203 -154
  304. package/dist/service/curd/CurdMixBySysConfigService.d.ts +9 -9
  305. package/dist/service/curd/CurdMixBySysConfigService.js +80 -78
  306. package/dist/service/curd/CurdMixByWorkbenchService.d.ts +10 -10
  307. package/dist/service/curd/CurdMixByWorkbenchService.js +78 -76
  308. package/dist/service/curd/CurdMixService.d.ts +28 -17
  309. package/dist/service/curd/CurdMixService.js +100 -76
  310. package/dist/service/curd/CurdMixUtils.d.ts +51 -28
  311. package/dist/service/curd/CurdMixUtils.js +277 -201
  312. package/dist/service/curd/CurdProService.d.ts +32 -39
  313. package/dist/service/curd/CurdProService.js +212 -322
  314. package/dist/service/curd/fixCfgModel.d.ts +3 -0
  315. package/dist/service/curd/fixCfgModel.js +104 -0
  316. package/dist/service/proxyapi/ProxyApiLoadService.d.ts +21 -21
  317. package/dist/service/proxyapi/ProxyApiLoadService.js +167 -164
  318. package/dist/service/proxyapi/ProxyApiService.d.ts +61 -60
  319. package/dist/service/proxyapi/ProxyApiService.js +294 -260
  320. package/dist/service/proxyapi/ProxyApiUtils.d.ts +15 -15
  321. package/dist/service/proxyapi/ProxyApiUtils.js +34 -34
  322. package/dist/service/proxyapi/RouteHandler.d.ts +5 -5
  323. package/dist/service/proxyapi/RouteHandler.js +9 -9
  324. package/dist/service/proxyapi/RouteTrie.d.ts +12 -12
  325. package/dist/service/proxyapi/RouteTrie.js +63 -63
  326. package/dist/service/proxyapi/WeightedRandom.d.ts +9 -9
  327. package/dist/service/proxyapi/WeightedRandom.js +31 -31
  328. package/dist/service/proxyapi/WeightedRoundRobin.d.ts +8 -8
  329. package/dist/service/proxyapi/WeightedRoundRobin.js +32 -32
  330. package/dist/views/404_app.html +31 -31
  331. package/dist/views/404_workbench.html +34 -34
  332. package/index.d.ts +10 -10
  333. package/package.json +87 -75
  334. package/src/config/config.default.ts +179 -203
  335. package/src/config/seed/aeskey.txt +1 -1
  336. package/src/config/utils.ts +22 -23
  337. package/src/configuration.ts +109 -83
  338. package/src/controller/base/BaseApiController.ts +170 -145
  339. package/src/controller/gateway/AnyApiGatewayController.ts +33 -33
  340. package/src/controller/gateway/AsyncTaskController.ts +157 -0
  341. package/src/controller/gateway/CrudMtdGatewayController.ts +116 -107
  342. package/src/controller/gateway/CrudStdGatewayController.ts +87 -101
  343. package/src/controller/gateway/DocGatewayController.ts +173 -165
  344. package/src/controller/gateway/FileController.ts +109 -110
  345. package/src/controller/gateway/ProxyApiGatewayController.ts +47 -47
  346. package/src/controller/gateway/PublicApiController.ts +140 -145
  347. package/src/controller/gateway/StaticController.ts +296 -328
  348. package/src/controller/helpers.controller.ts +161 -161
  349. package/src/controller/home.controller.ts +66 -71
  350. package/src/controller/manage/AnyApiMangeApi.ts +66 -66
  351. package/src/controller/manage/AppLogMangeApi.ts +53 -53
  352. package/src/controller/manage/AppMangeApi.ts +53 -53
  353. package/src/controller/manage/AppPageMangeApi.ts +52 -52
  354. package/src/controller/manage/AppSchemaHistoryApi.ts +49 -49
  355. package/src/controller/manage/CrudMethodsMangeApi.ts +49 -49
  356. package/src/controller/manage/CrudStandardDesignApi.ts +406 -398
  357. package/src/controller/manage/DataDictManageApi.ts +78 -78
  358. package/src/controller/manage/DeployManageApi.ts +175 -179
  359. package/src/controller/manage/DocLibManageApi.ts +69 -69
  360. package/src/controller/manage/DocManageApi.ts +99 -99
  361. package/src/controller/manage/FileManageApi.ts +45 -45
  362. package/src/controller/manage/LowCodeTplManageApi.ts +52 -52
  363. package/src/controller/manage/MenuManageApi.ts +58 -63
  364. package/src/controller/manage/ProxyApiMangeApi.ts +52 -52
  365. package/src/controller/manage/SuperAdminManageApi.ts +139 -138
  366. package/src/controller/manage/SysConfigMangeApi.ts +95 -95
  367. package/src/controller/manage/SystemInfoManageApi.ts +53 -48
  368. package/src/controller/manage/UserAccountManageApi.ts +94 -88
  369. package/src/controller/manage/WorkbenchMangeApi.ts +72 -72
  370. package/src/controller/myinfo/AuthController.ts +108 -174
  371. package/src/controller/myinfo/MyInfoController.ts +32 -32
  372. package/src/controller/render/AppRenderController.ts +81 -76
  373. package/src/controller/test.controller.ts +37 -37
  374. package/src/filter/default.filter.ts +13 -13
  375. package/src/filter/notfound.filter.ts +10 -10
  376. package/src/index.ts +107 -99
  377. package/src/interface.ts +31 -31
  378. package/src/libs/crud-pro/CrudPro.ts +165 -158
  379. package/src/libs/crud-pro/defaultConfigs.ts +15 -13
  380. package/src/libs/crud-pro/exceptions.ts +124 -124
  381. package/src/libs/crud-pro/interfaces.ts +190 -183
  382. package/src/libs/crud-pro/models/ExecuteContext.ts +120 -111
  383. package/src/libs/crud-pro/models/ExecuteContextFunc.ts +96 -86
  384. package/src/libs/crud-pro/models/FuncContext.ts +21 -21
  385. package/src/libs/crud-pro/models/RequestCfgModel.ts +141 -141
  386. package/src/libs/crud-pro/models/RequestModel.ts +141 -141
  387. package/src/libs/crud-pro/models/ResModel.ts +19 -0
  388. package/src/libs/crud-pro/models/ServiceHub.ts +32 -32
  389. package/src/libs/crud-pro/models/SqlCfgModel.ts +52 -52
  390. package/src/libs/crud-pro/models/SqlSegArg.ts +13 -13
  391. package/src/libs/crud-pro/models/Transaction.ts +81 -74
  392. package/src/libs/crud-pro/models/TransactionMySQL.ts +79 -79
  393. package/src/libs/crud-pro/models/TransactionPostgres.ts +91 -91
  394. package/src/libs/crud-pro/models/TransactionSqlServer.ts +102 -107
  395. package/src/libs/crud-pro/models/keys.ts +159 -159
  396. package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +83 -75
  397. package/src/libs/crud-pro/services/CrudProExecuteFuncService.ts +128 -128
  398. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +262 -279
  399. package/src/libs/crud-pro/services/CrudProFieldUpdateService.ts +60 -60
  400. package/src/libs/crud-pro/services/CrudProFieldValidateService.ts +180 -180
  401. package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +354 -373
  402. package/src/libs/crud-pro/services/CrudProGenSqlService.ts +185 -202
  403. package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +393 -397
  404. package/src/libs/crud-pro/services/CrudProServiceBase.ts +106 -98
  405. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +86 -59
  406. package/src/libs/crud-pro/services/CurdProServiceHub.ts +92 -92
  407. package/src/libs/crud-pro/sql.txt +120 -120
  408. package/src/libs/crud-pro/utils/CompareUtils.ts +23 -23
  409. package/src/libs/crud-pro/utils/DatabaseName.ts +60 -40
  410. package/src/libs/crud-pro/utils/DateTimeUtils.ts +20 -20
  411. package/src/libs/crud-pro/utils/MemoryRefreshCache.ts +64 -64
  412. package/src/libs/crud-pro/utils/MessageParseUtils.ts +33 -33
  413. package/src/libs/crud-pro/utils/MixinUtils.ts +285 -285
  414. package/src/libs/crud-pro/utils/ModelUtils.ts +55 -55
  415. package/src/libs/crud-pro/utils/MultiKeyMap.ts +72 -72
  416. package/src/libs/crud-pro/utils/SqlFuncUtils.ts +29 -29
  417. package/src/libs/crud-pro/utils/TypeUtils.ts +188 -188
  418. package/src/libs/crud-pro/utils/ValidateUtils.ts +165 -167
  419. package/src/libs/crud-pro/utils/pool/MySQLUtils.ts +20 -20
  420. package/src/libs/crud-pro/utils/pool/PostgresUtils.ts +22 -22
  421. package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +22 -22
  422. package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +21 -26
  423. package/src/libs/crud-pro/utils/sqlConvert/convertMix.ts +24 -0
  424. package/src/libs/crud-pro/utils/sqlConvert/convertMsSql.ts +9 -11
  425. package/src/libs/crud-pro/utils/sqlConvert/convertPgSql.ts +9 -11
  426. package/src/libs/crud-pro/utils/sqlConvert/convertPgType.ts +127 -129
  427. package/src/libs/global-config/global-config.ts +108 -0
  428. package/src/libs/utils/base64.ts +40 -0
  429. package/src/libs/utils/common-dto.ts +52 -52
  430. package/src/libs/utils/crypto-utils.ts +50 -52
  431. package/src/libs/utils/errorToString.ts +61 -0
  432. package/src/libs/utils/fatcms-request.ts +103 -115
  433. package/src/libs/utils/functions.ts +78 -67
  434. package/src/libs/utils/ordernum-utils.ts +14 -18
  435. package/src/libs/utils/parseConfig.ts +54 -62
  436. package/src/libs/utils/parseCreateSql.ts +91 -91
  437. package/src/libs/utils/render-utils.ts +175 -184
  438. package/src/middleware/forbidden.middleware.ts +52 -71
  439. package/src/middleware/global.middleware.ts +293 -278
  440. package/src/middleware/permission.middleware.ts +80 -81
  441. package/src/middleware/rediscache.middleware.ts +91 -0
  442. package/src/middleware/redislock.middleware.ts +83 -0
  443. package/src/middleware/tx.middleware.ts +30 -30
  444. package/src/models/AsyncTaskModel.ts +85 -0
  445. package/src/models/RedisKeys.ts +16 -0
  446. package/src/models/SystemEntities.ts +123 -115
  447. package/src/models/SystemPerm.ts +104 -105
  448. package/src/models/SystemTables.ts +26 -30
  449. package/src/models/bizmodels.ts +121 -89
  450. package/src/models/contextLogger.ts +132 -132
  451. package/src/models/devops.ts +17 -17
  452. package/src/models/userSession.ts +217 -216
  453. package/src/schedule/anonymousContext.ts +73 -0
  454. package/src/schedule/index.ts +5 -73
  455. package/src/schedule/runSchedule.ts +74 -0
  456. package/src/schedule/scheduleNames.ts +15 -0
  457. package/src/service/AuthService.ts +283 -270
  458. package/src/service/EnumInfoService.ts +130 -129
  459. package/src/service/FileCenterService.ts +395 -394
  460. package/src/service/SysConfigService.ts +37 -34
  461. package/src/service/UserAccountService.ts +107 -100
  462. package/src/service/UserSessionService.ts +157 -81
  463. package/src/service/VisitStatService.ts +166 -179
  464. package/src/service/WorkbenchService.ts +220 -160
  465. package/src/service/anyapi/AnyApiSandboxService.ts +121 -121
  466. package/src/service/anyapi/AnyApiService.ts +186 -184
  467. package/src/service/asyncTask/AsyncTaskRunnerService.ts +319 -0
  468. package/src/service/asyncTask/AsyncTaskService.ts +21 -0
  469. package/src/service/asyncTask/handler/ExcelInfoModel.ts +11 -0
  470. package/src/service/asyncTask/handler/ExportExcelAsyncTaskHandler.ts +245 -0
  471. package/src/service/asyncTask/handler/ExportExcelByInnerHttpHandler.ts +159 -0
  472. package/src/service/asyncTask/handler/ExportExcelByStdCrudHandler.ts +158 -0
  473. package/src/service/base/ApiBaseService.ts +42 -42
  474. package/src/service/base/ApiRateLimiter.ts +59 -59
  475. package/src/service/base/BaseService.ts +95 -74
  476. package/src/service/base/RedisCacheService.ts +42 -38
  477. package/src/service/crudstd/CrudStdActionService.ts +27 -27
  478. package/src/service/crudstd/CrudStdConstant.ts +62 -62
  479. package/src/service/crudstd/CrudStdRelationService.ts +118 -78
  480. package/src/service/crudstd/CrudStdService.ts +477 -188
  481. package/src/service/curd/CrudProQuick.ts +170 -0
  482. package/src/service/curd/CurdMixByAccountService.ts +89 -83
  483. package/src/service/curd/CurdMixByDictService.ts +114 -113
  484. package/src/service/curd/CurdMixByLinkToCustomService.ts +219 -167
  485. package/src/service/curd/CurdMixBySysConfigService.ts +78 -78
  486. package/src/service/curd/CurdMixByWorkbenchService.ts +71 -68
  487. package/src/service/curd/CurdMixService.ts +97 -65
  488. package/src/service/curd/CurdMixUtils.ts +314 -248
  489. package/src/service/curd/CurdProService.ts +231 -379
  490. package/src/service/curd/fixCfgModel.ts +120 -0
  491. package/src/service/proxyapi/ProxyApiLoadService.ts +170 -165
  492. package/src/service/proxyapi/ProxyApiService.ts +298 -262
  493. package/src/service/proxyapi/ProxyApiUtils.ts +32 -32
  494. package/src/service/proxyapi/RouteHandler.ts +8 -8
  495. package/src/service/proxyapi/RouteTrie.ts +74 -74
  496. package/src/service/proxyapi/WeightedRandom.ts +37 -37
  497. package/src/service/proxyapi/WeightedRoundRobin.ts +44 -44
  498. package/src/views/404_app.html +31 -31
  499. package/src/views/404_workbench.html +34 -34
  500. package/tsconfig.json +32 -0
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CrudProQuick = void 0;
4
+ const keys_1 = require("../../libs/crud-pro/models/keys");
5
+ const DEFAULT_MAX_LIMIT = 10 * 10000;
6
+ class CrudProQuick {
7
+ constructor(curdPro, sqlDatabase, sqlDbType, sqlTable) {
8
+ this.baseCfgModel = {
9
+ maxLimit: DEFAULT_MAX_LIMIT,
10
+ };
11
+ this.sqlDatabase = sqlDatabase;
12
+ this.sqlDbType = sqlDbType;
13
+ this.curdPro = curdPro;
14
+ this.sqlTable = sqlTable; // 全局sqlTable为空时,单独调用时就必须传sqlTable参数。
15
+ }
16
+ setBaseCfgModel(baseCfgModel) {
17
+ Object.assign(this.baseCfgModel, baseCfgModel);
18
+ }
19
+ async executeCrudByCfg(reqJson, cfgModel2) {
20
+ const cfgModel = { ...this.baseCfgModel };
21
+ Object.assign(cfgModel, cfgModel2);
22
+ cfgModel.method = 'CrudProQuickAnonymous';
23
+ cfgModel.updateCfg = {};
24
+ cfgModel.sqlDatabase = this.sqlDatabase;
25
+ cfgModel.sqlDbType = this.sqlDbType;
26
+ if (!cfgModel.sqlTable) {
27
+ cfgModel.sqlTable = this.sqlTable;
28
+ }
29
+ if (!cfgModel.sqlTable) {
30
+ throw new Error('[CrudProQuick] sqlTable not found');
31
+ }
32
+ return await this.curdPro.executeCrudByCfg(reqJson, cfgModel);
33
+ }
34
+ /**
35
+ * 随便获取一个。不推荐使用。建议使用getUniqueOne。
36
+ * @deprecated
37
+ * @param reqJson
38
+ * @param sqlTable
39
+ * @returns
40
+ */
41
+ async getOne(reqJson, sqlTable) {
42
+ const cfgModel = {
43
+ sqlTable,
44
+ sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
45
+ };
46
+ const res = await this.executeCrudByCfg(reqJson, cfgModel);
47
+ return res.getOneObj();
48
+ }
49
+ /**
50
+ * 期望获取唯一的一个对象,如果数据库中的数量不唯一,则报错。
51
+ * @param reqJson
52
+ * @param sqlTable
53
+ * @returns
54
+ */
55
+ async getUniqueOne(reqJson, sqlTable) {
56
+ const cfgModel = {
57
+ sqlTable,
58
+ sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_PAGE,
59
+ };
60
+ reqJson.pageNo = 1;
61
+ reqJson.pageSize = 1;
62
+ const res = await this.executeCrudByCfg(reqJson, cfgModel);
63
+ const resModel = res.getResModel();
64
+ const total_count = resModel.total_count;
65
+ const rows = resModel.rows;
66
+ if (total_count === 0) {
67
+ return null;
68
+ }
69
+ if (total_count > 1) {
70
+ throw new Error(`[CrudProQuick][getUniqueOne] only one object is required, but got ${total_count}`);
71
+ }
72
+ return rows[0];
73
+ }
74
+ /**
75
+ * 获取数据列表
76
+ * @param reqJson
77
+ * @param sqlTable 数据库表名称
78
+ * @returns
79
+ */
80
+ async getList(reqJson, sqlTable) {
81
+ const cfgModel = {
82
+ sqlTable,
83
+ sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
84
+ };
85
+ const res = await this.executeCrudByCfg(reqJson, cfgModel);
86
+ return res.getResRows();
87
+ }
88
+ async getListPage(reqJson, sqlTable) {
89
+ const cfgModel = {
90
+ sqlTable,
91
+ sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_PAGE,
92
+ };
93
+ const res = await this.executeCrudByCfg(reqJson, cfgModel);
94
+ return res.getResModel(); // 因为它有2个返回值
95
+ }
96
+ async getTotalCount(reqJson, sqlTable) {
97
+ const cfgModel = {
98
+ sqlTable,
99
+ sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_COUNT,
100
+ };
101
+ const res = await this.executeCrudByCfg(reqJson, cfgModel);
102
+ return res.getResModel().total_count;
103
+ }
104
+ async insertObject(reqJson, sqlTable) {
105
+ const cfgModel = {
106
+ sqlTable,
107
+ sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_INSERT,
108
+ };
109
+ const res = await this.executeCrudByCfg(reqJson, cfgModel);
110
+ return res.getResModel().affected;
111
+ }
112
+ async updateObject(reqJson, sqlTable) {
113
+ const cfgModel = {
114
+ sqlTable,
115
+ sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_UPDATE,
116
+ };
117
+ const res = await this.executeCrudByCfg(reqJson, cfgModel);
118
+ return res.getResModel().affected;
119
+ }
120
+ async insertOrUpdate(reqJson, sqlTable) {
121
+ const cfgModel = {
122
+ sqlTable,
123
+ sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_INSERT_OR_UPDATE,
124
+ };
125
+ const res = await this.executeCrudByCfg(reqJson, cfgModel);
126
+ return res.getResModel(); // 因为它有三个返回值
127
+ }
128
+ async deleteObject(reqJson, sqlTable) {
129
+ const cfgModel = {
130
+ sqlTable,
131
+ sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_DELETE,
132
+ };
133
+ const res = await this.executeCrudByCfg(reqJson, cfgModel);
134
+ return res.getResModel().affected;
135
+ }
136
+ async executeSQL(executeSql, args) {
137
+ const sqlCfgModel = {
138
+ executeSql: executeSql,
139
+ executeSqlArgs: args,
140
+ sqlDatabase: this.sqlDatabase,
141
+ sqlDbType: this.sqlDbType,
142
+ maxLimit: this.baseCfgModel.maxLimit || DEFAULT_MAX_LIMIT,
143
+ };
144
+ return await this.curdPro.executeSQL(sqlCfgModel);
145
+ }
146
+ }
147
+ exports.CrudProQuick = CrudProQuick;
@@ -1,9 +1,9 @@
1
- import { Context } from '@midwayjs/koa';
2
- import { CurdProService } from './CurdProService';
3
- import { ExecuteContext, IExecuteContextHandler } from '../../libs/crud-pro/models/ExecuteContext';
4
- export declare class CurdMixByAccountService implements IExecuteContextHandler {
5
- ctx: Context;
6
- protected curdProService: CurdProService;
7
- handleExecuteContextPrepare(executeContext: ExecuteContext): Promise<void>;
8
- handleExecuteContext(executeContext: ExecuteContext): Promise<void>;
9
- }
1
+ import { Context } from '@midwayjs/koa';
2
+ import { CurdProService } from './CurdProService';
3
+ import { HandleExecuteContextType, IExecuteContextHandler } from '../../libs/crud-pro/models/ExecuteContext';
4
+ export declare class CurdMixByAccountService implements IExecuteContextHandler {
5
+ protected ctx: Context;
6
+ protected curdProService: CurdProService;
7
+ handleExecuteContextPrepare(executeContext: HandleExecuteContextType): Promise<void>;
8
+ handleExecuteContext(executeContext: HandleExecuteContextType): Promise<void>;
9
+ }
@@ -1,87 +1,92 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.CurdMixByAccountService = void 0;
13
- const core_1 = require("@midwayjs/core");
14
- const _ = require("lodash");
15
- const CurdProService_1 = require("./CurdProService");
16
- const CurdMixUtils_1 = require("./CurdMixUtils");
17
- const SystemTables_1 = require("../../models/SystemTables");
18
- const keys_1 = require("../../libs/crud-pro/models/keys");
19
- const MixinUtils_1 = require("../../libs/crud-pro/utils/MixinUtils");
20
- const dictMixUtils = new CurdMixUtils_1.CrudMixUtils(CurdMixUtils_1.RelatedType.accountBasic);
21
- const TMP_CTX_KEY = _.uniqueId('CurdMixByAccountService');
22
- let CurdMixByAccountService = class CurdMixByAccountService {
23
- async handleExecuteContextPrepare(executeContext) {
24
- const relations = dictMixUtils.pickColumnRelations(executeContext);
25
- if (!relations || relations.length === 0) {
26
- return;
27
- }
28
- const accountIds = new Set();
29
- dictMixUtils.forEachRowAndColumnsRelation(executeContext, (row, columnRelation) => {
30
- const { sourceColumn } = columnRelation;
31
- const accountId = _.get(row, sourceColumn);
32
- if (accountId) {
33
- accountIds.add(accountId);
34
- }
35
- });
36
- if (accountIds.size === 0) {
37
- return;
38
- }
39
- const cfgModel = {
40
- method: 'UserAccountService.queryAccountBasicInfoByIds',
41
- sqlTable: SystemTables_1.SystemTables.sys_user_account,
42
- sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
43
- sqlDatabase: SystemTables_1.SystemDbName,
44
- sqlDdType: SystemTables_1.SystemDbType,
45
- };
46
- const reqJson = {
47
- columns: ['nick_name', 'avatar', 'account_id'],
48
- condition: {
49
- account_id: {
50
- $in: [...accountIds],
51
- },
52
- },
53
- };
54
- const res = await this.curdProService.executeCrudByCfg(reqJson, cfgModel);
55
- const userInfos = res.getResRows();
56
- executeContext[TMP_CTX_KEY] = MixinUtils_1.MixinUtils.toNewMap(userInfos, (obj) => obj.account_id);
57
- }
58
- async handleExecuteContext(executeContext) {
59
- const userInfoMap = executeContext[TMP_CTX_KEY];
60
- if (!userInfoMap || userInfoMap.size === 0) {
61
- return;
62
- }
63
- dictMixUtils.forEachRowAndColumnsRelation(executeContext, (row, columnRelation) => {
64
- const sourceColumn = columnRelation.sourceColumn;
65
- const targetColumns = columnRelation.targetColumns;
66
- if (!Array.isArray(targetColumns) || targetColumns.length === 0) {
67
- columnRelation.targetColumns = [
68
- { from: 'nick_name', to: `${sourceColumn}_user.nick_name` },
69
- { from: 'avatar', to: `${sourceColumn}_user.avatar` },
70
- ];
71
- }
72
- dictMixUtils.copyColumnRelationToRowNoRelatedCode(row, userInfoMap, columnRelation);
73
- });
74
- }
75
- };
76
- __decorate([
77
- (0, core_1.Inject)(),
78
- __metadata("design:type", Object)
79
- ], CurdMixByAccountService.prototype, "ctx", void 0);
80
- __decorate([
81
- (0, core_1.Inject)(),
82
- __metadata("design:type", CurdProService_1.CurdProService)
83
- ], CurdMixByAccountService.prototype, "curdProService", void 0);
84
- CurdMixByAccountService = __decorate([
85
- (0, core_1.Provide)()
86
- ], CurdMixByAccountService);
87
- exports.CurdMixByAccountService = CurdMixByAccountService;
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CurdMixByAccountService = void 0;
13
+ const core_1 = require("@midwayjs/core");
14
+ const _ = require("lodash");
15
+ const CurdProService_1 = require("./CurdProService");
16
+ const CurdMixUtils_1 = require("./CurdMixUtils");
17
+ const SystemTables_1 = require("../../models/SystemTables");
18
+ const keys_1 = require("../../libs/crud-pro/models/keys");
19
+ const MixinUtils_1 = require("../../libs/crud-pro/utils/MixinUtils");
20
+ const global_config_1 = require("../../libs/global-config/global-config");
21
+ const dictMixUtils = new CurdMixUtils_1.CrudMixUtils(CurdMixUtils_1.RelatedType.accountBasic);
22
+ const TMP_CTX_KEY = _.uniqueId('CurdMixByAccountService');
23
+ let CurdMixByAccountService = class CurdMixByAccountService {
24
+ async handleExecuteContextPrepare(executeContext) {
25
+ const { SystemDbName, SystemDbType, toFatcmsUserAccountId } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
26
+ const relations = dictMixUtils.pickColumnRelations(executeContext);
27
+ if (!relations || relations.length === 0) {
28
+ return;
29
+ }
30
+ const accountIds = new Set();
31
+ dictMixUtils.forEachRowAndColumnsRelation(executeContext, (row, columnRelation) => {
32
+ const { sourceColumn } = columnRelation;
33
+ if (sourceColumn) {
34
+ const accountId = _.get(row, sourceColumn);
35
+ if (accountId) {
36
+ const fatcmsUserAccountId = toFatcmsUserAccountId(accountId);
37
+ accountIds.add(fatcmsUserAccountId);
38
+ }
39
+ }
40
+ });
41
+ if (accountIds.size === 0) {
42
+ return;
43
+ }
44
+ const cfgModel = {
45
+ method: 'UserAccountService.queryAccountBasicInfoByIds',
46
+ sqlTable: SystemTables_1.SystemTables.sys_user_account,
47
+ sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
48
+ sqlDatabase: SystemDbName,
49
+ sqlDbType: SystemDbType,
50
+ };
51
+ const reqJson = {
52
+ columns: ['nick_name', 'avatar', 'account_id'],
53
+ condition: {
54
+ account_id: {
55
+ $in: [...accountIds],
56
+ },
57
+ },
58
+ };
59
+ const res = await this.curdProService.executeCrudByCfg(reqJson, cfgModel);
60
+ const userInfos = res.getResRows();
61
+ executeContext[TMP_CTX_KEY] = MixinUtils_1.MixinUtils.toNewMap(userInfos, (obj) => obj.account_id);
62
+ }
63
+ async handleExecuteContext(executeContext) {
64
+ const userInfoMap = executeContext[TMP_CTX_KEY];
65
+ if (!userInfoMap || userInfoMap.size === 0) {
66
+ return;
67
+ }
68
+ dictMixUtils.forEachRowAndColumnsRelation(executeContext, (row, columnRelation) => {
69
+ const sourceColumn = columnRelation.sourceColumn;
70
+ const targetColumns = columnRelation.targetColumns;
71
+ if (!Array.isArray(targetColumns) || targetColumns.length === 0) {
72
+ columnRelation.targetColumns = [
73
+ { from: 'nick_name', to: `${sourceColumn}_user.nick_name` },
74
+ { from: 'avatar', to: `${sourceColumn}_user.avatar` },
75
+ ];
76
+ }
77
+ dictMixUtils.copyUserInfoToRowNoRelatedCode(row, userInfoMap, columnRelation);
78
+ });
79
+ }
80
+ };
81
+ __decorate([
82
+ (0, core_1.Inject)(),
83
+ __metadata("design:type", Object)
84
+ ], CurdMixByAccountService.prototype, "ctx", void 0);
85
+ __decorate([
86
+ (0, core_1.Inject)(),
87
+ __metadata("design:type", CurdProService_1.CurdProService)
88
+ ], CurdMixByAccountService.prototype, "curdProService", void 0);
89
+ CurdMixByAccountService = __decorate([
90
+ (0, core_1.Provide)()
91
+ ], CurdMixByAccountService);
92
+ exports.CurdMixByAccountService = CurdMixByAccountService;
@@ -1,13 +1,13 @@
1
- import { Context } from '@midwayjs/koa';
2
- import { ExecuteContext, IExecuteContextHandler } from '../../libs/crud-pro/models/ExecuteContext';
3
- import { RedisCacheService } from "../base/RedisCacheService";
4
- export declare class CurdMixByDictService implements IExecuteContextHandler {
5
- ctx: Context;
6
- private curdProService;
7
- protected redisCacheService: RedisCacheService;
8
- private getFromCache;
9
- private setToCache;
10
- handleExecuteContextPrepare(executeContext: ExecuteContext): Promise<void>;
11
- private getDictItemRows;
12
- handleExecuteContext(executeContext: ExecuteContext): Promise<void>;
13
- }
1
+ import { Context } from '@midwayjs/koa';
2
+ import { HandleExecuteContextType, IExecuteContextHandler } from '../../libs/crud-pro/models/ExecuteContext';
3
+ import { RedisCacheService } from '../base/RedisCacheService';
4
+ export declare class CurdMixByDictService implements IExecuteContextHandler {
5
+ ctx: Context;
6
+ private curdProService;
7
+ protected redisCacheService: RedisCacheService;
8
+ private getFromCache;
9
+ private setToCache;
10
+ handleExecuteContextPrepare(executeContext: HandleExecuteContextType): Promise<void>;
11
+ private getDictItemRows;
12
+ handleExecuteContext(executeContext: HandleExecuteContextType): Promise<void>;
13
+ }
@@ -1,111 +1,114 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.CurdMixByDictService = void 0;
13
- const core_1 = require("@midwayjs/core");
14
- const CurdProService_1 = require("./CurdProService");
15
- const CurdMixUtils_1 = require("./CurdMixUtils");
16
- const SystemTables_1 = require("../../models/SystemTables");
17
- const keys_1 = require("../../libs/crud-pro/models/keys");
18
- const MultiKeyMap_1 = require("../../libs/crud-pro/utils/MultiKeyMap");
19
- const _ = require("lodash");
20
- const RedisCacheService_1 = require("../base/RedisCacheService");
21
- const TMP_CTX_KEY = _.uniqueId('CurdMixByDictService');
22
- const dictMixUtils = new CurdMixUtils_1.CrudMixUtils(CurdMixUtils_1.RelatedType.dict);
23
- let CurdMixByDictService = class CurdMixByDictService {
24
- async getFromCache(code) {
25
- const cacheKey = `CurdMixByDictService@@${code}`;
26
- return this.redisCacheService.getJsonObject(cacheKey);
27
- }
28
- async setToCache(code, value) {
29
- const cacheKey = `CurdMixByDictService@@${code}`;
30
- return this.redisCacheService.setJsonObject(cacheKey, value, 60 * 60);
31
- }
32
- async handleExecuteContextPrepare(executeContext) {
33
- const codes = dictMixUtils.pickColumnRelationCodes(executeContext);
34
- if (!codes || codes.length === 0) {
35
- return;
36
- }
37
- const rows = await this.getDictItemRows(codes);
38
- executeContext[TMP_CTX_KEY] = new MultiKeyMap_1.MultiKeyMap(rows, 'dict_code', 'value');
39
- }
40
- async getDictItemRows(codes) {
41
- const noCacheCodes = [];
42
- // 从缓存里面取
43
- let cachedRows = [];
44
- for (let i = 0; i < codes.length; i++) {
45
- const code = codes[i];
46
- const rows1 = await this.getFromCache(code);
47
- // const rows1 = [];
48
- if (rows1 && rows1.length > 0) {
49
- cachedRows = cachedRows.concat(rows1);
50
- }
51
- else {
52
- noCacheCodes.push(code);
53
- }
54
- }
55
- // 从数据库里面取
56
- let selectedRows = [];
57
- if (noCacheCodes.length > 0) {
58
- const res1 = await this.curdProService.executeCrudByCfg({
59
- condition: { dict_code: { $in: noCacheCodes } },
60
- }, {
61
- sqlTable: SystemTables_1.SystemTables.sys_data_dict_item,
62
- sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
63
- sqlDatabase: SystemTables_1.SystemDbName,
64
- sqlDdType: SystemTables_1.SystemDbType,
65
- });
66
- selectedRows = res1.getResRows();
67
- //放到缓存里
68
- for (let i = 0; i < noCacheCodes.length; i++) {
69
- const noCacheCode = noCacheCodes[i];
70
- const rows1 = selectedRows.filter(e => e.dict_code === noCacheCode);
71
- await this.setToCache(noCacheCode, rows1);
72
- }
73
- }
74
- return cachedRows.concat(selectedRows);
75
- }
76
- async handleExecuteContext(executeContext) {
77
- const multiKeyMap = executeContext[TMP_CTX_KEY];
78
- if (!multiKeyMap || multiKeyMap.isEmpty()) {
79
- return;
80
- }
81
- dictMixUtils.forEachRowAndColumnsRelation(executeContext, (row, columnRelation) => {
82
- const sourceColumn = columnRelation.sourceColumn;
83
- const targetColumns = columnRelation.targetColumns;
84
- if (!Array.isArray(targetColumns) || targetColumns.length === 0) {
85
- columnRelation.targetColumns = [
86
- {
87
- "from": "*",
88
- "to": `${sourceColumn}_info[$ARRAY_INDEX]`
89
- },
90
- ];
91
- }
92
- dictMixUtils.copyColumnRelationToRow(row, multiKeyMap, columnRelation);
93
- });
94
- }
95
- };
96
- __decorate([
97
- (0, core_1.Inject)(),
98
- __metadata("design:type", Object)
99
- ], CurdMixByDictService.prototype, "ctx", void 0);
100
- __decorate([
101
- (0, core_1.Inject)(),
102
- __metadata("design:type", CurdProService_1.CurdProService)
103
- ], CurdMixByDictService.prototype, "curdProService", void 0);
104
- __decorate([
105
- (0, core_1.Inject)(),
106
- __metadata("design:type", RedisCacheService_1.RedisCacheService)
107
- ], CurdMixByDictService.prototype, "redisCacheService", void 0);
108
- CurdMixByDictService = __decorate([
109
- (0, core_1.Provide)()
110
- ], CurdMixByDictService);
111
- exports.CurdMixByDictService = CurdMixByDictService;
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CurdMixByDictService = void 0;
13
+ const _ = require("lodash");
14
+ const core_1 = require("@midwayjs/core");
15
+ const CurdProService_1 = require("./CurdProService");
16
+ const CurdMixUtils_1 = require("./CurdMixUtils");
17
+ const SystemTables_1 = require("../../models/SystemTables");
18
+ const keys_1 = require("../../libs/crud-pro/models/keys");
19
+ const MultiKeyMap_1 = require("../../libs/crud-pro/utils/MultiKeyMap");
20
+ const RedisCacheService_1 = require("../base/RedisCacheService");
21
+ const global_config_1 = require("../../libs/global-config/global-config");
22
+ const RedisKeys_1 = require("../../models/RedisKeys");
23
+ const TMP_CTX_KEY = _.uniqueId('CurdMixByDictService');
24
+ const dictMixUtils = new CurdMixUtils_1.CrudMixUtils(CurdMixUtils_1.RelatedType.dict);
25
+ let CurdMixByDictService = class CurdMixByDictService {
26
+ async getFromCache(code) {
27
+ const cacheKey = `${RedisKeys_1.RedisKeys.CURD_MIX_BY_DICT_PREFIX}${code}`;
28
+ return this.redisCacheService.getJsonObject(cacheKey);
29
+ }
30
+ async setToCache(code, value) {
31
+ const cacheKey = `${RedisKeys_1.RedisKeys.CURD_MIX_BY_DICT_PREFIX}${code}`;
32
+ return this.redisCacheService.setJsonObject(cacheKey, value, 60 * 60);
33
+ }
34
+ async handleExecuteContextPrepare(executeContext) {
35
+ const codes = dictMixUtils.pickColumnRelationCodes(executeContext);
36
+ if (!codes || codes.length === 0) {
37
+ return;
38
+ }
39
+ const rows = await this.getDictItemRows(codes);
40
+ executeContext[TMP_CTX_KEY] = new MultiKeyMap_1.MultiKeyMap(rows, 'dict_code', 'value');
41
+ }
42
+ async getDictItemRows(codes) {
43
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
44
+ const noCacheCodes = [];
45
+ // 从缓存里面取
46
+ let cachedRows = [];
47
+ for (let i = 0; i < codes.length; i++) {
48
+ const code = codes[i];
49
+ const rows1 = await this.getFromCache(code);
50
+ // const rows1 = [];
51
+ if (rows1 && rows1.length > 0) {
52
+ cachedRows = cachedRows.concat(rows1);
53
+ }
54
+ else {
55
+ noCacheCodes.push(code);
56
+ }
57
+ }
58
+ // 从数据库里面取
59
+ let selectedRows = [];
60
+ if (noCacheCodes.length > 0) {
61
+ const res1 = await this.curdProService.executeCrudByCfg({
62
+ condition: { dict_code: { $in: noCacheCodes } },
63
+ }, {
64
+ sqlTable: SystemTables_1.SystemTables.sys_data_dict_item,
65
+ sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
66
+ sqlDatabase: SystemDbName,
67
+ sqlDbType: SystemDbType,
68
+ });
69
+ selectedRows = res1.getResRows();
70
+ //放到缓存里
71
+ for (let i = 0; i < noCacheCodes.length; i++) {
72
+ const noCacheCode = noCacheCodes[i];
73
+ const rows1 = selectedRows.filter(e => e.dict_code === noCacheCode);
74
+ await this.setToCache(noCacheCode, rows1);
75
+ }
76
+ }
77
+ return cachedRows.concat(selectedRows);
78
+ }
79
+ async handleExecuteContext(executeContext) {
80
+ const multiKeyMap = executeContext[TMP_CTX_KEY];
81
+ if (!multiKeyMap || multiKeyMap.isEmpty()) {
82
+ return;
83
+ }
84
+ dictMixUtils.forEachRowAndColumnsRelation(executeContext, (row, columnRelation) => {
85
+ const sourceColumn = columnRelation.sourceColumn;
86
+ const targetColumns = columnRelation.targetColumns;
87
+ if (!Array.isArray(targetColumns) || targetColumns.length === 0) {
88
+ columnRelation.targetColumns = [
89
+ {
90
+ from: '*',
91
+ to: `${sourceColumn}_info[$ARRAY_INDEX]`,
92
+ },
93
+ ];
94
+ }
95
+ dictMixUtils.copyColumnRelationToRow(row, multiKeyMap, columnRelation);
96
+ });
97
+ }
98
+ };
99
+ __decorate([
100
+ (0, core_1.Inject)(),
101
+ __metadata("design:type", Object)
102
+ ], CurdMixByDictService.prototype, "ctx", void 0);
103
+ __decorate([
104
+ (0, core_1.Inject)(),
105
+ __metadata("design:type", CurdProService_1.CurdProService)
106
+ ], CurdMixByDictService.prototype, "curdProService", void 0);
107
+ __decorate([
108
+ (0, core_1.Inject)(),
109
+ __metadata("design:type", RedisCacheService_1.RedisCacheService)
110
+ ], CurdMixByDictService.prototype, "redisCacheService", void 0);
111
+ CurdMixByDictService = __decorate([
112
+ (0, core_1.Provide)()
113
+ ], CurdMixByDictService);
114
+ exports.CurdMixByDictService = CurdMixByDictService;