midway-fatcms 0.0.1-beta.4 → 0.0.1-beta.40

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 (331) hide show
  1. package/.eslintrc.json +14 -0
  2. package/.prettierrc.js +4 -0
  3. package/README.md +7 -0
  4. package/dist/config/config.default.js +58 -15
  5. package/dist/config/seed/aeskey.txt +1 -1
  6. package/dist/configuration.d.ts +1 -0
  7. package/dist/configuration.js +33 -9
  8. package/dist/controller/base/BaseApiController.d.ts +7 -1
  9. package/dist/controller/base/BaseApiController.js +32 -6
  10. package/dist/controller/gateway/AsyncTaskController.d.ts +20 -0
  11. package/dist/controller/gateway/AsyncTaskController.js +181 -0
  12. package/dist/controller/gateway/CrudMtdGatewayController.d.ts +3 -3
  13. package/dist/controller/gateway/CrudMtdGatewayController.js +9 -6
  14. package/dist/controller/gateway/DocGatewayController.js +14 -9
  15. package/dist/controller/gateway/FileController.d.ts +3 -2
  16. package/dist/controller/gateway/PublicApiController.js +4 -6
  17. package/dist/controller/gateway/StaticController.d.ts +0 -1
  18. package/dist/controller/gateway/StaticController.js +40 -39
  19. package/dist/controller/helpers.controller.d.ts +1 -1
  20. package/dist/controller/home.controller.js +4 -3
  21. package/dist/controller/manage/AnyApiMangeApi.js +2 -2
  22. package/dist/controller/manage/AppLogMangeApi.js +2 -2
  23. package/dist/controller/manage/AppMangeApi.js +2 -2
  24. package/dist/controller/manage/AppPageMangeApi.js +2 -2
  25. package/dist/controller/manage/AppSchemaHistoryApi.js +2 -2
  26. package/dist/controller/manage/CrudMethodsMangeApi.js +2 -2
  27. package/dist/controller/manage/CrudStandardDesignApi.d.ts +1 -1
  28. package/dist/controller/manage/CrudStandardDesignApi.js +86 -83
  29. package/dist/controller/manage/DataDictManageApi.d.ts +1 -1
  30. package/dist/controller/manage/DataDictManageApi.js +1 -1
  31. package/dist/controller/manage/DeployManageApi.d.ts +1 -1
  32. package/dist/controller/manage/DeployManageApi.js +38 -34
  33. package/dist/controller/manage/DocLibManageApi.js +2 -2
  34. package/dist/controller/manage/DocManageApi.js +2 -2
  35. package/dist/controller/manage/FileManageApi.js +1 -1
  36. package/dist/controller/manage/LowCodeTplManageApi.js +2 -2
  37. package/dist/controller/manage/MenuManageApi.js +2 -2
  38. package/dist/controller/manage/ProxyApiMangeApi.js +2 -2
  39. package/dist/controller/manage/SuperAdminManageApi.d.ts +2 -2
  40. package/dist/controller/manage/SuperAdminManageApi.js +12 -8
  41. package/dist/controller/manage/SysConfigMangeApi.d.ts +1 -1
  42. package/dist/controller/manage/SysConfigMangeApi.js +8 -6
  43. package/dist/controller/manage/SystemInfoManageApi.d.ts +1 -1
  44. package/dist/controller/manage/SystemInfoManageApi.js +7 -1
  45. package/dist/controller/manage/UserAccountManageApi.d.ts +2 -2
  46. package/dist/controller/manage/UserAccountManageApi.js +7 -2
  47. package/dist/controller/manage/WorkbenchMangeApi.js +3 -3
  48. package/dist/controller/myinfo/AuthController.d.ts +0 -4
  49. package/dist/controller/myinfo/AuthController.js +1 -54
  50. package/dist/controller/render/AppRenderController.js +12 -5
  51. package/dist/controller/test.controller.d.ts +1 -1
  52. package/dist/controller/test.controller.js +5 -5
  53. package/dist/index.d.ts +35 -4
  54. package/dist/index.js +35 -4
  55. package/dist/libs/crud-pro/CrudPro.d.ts +1 -0
  56. package/dist/libs/crud-pro/CrudPro.js +5 -0
  57. package/dist/libs/crud-pro/defaultConfigs.js +2 -0
  58. package/dist/libs/crud-pro/interfaces.d.ts +7 -1
  59. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +12 -5
  60. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +8 -1
  61. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +8 -0
  62. package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +1 -1
  63. package/dist/libs/crud-pro/models/ResModel.d.ts +16 -0
  64. package/dist/libs/crud-pro/models/ResModel.js +2 -0
  65. package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +1 -1
  66. package/dist/libs/crud-pro/models/TransactionSqlServer.js +1 -1
  67. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +1 -0
  68. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +27 -15
  69. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +17 -19
  70. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +1 -1
  71. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +10 -12
  72. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +14 -23
  73. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +7 -6
  74. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +2 -6
  75. package/dist/libs/crud-pro/services/CrudProServiceBase.js +15 -3
  76. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +1 -0
  77. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +32 -7
  78. package/dist/libs/crud-pro/sql.txt +120 -120
  79. package/dist/libs/crud-pro/utils/DatabaseName.js +24 -3
  80. package/dist/libs/crud-pro/utils/MixinUtils.js +1 -1
  81. package/dist/libs/crud-pro/utils/ValidateUtils.js +1 -1
  82. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +2 -2
  83. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -0
  84. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -0
  85. package/dist/libs/global-config/global-config.d.ts +45 -0
  86. package/dist/libs/global-config/global-config.js +33 -0
  87. package/dist/libs/utils/errorToString.d.ts +2 -0
  88. package/dist/libs/utils/errorToString.js +57 -0
  89. package/dist/libs/utils/fatcms-request.js +2 -2
  90. package/dist/libs/utils/functions.d.ts +2 -1
  91. package/dist/libs/utils/functions.js +6 -1
  92. package/dist/middleware/forbidden.middleware.js +4 -20
  93. package/dist/middleware/global.middleware.js +30 -10
  94. package/dist/middleware/permission.middleware.js +1 -1
  95. package/dist/models/AsyncTaskModel.d.ts +74 -0
  96. package/dist/models/AsyncTaskModel.js +31 -0
  97. package/dist/models/RedisKeys.d.ts +14 -0
  98. package/dist/models/RedisKeys.js +17 -0
  99. package/dist/models/SystemEntities.d.ts +8 -1
  100. package/dist/models/SystemEntities.js +7 -0
  101. package/dist/models/SystemTables.d.ts +1 -3
  102. package/dist/models/SystemTables.js +2 -4
  103. package/dist/models/bizmodels.d.ts +28 -0
  104. package/dist/models/bizmodels.js +6 -1
  105. package/dist/schedule/anonymousContext.d.ts +14 -0
  106. package/dist/schedule/anonymousContext.js +59 -0
  107. package/dist/schedule/index.d.ts +4 -3
  108. package/dist/schedule/index.js +8 -67
  109. package/dist/schedule/runSchedule.d.ts +12 -0
  110. package/dist/schedule/runSchedule.js +68 -0
  111. package/dist/schedule/scheduleNames.d.ts +13 -0
  112. package/dist/schedule/scheduleNames.js +17 -0
  113. package/dist/service/AuthService.js +8 -5
  114. package/dist/service/EnumInfoService.js +9 -5
  115. package/dist/service/FileCenterService.js +13 -9
  116. package/dist/service/SysConfigService.d.ts +1 -1
  117. package/dist/service/SysConfigService.js +4 -2
  118. package/dist/service/UserAccountService.js +10 -6
  119. package/dist/service/UserSessionService.d.ts +21 -0
  120. package/dist/service/UserSessionService.js +73 -2
  121. package/dist/service/VisitStatService.d.ts +1 -1
  122. package/dist/service/VisitStatService.js +20 -27
  123. package/dist/service/WorkbenchService.d.ts +33 -0
  124. package/dist/service/WorkbenchService.js +70 -12
  125. package/dist/service/anyapi/AnyApiSandboxService.js +12 -12
  126. package/dist/service/anyapi/AnyApiService.js +4 -2
  127. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +50 -0
  128. package/dist/service/asyncTask/AsyncTaskRunnerService.js +287 -0
  129. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -0
  130. package/dist/service/asyncTask/AsyncTaskService.js +34 -0
  131. package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -0
  132. package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -0
  133. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -0
  134. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -0
  135. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -0
  136. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +139 -0
  137. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -0
  138. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +121 -0
  139. package/dist/service/base/BaseService.d.ts +12 -0
  140. package/dist/service/base/BaseService.js +22 -0
  141. package/dist/service/base/RedisCacheService.d.ts +7 -0
  142. package/dist/service/base/RedisCacheService.js +7 -0
  143. package/dist/service/crudstd/CrudStdService.d.ts +8 -1
  144. package/dist/service/crudstd/CrudStdService.js +63 -6
  145. package/dist/service/curd/CrudProQuick.d.ts +44 -0
  146. package/dist/service/curd/CrudProQuick.js +147 -0
  147. package/dist/service/curd/CurdMixByAccountService.d.ts +4 -4
  148. package/dist/service/curd/CurdMixByAccountService.js +12 -6
  149. package/dist/service/curd/CurdMixByDictService.d.ts +4 -4
  150. package/dist/service/curd/CurdMixByDictService.js +10 -7
  151. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +13 -4
  152. package/dist/service/curd/CurdMixByLinkToCustomService.js +73 -24
  153. package/dist/service/curd/CurdMixBySysConfigService.d.ts +3 -3
  154. package/dist/service/curd/CurdMixBySysConfigService.js +4 -2
  155. package/dist/service/curd/CurdMixByWorkbenchService.d.ts +3 -3
  156. package/dist/service/curd/CurdMixByWorkbenchService.js +4 -2
  157. package/dist/service/curd/CurdMixService.d.ts +13 -3
  158. package/dist/service/curd/CurdMixService.js +26 -2
  159. package/dist/service/curd/CurdMixUtils.d.ts +27 -4
  160. package/dist/service/curd/CurdMixUtils.js +115 -41
  161. package/dist/service/curd/CurdProService.d.ts +3 -10
  162. package/dist/service/curd/CurdProService.js +36 -148
  163. package/dist/service/curd/fixCfgModel.d.ts +3 -0
  164. package/dist/service/curd/fixCfgModel.js +107 -0
  165. package/dist/service/proxyapi/ProxyApiLoadService.js +7 -4
  166. package/dist/service/proxyapi/ProxyApiService.js +28 -7
  167. package/dist/views/404_app.html +31 -31
  168. package/dist/views/404_workbench.html +34 -34
  169. package/package.json +25 -24
  170. package/tsconfig.json +32 -0
  171. package/dist/controller/medstatistic/MedAdminController.d.ts +0 -35
  172. package/dist/controller/medstatistic/MedAdminController.js +0 -205
  173. package/dist/controller/medstatistic/MedClientController.d.ts +0 -28
  174. package/dist/controller/medstatistic/MedClientController.js +0 -188
  175. package/dist/controller/medstatistic/MedMessageService.d.ts +0 -19
  176. package/dist/controller/medstatistic/MedMessageService.js +0 -95
  177. package/dist/controller/medstatistic/MedScoreService.d.ts +0 -21
  178. package/dist/controller/medstatistic/MedScoreService.js +0 -107
  179. package/dist/controller/medstatistic/constants.d.ts +0 -32
  180. package/dist/controller/medstatistic/constants.js +0 -43
  181. package/src/config/config.default.ts +0 -172
  182. package/src/config/seed/aeskey.txt +0 -1
  183. package/src/config/utils.ts +0 -23
  184. package/src/configuration.ts +0 -83
  185. package/src/controller/base/BaseApiController.ts +0 -145
  186. package/src/controller/gateway/AnyApiGatewayController.ts +0 -33
  187. package/src/controller/gateway/CrudMtdGatewayController.ts +0 -107
  188. package/src/controller/gateway/CrudStdGatewayController.ts +0 -101
  189. package/src/controller/gateway/DocGatewayController.ts +0 -165
  190. package/src/controller/gateway/FileController.ts +0 -110
  191. package/src/controller/gateway/ProxyApiGatewayController.ts +0 -47
  192. package/src/controller/gateway/PublicApiController.ts +0 -145
  193. package/src/controller/gateway/StaticController.ts +0 -328
  194. package/src/controller/helpers.controller.ts +0 -161
  195. package/src/controller/home.controller.ts +0 -71
  196. package/src/controller/manage/AnyApiMangeApi.ts +0 -66
  197. package/src/controller/manage/AppLogMangeApi.ts +0 -53
  198. package/src/controller/manage/AppMangeApi.ts +0 -53
  199. package/src/controller/manage/AppPageMangeApi.ts +0 -52
  200. package/src/controller/manage/AppSchemaHistoryApi.ts +0 -49
  201. package/src/controller/manage/CrudMethodsMangeApi.ts +0 -49
  202. package/src/controller/manage/CrudStandardDesignApi.ts +0 -353
  203. package/src/controller/manage/DataDictManageApi.ts +0 -78
  204. package/src/controller/manage/DeployManageApi.ts +0 -179
  205. package/src/controller/manage/DocLibManageApi.ts +0 -69
  206. package/src/controller/manage/DocManageApi.ts +0 -99
  207. package/src/controller/manage/FileManageApi.ts +0 -45
  208. package/src/controller/manage/LowCodeTplManageApi.ts +0 -52
  209. package/src/controller/manage/MenuManageApi.ts +0 -63
  210. package/src/controller/manage/ProxyApiMangeApi.ts +0 -52
  211. package/src/controller/manage/SuperAdminManageApi.ts +0 -138
  212. package/src/controller/manage/SysConfigMangeApi.ts +0 -95
  213. package/src/controller/manage/SystemInfoManageApi.ts +0 -48
  214. package/src/controller/manage/UserAccountManageApi.ts +0 -88
  215. package/src/controller/manage/WorkbenchMangeApi.ts +0 -72
  216. package/src/controller/medstatistic/MedAdminController.ts +0 -221
  217. package/src/controller/medstatistic/MedClientController.ts +0 -188
  218. package/src/controller/medstatistic/MedMessageService.ts +0 -89
  219. package/src/controller/medstatistic/MedScoreService.ts +0 -108
  220. package/src/controller/medstatistic/constants.ts +0 -63
  221. package/src/controller/myinfo/AuthController.ts +0 -174
  222. package/src/controller/myinfo/MyInfoController.ts +0 -32
  223. package/src/controller/render/AppRenderController.ts +0 -76
  224. package/src/controller/test.controller.ts +0 -37
  225. package/src/filter/default.filter.ts +0 -13
  226. package/src/filter/notfound.filter.ts +0 -10
  227. package/src/index.ts +0 -71
  228. package/src/interface.ts +0 -31
  229. package/src/libs/crud-pro/CrudPro.ts +0 -158
  230. package/src/libs/crud-pro/defaultConfigs.ts +0 -13
  231. package/src/libs/crud-pro/exceptions.ts +0 -124
  232. package/src/libs/crud-pro/interfaces.ts +0 -183
  233. package/src/libs/crud-pro/models/ExecuteContext.ts +0 -111
  234. package/src/libs/crud-pro/models/ExecuteContextFunc.ts +0 -86
  235. package/src/libs/crud-pro/models/FuncContext.ts +0 -21
  236. package/src/libs/crud-pro/models/RequestCfgModel.ts +0 -141
  237. package/src/libs/crud-pro/models/RequestModel.ts +0 -141
  238. package/src/libs/crud-pro/models/ServiceHub.ts +0 -32
  239. package/src/libs/crud-pro/models/SqlCfgModel.ts +0 -52
  240. package/src/libs/crud-pro/models/SqlSegArg.ts +0 -13
  241. package/src/libs/crud-pro/models/Transaction.ts +0 -74
  242. package/src/libs/crud-pro/models/TransactionMySQL.ts +0 -79
  243. package/src/libs/crud-pro/models/TransactionPostgres.ts +0 -91
  244. package/src/libs/crud-pro/models/TransactionSqlServer.ts +0 -107
  245. package/src/libs/crud-pro/models/keys.ts +0 -159
  246. package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +0 -75
  247. package/src/libs/crud-pro/services/CrudProExecuteFuncService.ts +0 -128
  248. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +0 -279
  249. package/src/libs/crud-pro/services/CrudProFieldUpdateService.ts +0 -60
  250. package/src/libs/crud-pro/services/CrudProFieldValidateService.ts +0 -180
  251. package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +0 -373
  252. package/src/libs/crud-pro/services/CrudProGenSqlService.ts +0 -202
  253. package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +0 -397
  254. package/src/libs/crud-pro/services/CrudProServiceBase.ts +0 -98
  255. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +0 -59
  256. package/src/libs/crud-pro/services/CurdProServiceHub.ts +0 -92
  257. package/src/libs/crud-pro/sql.txt +0 -120
  258. package/src/libs/crud-pro/utils/CompareUtils.ts +0 -23
  259. package/src/libs/crud-pro/utils/DatabaseName.ts +0 -40
  260. package/src/libs/crud-pro/utils/DateTimeUtils.ts +0 -20
  261. package/src/libs/crud-pro/utils/MemoryRefreshCache.ts +0 -64
  262. package/src/libs/crud-pro/utils/MessageParseUtils.ts +0 -33
  263. package/src/libs/crud-pro/utils/MixinUtils.ts +0 -285
  264. package/src/libs/crud-pro/utils/ModelUtils.ts +0 -55
  265. package/src/libs/crud-pro/utils/MultiKeyMap.ts +0 -72
  266. package/src/libs/crud-pro/utils/SqlFuncUtils.ts +0 -29
  267. package/src/libs/crud-pro/utils/TypeUtils.ts +0 -188
  268. package/src/libs/crud-pro/utils/ValidateUtils.ts +0 -167
  269. package/src/libs/crud-pro/utils/pool/MySQLUtils.ts +0 -20
  270. package/src/libs/crud-pro/utils/pool/PostgresUtils.ts +0 -22
  271. package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +0 -22
  272. package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +0 -26
  273. package/src/libs/crud-pro/utils/sqlConvert/convertMsSql.ts +0 -11
  274. package/src/libs/crud-pro/utils/sqlConvert/convertPgSql.ts +0 -11
  275. package/src/libs/crud-pro/utils/sqlConvert/convertPgType.ts +0 -129
  276. package/src/libs/utils/common-dto.ts +0 -52
  277. package/src/libs/utils/crypto-utils.ts +0 -52
  278. package/src/libs/utils/fatcms-request.ts +0 -115
  279. package/src/libs/utils/functions.ts +0 -67
  280. package/src/libs/utils/ordernum-utils.ts +0 -18
  281. package/src/libs/utils/parseConfig.ts +0 -62
  282. package/src/libs/utils/parseCreateSql.ts +0 -91
  283. package/src/libs/utils/render-utils.ts +0 -184
  284. package/src/middleware/forbidden.middleware.ts +0 -71
  285. package/src/middleware/global.middleware.ts +0 -278
  286. package/src/middleware/permission.middleware.ts +0 -81
  287. package/src/middleware/tx.middleware.ts +0 -30
  288. package/src/models/SystemEntities.ts +0 -115
  289. package/src/models/SystemPerm.ts +0 -105
  290. package/src/models/SystemTables.ts +0 -30
  291. package/src/models/bizmodels.ts +0 -89
  292. package/src/models/contextLogger.ts +0 -132
  293. package/src/models/devops.ts +0 -17
  294. package/src/models/userSession.ts +0 -216
  295. package/src/schedule/index.ts +0 -73
  296. package/src/service/AuthService.ts +0 -270
  297. package/src/service/EnumInfoService.ts +0 -129
  298. package/src/service/FileCenterService.ts +0 -394
  299. package/src/service/SysConfigService.ts +0 -34
  300. package/src/service/UserAccountService.ts +0 -100
  301. package/src/service/UserSessionService.ts +0 -81
  302. package/src/service/VisitStatService.ts +0 -179
  303. package/src/service/WorkbenchService.ts +0 -160
  304. package/src/service/anyapi/AnyApiSandboxService.ts +0 -121
  305. package/src/service/anyapi/AnyApiService.ts +0 -184
  306. package/src/service/base/ApiBaseService.ts +0 -42
  307. package/src/service/base/ApiRateLimiter.ts +0 -59
  308. package/src/service/base/BaseService.ts +0 -74
  309. package/src/service/base/RedisCacheService.ts +0 -38
  310. package/src/service/crudstd/CrudStdActionService.ts +0 -27
  311. package/src/service/crudstd/CrudStdConstant.ts +0 -62
  312. package/src/service/crudstd/CrudStdRelationService.ts +0 -78
  313. package/src/service/crudstd/CrudStdService.ts +0 -188
  314. package/src/service/curd/CurdMixByAccountService.ts +0 -83
  315. package/src/service/curd/CurdMixByDictService.ts +0 -113
  316. package/src/service/curd/CurdMixByLinkToCustomService.ts +0 -167
  317. package/src/service/curd/CurdMixBySysConfigService.ts +0 -78
  318. package/src/service/curd/CurdMixByWorkbenchService.ts +0 -68
  319. package/src/service/curd/CurdMixService.ts +0 -65
  320. package/src/service/curd/CurdMixUtils.ts +0 -248
  321. package/src/service/curd/CurdProService.ts +0 -379
  322. package/src/service/proxyapi/ProxyApiLoadService.ts +0 -165
  323. package/src/service/proxyapi/ProxyApiService.ts +0 -262
  324. package/src/service/proxyapi/ProxyApiUtils.ts +0 -32
  325. package/src/service/proxyapi/RouteHandler.ts +0 -8
  326. package/src/service/proxyapi/RouteTrie.ts +0 -74
  327. package/src/service/proxyapi/WeightedRandom.ts +0 -37
  328. package/src/service/proxyapi/WeightedRoundRobin.ts +0 -44
  329. package/src/views/404_app.html +0 -31
  330. package/src/views/404_workbench.html +0 -34
  331. package/src/views/static/favicon.ico +0 -0
