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.
- package/.eslintrc.json +14 -0
- package/.prettierrc.js +4 -0
- package/README.md +7 -0
- package/dist/config/config.default.js +58 -15
- package/dist/config/seed/aeskey.txt +1 -1
- package/dist/configuration.d.ts +1 -0
- package/dist/configuration.js +33 -9
- package/dist/controller/base/BaseApiController.d.ts +7 -1
- package/dist/controller/base/BaseApiController.js +32 -6
- package/dist/controller/gateway/AsyncTaskController.d.ts +20 -0
- package/dist/controller/gateway/AsyncTaskController.js +181 -0
- package/dist/controller/gateway/CrudMtdGatewayController.d.ts +3 -3
- package/dist/controller/gateway/CrudMtdGatewayController.js +9 -6
- package/dist/controller/gateway/DocGatewayController.js +14 -9
- package/dist/controller/gateway/FileController.d.ts +3 -2
- package/dist/controller/gateway/PublicApiController.js +4 -6
- package/dist/controller/gateway/StaticController.d.ts +0 -1
- package/dist/controller/gateway/StaticController.js +40 -39
- package/dist/controller/helpers.controller.d.ts +1 -1
- package/dist/controller/home.controller.js +4 -3
- package/dist/controller/manage/AnyApiMangeApi.js +2 -2
- package/dist/controller/manage/AppLogMangeApi.js +2 -2
- package/dist/controller/manage/AppMangeApi.js +2 -2
- package/dist/controller/manage/AppPageMangeApi.js +2 -2
- package/dist/controller/manage/AppSchemaHistoryApi.js +2 -2
- package/dist/controller/manage/CrudMethodsMangeApi.js +2 -2
- package/dist/controller/manage/CrudStandardDesignApi.d.ts +1 -1
- package/dist/controller/manage/CrudStandardDesignApi.js +86 -83
- package/dist/controller/manage/DataDictManageApi.d.ts +1 -1
- package/dist/controller/manage/DataDictManageApi.js +1 -1
- package/dist/controller/manage/DeployManageApi.d.ts +1 -1
- package/dist/controller/manage/DeployManageApi.js +38 -34
- package/dist/controller/manage/DocLibManageApi.js +2 -2
- package/dist/controller/manage/DocManageApi.js +2 -2
- package/dist/controller/manage/FileManageApi.js +1 -1
- package/dist/controller/manage/LowCodeTplManageApi.js +2 -2
- package/dist/controller/manage/MenuManageApi.js +2 -2
- package/dist/controller/manage/ProxyApiMangeApi.js +2 -2
- package/dist/controller/manage/SuperAdminManageApi.d.ts +2 -2
- package/dist/controller/manage/SuperAdminManageApi.js +12 -8
- package/dist/controller/manage/SysConfigMangeApi.d.ts +1 -1
- package/dist/controller/manage/SysConfigMangeApi.js +8 -6
- package/dist/controller/manage/SystemInfoManageApi.d.ts +1 -1
- package/dist/controller/manage/SystemInfoManageApi.js +7 -1
- package/dist/controller/manage/UserAccountManageApi.d.ts +2 -2
- package/dist/controller/manage/UserAccountManageApi.js +7 -2
- package/dist/controller/manage/WorkbenchMangeApi.js +3 -3
- package/dist/controller/myinfo/AuthController.d.ts +0 -4
- package/dist/controller/myinfo/AuthController.js +1 -54
- package/dist/controller/render/AppRenderController.js +12 -5
- package/dist/controller/test.controller.d.ts +1 -1
- package/dist/controller/test.controller.js +5 -5
- package/dist/index.d.ts +35 -4
- package/dist/index.js +35 -4
- package/dist/libs/crud-pro/CrudPro.d.ts +1 -0
- package/dist/libs/crud-pro/CrudPro.js +5 -0
- package/dist/libs/crud-pro/defaultConfigs.js +2 -0
- package/dist/libs/crud-pro/interfaces.d.ts +7 -1
- package/dist/libs/crud-pro/models/ExecuteContext.d.ts +12 -5
- package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +8 -1
- package/dist/libs/crud-pro/models/ExecuteContextFunc.js +8 -0
- package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +1 -1
- package/dist/libs/crud-pro/models/ResModel.d.ts +16 -0
- package/dist/libs/crud-pro/models/ResModel.js +2 -0
- package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +1 -1
- package/dist/libs/crud-pro/models/TransactionSqlServer.js +1 -1
- package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +1 -0
- package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +27 -15
- package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +17 -19
- package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +1 -1
- package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +10 -12
- package/dist/libs/crud-pro/services/CrudProGenSqlService.js +14 -23
- package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +7 -6
- package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +2 -6
- package/dist/libs/crud-pro/services/CrudProServiceBase.js +15 -3
- package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +1 -0
- package/dist/libs/crud-pro/services/CrudProTableMetaService.js +32 -7
- package/dist/libs/crud-pro/sql.txt +120 -120
- package/dist/libs/crud-pro/utils/DatabaseName.js +24 -3
- package/dist/libs/crud-pro/utils/MixinUtils.js +1 -1
- package/dist/libs/crud-pro/utils/ValidateUtils.js +1 -1
- package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +2 -2
- package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -0
- package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -0
- package/dist/libs/global-config/global-config.d.ts +45 -0
- package/dist/libs/global-config/global-config.js +33 -0
- package/dist/libs/utils/errorToString.d.ts +2 -0
- package/dist/libs/utils/errorToString.js +57 -0
- package/dist/libs/utils/fatcms-request.js +2 -2
- package/dist/libs/utils/functions.d.ts +2 -1
- package/dist/libs/utils/functions.js +6 -1
- package/dist/middleware/forbidden.middleware.js +4 -20
- package/dist/middleware/global.middleware.js +30 -10
- package/dist/middleware/permission.middleware.js +1 -1
- package/dist/models/AsyncTaskModel.d.ts +74 -0
- package/dist/models/AsyncTaskModel.js +31 -0
- package/dist/models/RedisKeys.d.ts +14 -0
- package/dist/models/RedisKeys.js +17 -0
- package/dist/models/SystemEntities.d.ts +8 -1
- package/dist/models/SystemEntities.js +7 -0
- package/dist/models/SystemTables.d.ts +1 -3
- package/dist/models/SystemTables.js +2 -4
- package/dist/models/bizmodels.d.ts +28 -0
- package/dist/models/bizmodels.js +6 -1
- package/dist/schedule/anonymousContext.d.ts +14 -0
- package/dist/schedule/anonymousContext.js +59 -0
- package/dist/schedule/index.d.ts +4 -3
- package/dist/schedule/index.js +8 -67
- package/dist/schedule/runSchedule.d.ts +12 -0
- package/dist/schedule/runSchedule.js +68 -0
- package/dist/schedule/scheduleNames.d.ts +13 -0
- package/dist/schedule/scheduleNames.js +17 -0
- package/dist/service/AuthService.js +8 -5
- package/dist/service/EnumInfoService.js +9 -5
- package/dist/service/FileCenterService.js +13 -9
- package/dist/service/SysConfigService.d.ts +1 -1
- package/dist/service/SysConfigService.js +4 -2
- package/dist/service/UserAccountService.js +10 -6
- package/dist/service/UserSessionService.d.ts +21 -0
- package/dist/service/UserSessionService.js +73 -2
- package/dist/service/VisitStatService.d.ts +1 -1
- package/dist/service/VisitStatService.js +20 -27
- package/dist/service/WorkbenchService.d.ts +33 -0
- package/dist/service/WorkbenchService.js +70 -12
- package/dist/service/anyapi/AnyApiSandboxService.js +12 -12
- package/dist/service/anyapi/AnyApiService.js +4 -2
- package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +50 -0
- package/dist/service/asyncTask/AsyncTaskRunnerService.js +287 -0
- package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -0
- package/dist/service/asyncTask/AsyncTaskService.js +34 -0
- package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -0
- package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -0
- package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -0
- package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -0
- package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -0
- package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +139 -0
- package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -0
- package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +121 -0
- package/dist/service/base/BaseService.d.ts +12 -0
- package/dist/service/base/BaseService.js +22 -0
- package/dist/service/base/RedisCacheService.d.ts +7 -0
- package/dist/service/base/RedisCacheService.js +7 -0
- package/dist/service/crudstd/CrudStdService.d.ts +8 -1
- package/dist/service/crudstd/CrudStdService.js +63 -6
- package/dist/service/curd/CrudProQuick.d.ts +44 -0
- package/dist/service/curd/CrudProQuick.js +147 -0
- package/dist/service/curd/CurdMixByAccountService.d.ts +4 -4
- package/dist/service/curd/CurdMixByAccountService.js +12 -6
- package/dist/service/curd/CurdMixByDictService.d.ts +4 -4
- package/dist/service/curd/CurdMixByDictService.js +10 -7
- package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +13 -4
- package/dist/service/curd/CurdMixByLinkToCustomService.js +73 -24
- package/dist/service/curd/CurdMixBySysConfigService.d.ts +3 -3
- package/dist/service/curd/CurdMixBySysConfigService.js +4 -2
- package/dist/service/curd/CurdMixByWorkbenchService.d.ts +3 -3
- package/dist/service/curd/CurdMixByWorkbenchService.js +4 -2
- package/dist/service/curd/CurdMixService.d.ts +13 -3
- package/dist/service/curd/CurdMixService.js +26 -2
- package/dist/service/curd/CurdMixUtils.d.ts +27 -4
- package/dist/service/curd/CurdMixUtils.js +115 -41
- package/dist/service/curd/CurdProService.d.ts +3 -10
- package/dist/service/curd/CurdProService.js +36 -148
- package/dist/service/curd/fixCfgModel.d.ts +3 -0
- package/dist/service/curd/fixCfgModel.js +107 -0
- package/dist/service/proxyapi/ProxyApiLoadService.js +7 -4
- package/dist/service/proxyapi/ProxyApiService.js +28 -7
- package/dist/views/404_app.html +31 -31
- package/dist/views/404_workbench.html +34 -34
- package/package.json +25 -24
- package/tsconfig.json +32 -0
- package/dist/controller/medstatistic/MedAdminController.d.ts +0 -35
- package/dist/controller/medstatistic/MedAdminController.js +0 -205
- package/dist/controller/medstatistic/MedClientController.d.ts +0 -28
- package/dist/controller/medstatistic/MedClientController.js +0 -188
- package/dist/controller/medstatistic/MedMessageService.d.ts +0 -19
- package/dist/controller/medstatistic/MedMessageService.js +0 -95
- package/dist/controller/medstatistic/MedScoreService.d.ts +0 -21
- package/dist/controller/medstatistic/MedScoreService.js +0 -107
- package/dist/controller/medstatistic/constants.d.ts +0 -32
- package/dist/controller/medstatistic/constants.js +0 -43
- package/src/config/config.default.ts +0 -172
- package/src/config/seed/aeskey.txt +0 -1
- package/src/config/utils.ts +0 -23
- package/src/configuration.ts +0 -83
- package/src/controller/base/BaseApiController.ts +0 -145
- package/src/controller/gateway/AnyApiGatewayController.ts +0 -33
- package/src/controller/gateway/CrudMtdGatewayController.ts +0 -107
- package/src/controller/gateway/CrudStdGatewayController.ts +0 -101
- package/src/controller/gateway/DocGatewayController.ts +0 -165
- package/src/controller/gateway/FileController.ts +0 -110
- package/src/controller/gateway/ProxyApiGatewayController.ts +0 -47
- package/src/controller/gateway/PublicApiController.ts +0 -145
- package/src/controller/gateway/StaticController.ts +0 -328
- package/src/controller/helpers.controller.ts +0 -161
- package/src/controller/home.controller.ts +0 -71
- package/src/controller/manage/AnyApiMangeApi.ts +0 -66
- package/src/controller/manage/AppLogMangeApi.ts +0 -53
- package/src/controller/manage/AppMangeApi.ts +0 -53
- package/src/controller/manage/AppPageMangeApi.ts +0 -52
- package/src/controller/manage/AppSchemaHistoryApi.ts +0 -49
- package/src/controller/manage/CrudMethodsMangeApi.ts +0 -49
- package/src/controller/manage/CrudStandardDesignApi.ts +0 -353
- package/src/controller/manage/DataDictManageApi.ts +0 -78
- package/src/controller/manage/DeployManageApi.ts +0 -179
- package/src/controller/manage/DocLibManageApi.ts +0 -69
- package/src/controller/manage/DocManageApi.ts +0 -99
- package/src/controller/manage/FileManageApi.ts +0 -45
- package/src/controller/manage/LowCodeTplManageApi.ts +0 -52
- package/src/controller/manage/MenuManageApi.ts +0 -63
- package/src/controller/manage/ProxyApiMangeApi.ts +0 -52
- package/src/controller/manage/SuperAdminManageApi.ts +0 -138
- package/src/controller/manage/SysConfigMangeApi.ts +0 -95
- package/src/controller/manage/SystemInfoManageApi.ts +0 -48
- package/src/controller/manage/UserAccountManageApi.ts +0 -88
- package/src/controller/manage/WorkbenchMangeApi.ts +0 -72
- package/src/controller/medstatistic/MedAdminController.ts +0 -221
- package/src/controller/medstatistic/MedClientController.ts +0 -188
- package/src/controller/medstatistic/MedMessageService.ts +0 -89
- package/src/controller/medstatistic/MedScoreService.ts +0 -108
- package/src/controller/medstatistic/constants.ts +0 -63
- package/src/controller/myinfo/AuthController.ts +0 -174
- package/src/controller/myinfo/MyInfoController.ts +0 -32
- package/src/controller/render/AppRenderController.ts +0 -76
- package/src/controller/test.controller.ts +0 -37
- package/src/filter/default.filter.ts +0 -13
- package/src/filter/notfound.filter.ts +0 -10
- package/src/index.ts +0 -71
- package/src/interface.ts +0 -31
- package/src/libs/crud-pro/CrudPro.ts +0 -158
- package/src/libs/crud-pro/defaultConfigs.ts +0 -13
- package/src/libs/crud-pro/exceptions.ts +0 -124
- package/src/libs/crud-pro/interfaces.ts +0 -183
- package/src/libs/crud-pro/models/ExecuteContext.ts +0 -111
- package/src/libs/crud-pro/models/ExecuteContextFunc.ts +0 -86
- package/src/libs/crud-pro/models/FuncContext.ts +0 -21
- package/src/libs/crud-pro/models/RequestCfgModel.ts +0 -141
- package/src/libs/crud-pro/models/RequestModel.ts +0 -141
- package/src/libs/crud-pro/models/ServiceHub.ts +0 -32
- package/src/libs/crud-pro/models/SqlCfgModel.ts +0 -52
- package/src/libs/crud-pro/models/SqlSegArg.ts +0 -13
- package/src/libs/crud-pro/models/Transaction.ts +0 -74
- package/src/libs/crud-pro/models/TransactionMySQL.ts +0 -79
- package/src/libs/crud-pro/models/TransactionPostgres.ts +0 -91
- package/src/libs/crud-pro/models/TransactionSqlServer.ts +0 -107
- package/src/libs/crud-pro/models/keys.ts +0 -159
- package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +0 -75
- package/src/libs/crud-pro/services/CrudProExecuteFuncService.ts +0 -128
- package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +0 -279
- package/src/libs/crud-pro/services/CrudProFieldUpdateService.ts +0 -60
- package/src/libs/crud-pro/services/CrudProFieldValidateService.ts +0 -180
- package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +0 -373
- package/src/libs/crud-pro/services/CrudProGenSqlService.ts +0 -202
- package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +0 -397
- package/src/libs/crud-pro/services/CrudProServiceBase.ts +0 -98
- package/src/libs/crud-pro/services/CrudProTableMetaService.ts +0 -59
- package/src/libs/crud-pro/services/CurdProServiceHub.ts +0 -92
- package/src/libs/crud-pro/sql.txt +0 -120
- package/src/libs/crud-pro/utils/CompareUtils.ts +0 -23
- package/src/libs/crud-pro/utils/DatabaseName.ts +0 -40
- package/src/libs/crud-pro/utils/DateTimeUtils.ts +0 -20
- package/src/libs/crud-pro/utils/MemoryRefreshCache.ts +0 -64
- package/src/libs/crud-pro/utils/MessageParseUtils.ts +0 -33
- package/src/libs/crud-pro/utils/MixinUtils.ts +0 -285
- package/src/libs/crud-pro/utils/ModelUtils.ts +0 -55
- package/src/libs/crud-pro/utils/MultiKeyMap.ts +0 -72
- package/src/libs/crud-pro/utils/SqlFuncUtils.ts +0 -29
- package/src/libs/crud-pro/utils/TypeUtils.ts +0 -188
- package/src/libs/crud-pro/utils/ValidateUtils.ts +0 -167
- package/src/libs/crud-pro/utils/pool/MySQLUtils.ts +0 -20
- package/src/libs/crud-pro/utils/pool/PostgresUtils.ts +0 -22
- package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +0 -22
- package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +0 -26
- package/src/libs/crud-pro/utils/sqlConvert/convertMsSql.ts +0 -11
- package/src/libs/crud-pro/utils/sqlConvert/convertPgSql.ts +0 -11
- package/src/libs/crud-pro/utils/sqlConvert/convertPgType.ts +0 -129
- package/src/libs/utils/common-dto.ts +0 -52
- package/src/libs/utils/crypto-utils.ts +0 -52
- package/src/libs/utils/fatcms-request.ts +0 -115
- package/src/libs/utils/functions.ts +0 -67
- package/src/libs/utils/ordernum-utils.ts +0 -18
- package/src/libs/utils/parseConfig.ts +0 -62
- package/src/libs/utils/parseCreateSql.ts +0 -91
- package/src/libs/utils/render-utils.ts +0 -184
- package/src/middleware/forbidden.middleware.ts +0 -71
- package/src/middleware/global.middleware.ts +0 -278
- package/src/middleware/permission.middleware.ts +0 -81
- package/src/middleware/tx.middleware.ts +0 -30
- package/src/models/SystemEntities.ts +0 -115
- package/src/models/SystemPerm.ts +0 -105
- package/src/models/SystemTables.ts +0 -30
- package/src/models/bizmodels.ts +0 -89
- package/src/models/contextLogger.ts +0 -132
- package/src/models/devops.ts +0 -17
- package/src/models/userSession.ts +0 -216
- package/src/schedule/index.ts +0 -73
- package/src/service/AuthService.ts +0 -270
- package/src/service/EnumInfoService.ts +0 -129
- package/src/service/FileCenterService.ts +0 -394
- package/src/service/SysConfigService.ts +0 -34
- package/src/service/UserAccountService.ts +0 -100
- package/src/service/UserSessionService.ts +0 -81
- package/src/service/VisitStatService.ts +0 -179
- package/src/service/WorkbenchService.ts +0 -160
- package/src/service/anyapi/AnyApiSandboxService.ts +0 -121
- package/src/service/anyapi/AnyApiService.ts +0 -184
- package/src/service/base/ApiBaseService.ts +0 -42
- package/src/service/base/ApiRateLimiter.ts +0 -59
- package/src/service/base/BaseService.ts +0 -74
- package/src/service/base/RedisCacheService.ts +0 -38
- package/src/service/crudstd/CrudStdActionService.ts +0 -27
- package/src/service/crudstd/CrudStdConstant.ts +0 -62
- package/src/service/crudstd/CrudStdRelationService.ts +0 -78
- package/src/service/crudstd/CrudStdService.ts +0 -188
- package/src/service/curd/CurdMixByAccountService.ts +0 -83
- package/src/service/curd/CurdMixByDictService.ts +0 -113
- package/src/service/curd/CurdMixByLinkToCustomService.ts +0 -167
- package/src/service/curd/CurdMixBySysConfigService.ts +0 -78
- package/src/service/curd/CurdMixByWorkbenchService.ts +0 -68
- package/src/service/curd/CurdMixService.ts +0 -65
- package/src/service/curd/CurdMixUtils.ts +0 -248
- package/src/service/curd/CurdProService.ts +0 -379
- package/src/service/proxyapi/ProxyApiLoadService.ts +0 -165
- package/src/service/proxyapi/ProxyApiService.ts +0 -262
- package/src/service/proxyapi/ProxyApiUtils.ts +0 -32
- package/src/service/proxyapi/RouteHandler.ts +0 -8
- package/src/service/proxyapi/RouteTrie.ts +0 -74
- package/src/service/proxyapi/WeightedRandom.ts +0 -37
- package/src/service/proxyapi/WeightedRoundRobin.ts +0 -44
- package/src/views/404_app.html +0 -31
- package/src/views/404_workbench.html +0 -34
- package/src/views/static/favicon.ico +0 -0
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
import { Controller, Inject, Post } from '@midwayjs/core';
|
|
2
|
-
import { Context } from '@midwayjs/koa';
|
|
3
|
-
import { BaseApiController } from '../base/BaseApiController';
|
|
4
|
-
import { AuthService } from '../../service/AuthService';
|
|
5
|
-
import { CommonResult } from '../../libs/utils/common-dto';
|
|
6
|
-
import {WorkbenchService} from "../../service/WorkbenchService";
|
|
7
|
-
import {KeysOfSimpleSQL} from "../../libs/crud-pro/models/keys";
|
|
8
|
-
import {MedMessageService} from "./MedMessageService";
|
|
9
|
-
import {CurdProService} from "../../service/curd/CurdProService";
|
|
10
|
-
import {ISendUserReceivedMsg, MsgType, TARGET_OBJECT_TYPE_BBS_REPLY, TARGET_OBJECT_TYPE_BBS_TOPIC} from "./constants";
|
|
11
|
-
import {checkLogin} from "../../middleware/permission.middleware";
|
|
12
|
-
const MED_STATISTIC_DB = "medstatistic";
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* medstatistic 用户端
|
|
16
|
-
*/
|
|
17
|
-
@Controller('/ns/api/medclient' , {middleware: [checkLogin()]})
|
|
18
|
-
export class MedClientController extends BaseApiController {
|
|
19
|
-
@Inject()
|
|
20
|
-
protected ctx: Context;
|
|
21
|
-
|
|
22
|
-
@Inject()
|
|
23
|
-
protected authService: AuthService;
|
|
24
|
-
|
|
25
|
-
@Inject()
|
|
26
|
-
protected workbenchService: WorkbenchService;
|
|
27
|
-
|
|
28
|
-
@Inject()
|
|
29
|
-
protected curdProService: CurdProService;
|
|
30
|
-
|
|
31
|
-
@Inject()
|
|
32
|
-
protected medMessageService: MedMessageService;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* 充值
|
|
36
|
-
*/
|
|
37
|
-
@Post('/recharge')
|
|
38
|
-
async recharge(): Promise<CommonResult> {
|
|
39
|
-
// const body = this.ctx.request.body as any; // {user_id}
|
|
40
|
-
// const pay_type = body.pay_type; // 类型:1=微信,2=支付宝,3=授权
|
|
41
|
-
// const recharge_type = body.recharge_type; // 充值方式:1=套餐,2=自定义积分
|
|
42
|
-
// const package_price = body.package_price; // 套餐充值 package_price 元人民币
|
|
43
|
-
// const custom_score = body.custom_score; // 自定义充值 custom_score 元人民币
|
|
44
|
-
//
|
|
45
|
-
//
|
|
46
|
-
return null;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* 获取用户收到的消息。只需要登录即可
|
|
53
|
-
*/
|
|
54
|
-
@Post('/send_user_received_message')
|
|
55
|
-
async send_user_received_message(): Promise<CommonResult> {
|
|
56
|
-
const msgObj = this.ctx.request.body as any as ISendUserReceivedMsg; // {user_id}
|
|
57
|
-
const { msg_type , target_object_id, target_object_type} = msgObj || {}
|
|
58
|
-
|
|
59
|
-
// title:string, content: string, received_by: string | number, msgObj: ISendUserReceivedMsg
|
|
60
|
-
|
|
61
|
-
if (target_object_type === TARGET_OBJECT_TYPE_BBS_TOPIC) {
|
|
62
|
-
const topicObj = await this.getBBSTopic(target_object_id)
|
|
63
|
-
// 点赞了一篇帖子,发送消息 给作者
|
|
64
|
-
if ( msg_type === MsgType.bbs_post_be_like) {
|
|
65
|
-
const title = "您的帖子收到了点赞"
|
|
66
|
-
const content = `《${topicObj.title}》`
|
|
67
|
-
await this.medMessageService.insertMessage(title,content,topicObj.created_by, msgObj);
|
|
68
|
-
return CommonResult.successRes("OK");
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
// 回复了一篇帖子,发送消息 给作者
|
|
72
|
-
if ( msg_type === MsgType.bbs_post_be_reply) {
|
|
73
|
-
const title = "您的帖子收到了回复"
|
|
74
|
-
const content = `《${topicObj.title}》`
|
|
75
|
-
await this.medMessageService.insertMessage(title,content,topicObj.created_by, msgObj);
|
|
76
|
-
return CommonResult.successRes("OK");
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// 回复帖子被判定为违规
|
|
80
|
-
if ( msg_type === MsgType.bbs_post_be_violation) {
|
|
81
|
-
const title = "您的帖子被判定为违规"
|
|
82
|
-
const content = `《${topicObj.title}》`
|
|
83
|
-
await this.medMessageService.insertMessage(title,content,topicObj.created_by, msgObj);
|
|
84
|
-
return CommonResult.successRes("OK");
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// 您的帖子被收藏
|
|
88
|
-
if ( msg_type === MsgType.bbs_post_be_favorite) {
|
|
89
|
-
const title = "您的帖子被收藏"
|
|
90
|
-
const content = `《${topicObj.title}》`
|
|
91
|
-
await this.medMessageService.insertMessage(title,content,topicObj.created_by, msgObj);
|
|
92
|
-
return CommonResult.successRes("OK");
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
if (target_object_type === TARGET_OBJECT_TYPE_BBS_REPLY) {
|
|
98
|
-
const topicObj = await this.getBBSReply(target_object_id)
|
|
99
|
-
// 点赞了一篇帖子,发送消息 给作者
|
|
100
|
-
if ( msg_type === MsgType.bbs_reply_be_like) {
|
|
101
|
-
const title = "您的评论收到了点赞"
|
|
102
|
-
const content = `《${topicObj.title}》`
|
|
103
|
-
await this.medMessageService.insertMessage(title,content,topicObj.created_by, msgObj);
|
|
104
|
-
return CommonResult.successRes("OK");
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// 回复了一篇帖子,发送消息 给作者
|
|
108
|
-
if ( msg_type === MsgType.bbs_reply_be_reply) {
|
|
109
|
-
const title = "您的评论收到了回复"
|
|
110
|
-
const content = `《${topicObj.title}》`
|
|
111
|
-
await this.medMessageService.insertMessage(title,content,topicObj.created_by, msgObj);
|
|
112
|
-
return CommonResult.successRes("OK");
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// 回复帖子被判定为违规
|
|
116
|
-
if ( msg_type === MsgType.bbs_reply_be_violation) {
|
|
117
|
-
const title = "您的评论被判定为违规"
|
|
118
|
-
const content = `《${topicObj.title}》`
|
|
119
|
-
await this.medMessageService.insertMessage(title,content,topicObj.created_by, msgObj);
|
|
120
|
-
return CommonResult.successRes("OK");
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
// 联系我们 收到了回复
|
|
127
|
-
if (msg_type === MsgType.contact_us_be_reply) {
|
|
128
|
-
const contactObj = await this.get_fa_contact(target_object_id);
|
|
129
|
-
this.logInfo("contact_us_be_reply==> " + JSON.stringify(contactObj));
|
|
130
|
-
if (contactObj && contactObj.created_by) {
|
|
131
|
-
const title = "您的主动联系收到了回复"
|
|
132
|
-
const content = contactObj.mark || "";
|
|
133
|
-
await this.medMessageService.insertMessage(title,content,contactObj.created_by, msgObj);
|
|
134
|
-
return CommonResult.successRes("OK");
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
return CommonResult.successRes("NULL");
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
private async get_fa_contact(fa_contact_id: number){
|
|
144
|
-
const topicRes = await this.curdMixService.executeCrudByCfg({
|
|
145
|
-
condition: {
|
|
146
|
-
id: fa_contact_id,
|
|
147
|
-
},
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
sqlSimpleName: KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
|
|
151
|
-
sqlTable: "fa_contact",
|
|
152
|
-
sqlDatabase: MED_STATISTIC_DB,
|
|
153
|
-
});
|
|
154
|
-
return topicRes.getOneObj();
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
private async getBBSTopic(topicId: number){
|
|
158
|
-
const topicRes = await this.curdMixService.executeCrudByCfg({
|
|
159
|
-
condition: {
|
|
160
|
-
id: topicId,
|
|
161
|
-
},
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
sqlSimpleName: KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
|
|
165
|
-
sqlTable: "fatbiz_bbs_topic",
|
|
166
|
-
sqlDatabase: MED_STATISTIC_DB,
|
|
167
|
-
});
|
|
168
|
-
return topicRes.getOneObj();
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
private async getBBSReply(replyId: number){
|
|
173
|
-
const topicRes = await this.curdMixService.executeCrudByCfg({
|
|
174
|
-
condition: {
|
|
175
|
-
id: replyId,
|
|
176
|
-
},
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
sqlSimpleName: KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
|
|
180
|
-
sqlTable: "fatbiz_bbs_replies",
|
|
181
|
-
sqlDatabase: MED_STATISTIC_DB,
|
|
182
|
-
});
|
|
183
|
-
return topicRes.getOneObj();
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import {Inject,Provide} from '@midwayjs/core';
|
|
2
|
-
import {Context} from '@midwayjs/koa';
|
|
3
|
-
import {AuthService} from '../../service/AuthService';
|
|
4
|
-
import {WorkbenchService} from "../../service/WorkbenchService";
|
|
5
|
-
import {SysConfigService} from "../../service/SysConfigService";
|
|
6
|
-
import {KeysOfSimpleSQL} from "../../libs/crud-pro/models/keys";
|
|
7
|
-
import {BaseService} from "../../service/base/BaseService";
|
|
8
|
-
import {CurdProService} from "../../service/curd/CurdProService";
|
|
9
|
-
import * as md5 from 'md5';
|
|
10
|
-
import {CommonException} from "../../libs/crud-pro/exceptions";
|
|
11
|
-
import {ISendUserReceivedMsg, isMsgType, MED_STATISTIC_DB, MsgStatus} from "./constants";
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* medstatistic 管理端
|
|
16
|
-
*/
|
|
17
|
-
@Provide()
|
|
18
|
-
export class MedMessageService extends BaseService {
|
|
19
|
-
@Inject()
|
|
20
|
-
protected ctx: Context;
|
|
21
|
-
|
|
22
|
-
@Inject()
|
|
23
|
-
protected authService: AuthService;
|
|
24
|
-
|
|
25
|
-
@Inject()
|
|
26
|
-
protected workbenchService: WorkbenchService;
|
|
27
|
-
|
|
28
|
-
@Inject()
|
|
29
|
-
protected sysConfigService: SysConfigService;
|
|
30
|
-
|
|
31
|
-
@Inject()
|
|
32
|
-
protected curdProService: CurdProService;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
async insertMessage(title:string, content: string, received_by: string | number, msgObj: ISendUserReceivedMsg): Promise<any> {
|
|
36
|
-
try {
|
|
37
|
-
return this.insertMessageInner(title,content,received_by,msgObj);
|
|
38
|
-
} catch (e) {
|
|
39
|
-
this.logWarn("[MedMessageService]insertMessageInner失败",e)
|
|
40
|
-
return Promise.resolve(e);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
private async insertMessageInner(title:string, content: string, received_by: string | number, msgObj: ISendUserReceivedMsg): Promise<any> {
|
|
45
|
-
|
|
46
|
-
if (!isMsgType(msgObj.msg_type)) {
|
|
47
|
-
throw new CommonException("PARAM_IS_NOT_VALID","msg_type 不正确");
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
const msg_type = msgObj.msg_type;
|
|
51
|
-
|
|
52
|
-
const userInfo = this.ctx.userSession.getSessionInfo();
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
const msg_key = md5(`${userInfo.accountId}_${userInfo.accountType}_${received_by}_${msg_type}_${msgObj.target_object_type}_${msgObj.target_object_id}`);
|
|
56
|
-
|
|
57
|
-
// 插入日志
|
|
58
|
-
const insertMessageRes = await this.curdProService.executeCrudByCfg({
|
|
59
|
-
data: {
|
|
60
|
-
title: title,
|
|
61
|
-
content: content,
|
|
62
|
-
content_length: content.length,
|
|
63
|
-
msg_status: MsgStatus.unread,
|
|
64
|
-
msg_type: msg_type,
|
|
65
|
-
msg_key: msg_key,
|
|
66
|
-
status: 1,
|
|
67
|
-
target_object_type: msgObj.target_object_type,
|
|
68
|
-
target_object_id: msgObj.target_object_id,
|
|
69
|
-
received_by: received_by,
|
|
70
|
-
received_account_type: 'medstatistic', // 接收用户只能是
|
|
71
|
-
created_by: userInfo.accountId,
|
|
72
|
-
created_account_type: userInfo.accountType,
|
|
73
|
-
created_nickname: userInfo.nickName,
|
|
74
|
-
created_avatar: userInfo.avatar,
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
sqlSimpleName: KeysOfSimpleSQL.SIMPLE_INSERT,
|
|
79
|
-
sqlTable: "fatbiz_bbs_message",
|
|
80
|
-
sqlDatabase: MED_STATISTIC_DB,
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
return {
|
|
85
|
-
insertMessageRes,
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import {Inject,Provide} from '@midwayjs/core';
|
|
2
|
-
import {Context} from '@midwayjs/koa';
|
|
3
|
-
import {AuthService} from '../../service/AuthService';
|
|
4
|
-
import {WorkbenchService} from "../../service/WorkbenchService";
|
|
5
|
-
import {SysConfigService} from "../../service/SysConfigService";
|
|
6
|
-
import {CommonException} from "../../libs/crud-pro/exceptions";
|
|
7
|
-
import {KeysOfSimpleSQL} from "../../libs/crud-pro/models/keys";
|
|
8
|
-
import {BaseService} from "../../service/base/BaseService";
|
|
9
|
-
import {CurdProService} from "../../service/curd/CurdProService";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const MED_STATISTIC_DB = "medstatistic";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
// 类型:1=增加,0=减少
|
|
17
|
-
export enum UpdateScorePM {
|
|
18
|
-
decrease = 0, // 减少
|
|
19
|
-
increase = 1 // 增加
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* medstatistic 管理端
|
|
25
|
-
*/
|
|
26
|
-
@Provide()
|
|
27
|
-
export class MedScoreService extends BaseService {
|
|
28
|
-
@Inject()
|
|
29
|
-
protected ctx: Context;
|
|
30
|
-
|
|
31
|
-
@Inject()
|
|
32
|
-
protected authService: AuthService;
|
|
33
|
-
|
|
34
|
-
@Inject()
|
|
35
|
-
protected workbenchService: WorkbenchService;
|
|
36
|
-
|
|
37
|
-
@Inject()
|
|
38
|
-
protected sysConfigService: SysConfigService;
|
|
39
|
-
|
|
40
|
-
@Inject()
|
|
41
|
-
protected curdProService: CurdProService;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
async updateScore(user_id:number, pm: UpdateScorePM, score: number, memo: string): Promise<any> {
|
|
46
|
-
|
|
47
|
-
// 查询用户信息
|
|
48
|
-
const userRes = await this.curdProService.executeCrudByCfg({
|
|
49
|
-
condition: {
|
|
50
|
-
id: user_id,
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
sqlSimpleName: KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
|
|
55
|
-
sqlTable: "fa_user",
|
|
56
|
-
sqlDatabase: MED_STATISTIC_DB,
|
|
57
|
-
});
|
|
58
|
-
const userOne = userRes.getOneObj();
|
|
59
|
-
|
|
60
|
-
if (!userOne) {
|
|
61
|
-
throw new CommonException('USER_NOT_EXIST',"用户信息没有查询到")
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
const beforeScore = Math.max(0, parseInt(userOne.score) || 0);
|
|
65
|
-
|
|
66
|
-
const afterScore = pm === UpdateScorePM.decrease ? (beforeScore - score): (beforeScore + score);
|
|
67
|
-
|
|
68
|
-
// 插入日志
|
|
69
|
-
const insertLogRes = await this.curdProService.executeCrudByCfg({
|
|
70
|
-
data: {
|
|
71
|
-
user_id: user_id,
|
|
72
|
-
pm: pm,
|
|
73
|
-
score: score,
|
|
74
|
-
before: beforeScore,
|
|
75
|
-
after: afterScore,
|
|
76
|
-
memo: memo,
|
|
77
|
-
createtime: Math.floor(Date.now() / 1000),
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
sqlSimpleName: KeysOfSimpleSQL.SIMPLE_INSERT,
|
|
82
|
-
sqlTable: "fa_user_score_log",
|
|
83
|
-
sqlDatabase: MED_STATISTIC_DB,
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
// 更新User余额
|
|
87
|
-
const updateUserRes = await this.curdProService.executeCrudByCfg({
|
|
88
|
-
condition: {
|
|
89
|
-
id: user_id,
|
|
90
|
-
},
|
|
91
|
-
data: {
|
|
92
|
-
score: afterScore,
|
|
93
|
-
}
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
sqlSimpleName: KeysOfSimpleSQL.SIMPLE_UPDATE,
|
|
97
|
-
sqlTable: "fa_user",
|
|
98
|
-
sqlDatabase: MED_STATISTIC_DB,
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
return {
|
|
103
|
-
insertLogRes,
|
|
104
|
-
updateUserRes
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
const DEFAULT_SECTION_ID = 10002;
|
|
2
|
-
|
|
3
|
-
const TARGET_OBJECT_TYPE_BBS_TOPIC = 1; // bbs_topic (1)
|
|
4
|
-
const TARGET_OBJECT_TYPE_BBS_REPLY = 2; // bbs_reply (2)
|
|
5
|
-
const TARGET_OBJECT_TYPE_BBS_GUIDE = 3; // bbs_reply (3) // 教程
|
|
6
|
-
const TARGET_OBJECT_TYPE_CONTACT_US = 4; // // 联系我们
|
|
7
|
-
const TARGET_OBJECT_TYPE_USER_AUTHENTICATION = 5; // // 用户身份认证
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
export {
|
|
12
|
-
DEFAULT_SECTION_ID,
|
|
13
|
-
TARGET_OBJECT_TYPE_BBS_TOPIC,
|
|
14
|
-
TARGET_OBJECT_TYPE_BBS_REPLY,
|
|
15
|
-
TARGET_OBJECT_TYPE_BBS_GUIDE,
|
|
16
|
-
TARGET_OBJECT_TYPE_CONTACT_US,
|
|
17
|
-
TARGET_OBJECT_TYPE_USER_AUTHENTICATION
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
export const MED_STATISTIC_DB = "medstatistic";
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
// 状态;0 未读, 1 已读
|
|
26
|
-
export enum MsgStatus {
|
|
27
|
-
unread = 0, // 减少
|
|
28
|
-
read = 1 // 增加
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// 状态;0 未读, 1 已读
|
|
32
|
-
export enum MsgType {
|
|
33
|
-
unknown = 0, //
|
|
34
|
-
user_auth_pass = 1, // 用户认证审批通过
|
|
35
|
-
bbs_post_be_like = 2, // 帖子被点赞。(forum前端埋点发消息)
|
|
36
|
-
bbs_post_be_reply = 3, // 帖子被回复。(forum前端埋点发消息)
|
|
37
|
-
bbs_post_be_violation = 4, // 帖子被发现违规(ext前端埋点发消息)
|
|
38
|
-
bbs_reply_be_like = 5, // 帖子被点赞。(forum前端埋点发消息)
|
|
39
|
-
bbs_reply_be_reply = 6, // 帖子被回复。(forum前端埋点发消息)
|
|
40
|
-
bbs_reply_be_violation = 7, // 帖子被发现违规(ext前端埋点发消息)
|
|
41
|
-
contact_us_be_reply = 8, // “联系我们”被回复 (ext前端埋点发消息)
|
|
42
|
-
bbs_post_be_favorite = 9, // 帖子被收藏
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export function isMsgType(value: number): boolean {
|
|
46
|
-
if (typeof value === "undefined") {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
return Object.values(MsgType).includes(value as MsgType);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
export interface IMedTargetObj {
|
|
54
|
-
target_object_id: number,
|
|
55
|
-
target_object_type: number
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
export interface ISendUserReceivedMsg extends IMedTargetObj {
|
|
62
|
-
msg_type: MsgType
|
|
63
|
-
}
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import { Controller, Inject, Post } from '@midwayjs/core';
|
|
2
|
-
import { Context } from '@midwayjs/koa';
|
|
3
|
-
import axios from 'axios';
|
|
4
|
-
import { BaseApiController } from '../base/BaseApiController';
|
|
5
|
-
import { AuthService } from '../../service/AuthService';
|
|
6
|
-
import {IConsumerUserInfo, ISessionInfo, SESSION_ID_KEY, sessionCookieCfg} from '../../models/userSession';
|
|
7
|
-
import { CommonResult } from '../../libs/utils/common-dto';
|
|
8
|
-
import { checkLogin } from '../../middleware/permission.middleware';
|
|
9
|
-
import { assertCsrfToken } from "../../libs/utils/fatcms-request";
|
|
10
|
-
import {WorkbenchService} from "../../service/WorkbenchService";
|
|
11
|
-
import {CommonException} from "../../libs/crud-pro/exceptions";
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* 支持使用明文密码和Hash后密码登录。
|
|
15
|
-
* 1. 明文密码登录,所需字段:loginName, plainPwd,
|
|
16
|
-
* 2. Hash后密码登录,所需字段:loginName, unsaltedPwd
|
|
17
|
-
*/
|
|
18
|
-
@Controller('/ns/api/auth')
|
|
19
|
-
export class AuthController extends BaseApiController {
|
|
20
|
-
@Inject()
|
|
21
|
-
protected ctx: Context;
|
|
22
|
-
|
|
23
|
-
@Inject()
|
|
24
|
-
private authService: AuthService;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
@Inject()
|
|
28
|
-
private workbenchService: WorkbenchService;
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* 登录
|
|
32
|
-
*/
|
|
33
|
-
@Post('/login')
|
|
34
|
-
async login(): Promise<CommonResult> {
|
|
35
|
-
await assertCsrfToken(this.ctx);
|
|
36
|
-
|
|
37
|
-
// 先删除之前的SessionId
|
|
38
|
-
const sessionId = this.ctx.cookies.get(SESSION_ID_KEY, sessionCookieCfg);
|
|
39
|
-
await this.authService.removeUserSession(sessionId);
|
|
40
|
-
|
|
41
|
-
// eslint-disable-next-line prefer-const
|
|
42
|
-
let { loginName, unsaltedPwd, plainPwd } = this.ctx.request.body as any;
|
|
43
|
-
if (!unsaltedPwd && plainPwd) {
|
|
44
|
-
unsaltedPwd = this.authService.toUnsaltedPwd(plainPwd, loginName); // 使用明文密码登录时,转换成unsaltedPwd
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
const checkRes = await this.authService.checkLoginPassword(loginName, unsaltedPwd);
|
|
48
|
-
if (!checkRes.success) {
|
|
49
|
-
return checkRes;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
const workbench = await this.workbenchService.getCurrentHostWorkbenchInfo();
|
|
53
|
-
if (!workbench) {
|
|
54
|
-
throw new CommonException('WORKBENCH_IS_NOT_FOUND', '站点未找到');
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const userSessionInfo = await this.authService.createUserSession(loginName, workbench.workbench_code);
|
|
59
|
-
|
|
60
|
-
this.ctx.cookies.set(SESSION_ID_KEY, userSessionInfo.sessionId, sessionCookieCfg);
|
|
61
|
-
|
|
62
|
-
return CommonResult.successMsg('登录成功', userSessionInfo);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* 使用https://medstatistic.com/账号登录
|
|
68
|
-
*/
|
|
69
|
-
@Post('/loginByMedStatistic')
|
|
70
|
-
async loginByMedStatistic(): Promise<CommonResult> {
|
|
71
|
-
|
|
72
|
-
const { medStatisticToken } = this.ctx.request.body as any;
|
|
73
|
-
if (!medStatisticToken) {
|
|
74
|
-
return CommonResult.errorRes("medStatisticToken is null")
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
const workbench = await this.workbenchService.getCurrentHostWorkbenchInfo();
|
|
78
|
-
if (!workbench) {
|
|
79
|
-
throw new CommonException('WORKBENCH_IS_NOT_FOUND', '站点未找到');
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// 先删除之前的cookie
|
|
83
|
-
const sessionId = this.ctx.cookies.get(SESSION_ID_KEY, sessionCookieCfg);
|
|
84
|
-
await this.authService.removeUserSession(sessionId);
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
let userInfoRes: any = null;
|
|
88
|
-
try {
|
|
89
|
-
userInfoRes = await axios.get("https://console.medstatistic.com/api/user/index?lang=zh-cn", {
|
|
90
|
-
headers: {
|
|
91
|
-
host: "console.medstatistic.com",
|
|
92
|
-
origin: "https://console.medstatistic.com",
|
|
93
|
-
token: medStatisticToken
|
|
94
|
-
},
|
|
95
|
-
responseType: 'json'
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
} catch (e) {
|
|
99
|
-
return CommonResult.errorRes(e?.message || '');
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
const userInfo = userInfoRes?.data?.data;
|
|
103
|
-
|
|
104
|
-
if (!userInfo || !userInfo.id) {
|
|
105
|
-
return CommonResult.errorRes("USER_NOT_EXIST")
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
const consumerUserInfo: IConsumerUserInfo = {
|
|
109
|
-
workbenchCode: workbench.workbench_code,
|
|
110
|
-
accountType: 'medstatistic',
|
|
111
|
-
accountId: userInfo.id,
|
|
112
|
-
nickName: userInfo.nickname,
|
|
113
|
-
loginName: `${userInfo.id}_${userInfo.username}`,
|
|
114
|
-
avatar: userInfo.avatar,
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
const userSessionInfo = await this.authService.createUserSessionForConsumer(consumerUserInfo);
|
|
118
|
-
|
|
119
|
-
this.ctx.cookies.set(SESSION_ID_KEY, userSessionInfo.sessionId, sessionCookieCfg);
|
|
120
|
-
|
|
121
|
-
return CommonResult.successMsg('登录成功', userSessionInfo);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
/**
|
|
127
|
-
* 退出
|
|
128
|
-
*/
|
|
129
|
-
@Post('/logout')
|
|
130
|
-
async logout(): Promise<CommonResult> {
|
|
131
|
-
const sessionId = this.ctx.cookies.get(SESSION_ID_KEY, sessionCookieCfg);
|
|
132
|
-
await this.authService.removeUserSession(sessionId);
|
|
133
|
-
this.ctx.cookies.set(SESSION_ID_KEY, '', sessionCookieCfg);
|
|
134
|
-
return CommonResult.successMsg('退出成功');
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* 避免Session过期,前端需要定时调用此接口刷新
|
|
140
|
-
*/
|
|
141
|
-
@Post('/refreshSession', { middleware: [checkLogin()] })
|
|
142
|
-
async refreshSession(): Promise<CommonResult> {
|
|
143
|
-
const sessionInfo:ISessionInfo = this.ctx.userSession.getSessionInfo();
|
|
144
|
-
const newSessionInfo: ISessionInfo = await this.authService.refreshSession(sessionInfo);
|
|
145
|
-
this.ctx.cookies.set(SESSION_ID_KEY, newSessionInfo.sessionId, sessionCookieCfg);
|
|
146
|
-
return CommonResult.successRes(newSessionInfo);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* 修改我自己的密码
|
|
152
|
-
*/
|
|
153
|
-
@Post('/changeMyPassword', { middleware: [checkLogin()] })
|
|
154
|
-
async changeMyPassword(): Promise<CommonResult> {
|
|
155
|
-
const { unsaltedPwd } = this.ctx.request.body as any;
|
|
156
|
-
const loginName = this.ctx.userSession.getSessionInfo().loginName;
|
|
157
|
-
|
|
158
|
-
if (loginName === 'devopsviewer') {
|
|
159
|
-
return CommonResult.errorRes("开放体验账号不支持修改密码")
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
return this.userAccountService.chgUserPassword(loginName, unsaltedPwd);
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
* 校验权限接口,给前端用的。用于界面按钮级权限控制
|
|
167
|
-
*/
|
|
168
|
-
@Post('/batchCheckPermission', { middleware: [checkLogin()] })
|
|
169
|
-
async batchCheckPermission(): Promise<CommonResult> {
|
|
170
|
-
const { permissionCodeList, roleCodeList } = (this.ctx.request.body || {}) as any;
|
|
171
|
-
const res = this.ctx.userSession.batchCheckPermission({ permissionCodeList, roleCodeList });
|
|
172
|
-
return CommonResult.successRes(res);
|
|
173
|
-
}
|
|
174
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import * as _ from 'lodash';
|
|
2
|
-
import { Controller, Inject, Post } from '@midwayjs/core';
|
|
3
|
-
import { Context } from '@midwayjs/koa';
|
|
4
|
-
import { BaseApiController } from '../base/BaseApiController';
|
|
5
|
-
import { CommonResult } from '../../libs/utils/common-dto';
|
|
6
|
-
import { SystemTables } from '../../models/SystemTables';
|
|
7
|
-
import { KeysOfSimpleSQL } from '../../libs/crud-pro/models/keys';
|
|
8
|
-
import { checkLogin } from '../../middleware/permission.middleware';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* 用户个人数据查询
|
|
12
|
-
*/
|
|
13
|
-
@Controller('/ns/api/myinfo', { middleware: [checkLogin()] })
|
|
14
|
-
export class MyInfoController extends BaseApiController {
|
|
15
|
-
@Inject()
|
|
16
|
-
protected ctx: Context;
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* 我的角色列表:getMyRoleList
|
|
20
|
-
*/
|
|
21
|
-
@Post('/getMyRoleList')
|
|
22
|
-
async getMyRoleList() {
|
|
23
|
-
// eslint-disable-next-line prefer-const
|
|
24
|
-
const body = this.ctx.request.body as any;
|
|
25
|
-
const roleCodes = this.ctx.userSession.getSessionInfo().roleCodes;
|
|
26
|
-
if (!roleCodes || !roleCodes.length) {
|
|
27
|
-
return CommonResult.successRes([]);
|
|
28
|
-
}
|
|
29
|
-
_.set(body, 'condition.role_code', { $in: roleCodes });
|
|
30
|
-
return this.executeSysSimpleSQL(SystemTables.sys_perm_role, KeysOfSimpleSQL.SIMPLE_QUERY_PAGE);
|
|
31
|
-
}
|
|
32
|
-
}
|