midway-fatcms 0.0.16 → 0.0.17

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 (119) hide show
  1. package/dist/config/config.default.js +5 -3
  2. package/dist/configuration.d.ts +0 -3
  3. package/dist/configuration.js +0 -19
  4. package/dist/controller/gateway/ProxyApiGatewayController.d.ts +0 -2
  5. package/dist/controller/gateway/ProxyApiGatewayController.js +0 -18
  6. package/dist/controller/helpers.controller.d.ts +4 -5
  7. package/dist/controller/helpers.controller.js +56 -14
  8. package/dist/controller/manage/AccountRoleManageApi.js +3 -5
  9. package/dist/controller/manage/AnyApiMangeApi.js +4 -3
  10. package/dist/controller/manage/AppMangeApi.js +3 -4
  11. package/dist/controller/manage/AppPageMangeApi.js +4 -3
  12. package/dist/controller/manage/CrudMethodsMangeApi.js +3 -4
  13. package/dist/controller/manage/DataDictManageApi.js +6 -7
  14. package/dist/controller/manage/DeployManageApi.js +4 -5
  15. package/dist/controller/manage/FlowConfigManageApi.js +3 -5
  16. package/dist/controller/manage/MenuManageApi.js +3 -4
  17. package/dist/controller/manage/ProxyApiMangeApi.js +3 -4
  18. package/dist/controller/manage/SysConfigMangeApi.js +3 -3
  19. package/dist/controller/manage/SystemInfoManageApi.js +3 -1
  20. package/dist/controller/manage/WorkbenchMangeApi.js +3 -4
  21. package/dist/index.d.ts +3 -0
  22. package/dist/index.js +3 -0
  23. package/dist/libs/crud-pro/models/TransactionSqlServer.js +27 -4
  24. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +5 -8
  25. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +25 -42
  26. package/dist/libs/crud-pro/utils/CrudMonitor.d.ts +0 -9
  27. package/dist/libs/crud-pro/utils/CrudMonitor.js +0 -21
  28. package/dist/libs/crud-pro/utils/pool/SqlServerUtils.js +26 -0
  29. package/dist/middleware/cacherefresh.middleware.d.ts +3 -46
  30. package/dist/middleware/cacherefresh.middleware.js +9 -67
  31. package/dist/models/CacheRefreshCategory.d.ts +1 -18
  32. package/dist/models/CacheRefreshCategory.js +0 -17
  33. package/dist/models/SystemEntities.d.ts +2 -0
  34. package/dist/models/bizmodels.d.ts +0 -8
  35. package/dist/models/bizmodels.js +0 -8
  36. package/dist/schedule/scheduleNames.d.ts +2 -0
  37. package/dist/schedule/scheduleNames.js +3 -1
  38. package/dist/service/SysAppService.d.ts +2 -5
  39. package/dist/service/SysAppService.js +15 -69
  40. package/dist/service/SysConfigService.d.ts +1 -6
  41. package/dist/service/SysConfigService.js +7 -46
  42. package/dist/service/SysDictDataService.d.ts +2 -5
  43. package/dist/service/SysDictDataService.js +13 -59
  44. package/dist/service/SysMenuService.d.ts +1 -4
  45. package/dist/service/SysMenuService.js +6 -42
  46. package/dist/service/WorkbenchService.d.ts +1 -5
  47. package/dist/service/WorkbenchService.js +10 -61
  48. package/dist/service/anyapi/AnyApiService.d.ts +1 -1
  49. package/dist/service/anyapi/AnyApiService.js +6 -16
  50. package/dist/service/base/bizmemcache/BizMemCacheService.d.ts +16 -0
  51. package/dist/service/base/bizmemcache/BizMemCacheService.js +239 -0
  52. package/dist/service/base/bizmemcache/BizMemCacheStore.d.ts +34 -0
  53. package/dist/service/base/bizmemcache/BizMemCacheStore.js +118 -0
  54. package/dist/service/base/bizmemcache/BizMemCacheTypes.d.ts +60 -0
  55. package/dist/service/base/bizmemcache/BizMemCacheTypes.js +18 -0
  56. package/dist/service/base/cache-refresh/CacheRefreshHub.d.ts +0 -22
  57. package/dist/service/base/cache-refresh/CacheRefreshHub.js +0 -22
  58. package/dist/service/base/cache-refresh/CacheRefreshHubScheduleService.d.ts +0 -6
  59. package/dist/service/base/cache-refresh/CacheRefreshHubScheduleService.js +0 -6
  60. package/dist/service/curd/CurdMixByDictService.d.ts +0 -4
  61. package/dist/service/curd/CurdMixByDictService.js +9 -55
  62. package/dist/service/curd/CurdMixBySysConfigService.d.ts +0 -5
  63. package/dist/service/curd/CurdMixBySysConfigService.js +9 -54
  64. package/dist/service/curd/CurdMixByWorkbenchService.d.ts +0 -1
  65. package/dist/service/curd/CurdMixByWorkbenchService.js +9 -36
  66. package/dist/service/curd/CurdProService.d.ts +0 -1
  67. package/dist/service/curd/CurdProService.js +0 -4
  68. package/dist/service/proxyapi/ProxyApiLoadService.d.ts +3 -8
  69. package/dist/service/proxyapi/ProxyApiLoadService.js +40 -68
  70. package/dist/service/proxyapi/ProxyApiService.d.ts +2 -0
  71. package/dist/service/proxyapi/ProxyApiService.js +32 -9
  72. package/dist/service/proxyapi/RouteTrie.d.ts +1 -7
  73. package/dist/service/proxyapi/RouteTrie.js +1 -17
  74. package/package.json +1 -1
  75. package/src/config/config.default.ts +4 -2
  76. package/src/configuration.ts +0 -23
  77. package/src/controller/gateway/ProxyApiGatewayController.ts +1 -9
  78. package/src/controller/helpers.controller.ts +66 -15
  79. package/src/controller/manage/AccountRoleManageApi.ts +3 -5
  80. package/src/controller/manage/AnyApiMangeApi.ts +4 -3
  81. package/src/controller/manage/AppMangeApi.ts +4 -5
  82. package/src/controller/manage/AppPageMangeApi.ts +4 -3
  83. package/src/controller/manage/CrudMethodsMangeApi.ts +4 -5
  84. package/src/controller/manage/DataDictManageApi.ts +7 -8
  85. package/src/controller/manage/DeployManageApi.ts +2 -3
  86. package/src/controller/manage/FlowConfigManageApi.ts +3 -5
  87. package/src/controller/manage/MenuManageApi.ts +4 -5
  88. package/src/controller/manage/ProxyApiMangeApi.ts +4 -5
  89. package/src/controller/manage/SysConfigMangeApi.ts +5 -5
  90. package/src/controller/manage/SystemInfoManageApi.ts +3 -1
  91. package/src/controller/manage/WorkbenchMangeApi.ts +4 -5
  92. package/src/index.ts +3 -0
  93. package/src/libs/crud-pro/models/TransactionSqlServer.ts +26 -4
  94. package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +25 -43
  95. package/src/libs/crud-pro/utils/CrudMonitor.ts +0 -23
  96. package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +31 -0
  97. package/src/middleware/cacherefresh.middleware.ts +10 -71
  98. package/src/models/CacheRefreshCategory.ts +0 -17
  99. package/src/models/SystemEntities.ts +2 -0
  100. package/src/models/bizmodels.ts +0 -8
  101. package/src/schedule/scheduleNames.ts +5 -3
  102. package/src/service/SysAppService.ts +13 -66
  103. package/src/service/SysConfigService.ts +6 -39
  104. package/src/service/SysDictDataService.ts +11 -56
  105. package/src/service/SysMenuService.ts +4 -37
  106. package/src/service/WorkbenchService.ts +10 -68
  107. package/src/service/anyapi/AnyApiService.ts +5 -17
  108. package/src/service/base/bizmemcache/BizMemCacheService.ts +288 -0
  109. package/src/service/base/bizmemcache/BizMemCacheStore.ts +158 -0
  110. package/src/service/base/bizmemcache/BizMemCacheTypes.ts +76 -0
  111. package/src/service/base/cache-refresh/CacheRefreshHub.ts +0 -22
  112. package/src/service/base/cache-refresh/CacheRefreshHubScheduleService.ts +0 -6
  113. package/src/service/curd/CurdMixByDictService.ts +10 -61
  114. package/src/service/curd/CurdMixBySysConfigService.ts +9 -62
  115. package/src/service/curd/CurdMixByWorkbenchService.ts +7 -32
  116. package/src/service/curd/CurdProService.ts +0 -6
  117. package/src/service/proxyapi/ProxyApiLoadService.ts +39 -77
  118. package/src/service/proxyapi/ProxyApiService.ts +45 -9
  119. package/src/service/proxyapi/RouteTrie.ts +1 -18