@@ -19,7 +19,7 @@ function checkPermission(codeList) {
19
19
  let message;
20
20
  const loginName = userSession.getSessionInfo().loginName;
21
21
  if (loginName === 'devopsviewer') {
22
- message = "开放体验账号不支持这些操作:新增、修改、删除、上传";
22
+ message = '开放体验账号不支持这些操作:新增、修改、删除、上传';
23
23
  }
24
24
  else {
25
25
  message = '缺少权限: ' + JSON.stringify(codeList);
@@ -0,0 +1,74 @@
1
+ export interface SysAsyncTaskEntity {
2
+ id: number;
3
+ task_uuid: string;
4
+ task_name: string;
5
+ task_description: string | null;
6
+ task_type: string;
7
+ task_status: SysAsyncTaskStatus;
8
+ input_params: any;
9
+ output_result: any | null;
10
+ input_file_path: string | null;
11
+ input_file_format: SysAsyncFileFormat | null;
12
+ input_file_size: number | null;
13
+ output_file_path: string | null;
14
+ output_file_format: SysAsyncFileFormat | null;
15
+ output_file_size: number | null;
16
+ input_total_records: number | null;
17
+ output_total_records: number | null;
18
+ processed_records: number;
19
+ progress: number;
20
+ error_message: string | null;
21
+ error_records: any | null;
22
+ created_by: string | null;
23
+ priority: number;
24
+ retry_count: number;
25
+ max_retries: number;
26
+ parent_task_id: number | null;
27
+ created_at: Date | string | null;
28
+ started_at: Date | string | null;
29
+ updated_at: Date | string | null;
30
+ expired_at: Date | string | null;
31
+ completed_at: Date | string | null;
32
+ created_user_session: string;
33
+ }
34
+ export declare type SysAsyncTaskPartial = Partial<SysAsyncTaskEntity>;
35
+ export declare enum SysAsyncTaskStatus {
36
+ PENDING = "PENDING",
37
+ RUNNING = "RUNNING",
38
+ SUCCEEDED = "SUCCEEDED",
39
+ PART_SUCCEEDED = "PART_SUCCEEDED",
40
+ FAILED = "FAILED",
41
+ CANCELLED = "CANCELLED",
42
+ PAUSED = "PAUSED"
43
+ }
44
+ /**
45
+ * 导出的文件名后缀
46
+ */
47
+ export declare enum SysAsyncFileFormat {
48
+ XLSX = "xlsx",
49
+ CSV = "csv",
50
+ JSON = "json",
51
+ PDF = "pdf",
52
+ TXT = "txt",
53
+ XML = "xml",
54
+ ZIP = "zip",
55
+ HTML = "html",
56
+ PNG = "png",
57
+ JPG = "jpg"
58
+ }
59
+ export interface ISysAsyncTaskHandler {
60
+ execute(asyncTaskContext: SysAsyncTaskContext): Promise<void>;
61
+ }
62
+ export interface SysAsyncTaskContext {
63
+ task: SysAsyncTaskEntity;
64
+ updateTaskStatus: (sysAsyncTaskPartial: SysAsyncTaskPartial) => any;
65
+ }
66
+ export interface SysAsyncTaskHandlerConfig {
67
+ taskType: string;
68
+ handler: ISysAsyncTaskHandler;
69
+ maxRetries?: number;
70
+ priority?: number;
71
+ expireSeconds?: number;
72
+ }
73
+ export declare const HEADER_KEY_RUN_BY_ASYNC_TASK_ID = "run-by-async-task-id";
74
+ export declare const HEADER_KEY_RUN_BY_ASYNC_TASK_WORKBENCH_CODE = "run-by-async-task-workbenchcode";
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HEADER_KEY_RUN_BY_ASYNC_TASK_WORKBENCH_CODE = exports.HEADER_KEY_RUN_BY_ASYNC_TASK_ID = exports.SysAsyncFileFormat = exports.SysAsyncTaskStatus = void 0;
4
+ var SysAsyncTaskStatus;
5
+ (function (SysAsyncTaskStatus) {
6
+ SysAsyncTaskStatus["PENDING"] = "PENDING";
7
+ SysAsyncTaskStatus["RUNNING"] = "RUNNING";
8
+ SysAsyncTaskStatus["SUCCEEDED"] = "SUCCEEDED";
9
+ SysAsyncTaskStatus["PART_SUCCEEDED"] = "PART_SUCCEEDED";
10
+ SysAsyncTaskStatus["FAILED"] = "FAILED";
11
+ SysAsyncTaskStatus["CANCELLED"] = "CANCELLED";
12
+ SysAsyncTaskStatus["PAUSED"] = "PAUSED";
13
+ })(SysAsyncTaskStatus = exports.SysAsyncTaskStatus || (exports.SysAsyncTaskStatus = {}));
14
+ /**
15
+ * 导出的文件名后缀
16
+ */
17
+ var SysAsyncFileFormat;
18
+ (function (SysAsyncFileFormat) {
19
+ SysAsyncFileFormat["XLSX"] = "xlsx";
20
+ SysAsyncFileFormat["CSV"] = "csv";
21
+ SysAsyncFileFormat["JSON"] = "json";
22
+ SysAsyncFileFormat["PDF"] = "pdf";
23
+ SysAsyncFileFormat["TXT"] = "txt";
24
+ SysAsyncFileFormat["XML"] = "xml";
25
+ SysAsyncFileFormat["ZIP"] = "zip";
26
+ SysAsyncFileFormat["HTML"] = "html";
27
+ SysAsyncFileFormat["PNG"] = "png";
28
+ SysAsyncFileFormat["JPG"] = "jpg";
29
+ })(SysAsyncFileFormat = exports.SysAsyncFileFormat || (exports.SysAsyncFileFormat = {}));
30
+ exports.HEADER_KEY_RUN_BY_ASYNC_TASK_ID = 'run-by-async-task-id';
31
+ exports.HEADER_KEY_RUN_BY_ASYNC_TASK_WORKBENCH_CODE = 'run-by-async-task-workbenchcode';
@@ -0,0 +1,14 @@
1
+ declare const RedisKeys: {
2
+ ASYNC_TASK_LOCK: string;
3
+ ASYNC_TASK_TIMEOUT_LOCK: string;
4
+ ASYNC_TASK_UPDATE_TIME: string;
5
+ USER_SESSION_PREFIX: string;
6
+ USER_SESSION_ASYNC_TASK_ID_PREFIX: string;
7
+ USER_ACTION_TIME_LIMIT_PREFIX: string;
8
+ VISIT_STAT_LOCK_PREFIX: string;
9
+ VISIT_STAT_DATE_PREFIX: string;
10
+ LINK_TO_CUSTOM_PREFIX: string;
11
+ CURD_MIX_BY_DICT_PREFIX: string;
12
+ QUERY_ENUM_INFO_PREFIX: string;
13
+ };
14
+ export { RedisKeys };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RedisKeys = void 0;
4
+ const RedisKeys = {
5
+ ASYNC_TASK_LOCK: 'FatAsyncTaskLock',
6
+ ASYNC_TASK_TIMEOUT_LOCK: 'FatAsyncTaskTimeoutLock',
7
+ ASYNC_TASK_UPDATE_TIME: 'FatAsyncTaskUpdateTime',
8
+ USER_SESSION_PREFIX: 'FatUserSession_',
9
+ USER_SESSION_ASYNC_TASK_ID_PREFIX: 'FatUserSessionAsyncTaskId_',
10
+ USER_ACTION_TIME_LIMIT_PREFIX: 'FatUserActionTimeLimit_',
11
+ VISIT_STAT_LOCK_PREFIX: 'FatVsLock_',
12
+ VISIT_STAT_DATE_PREFIX: 'FatVsDate_',
13
+ LINK_TO_CUSTOM_PREFIX: 'FatLinkToCustom@@',
14
+ CURD_MIX_BY_DICT_PREFIX: 'FatCurdMixByDict@@',
15
+ QUERY_ENUM_INFO_PREFIX: 'FatQueryEnum@@',
16
+ };
17
+ exports.RedisKeys = RedisKeys;
@@ -61,13 +61,20 @@ export interface IUpstreamInfo {
61
61
  targetList: IUpstreamItem[];
62
62
  balanceStrategy: string;
63
63
  }
64
+ export declare enum ProxyUserContextEnum {
65
+ NO_PASS = 0,
66
+ BASIC_INFO = 1,
67
+ SESSION_INFO = 2
68
+ }
64
69
  export interface IProxyApiEntity extends IApiBaseEntity {
70
+ proxy_name: string;
71
+ proxy_code: string;
65
72
  path_prefix: string;
66
73
  upstream_code: string;
67
74
  timeout_ms: number;
68
75
  status: number;
69
76
  workbench_code_array: string;
70
- user_context: number;
77
+ user_context: ProxyUserContextEnum;
71
78
  pass_real_ip: number;
72
79
  change_origin: string;
73
80
  change_host: string;
@@ -1,2 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProxyUserContextEnum = void 0;
4
+ var ProxyUserContextEnum;
5
+ (function (ProxyUserContextEnum) {
6
+ ProxyUserContextEnum[ProxyUserContextEnum["NO_PASS"] = 0] = "NO_PASS";
7
+ ProxyUserContextEnum[ProxyUserContextEnum["BASIC_INFO"] = 1] = "BASIC_INFO";
8
+ ProxyUserContextEnum[ProxyUserContextEnum["SESSION_INFO"] = 2] = "SESSION_INFO";
9
+ })(ProxyUserContextEnum = exports.ProxyUserContextEnum || (exports.ProxyUserContextEnum = {}));
@@ -1,4 +1,3 @@
1
- import { SqlDbType } from "../libs/crud-pro/models/keys";
2
1
  export declare const SystemTables: {
3
2
  sys_workbench: string;
4
3
  sys_user_account: string;
@@ -21,7 +20,6 @@ export declare const SystemTables: {
21
20
  sys_anyapi: string;
22
21
  sys_proxyapi: string;
23
22
  sys_visit_stats: string;
23
+ sys_async_tasks: string;
24
24
  };
25
- export declare const SystemDbName = "fatcms";
26
- export declare const SystemDbType = SqlDbType.mysql;
27
25
  export declare const SystemDevOpsWorkbench = "devops";
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SystemDevOpsWorkbench = exports.SystemDbType = exports.SystemDbName = exports.SystemTables = void 0;
4
- const keys_1 = require("../libs/crud-pro/models/keys");
3
+ exports.SystemDevOpsWorkbench = exports.SystemTables = void 0;
5
4
  exports.SystemTables = {
6
5
  sys_workbench: 'sys_workbench',
7
6
  sys_user_account: 'sys_user_account',
@@ -24,7 +23,6 @@ exports.SystemTables = {
24
23
  sys_anyapi: 'sys_anyapi',
25
24
  sys_proxyapi: 'sys_proxyapi',
26
25
  sys_visit_stats: 'sys_visit_stats',
26
+ sys_async_tasks: 'sys_async_tasks',
27
27
  };
28
- exports.SystemDbName = 'fatcms';
29
- exports.SystemDbType = keys_1.SqlDbType.mysql;
30
28
  exports.SystemDevOpsWorkbench = 'devops';
@@ -24,6 +24,7 @@ export interface IStdCrudCfgObj {
24
24
  toolbarList?: any[];
25
25
  }
26
26
  export interface ICrudStdAppInfo {
27
+ app_code: string;
27
28
  stdCrudCfgObj?: IStdCrudCfgObj;
28
29
  actionsMap?: any;
29
30
  status: number;
@@ -67,3 +68,30 @@ export interface IVisitorExt extends IVisitor {
67
68
  accountType: string;
68
69
  }
69
70
  export declare const FILE_GET_TYPES: string[];
71
+ /**
72
+ * fat-design中的TablePro组件的查询参数
73
+ */
74
+ export interface ITableProQueryParams {
75
+ condition: any;
76
+ pageNo: number;
77
+ pageSize: number;
78
+ orderBy: string | any;
79
+ }
80
+ export declare enum StdCrudExportInputParamsAppType {
81
+ STD_CRUD = "STD_CRUD",
82
+ INNER_HTTP = "INNER_HTTP"
83
+ }
84
+ /**
85
+ * fat-design中的TablePro组件的查询参数
86
+ */
87
+ export interface IStdCrudExportInputParams {
88
+ appType: StdCrudExportInputParamsAppType;
89
+ appCode?: string;
90
+ innerHttpUrl?: string;
91
+ columns?: any[];
92
+ lastQueryParams: ITableProQueryParams;
93
+ selectedRowKeys: string[] | number[];
94
+ headers: any;
95
+ primaryKey: any;
96
+ pageSize: number;
97
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FILE_GET_TYPES = exports.CTX_WORKBENCH_CODE = exports.CTX_VISITOR_ACCOUNT_TYPE = exports.CTX_VISITOR_NICKNAME = exports.CTX_VISITOR_AVATAR = exports.CTX_VISITOR_ID = exports.PermRole = exports.PermFunc = exports.UploadCategoryType = exports.AccessType = void 0;
3
+ exports.StdCrudExportInputParamsAppType = exports.FILE_GET_TYPES = exports.CTX_WORKBENCH_CODE = exports.CTX_VISITOR_ACCOUNT_TYPE = exports.CTX_VISITOR_NICKNAME = exports.CTX_VISITOR_AVATAR = exports.CTX_VISITOR_ID = exports.PermRole = exports.PermFunc = exports.UploadCategoryType = exports.AccessType = void 0;
4
4
  var AccessType;
5
5
  (function (AccessType) {
6
6
  AccessType["owner"] = "owner";
@@ -32,3 +32,8 @@ exports.CTX_VISITOR_NICKNAME = 'visitor.nickName';
32
32
  exports.CTX_VISITOR_ACCOUNT_TYPE = 'visitor.accountType';
33
33
  exports.CTX_WORKBENCH_CODE = 'visitor.workbenchCode';
34
34
  exports.FILE_GET_TYPES = ['thumbnail', 'preview', 'download'];
35
+ var StdCrudExportInputParamsAppType;
36
+ (function (StdCrudExportInputParamsAppType) {
37
+ StdCrudExportInputParamsAppType["STD_CRUD"] = "STD_CRUD";
38
+ StdCrudExportInputParamsAppType["INNER_HTTP"] = "INNER_HTTP";
39
+ })(StdCrudExportInputParamsAppType = exports.StdCrudExportInputParamsAppType || (exports.StdCrudExportInputParamsAppType = {}));
@@ -0,0 +1,14 @@
1
+ import * as koa from '@midwayjs/koa';
2
+ export declare type RunServiceAtAnonymousContextRunner = (ctx: koa.IMidwayKoaContext) => any;
3
+ export interface RunServiceAtAnonymousContextRes {
4
+ result: any;
5
+ error: any;
6
+ }
7
+ declare class AnonymousContext {
8
+ private app;
9
+ setApp(app: koa.Application): void;
10
+ getApp(): koa.IMidwayKoaApplication;
11
+ runServiceAtAnonymousContext(runner: RunServiceAtAnonymousContextRunner): Promise<RunServiceAtAnonymousContextRes>;
12
+ }
13
+ declare const ANONYMOUS_CONTEXT: AnonymousContext;
14
+ export { ANONYMOUS_CONTEXT };
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ANONYMOUS_CONTEXT = void 0;
4
+ const contextLogger_1 = require("../models/contextLogger");
5
+ const Transaction_1 = require("../libs/crud-pro/models/Transaction");
6
+ const userSession_1 = require("../models/userSession");
7
+ const anonymousUserInfo = {
8
+ nickName: 'anonymous_user',
9
+ avatar: '',
10
+ roleCodes: [],
11
+ functionCodes: [],
12
+ loginName: 'anonymous_user',
13
+ sessionId: '',
14
+ accountId: '',
15
+ workbenchCode: '',
16
+ accountType: userSession_1.SYS_ACCOUNT_TYPE,
17
+ };
18
+ const anonymousWorkbenchInfo = {
19
+ id: 0,
20
+ workbench_code: 'anonymous_workbench',
21
+ workbench_name: 'anonymous_workbench',
22
+ workbench_domain: 'anonymous_workbench',
23
+ workbench_desc: 'anonymous_workbench',
24
+ html_content: 'anonymous_workbench',
25
+ status: 1,
26
+ workbench_type: 0,
27
+ };
28
+ class AnonymousContext {
29
+ setApp(app) {
30
+ this.app = app;
31
+ }
32
+ getApp() {
33
+ return this.app;
34
+ }
35
+ async runServiceAtAnonymousContext(runner) {
36
+ const app = this.app;
37
+ const ctx = app.createAnonymousContext();
38
+ ctx.app = app;
39
+ ctx.contextLogger = new contextLogger_1.ContextLogger(ctx);
40
+ ctx.transaction = new Transaction_1.Transaction();
41
+ ctx.userSession = new userSession_1.UserSessionInfo(anonymousUserInfo, true);
42
+ ctx.workbenchInfo = anonymousWorkbenchInfo;
43
+ let result = null;
44
+ let error = null;
45
+ try {
46
+ result = await runner(ctx);
47
+ }
48
+ catch (e) {
49
+ error = e;
50
+ ctx.logger.error('runServiceAtAnonymousContext error ', e);
51
+ }
52
+ finally {
53
+ await ctx.transaction.releaseTx();
54
+ }
55
+ return { result: result, error: error };
56
+ }
57
+ }
58
+ const ANONYMOUS_CONTEXT = new AnonymousContext();
59
+ exports.ANONYMOUS_CONTEXT = ANONYMOUS_CONTEXT;
@@ -1,3 +1,4 @@
1
- import * as koa from '@midwayjs/koa';
2
- declare function startSchedule(app: koa.Application, serviceList: string[]): Promise<void>;
3
- export { startSchedule };
1
+ import { SCHEDULE_QUEUE, runScheduleTaskOnce } from './runSchedule';
2
+ import { ANONYMOUS_CONTEXT } from './anonymousContext';
3
+ import { INNER_SCHEDULE_INTERVAL } from './scheduleNames';
4
+ export { INNER_SCHEDULE_INTERVAL, ANONYMOUS_CONTEXT, SCHEDULE_QUEUE, runScheduleTaskOnce };
@@ -1,69 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.startSchedule = void 0;
4
- const contextLogger_1 = require("../models/contextLogger");
5
- const Transaction_1 = require("../libs/crud-pro/models/Transaction");
6
- const userSession_1 = require("../models/userSession");
7
- const scheduleUserInfo = {
8
- nickName: 'schedule_user',
9
- avatar: '',
10
- roleCodes: [],
11
- functionCodes: [],
12
- loginName: 'schedule_user',
13
- sessionId: '',
14
- accountId: '',
15
- workbenchCode: '',
16
- accountType: userSession_1.SYS_ACCOUNT_TYPE,
17
- };
18
- const scheduleWorkbenchInfo = {
19
- id: 0,
20
- workbench_code: 'schedule_workbench',
21
- workbench_name: 'schedule_workbench',
22
- workbench_domain: 'schedule_workbench',
23
- workbench_desc: 'schedule_workbench',
24
- html_content: 'schedule_workbench',
25
- status: 1,
26
- workbench_type: 0,
27
- };
28
- async function runScheduleService(app, serviceName) {
29
- const ctx = app.createAnonymousContext();
30
- ctx.app = app;
31
- ctx.contextLogger = new contextLogger_1.ContextLogger(ctx);
32
- ctx.transaction = new Transaction_1.Transaction();
33
- ctx.userSession = new userSession_1.UserSessionInfo(scheduleUserInfo, true);
34
- ctx.workbenchInfo = scheduleWorkbenchInfo;
35
- try {
36
- const serviceObject = await ctx.requestContext.getAsync(serviceName);
37
- if (serviceObject && serviceObject.runBySchedule) {
38
- await serviceObject.runBySchedule();
39
- }
40
- else {
41
- ctx.logger.error(`runSchedule error , serviceName = ${serviceName}, 没有找到服务`);
42
- }
43
- }
44
- catch (e) {
45
- ctx.logger.error(`runSchedule error , serviceName = ${serviceName}`, e);
46
- }
47
- finally {
48
- await ctx.transaction.releaseTx();
49
- }
50
- }
51
- async function runSchedule(app, serviceList) {
52
- for (let i = 0; i < serviceList.length; i++) {
53
- const serviceName = serviceList[i];
54
- try {
55
- await runScheduleService(app, serviceName);
56
- }
57
- catch (e) {
58
- const ctx = app.createAnonymousContext();
59
- ctx.logger.error(`runSchedule error , serviceName = ${serviceName}`, e);
60
- }
61
- }
62
- }
63
- async function startSchedule(app, serviceList) {
64
- await runSchedule(app, serviceList);
65
- setInterval(() => {
66
- runSchedule(app, serviceList);
67
- }, 2 * 60 * 1000);
68
- }
69
- exports.startSchedule = startSchedule;
3
+ exports.runScheduleTaskOnce = exports.SCHEDULE_QUEUE = exports.ANONYMOUS_CONTEXT = exports.INNER_SCHEDULE_INTERVAL = void 0;
4
+ const runSchedule_1 = require("./runSchedule");
5
+ Object.defineProperty(exports, "SCHEDULE_QUEUE", { enumerable: true, get: function () { return runSchedule_1.SCHEDULE_QUEUE; } });
6
+ Object.defineProperty(exports, "runScheduleTaskOnce", { enumerable: true, get: function () { return runSchedule_1.runScheduleTaskOnce; } });
7
+ const anonymousContext_1 = require("./anonymousContext");
8
+ Object.defineProperty(exports, "ANONYMOUS_CONTEXT", { enumerable: true, get: function () { return anonymousContext_1.ANONYMOUS_CONTEXT; } });
9
+ const scheduleNames_1 = require("./scheduleNames");
10
+ Object.defineProperty(exports, "INNER_SCHEDULE_INTERVAL", { enumerable: true, get: function () { return scheduleNames_1.INNER_SCHEDULE_INTERVAL; } });
@@ -0,0 +1,12 @@
1
+ declare function runScheduleTaskOnce(serviceName: string): Promise<import("./anonymousContext").RunServiceAtAnonymousContextRes>;
2
+ declare class ScheduleQueue {
3
+ private scheduleIntervalMap;
4
+ setScheduleTask(serviceName: string, intervalTime: number): void;
5
+ removeScheduleTask(serviceName: string): void;
6
+ private isAlreadyTimeToExecute;
7
+ private runScheduleTaskOnceCheckTime;
8
+ private runScheduleServiceList;
9
+ startScheduleLoop(): Promise<void>;
10
+ }
11
+ declare const SCHEDULE_QUEUE: ScheduleQueue;
12
+ export { SCHEDULE_QUEUE, runScheduleTaskOnce };
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runScheduleTaskOnce = exports.SCHEDULE_QUEUE = void 0;
4
+ const anonymousContext_1 = require("./anonymousContext");
5
+ // 上次执行时间
6
+ const lastExecuteTimeMap = {};
7
+ const DEFAULT_SCHEDULE_INTERVAL = 2 * 60 * 1000;
8
+ async function runScheduleTaskOnce(serviceName) {
9
+ return await anonymousContext_1.ANONYMOUS_CONTEXT.runServiceAtAnonymousContext(async (ctx) => {
10
+ const serviceObject = await ctx.requestContext.getAsync(serviceName);
11
+ if (serviceObject && serviceObject.runBySchedule) {
12
+ await serviceObject.runBySchedule();
13
+ }
14
+ else {
15
+ ctx.logger.error(`runSchedule error , serviceName = ${serviceName}, 没有找到服务`);
16
+ }
17
+ });
18
+ }
19
+ exports.runScheduleTaskOnce = runScheduleTaskOnce;
20
+ class ScheduleQueue {
21
+ constructor() {
22
+ this.scheduleIntervalMap = new Map();
23
+ }
24
+ setScheduleTask(serviceName, intervalTime) {
25
+ this.scheduleIntervalMap.set(serviceName, intervalTime);
26
+ }
27
+ removeScheduleTask(serviceName) {
28
+ this.scheduleIntervalMap.delete(serviceName);
29
+ }
30
+ isAlreadyTimeToExecute(serviceName) {
31
+ if (!lastExecuteTimeMap[serviceName]) {
32
+ return true; // 可以执行
33
+ }
34
+ const intervalTime1 = this.scheduleIntervalMap.get(serviceName);
35
+ const intervalTime = intervalTime1 || DEFAULT_SCHEDULE_INTERVAL; // 时间间隔
36
+ const lastExecuteTime = lastExecuteTimeMap[serviceName];
37
+ return (Date.now() - lastExecuteTime) >= intervalTime;
38
+ }
39
+ async runScheduleTaskOnceCheckTime(serviceName) {
40
+ // 还没有到可以执行时间
41
+ if (!this.isAlreadyTimeToExecute(serviceName)) {
42
+ return;
43
+ }
44
+ lastExecuteTimeMap[serviceName] = Date.now();
45
+ await runScheduleTaskOnce(serviceName);
46
+ }
47
+ async runScheduleServiceList() {
48
+ const serviceListKeys = this.scheduleIntervalMap.keys();
49
+ const serviceList = [...serviceListKeys];
50
+ for (let i = 0; i < serviceList.length; i++) {
51
+ const serviceName = serviceList[i];
52
+ try {
53
+ await this.runScheduleTaskOnceCheckTime(serviceName);
54
+ }
55
+ catch (e) {
56
+ anonymousContext_1.ANONYMOUS_CONTEXT.getApp().getCoreLogger().error(`runSchedule error , serviceName = ${serviceName}`, e);
57
+ }
58
+ }
59
+ }
60
+ async startScheduleLoop() {
61
+ await this.runScheduleServiceList();
62
+ setInterval(() => {
63
+ this.runScheduleServiceList();
64
+ }, 1000); // 最少1秒执行一次
65
+ }
66
+ }
67
+ const SCHEDULE_QUEUE = new ScheduleQueue();
68
+ exports.SCHEDULE_QUEUE = SCHEDULE_QUEUE;
@@ -0,0 +1,13 @@
1
+ declare const INNER_SCHEDULE_INTERVAL: {
2
+ proxyApiLoadService: number;
3
+ workbenchService: number;
4
+ visitStatService: number;
5
+ asyncTaskRunnerService: number;
6
+ };
7
+ declare const INNER_SCHEDULE_NAMES: {
8
+ proxyApiLoadService: string;
9
+ workbenchService: string;
10
+ visitStatService: string;
11
+ asyncTaskRunnerService: string;
12
+ };
13
+ export { INNER_SCHEDULE_INTERVAL, INNER_SCHEDULE_NAMES };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.INNER_SCHEDULE_NAMES = exports.INNER_SCHEDULE_INTERVAL = void 0;
4
+ const INNER_SCHEDULE_INTERVAL = {
5
+ proxyApiLoadService: 2 * 60 * 1000,
6
+ workbenchService: 60 * 1000,
7
+ visitStatService: 10 * 60 * 1000,
8
+ asyncTaskRunnerService: 1000, // 1s可以执行
9
+ };
10
+ exports.INNER_SCHEDULE_INTERVAL = INNER_SCHEDULE_INTERVAL;
11
+ const INNER_SCHEDULE_NAMES = {
12
+ proxyApiLoadService: 'proxyApiLoadService',
13
+ workbenchService: 'workbenchService',
14
+ visitStatService: "visitStatService",
15
+ asyncTaskRunnerService: "asyncTaskRunnerService",
16
+ };
17
+ exports.INNER_SCHEDULE_NAMES = INNER_SCHEDULE_NAMES;
@@ -22,6 +22,7 @@ const UserSessionService_1 = require("./UserSessionService");
22
22
  const common_dto_1 = require("../libs/utils/common-dto");
23
23
  const fatcms_request_1 = require("../libs/utils/fatcms-request");
24
24
  const exceptions_1 = require("../libs/crud-pro/exceptions");
25
+ const global_config_1 = require("../libs/global-config/global-config");
25
26
  let AuthService = class AuthService {
26
27
  /**
27
28
  * 明文密码转unsaltedPwd密码
@@ -116,7 +117,7 @@ let AuthService = class AuthService {
116
117
  sessionId,
117
118
  accountId,
118
119
  workbenchCode,
119
- accountType: userSession_1.SYS_ACCOUNT_TYPE
120
+ accountType: userSession_1.SYS_ACCOUNT_TYPE,
120
121
  };
121
122
  await this.userSessionService.saveUserSession(sessionInfo);
122
123
  return {
@@ -171,14 +172,15 @@ let AuthService = class AuthService {
171
172
  * @private
172
173
  */
173
174
  async queryUserRoleCodeList(accountId) {
175
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
174
176
  const res = await this.curdMixService.executeCrudByCfg({
175
177
  condition: { account_id: accountId },
176
178
  limit: 10000,
177
179
  }, {
178
180
  sqlTable: SystemTables_1.SystemTables.sys_perm_user_role,
179
181
  sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
180
- sqlDatabase: SystemTables_1.SystemDbName,
181
- sqlDdType: SystemTables_1.SystemDbType,
182
+ sqlDatabase: SystemDbName,
183
+ sqlDbType: SystemDbType,
182
184
  });
183
185
  const rows = res.getResModel().rows || [];
184
186
  const roleCodes = rows.map(({ role_code }) => {
@@ -195,14 +197,15 @@ let AuthService = class AuthService {
195
197
  if (!roleCodeList || roleCodeList.length === 0) {
196
198
  return [];
197
199
  }
200
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
198
201
  const res = await this.curdMixService.executeCrudByCfg({
199
202
  condition: { role_code: { $in: roleCodeList } },
200
203
  limit: 10000,
201
204
  }, {
202
205
  sqlTable: SystemTables_1.SystemTables.sys_perm_role_func,
203
206
  sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
204
- sqlDatabase: SystemTables_1.SystemDbName,
205
- sqlDdType: SystemTables_1.SystemDbType,
207
+ sqlDatabase: SystemDbName,
208
+ sqlDbType: SystemDbType,
206
209
  });
207
210
  const rows = res.getResModel().rows || [];
208
211
  const funcCodes = rows.map(({ func_code }) => {
@@ -18,6 +18,8 @@ const SystemTables_1 = require("../models/SystemTables");
18
18
  const parseConfig_1 = require("../libs/utils/parseConfig");
19
19
  const RedisCacheService_1 = require("./base/RedisCacheService");
20
20
  const CurdMixByLinkToCustomService_1 = require("./curd/CurdMixByLinkToCustomService");
21
+ const global_config_1 = require("../libs/global-config/global-config");
22
+ const RedisKeys_1 = require("../models/RedisKeys");
21
23
  function filterEmpty(e) {
22
24
  return e.label && typeof e.value !== 'undefined';
23
25
  }
@@ -27,7 +29,7 @@ let EnumInfoService = class EnumInfoService {
27
29
  const result = [];
28
30
  for (let i = 0; i < codeList.length; i++) {
29
31
  const { code, type } = codeList[i];
30
- const cacheKey = `enums@@${type}@@${code}`;
32
+ const cacheKey = `${RedisKeys_1.RedisKeys.QUERY_ENUM_INFO_PREFIX}${type}@@${code}`;
31
33
  const emums = refreshCache ? null : await this.redisCacheService.getJsonObject(cacheKey);
32
34
  if (!Array.isArray(emums) || emums.length === 0) {
33
35
  let values;
@@ -70,13 +72,14 @@ let EnumInfoService = class EnumInfoService {
70
72
  });
71
73
  }
72
74
  async queryEnumInfoBySysCfgEnum(code) {
75
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
73
76
  const res1 = await this.curdProService.executeCrudByCfg({
74
77
  condition: { config_code: code },
75
78
  }, {
76
79
  sqlTable: SystemTables_1.SystemTables.sys_configs,
77
80
  sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
78
- sqlDatabase: SystemTables_1.SystemDbName,
79
- sqlDdType: SystemTables_1.SystemDbType,
81
+ sqlDatabase: SystemDbName,
82
+ sqlDbType: SystemDbType,
80
83
  });
81
84
  const obj = res1.getOneObj();
82
85
  if (!obj) {
@@ -86,13 +89,14 @@ let EnumInfoService = class EnumInfoService {
86
89
  return rows.map(e => ({ label: e.label, value: e.value, children: e.children })).filter(filterEmpty);
87
90
  }
88
91
  async queryEnumInfoItemByDict(code) {
92
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
89
93
  const res1 = await this.curdProService.executeCrudByCfg({
90
94
  condition: { dict_code: code },
91
95
  }, {
92
96
  sqlTable: SystemTables_1.SystemTables.sys_data_dict_item,
93
97
  sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
94
- sqlDatabase: SystemTables_1.SystemDbName,
95
- sqlDdType: SystemTables_1.SystemDbType,
98
+ sqlDatabase: SystemDbName,
99
+ sqlDbType: SystemDbType,
96
100
  });
97
101
  const obj = res1.getResRows();
98
102
  if (!obj) {