@@ -2,10 +2,12 @@ declare const INNER_SCHEDULE_INTERVAL: {
2
2
  cacheRefreshHubScheduleService: number;
3
3
  visitStatService: number;
4
4
  asyncTaskRunnerService: number;
5
+ bizMemCacheService: number;
5
6
  };
6
7
  declare const INNER_SCHEDULE_NAMES: {
7
8
  cacheRefreshHubScheduleService: string;
8
9
  visitStatService: string;
9
10
  asyncTaskRunnerService: string;
11
+ bizMemCacheService: string;
10
12
  };
11
13
  export { INNER_SCHEDULE_INTERVAL, INNER_SCHEDULE_NAMES };
@@ -4,12 +4,14 @@ exports.INNER_SCHEDULE_NAMES = exports.INNER_SCHEDULE_INTERVAL = void 0;
4
4
  const INNER_SCHEDULE_INTERVAL = {
5
5
  cacheRefreshHubScheduleService: 10 * 60 * 1000,
6
6
  visitStatService: 10 * 60 * 1000,
7
- asyncTaskRunnerService: 1000, // 1s可以执行
7
+ asyncTaskRunnerService: 1000,
8
+ bizMemCacheService: 1000,
8
9
  };
9
10
  exports.INNER_SCHEDULE_INTERVAL = INNER_SCHEDULE_INTERVAL;
10
11
  const INNER_SCHEDULE_NAMES = {
11
12
  cacheRefreshHubScheduleService: 'cacheRefreshHubScheduleService',
12
13
  visitStatService: 'visitStatService',
13
14
  asyncTaskRunnerService: 'asyncTaskRunnerService',
15
+ bizMemCacheService: 'bizMemCacheService',
14
16
  };
15
17
  exports.INNER_SCHEDULE_NAMES = INNER_SCHEDULE_NAMES;
@@ -1,15 +1,12 @@
1
1
  import { BaseService } from './base/BaseService';
2
2
  export declare class SysAppService extends BaseService {
3
- private curdProService;
4
- private cacheServiceFactory;
5
- private get sysAppDao();
6
- private get sysAppPageDao();
7
3
  getSysAppPageOne({ page_path, workbench_code }: {
8
4
  page_path: string;
9
5
  workbench_code: string;
10
6
  }): Promise<Record<string, any>>;
11
7
  getSysAppOne(app_code: string): Promise<Record<string, any>>;
12
8
  deletePrivateField(parsedAppInfo: any): any;
13
- removeSysAppOneCache(app_code: string): Promise<any>;
9
+ removeSysAppOneCache(app_code: string): Promise<void>;
10
+ removeSysAppPageCache(): Promise<void>;
14
11
  removeSysAppCacheByCondition({ condition }: any): Promise<void>;
15
12
  }
@@ -5,70 +5,31 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
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
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
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
- var SysAppService_1;
12
8
  Object.defineProperty(exports, "__esModule", { value: true });
13
9
  exports.SysAppService = void 0;
14
10
  const core_1 = require("@midwayjs/core");
15
- const SystemTables_1 = require("../models/SystemTables");
16
11
  const BaseService_1 = require("./base/BaseService");
17
- const CurdProService_1 = require("./curd/CurdProService");
18
- const global_config_1 = require("../libs/global-config/global-config");
19
- const CacheServiceFactory_1 = require("../service/base/cache/CacheServiceFactory");
20
- const bizmodels_1 = require("../models/bizmodels");
21
- let SysAppService = SysAppService_1 = class SysAppService extends BaseService_1.BaseService {
22
- get sysAppDao() {
23
- const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
24
- return this.curdProService.getQuickCrud({
25
- sqlDatabase: SystemDbName,
26
- sqlDbType: SystemDbType,
27
- sqlTable: SystemTables_1.SystemTables.sys_app,
28
- });
29
- }
30
- get sysAppPageDao() {
31
- const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
32
- return this.curdProService.getQuickCrud({
33
- sqlDatabase: SystemDbName,
34
- sqlDbType: SystemDbType,
35
- sqlTable: SystemTables_1.SystemTables.sys_app_page,
36
- });
37
- }
12
+ const BizMemCacheStore_1 = require("../service/base/bizmemcache/BizMemCacheStore");
13
+ const BizMemCacheTypes_1 = require("../service/base/bizmemcache/BizMemCacheTypes");
14
+ let SysAppService = class SysAppService extends BaseService_1.BaseService {
38
15
  async getSysAppPageOne({ page_path, workbench_code }) {
16
+ var _a;
39
17
  if (!page_path || typeof page_path !== 'string') {
40
18
  throw new Error('[getSysAppPageOne] page_path required');
41
19
  }
42
20
  if (!workbench_code || typeof workbench_code !== 'string') {
43
21
  throw new Error('[getSysAppPageOne] workbench_code required');
44
22
  }
45
- return await this.cacheServiceFactory.getJsonObjectCache({
46
- cacheKey: `${workbench_code}#${page_path}`,
47
- cacheName: bizmodels_1.CacheNameEnum.GetSysAppPageOne,
48
- getter: async (ctx) => {
49
- const service = await ctx.requestContext.getAsync(SysAppService_1);
50
- const res = await service.sysAppPageDao.findOne({
51
- condition: { page_path, workbench_code, deleted_at: 0 }
52
- });
53
- return res.row;
54
- },
55
- });
23
+ const sysAppPageMap = ((_a = BizMemCacheStore_1.bizMemCacheStore.getSysAppPage()) === null || _a === void 0 ? void 0 : _a.sysAppPageMap) || {};
24
+ return sysAppPageMap[(0, BizMemCacheTypes_1.buildSysAppPageCacheKey)(workbench_code, page_path)];
56
25
  }
57
26
  async getSysAppOne(app_code) {
27
+ var _a;
58
28
  if (!app_code || typeof app_code !== 'string') {
59
29
  throw new Error('[getSysAppOne] app_code required');
60
30
  }
61
- return await this.cacheServiceFactory.getJsonObjectCache({
62
- cacheKey: app_code,
63
- cacheName: bizmodels_1.CacheNameEnum.GetSysAppOne,
64
- getter: async (ctx) => {
65
- const service = await ctx.requestContext.getAsync(SysAppService_1);
66
- const res = await service.sysAppDao.findOne({
67
- condition: { app_code, deleted_at: 0 }
68
- });
69
- return res.row;
70
- },
71
- });
31
+ const sysAppCodeMap = ((_a = BizMemCacheStore_1.bizMemCacheStore.getSysApp()) === null || _a === void 0 ? void 0 : _a.sysAppCodeMap) || {};
32
+ return sysAppCodeMap[app_code];
72
33
  }
73
34
  deletePrivateField(parsedAppInfo) {
74
35
  if (!parsedAppInfo) {
@@ -89,34 +50,19 @@ let SysAppService = SysAppService_1 = class SysAppService extends BaseService_1.
89
50
  if (!app_code || typeof app_code !== 'string') {
90
51
  throw new Error('[removeSysAppOneCache] app_code required');
91
52
  }
92
- return await this.cacheServiceFactory.removeItemCache({
93
- cacheKey: app_code,
94
- cacheName: bizmodels_1.CacheNameEnum.GetSysAppOne
95
- });
53
+ await BizMemCacheStore_1.bizMemCacheStore.markDirty('sysAppCacheObj', this.redisService);
54
+ }
55
+ async removeSysAppPageCache() {
56
+ await BizMemCacheStore_1.bizMemCacheStore.markDirty('sysAppPageCacheObj', this.redisService);
96
57
  }
97
58
  async removeSysAppCacheByCondition({ condition }) {
98
59
  if (!condition) {
99
60
  throw new Error('[removeSysAppCacheByCondition] condition required');
100
61
  }
101
- const res = await this.sysAppDao.findList({
102
- condition: { ...condition, deleted_at: 0 },
103
- columns: ['id', 'app_code']
104
- });
105
- const appList = res.rows;
106
- for (const app of appList) {
107
- await this.removeSysAppOneCache(app.app_code);
108
- }
62
+ await BizMemCacheStore_1.bizMemCacheStore.markDirty('sysAppCacheObj', this.redisService);
109
63
  }
110
64
  };
111
- __decorate([
112
- (0, core_1.Inject)(),
113
- __metadata("design:type", CurdProService_1.CurdProService)
114
- ], SysAppService.prototype, "curdProService", void 0);
115
- __decorate([
116
- (0, core_1.Inject)(),
117
- __metadata("design:type", CacheServiceFactory_1.CacheServiceFactory)
118
- ], SysAppService.prototype, "cacheServiceFactory", void 0);
119
- SysAppService = SysAppService_1 = __decorate([
65
+ SysAppService = __decorate([
120
66
  (0, core_1.Provide)()
121
67
  ], SysAppService);
122
68
  exports.SysAppService = SysAppService;
@@ -1,10 +1,5 @@
1
- import { Context } from '@midwayjs/koa';
2
1
  import { BaseService } from './base/BaseService';
3
2
  export declare class SysConfigService extends BaseService {
4
- ctx: Context;
5
- private curdProService;
6
- private cacheServiceFactory;
7
- private get sysConfigsDao();
8
3
  getSysConfigOne(config_code: string): Promise<Record<string, any>>;
9
- removeSysConfigOneCache(config_code: string): Promise<any>;
4
+ removeSysConfigOneCache(config_code: string): Promise<void>;
10
5
  }
@@ -5,67 +5,28 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
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
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
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
- var SysConfigService_1;
12
8
  Object.defineProperty(exports, "__esModule", { value: true });
13
9
  exports.SysConfigService = void 0;
14
10
  const core_1 = require("@midwayjs/core");
15
- const SystemTables_1 = require("../models/SystemTables");
16
11
  const BaseService_1 = require("./base/BaseService");
17
- const CurdProService_1 = require("./curd/CurdProService");
18
- const global_config_1 = require("../libs/global-config/global-config");
19
- const bizmodels_1 = require("../models/bizmodels");
20
- const CacheServiceFactory_1 = require("../service/base/cache/CacheServiceFactory");
21
- let SysConfigService = SysConfigService_1 = class SysConfigService extends BaseService_1.BaseService {
22
- get sysConfigsDao() {
23
- const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
24
- return this.curdProService.getQuickCrud({
25
- sqlDatabase: SystemDbName,
26
- sqlDbType: SystemDbType,
27
- sqlTable: SystemTables_1.SystemTables.sys_configs,
28
- });
29
- }
12
+ const BizMemCacheStore_1 = require("../service/base/bizmemcache/BizMemCacheStore");
13
+ let SysConfigService = class SysConfigService extends BaseService_1.BaseService {
30
14
  async getSysConfigOne(config_code) {
15
+ var _a;
31
16
  if (!config_code || typeof config_code !== 'string') {
32
17
  throw new Error('[getSysAppOne] config_code required');
33
18
  }
34
- return await this.cacheServiceFactory.getJsonObjectCache({
35
- cacheKey: config_code,
36
- cacheName: bizmodels_1.CacheNameEnum.GetSysConfigOne,
37
- getter: async (ctx) => {
38
- const service = await ctx.requestContext.getAsync(SysConfigService_1);
39
- const res = await service.sysConfigsDao.findOne({
40
- condition: { config_code, deleted_at: 0 }
41
- });
42
- return res.row;
43
- },
44
- });
19
+ const sysConfigCodeMap = ((_a = BizMemCacheStore_1.bizMemCacheStore.getSysConfig()) === null || _a === void 0 ? void 0 : _a.sysConfigCodeMap) || {};
20
+ return sysConfigCodeMap[config_code];
45
21
  }
46
22
  async removeSysConfigOneCache(config_code) {
47
23
  if (!config_code || typeof config_code !== 'string') {
48
24
  throw new Error('[removeSysConfigOneCache] config_code required');
49
25
  }
50
- return await this.cacheServiceFactory.removeItemCache({
51
- cacheKey: config_code,
52
- cacheName: bizmodels_1.CacheNameEnum.GetSysConfigOne,
53
- });
26
+ await BizMemCacheStore_1.bizMemCacheStore.markDirty('sysConfgCacheObj', this.redisService);
54
27
  }
55
28
  };
56
- __decorate([
57
- (0, core_1.Inject)(),
58
- __metadata("design:type", Object)
59
- ], SysConfigService.prototype, "ctx", void 0);
60
- __decorate([
61
- (0, core_1.Inject)(),
62
- __metadata("design:type", CurdProService_1.CurdProService)
63
- ], SysConfigService.prototype, "curdProService", void 0);
64
- __decorate([
65
- (0, core_1.Inject)(),
66
- __metadata("design:type", CacheServiceFactory_1.CacheServiceFactory)
67
- ], SysConfigService.prototype, "cacheServiceFactory", void 0);
68
- SysConfigService = SysConfigService_1 = __decorate([
29
+ SysConfigService = __decorate([
69
30
  (0, core_1.Provide)()
70
31
  ], SysConfigService);
71
32
  exports.SysConfigService = SysConfigService;
@@ -1,9 +1,6 @@
1
1
  import { BaseService } from './base/BaseService';
2
2
  export declare class SysDictDataService extends BaseService {
3
- private curdProService;
4
- private cacheServiceFactory;
5
- private get sys_data_dict_item();
6
3
  getDataDictItemsByDictCode(dict_code: string): Promise<any[]>;
7
- removeCacheByDictItemId(dict_item_id: string): Promise<any>;
8
- removeCacheByDictCode(dict_code: string): Promise<any>;
4
+ removeCacheByDictItemId(dict_item_id: string): Promise<void>;
5
+ removeCacheByDictCode(dict_code: string): Promise<void>;
9
6
  }
@@ -5,80 +5,34 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
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
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
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
- var SysDictDataService_1;
12
8
  Object.defineProperty(exports, "__esModule", { value: true });
13
9
  exports.SysDictDataService = void 0;
14
10
  const core_1 = require("@midwayjs/core");
15
- const SystemTables_1 = require("../models/SystemTables");
16
11
  const BaseService_1 = require("./base/BaseService");
17
- const CurdProService_1 = require("./curd/CurdProService");
18
- const global_config_1 = require("../libs/global-config/global-config");
19
- const CacheServiceFactory_1 = require("../service/base/cache/CacheServiceFactory");
20
- const bizmodels_1 = require("../models/bizmodels");
21
- let SysDictDataService = SysDictDataService_1 = class SysDictDataService extends BaseService_1.BaseService {
22
- get sys_data_dict_item() {
23
- const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
24
- return this.curdProService.getQuickCrud({
25
- sqlDatabase: SystemDbName,
26
- sqlDbType: SystemDbType,
27
- sqlTable: SystemTables_1.SystemTables.sys_data_dict_item,
28
- });
29
- }
30
- // private get sys_data_dict(){
31
- // const { SystemDbName, SystemDbType } = GLOBAL_STATIC_CONFIG.getConfig();
32
- // return this.curdProService.getQuickCrud({
33
- // sqlDatabase: SystemDbName,
34
- // sqlDbType: SystemDbType,
35
- // sqlTable: SystemTables.sys_data_dict,
36
- // })
37
- // }
12
+ const BizMemCacheStore_1 = require("../service/base/bizmemcache/BizMemCacheStore");
13
+ let SysDictDataService = class SysDictDataService extends BaseService_1.BaseService {
38
14
  async getDataDictItemsByDictCode(dict_code) {
15
+ var _a;
39
16
  if (!dict_code || typeof dict_code !== 'string') {
40
- throw new Error('[getDataDictItemsByDictCode] page_path required');
17
+ throw new Error('[getDataDictItemsByDictCode] dict_code required');
41
18
  }
42
- return await this.cacheServiceFactory.getJsonObjectCache({
43
- cacheKey: dict_code,
44
- cacheName: bizmodels_1.CacheNameEnum.GetDataDictItemsByDictCode,
45
- getter: async (ctx) => {
46
- const service = await ctx.requestContext.getAsync(SysDictDataService_1);
47
- const res = await service.sys_data_dict_item.findList({
48
- condition: { dict_code, status: 1, deleted_at: 0 }
49
- });
50
- return res.rows;
51
- },
52
- });
19
+ const dictCodeMap = ((_a = BizMemCacheStore_1.bizMemCacheStore.getDataDictItem()) === null || _a === void 0 ? void 0 : _a.dictCodeMap) || {};
20
+ return dictCodeMap[dict_code] || [];
53
21
  }
54
22
  async removeCacheByDictItemId(dict_item_id) {
55
- const res = await this.sys_data_dict_item.findOne({ condition: { id: dict_item_id } });
56
- const dictItemObj = res.row;
57
- return this.removeCacheByDictCode(dictItemObj['dict_code']);
23
+ if (!dict_item_id) {
24
+ throw new Error('[removeCacheByDictItemId] dict_item_id required');
25
+ }
26
+ await BizMemCacheStore_1.bizMemCacheStore.markDirty('dataDictItemCacheObj', this.redisService);
58
27
  }
59
- // public async removeCacheByDictId(dict_id: string) {
60
- // const dictObj = await this.sys_data_dict.getUniqueOne({condition: {id: dict_id}});
61
- // return this.removeCacheByDictCode(dictObj['dict_code']);
62
- // }
63
28
  async removeCacheByDictCode(dict_code) {
64
29
  if (!dict_code || typeof dict_code !== 'string') {
65
- throw new Error('[removeSysAppOneCache] app_code required');
30
+ throw new Error('[removeCacheByDictCode] dict_code required');
66
31
  }
67
- return await this.cacheServiceFactory.removeItemCache({
68
- cacheKey: dict_code,
69
- cacheName: bizmodels_1.CacheNameEnum.GetDataDictItemsByDictCode
70
- });
32
+ await BizMemCacheStore_1.bizMemCacheStore.markDirty('dataDictItemCacheObj', this.redisService);
71
33
  }
72
34
  };
73
- __decorate([
74
- (0, core_1.Inject)(),
75
- __metadata("design:type", CurdProService_1.CurdProService)
76
- ], SysDictDataService.prototype, "curdProService", void 0);
77
- __decorate([
78
- (0, core_1.Inject)(),
79
- __metadata("design:type", CacheServiceFactory_1.CacheServiceFactory)
80
- ], SysDictDataService.prototype, "cacheServiceFactory", void 0);
81
- SysDictDataService = SysDictDataService_1 = __decorate([
35
+ SysDictDataService = __decorate([
82
36
  (0, core_1.Provide)()
83
37
  ], SysDictDataService);
84
38
  exports.SysDictDataService = SysDictDataService;
@@ -38,14 +38,11 @@ interface SysMenus {
38
38
  status: number;
39
39
  }
40
40
  export declare class SysMenuService extends BaseService {
41
- private curdProService;
42
- private cacheServiceFactory;
43
- private get sys_menus_table();
44
41
  /**
45
42
  * 获取所有菜单列表
46
43
  * @returns
47
44
  */
48
45
  getCachedMenusList(): Promise<SysMenus[]>;
49
- removeSysMenuCache(): Promise<any>;
46
+ removeSysMenuCache(): Promise<void>;
50
47
  }
51
48
  export {};
@@ -5,61 +5,25 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
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
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
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
- var SysMenuService_1;
12
8
  Object.defineProperty(exports, "__esModule", { value: true });
13
9
  exports.SysMenuService = void 0;
14
10
  const core_1 = require("@midwayjs/core");
15
- const SystemTables_1 = require("../models/SystemTables");
16
11
  const BaseService_1 = require("./base/BaseService");
17
- const CurdProService_1 = require("./curd/CurdProService");
18
- const global_config_1 = require("../libs/global-config/global-config");
19
- const CacheServiceFactory_1 = require("../service/base/cache/CacheServiceFactory");
20
- const bizmodels_1 = require("../models/bizmodels");
21
- let SysMenuService = SysMenuService_1 = class SysMenuService extends BaseService_1.BaseService {
22
- get sys_menus_table() {
23
- const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
24
- return this.curdProService.getQuickCrud({
25
- sqlDatabase: SystemDbName,
26
- sqlDbType: SystemDbType,
27
- sqlTable: SystemTables_1.SystemTables.sys_menus,
28
- });
29
- }
12
+ const BizMemCacheStore_1 = require("../service/base/bizmemcache/BizMemCacheStore");
13
+ let SysMenuService = class SysMenuService extends BaseService_1.BaseService {
30
14
  /**
31
15
  * 获取所有菜单列表
32
16
  * @returns
33
17
  */
34
18
  async getCachedMenusList() {
35
- return await this.cacheServiceFactory.getJsonObjectCache({
36
- cacheKey: bizmodels_1.CacheNameEnum.GetSysMenusList,
37
- cacheName: bizmodels_1.CacheNameEnum.GetSysMenusList,
38
- getter: async (ctx) => {
39
- const service = await ctx.requestContext.getAsync(SysMenuService_1);
40
- const res = await service.sys_menus_table.findList({
41
- condition: { deleted_at: 0 }
42
- });
43
- return res.rows;
44
- },
45
- });
19
+ var _a;
20
+ return ((_a = BizMemCacheStore_1.bizMemCacheStore.getSysMenu()) === null || _a === void 0 ? void 0 : _a.sysMenuList) || [];
46
21
  }
47
22
  async removeSysMenuCache() {
48
- return await this.cacheServiceFactory.removeItemCache({
49
- cacheKey: bizmodels_1.CacheNameEnum.GetSysMenusList,
50
- cacheName: bizmodels_1.CacheNameEnum.GetSysMenusList,
51
- });
23
+ await BizMemCacheStore_1.bizMemCacheStore.markDirty('sysMenuCacheObj', this.redisService);
52
24
  }
53
25
  };
54
- __decorate([
55
- (0, core_1.Inject)(),
56
- __metadata("design:type", CurdProService_1.CurdProService)
57
- ], SysMenuService.prototype, "curdProService", void 0);
58
- __decorate([
59
- (0, core_1.Inject)(),
60
- __metadata("design:type", CacheServiceFactory_1.CacheServiceFactory)
61
- ], SysMenuService.prototype, "cacheServiceFactory", void 0);
62
- SysMenuService = SysMenuService_1 = __decorate([
26
+ SysMenuService = __decorate([
63
27
  (0, core_1.Provide)()
64
28
  ], SysMenuService);
65
29
  exports.SysMenuService = SysMenuService;
@@ -1,14 +1,10 @@
1
1
  import { Context } from '@midwayjs/koa';
2
2
  import { BaseService } from './base/BaseService';
3
3
  import { IWorkbenchEntity } from '../models/SystemEntities';
4
- import { IScheduleService } from '../interface';
5
- export declare class WorkbenchService extends BaseService implements IScheduleService {
4
+ export declare class WorkbenchService extends BaseService {
6
5
  ctx: Context;
7
- private curdProService;
8
- private cacheServiceFactory;
9
6
  private fatcmsTargetWorkbenchCode;
10
7
  clearCache(): Promise<void>;
11
- runBySchedule(): Promise<void>;
12
8
  private getWorkbenchCachedObj;
13
9
  /**
14
10
  * 获取所有站点列表
@@ -8,81 +8,38 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
- var WorkbenchService_1;
12
11
  Object.defineProperty(exports, "__esModule", { value: true });
13
12
  exports.WorkbenchService = void 0;
14
13
  const core_1 = require("@midwayjs/core");
15
- const keys_1 = require("../libs/crud-pro/models/keys");
16
- const SystemTables_1 = require("../models/SystemTables");
17
14
  const BaseService_1 = require("./base/BaseService");
18
- const CurdProService_1 = require("./curd/CurdProService");
19
15
  const exceptions_1 = require("../libs/crud-pro/exceptions");
20
16
  const functions_1 = require("../libs/utils/functions");
21
17
  const fatcms_request_1 = require("../libs/utils/fatcms-request");
22
- const MixinUtils_1 = require("../libs/crud-pro/utils/MixinUtils");
23
- const global_config_1 = require("../libs/global-config/global-config");
24
18
  const AsyncTaskModel_1 = require("../models/AsyncTaskModel");
25
19
  const format_url_1 = require("../libs/utils/format-url");
26
- const CacheServiceFactory_1 = require("../service/base/cache/CacheServiceFactory");
27
- const bizmodels_1 = require("../models/bizmodels");
28
- let WorkbenchService = WorkbenchService_1 = class WorkbenchService extends BaseService_1.BaseService {
20
+ const BizMemCacheStore_1 = require("../service/base/bizmemcache/BizMemCacheStore");
21
+ let WorkbenchService = class WorkbenchService extends BaseService_1.BaseService {
29
22
  async clearCache() {
30
- await this.cacheServiceFactory.removeItemCache({
31
- cacheKey: bizmodels_1.CacheNameEnum.CurdMixByWorkbench,
32
- cacheName: bizmodels_1.CacheNameEnum.CurdMixByWorkbench,
33
- });
34
- await this.cacheServiceFactory.removeItemCache({
35
- cacheKey: bizmodels_1.CacheNameEnum.GetWorkbenchCachedObj,
36
- cacheName: bizmodels_1.CacheNameEnum.GetWorkbenchCachedObj,
37
- });
38
- await this.getWorkbenchCachedObj(true);
23
+ await BizMemCacheStore_1.bizMemCacheStore.markDirty('workbenchCachedObj', this.redisService);
39
24
  }
40
- async runBySchedule() {
41
- await this.getWorkbenchCachedObj(true);
42
- }
43
- async getWorkbenchCachedObj(isForceRefresh) {
44
- return this.cacheServiceFactory.getJsonObjectCache({
45
- cacheKey: bizmodels_1.CacheNameEnum.GetWorkbenchCachedObj,
46
- cacheName: bizmodels_1.CacheNameEnum.GetWorkbenchCachedObj,
47
- refreshCache: isForceRefresh,
48
- getter: async (ctx) => {
49
- const service = await ctx.requestContext.getAsync(WorkbenchService_1);
50
- const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
51
- const reqJson = { condition: { deleted_at: 0 }, pageSize: 1000, limit: 1000 };
52
- const res = await service.curdProService.executeCrudByCfg(reqJson, {
53
- sqlTable: SystemTables_1.SystemTables.sys_workbench,
54
- sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
55
- sqlDatabase: SystemDbName,
56
- sqlDbType: SystemDbType,
57
- });
58
- const listData = res.getResRows();
59
- const domainMap1 = MixinUtils_1.MixinUtils.toMap(listData, (e) => e.workbench_domain); // 主域名。其他两个域名。
60
- const domainMap2 = MixinUtils_1.MixinUtils.toMap(listData, (e) => e.workbench_domain2);
61
- const domainMap3 = MixinUtils_1.MixinUtils.toMap(listData, (e) => e.workbench_domain3);
62
- const domainMap = { ...domainMap1, ...domainMap2, ...domainMap3 };
63
- const cacheObj = {
64
- workbenchList: listData,
65
- workbenchDomainMap: domainMap
66
- };
67
- return cacheObj;
68
- },
69
- });
25
+ getWorkbenchCachedObj() {
26
+ return BizMemCacheStore_1.bizMemCacheStore.getWorkbench();
70
27
  }
71
28
  /**
72
29
  * 获取所有站点列表
73
30
  * @returns
74
31
  */
75
32
  async getAllWorkbenchInfoList() {
76
- const cachedObj = await this.getWorkbenchCachedObj();
77
- return cachedObj.workbenchList;
33
+ const cachedObj = this.getWorkbenchCachedObj();
34
+ return (cachedObj === null || cachedObj === void 0 ? void 0 : cachedObj.workbenchList) || [];
78
35
  }
79
36
  /**
80
37
  * 获取所有站点列表,以map的形式返回。其中key为站点域名,value为站点信息
81
38
  * @returns
82
39
  */
83
40
  async getAllWorkbenchInfoMap() {
84
- const cachedObj = await this.getWorkbenchCachedObj();
85
- return cachedObj.workbenchDomainMap;
41
+ const cachedObj = this.getWorkbenchCachedObj();
42
+ return (cachedObj === null || cachedObj === void 0 ? void 0 : cachedObj.workbenchDomainMap) || {};
86
43
  }
87
44
  /**
88
45
  * 检查站点编码是否匹配
@@ -233,19 +190,11 @@ __decorate([
233
190
  (0, core_1.Inject)(),
234
191
  __metadata("design:type", Object)
235
192
  ], WorkbenchService.prototype, "ctx", void 0);
236
- __decorate([
237
- (0, core_1.Inject)(),
238
- __metadata("design:type", CurdProService_1.CurdProService)
239
- ], WorkbenchService.prototype, "curdProService", void 0);
240
- __decorate([
241
- (0, core_1.Inject)(),
242
- __metadata("design:type", CacheServiceFactory_1.CacheServiceFactory)
243
- ], WorkbenchService.prototype, "cacheServiceFactory", void 0);
244
193
  __decorate([
245
194
  (0, core_1.Config)('fatcmsTargetWorkbenchCode'),
246
195
  __metadata("design:type", String)
247
196
  ], WorkbenchService.prototype, "fatcmsTargetWorkbenchCode", void 0);
248
- WorkbenchService = WorkbenchService_1 = __decorate([
197
+ WorkbenchService = __decorate([
249
198
  (0, core_1.Provide)()
250
199
  ], WorkbenchService);
251
200
  exports.WorkbenchService = WorkbenchService;
@@ -8,7 +8,7 @@ export declare class AnyApiService extends ApiBaseService {
8
8
  protected workbenchService: WorkbenchService;
9
9
  executeAnyApiMethod(methodCode: string, headers: any, body: any, query: any): Promise<any>;
10
10
  private getAnyApiMethod;
11
- private _getAnyApiMethod;
11
+ private loadAnyApiMethodFromDb;
12
12
  /**
13
13
  * 构造参数
14
14
  * @param anyApi
@@ -13,7 +13,6 @@ exports.AnyApiService = void 0;
13
13
  const core_1 = require("@midwayjs/core");
14
14
  const keys_1 = require("../../libs/crud-pro/models/keys");
15
15
  const SystemTables_1 = require("../../models/SystemTables");
16
- const lru_cache_1 = require("lru-cache");
17
16
  const devops_1 = require("../../models/devops");
18
17
  const CurdMixService_1 = require("../curd/CurdMixService");
19
18
  const AnyApiSandboxService_1 = require("./AnyApiSandboxService");
@@ -24,11 +23,7 @@ const WorkbenchService_1 = require("../WorkbenchService");
24
23
  const ValidateUtils_1 = require("../../libs/crud-pro/utils/ValidateUtils");
25
24
  const ApiBaseService_1 = require("../base/ApiBaseService");
26
25
  const global_config_1 = require("../../libs/global-config/global-config");
27
- const lruCache = new lru_cache_1.LRUCache({
28
- max: 500,
29
- ttl: 1000 * 60,
30
- ttlAutopurge: true,
31
- });
26
+ const BizMemCacheStore_1 = require("../../service/base/bizmemcache/BizMemCacheStore");
32
27
  let AnyApiService = class AnyApiService extends ApiBaseService_1.ApiBaseService {
33
28
  async executeAnyApiMethod(methodCode, headers, body, query) {
34
29
  const anyApi = await this.getAnyApiMethod(methodCode);
@@ -53,19 +48,14 @@ let AnyApiService = class AnyApiService extends ApiBaseService_1.ApiBaseService
53
48
  return funcRes;
54
49
  }
55
50
  async getAnyApiMethod(methodCode) {
56
- // 开发环境,不使用缓存
51
+ var _a;
57
52
  if (this.isEnableDebug()) {
58
- return this._getAnyApiMethod(methodCode);
59
- }
60
- // 线上环境可以使用缓存
61
- let anyApi = lruCache.get(methodCode);
62
- if (!anyApi) {
63
- anyApi = await this._getAnyApiMethod(methodCode);
64
- lruCache.set(methodCode, anyApi);
53
+ return this.loadAnyApiMethodFromDb(methodCode);
65
54
  }
66
- return anyApi;
55
+ const sysAnyApiMethodMap = ((_a = BizMemCacheStore_1.bizMemCacheStore.getSysAnyApi()) === null || _a === void 0 ? void 0 : _a.sysAnyApiMethodMap) || {};
56
+ return sysAnyApiMethodMap[methodCode] || null;
67
57
  }
68
- async _getAnyApiMethod(methodCode) {
58
+ async loadAnyApiMethodFromDb(methodCode) {
69
59
  const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
70
60
  const res = await this.curdMixService.executeCrudByCfg({ condition: { method: methodCode, deleted_at: 0 } }, {
71
61
  sqlTable: SystemTables_1.SystemTables.sys_anyapi,