From ef4ec213e3851f82e0fd5d3010973c4e3816d543 Mon Sep 17 00:00:00 2001 From: bao liang <29528966+lenboo@users.noreply.github.com> Date: Wed, 25 Sep 2019 18:55:02 +0800 Subject: [PATCH] add mybatis plus (#881) * update english documents * refactor zk client * update documents * update zkclient * update zkclient * update documents * add architecture-design * change i18n * update i18n * update english documents * add architecture-design * update english documents * update en-US documents * add architecture-design * update demo site * add mybatis plus model * modify mybatisplus * modify mybatisplus * change interface by mybatisplus --- .../java/cn/escheduler/alert/AlertServer.java | 2 +- .../manager/EnterpriseWeChatManager.java | 2 +- .../escheduler/alert/manager/MsgManager.java | 2 +- .../escheduler/alert/runner/AlertSender.java | 4 +- .../cn/escheduler/alert/utils/Constants.java | 2 +- .../alert/utils/EnterpriseWeChatUtils.java | 2 +- .../escheduler/alert/utils/MailUtilsTest.java | 4 +- .../api/controller/AccessTokenController.java | 3 +- .../api/controller/AlertGroupController.java | 2 +- .../api/controller/BaseController.java | 2 +- .../controller/DataAnalysisController.java | 2 +- .../api/controller/DataSourceController.java | 7 +- .../api/controller/ExecutorController.java | 2 +- .../api/controller/LoggerController.java | 2 +- .../api/controller/LoginController.java | 5 +- .../api/controller/MonitorController.java | 6 +- .../ProcessDefinitionController.java | 2 +- .../controller/ProcessInstanceController.java | 2 +- .../api/controller/ProjectController.java | 2 +- .../api/controller/QueueController.java | 2 +- .../api/controller/ResourcesController.java | 2 +- .../api/controller/SchedulerController.java | 2 +- .../controller/TaskInstanceController.java | 2 +- .../api/controller/TaskRecordController.java | 6 +- .../api/controller/TenantController.java | 3 +- .../api/controller/UsersController.java | 2 +- .../api/controller/WorkerGroupController.java | 2 +- .../escheduler/api/dto/CommandStateCount.java | 9 +- .../cn/escheduler/api/dto/DefineUserDto.java | 2 +- .../cn/escheduler/api/dto/TaskCountDto.java | 2 +- .../interceptor/LoginHandlerInterceptor.java | 6 +- .../api/service/AccessTokenService.java | 29 +- .../api/service/AlertGroupService.java | 34 +- .../api/service/BaseDAGService.java | 4 +- .../escheduler/api/service/BaseService.java | 2 +- .../api/service/DataAnalysisService.java | 100 +-- .../api/service/DataSourceService.java | 74 +-- .../api/service/ExecutorService.java | 18 +- .../escheduler/api/service/LoggerService.java | 2 +- .../api/service/MonitorService.java | 8 +- .../api/service/ProcessDefinitionService.java | 53 +- .../api/service/ProcessInstanceService.java | 24 +- .../api/service/ProjectService.java | 56 +- .../escheduler/api/service/QueueService.java | 21 +- .../api/service/ResourcesService.java | 84 +-- .../api/service/SchedulerService.java | 55 +- .../escheduler/api/service/ServerService.java | 77 --- .../api/service/SessionService.java | 9 +- .../api/service/TaskInstanceService.java | 22 +- .../api/service/TaskRecordService.java | 2 +- .../escheduler/api/service/TenantService.java | 25 +- .../api/service/UdfFuncService.java | 73 +-- .../escheduler/api/service/UsersService.java | 48 +- .../api/service/WorkerGroupService.java | 20 +- .../api/utils/ZookeeperMonitor.java | 2 +- .../controller/AbstractControllerTest.java | 11 +- .../api/service/DataAnalysisServiceTest.java | 2 +- .../api/service/DataSourceServiceTest.java | 2 +- .../api/service/LoggerServiceTest.java | 2 +- .../service/ProcessDefinitionServiceTest.java | 2 +- .../service/ProcessInstanceServiceTest.java | 2 +- .../api/service/ResourcesServiceTest.java | 2 +- .../api/service/SchedulerServiceTest.java | 4 +- .../api/service/SessionServiceTest.java | 2 +- .../api/service/TaskInstanceServiceTest.java | 2 +- .../api/service/TenantServiceTest.java | 2 +- .../api/service/UdfFuncServiceTest.java | 2 +- .../api/service/UsersServiceTest.java | 2 +- escheduler-common/.factorypath | 185 ++++++ escheduler-common/pom.xml | 5 +- .../common/utils/EnumFieldUtil.java | 7 +- escheduler-dao/pom.xml | 63 +- .../main/java/cn/escheduler/dao/AlertDao.java | 20 +- .../java/cn/escheduler/dao/MonitorDBDao.java | 2 +- .../java/cn/escheduler/dao/ProcessDao.java | 152 ++--- .../java/cn/escheduler/dao/ServerDao.java | 164 ----- .../java/cn/escheduler/dao/TaskRecordDao.java | 3 +- .../dao/datasource/ConnectionFactory.java | 53 +- .../dao/datasource/DatabaseConfiguration.java | 126 ++-- .../dao/{model => entity}/AccessToken.java | 78 +-- .../dao/{model => entity}/Alert.java | 18 +- .../dao/{model => entity}/AlertGroup.java | 42 +- .../dao/{model => entity}/Command.java | 30 +- .../escheduler/dao/entity/CommandCount.java | 58 ++ .../{model => entity}/CycleDependency.java | 2 +- .../dao/{model => entity}/DataSource.java | 12 +- .../dao/{model => entity}/DatasourceUser.java | 8 +- .../DefinitionGroupByUser.java | 2 +- .../dao/{model => entity}/Dependency.java | 2 +- .../dao/{model => entity}/ErrorCommand.java | 8 +- .../{model => entity}/ExecuteStatusCount.java | 2 +- .../dao/{model => entity}/MonitorRecord.java | 2 +- .../dao/{model => entity}/ProcessData.java | 2 +- .../{model => entity}/ProcessDefinition.java | 41 +- .../{model => entity}/ProcessInstance.java | 13 +- .../{model => entity}/ProcessInstanceMap.java | 10 +- .../dao/{model => entity}/Project.java | 20 +- .../cn/escheduler/dao/entity/ProjectUser.java | 141 ++++ .../dao/{model => entity}/Queue.java | 10 +- .../dao/{model => entity}/Resource.java | 10 +- .../dao/{model => entity}/ResourcesUser.java | 10 +- .../dao/{model => entity}/Schedule.java | 14 +- .../dao/{model => entity}/Session.java | 10 +- .../dao/{model => entity}/TaskInstance.java | 14 +- .../dao/{model => entity}/TaskRecord.java | 2 +- .../dao/{model => entity}/Tenant.java | 36 +- .../dao/{model => entity}/UDFUser.java | 10 +- .../dao/{model => entity}/UdfFunc.java | 9 +- .../dao/{model => entity}/User.java | 17 +- .../dao/{model => entity}/UserAlertGroup.java | 13 +- .../dao/{model => entity}/WorkerGroup.java | 10 +- .../dao/{model => entity}/WorkerServer.java | 2 +- .../{model => entity}/ZookeeperRecord.java | 2 +- .../dao/mapper/AccessTokenMapper.java | 78 +-- .../dao/mapper/AccessTokenMapperProvider.java | 136 ---- .../dao/mapper/AlertGroupMapper.java | 126 +--- .../dao/mapper/AlertGroupMapperProvider.java | 194 ------ .../cn/escheduler/dao/mapper/AlertMapper.java | 84 +-- .../dao/mapper/AlertMapperProvider.java | 121 ---- .../escheduler/dao/mapper/CommandMapper.java | 109 +--- .../dao/mapper/CommandMapperProvider.java | 171 ----- .../dao/mapper/DataSourceMapper.java | 212 +----- .../dao/mapper/DataSourceMapperProvider.java | 246 ------- .../dao/mapper/DatasourceUserMapper.java | 32 +- .../mapper/DatasourceUserMapperProvider.java | 69 -- .../dao/mapper/ErrorCommandMapper.java | 41 +- .../mapper/ErrorCommandMapperProvider.java | 71 -- .../dao/mapper/MasterServerMapper.java | 81 --- .../mapper/MasterServerMapperProvider.java | 99 --- .../escheduler/dao/mapper/MonitorMapper.java | 88 --- .../dao/mapper/ProcessDefinitionMapper.java | 254 +------- .../ProcessDefinitionMapperProvider.java | 315 --------- .../dao/mapper/ProcessInstanceMapMapper.java | 83 +-- .../ProcessInstanceMapMapperProvider.java | 150 ----- .../dao/mapper/ProcessInstanceMapper.java | 616 +----------------- .../mapper/ProcessInstanceMapperProvider.java | 592 ----------------- .../escheduler/dao/mapper/ProjectMapper.java | 197 +----- .../dao/mapper/ProjectMapperProvider.java | 256 -------- .../dao/mapper/ProjectUserMapper.java | 69 +- .../dao/mapper/ProjectUserMapperProvider.java | 117 ---- .../cn/escheduler/dao/mapper/QueueMapper.java | 100 +-- .../dao/mapper/QueueMapperProvider.java | 191 ------ .../escheduler/dao/mapper/ResourceMapper.java | 294 +-------- .../dao/mapper/ResourceMapperProvider.java | 313 --------- .../dao/mapper/ResourcesUserMapper.java | 54 -- .../mapper/ResourcesUserMapperProvider.java | 77 --- .../escheduler/dao/mapper/ScheduleMapper.java | 191 +----- .../dao/mapper/ScheduleMapperProvider.java | 214 ------ .../escheduler/dao/mapper/SessionMapper.java | 70 +- .../dao/mapper/SessionMapperProvider.java | 134 ---- .../dao/mapper/TaskInstanceMapper.java | 320 +-------- .../mapper/TaskInstanceMapperProvider.java | 452 ------------- .../escheduler/dao/mapper/TenantMapper.java | 121 +--- .../dao/mapper/TenantMapperProvider.java | 181 ----- .../escheduler/dao/mapper/UDFUserMapper.java | 33 +- .../dao/mapper/UDFUserMapperProvider.java | 76 --- .../escheduler/dao/mapper/UdfFuncMapper.java | 255 +------- .../dao/mapper/UdfFuncMapperProvider.java | 253 ------- .../dao/mapper/UserAlertGroupMapper.java | 68 +- .../mapper/UserAlertGroupMapperProvider.java | 97 --- .../cn/escheduler/dao/mapper/UserMapper.java | 253 +------ .../dao/mapper/UserMapperProvider.java | 305 --------- .../dao/mapper/WorkerGroupMapper.java | 111 +--- .../dao/mapper/WorkerGroupMapperProvider.java | 160 ----- .../dao/mapper/WorkerServerMapper.java | 91 --- .../mapper/WorkerServerMapperProvider.java | 105 --- .../cn/escheduler/dao/model/ProjectUser.java | 143 ---- .../cn/escheduler/dao/utils/DagHelper.java | 6 +- .../escheduler/dao/utils/PropertyUtils.java | 2 +- .../AccessTokenMapper.xml | 16 + .../AlertGroupMapper.xml | 30 + .../cn.escheduler.dao.mapper/AlertMapper.xml | 9 + .../CommandMapper.xml | 26 + .../DataSourceMapper.xml | 62 ++ .../DataSourceUserMapper.xml | 13 + .../ErrorCommandMapper.xml | 19 + .../ProcessDefinitionMapper.xml | 53 ++ .../ProcessInstanceMapMapper.xml | 21 + .../ProcessInstanceMapper.xml | 127 ++++ .../ProjectMapper.xml | 65 ++ .../ProjectUserMapper.xml | 19 + .../cn.escheduler.dao.mapper/QueueMapper.xml | 22 + .../ResourceMapper.xml | 57 ++ .../ResourceUserMapper.xml | 15 + .../ScheduleMapper.xml | 35 + .../SessionMapper.xml | 9 + .../TaskInstanceMapper.xml | 91 +++ .../cn.escheduler.dao.mapper/TenantMapper.xml | 24 + .../UDFUserMapper.xml | 12 + .../UdfFuncMapper.xml | 51 ++ .../UserAlertGroupMapper.xml | 20 + .../cn.escheduler.dao.mapper/UserMapper.xml | 56 ++ .../WorkerGroupMapper.xml | 23 + ...ce.properties => data_source.properties__} | 6 +- .../dao/mapper/AccessTokenMapperTest.java | 72 +- .../dao/mapper/AlertGroupMapperTest.java | 119 +++- .../dao/mapper/AlertMapperTest.java | 80 ++- .../dao/mapper/CommandMapperTest.java | 138 +++- .../dao/mapper/DataSourceMapperTest.java | 142 +++- .../dao/mapper/MasterServerMapperTest.java | 78 --- .../mapper/ProcessDefinitionMapperTest.java | 166 ++++- .../dao/mapper/TenantMapperTest.java | 50 +- .../dao/mapper/UdfFuncMapperTest.java | 53 +- .../dao/mapper/UserAlertGroupMapperTest.java | 41 +- .../escheduler/dao/mapper/UserMapperTest.java | 121 ++-- .../dao/mapper/WorkerGroupMapperTest.java | 53 +- .../runner/MasterBaseTaskExecThread.java | 4 +- .../master/runner/MasterExecThread.java | 5 +- .../master/runner/MasterSchedulerThread.java | 2 +- .../master/runner/MasterTaskExecThread.java | 6 +- .../runner/SubProcessTaskExecThread.java | 4 +- .../server/quartz/ProcessScheduleJob.java | 6 +- .../server/quartz/QuartzExecutors.java | 2 +- .../escheduler/server/utils/AlertManager.java | 8 +- .../escheduler/server/utils/ProcessUtils.java | 2 +- .../cn/escheduler/server/utils/UDFUtils.java | 2 +- .../server/worker/WorkerServer.java | 2 +- .../server/worker/runner/FetchTaskThread.java | 6 +- .../worker/runner/TaskScheduleThread.java | 19 +- .../worker/task/AbstractCommandExecutor.java | 2 +- .../server/worker/task/AbstractYarnTask.java | 4 +- .../task/dependent/DependentExecute.java | 4 +- .../worker/task/dependent/DependentTask.java | 2 +- .../server/worker/task/flink/FlinkTask.java | 2 +- .../server/worker/task/http/HttpTask.java | 2 +- .../task/processdure/ProcedureTask.java | 5 +- .../server/worker/task/shell/ShellTask.java | 1 - .../server/worker/task/spark/SparkTask.java | 1 - .../server/worker/task/sql/SqlTask.java | 6 +- .../escheduler/server/zk/ZKMasterClient.java | 11 +- .../server/master/AlertManagerTest.java | 26 +- .../server/master/MasterCommandTest.java | 17 +- .../shell/ShellCommandExecutorTest.java | 2 +- .../server/worker/sql/SqlExecutorTest.java | 2 +- pom.xml | 37 +- 235 files changed, 3270 insertions(+), 10607 deletions(-) delete mode 100644 escheduler-api/src/main/java/cn/escheduler/api/service/ServerService.java create mode 100644 escheduler-common/.factorypath delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/ServerDao.java rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/AccessToken.java (75%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/Alert.java (90%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/AlertGroup.java (78%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/Command.java (87%) create mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/entity/CommandCount.java rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/CycleDependency.java (98%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/DataSource.java (90%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/DatasourceUser.java (88%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/DefinitionGroupByUser.java (97%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/Dependency.java (97%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/ErrorCommand.java (96%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/ExecuteStatusCount.java (97%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/MonitorRecord.java (98%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/ProcessData.java (98%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/ProcessDefinition.java (91%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/ProcessInstance.java (97%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/ProcessInstanceMap.java (87%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/Project.java (86%) create mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/entity/ProjectUser.java rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/Queue.java (88%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/Resource.java (93%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/ResourcesUser.java (88%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/Schedule.java (94%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/Session.java (86%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/TaskInstance.java (97%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/TaskRecord.java (99%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/Tenant.java (80%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/UDFUser.java (87%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/UdfFunc.java (94%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/User.java (92%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/UserAlertGroup.java (86%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/WorkerGroup.java (87%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/WorkerServer.java (98%) rename escheduler-dao/src/main/java/cn/escheduler/dao/{model => entity}/ZookeeperRecord.java (99%) delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AccessTokenMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AlertGroupMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AlertMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/CommandMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/DataSourceMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/DatasourceUserMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ErrorCommandMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/MasterServerMapper.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/MasterServerMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/MonitorMapper.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessDefinitionMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessInstanceMapMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessInstanceMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProjectMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProjectUserMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/QueueMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ResourceMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ResourcesUserMapper.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ResourcesUserMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ScheduleMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/SessionMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TaskInstanceMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TenantMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UDFUserMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UdfFuncMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UserAlertGroupMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UserMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/WorkerGroupMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/WorkerServerMapper.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/mapper/WorkerServerMapperProvider.java delete mode 100644 escheduler-dao/src/main/java/cn/escheduler/dao/model/ProjectUser.java create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/AccessTokenMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/AlertGroupMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/AlertMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/CommandMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/DataSourceMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/DataSourceUserMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ErrorCommandMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProcessDefinitionMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProcessInstanceMapMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProcessInstanceMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProjectMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProjectUserMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/QueueMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ResourceMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ResourceUserMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ScheduleMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/SessionMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/TaskInstanceMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/TenantMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/UDFUserMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/UdfFuncMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/UserAlertGroupMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/UserMapper.xml create mode 100644 escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/WorkerGroupMapper.xml rename escheduler-dao/src/main/resources/dao/{data_source.properties => data_source.properties__} (92%) delete mode 100644 escheduler-dao/src/test/java/cn/escheduler/dao/mapper/MasterServerMapperTest.java diff --git a/escheduler-alert/src/main/java/cn/escheduler/alert/AlertServer.java b/escheduler-alert/src/main/java/cn/escheduler/alert/AlertServer.java index b8402aacf1..fbffe4453f 100644 --- a/escheduler-alert/src/main/java/cn/escheduler/alert/AlertServer.java +++ b/escheduler-alert/src/main/java/cn/escheduler/alert/AlertServer.java @@ -20,7 +20,7 @@ import cn.escheduler.alert.runner.AlertSender; import cn.escheduler.alert.utils.Constants; import cn.escheduler.common.thread.Stopper; import cn.escheduler.dao.AlertDao; -import cn.escheduler.dao.model.Alert; +import cn.escheduler.dao.entity.Alert; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; diff --git a/escheduler-alert/src/main/java/cn/escheduler/alert/manager/EnterpriseWeChatManager.java b/escheduler-alert/src/main/java/cn/escheduler/alert/manager/EnterpriseWeChatManager.java index cf16f3a63e..426861925c 100644 --- a/escheduler-alert/src/main/java/cn/escheduler/alert/manager/EnterpriseWeChatManager.java +++ b/escheduler-alert/src/main/java/cn/escheduler/alert/manager/EnterpriseWeChatManager.java @@ -18,7 +18,7 @@ package cn.escheduler.alert.manager; import cn.escheduler.alert.utils.Constants; import cn.escheduler.alert.utils.EnterpriseWeChatUtils; -import cn.escheduler.dao.model.Alert; +import cn.escheduler.dao.entity.Alert; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/escheduler-alert/src/main/java/cn/escheduler/alert/manager/MsgManager.java b/escheduler-alert/src/main/java/cn/escheduler/alert/manager/MsgManager.java index 2a5b48e5aa..b2f8172991 100644 --- a/escheduler-alert/src/main/java/cn/escheduler/alert/manager/MsgManager.java +++ b/escheduler-alert/src/main/java/cn/escheduler/alert/manager/MsgManager.java @@ -16,7 +16,7 @@ */ package cn.escheduler.alert.manager; -import cn.escheduler.dao.model.Alert; +import cn.escheduler.dao.entity.Alert; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/escheduler-alert/src/main/java/cn/escheduler/alert/runner/AlertSender.java b/escheduler-alert/src/main/java/cn/escheduler/alert/runner/AlertSender.java index bc6566ef51..4ecdd2a51a 100644 --- a/escheduler-alert/src/main/java/cn/escheduler/alert/runner/AlertSender.java +++ b/escheduler-alert/src/main/java/cn/escheduler/alert/runner/AlertSender.java @@ -23,8 +23,8 @@ import cn.escheduler.alert.utils.EnterpriseWeChatUtils; import cn.escheduler.common.enums.AlertStatus; import cn.escheduler.common.enums.AlertType; import cn.escheduler.dao.AlertDao; -import cn.escheduler.dao.model.Alert; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.Alert; +import cn.escheduler.dao.entity.User; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; diff --git a/escheduler-alert/src/main/java/cn/escheduler/alert/utils/Constants.java b/escheduler-alert/src/main/java/cn/escheduler/alert/utils/Constants.java index 037f6e775d..9e551822bb 100644 --- a/escheduler-alert/src/main/java/cn/escheduler/alert/utils/Constants.java +++ b/escheduler-alert/src/main/java/cn/escheduler/alert/utils/Constants.java @@ -26,7 +26,7 @@ public class Constants { */ public static final String ALERT_PROPERTIES_PATH = "/alert.properties"; - public static final String DATA_SOURCE_PROPERTIES_PATH = "/dao/data_source.properties"; + public static final String DATA_SOURCE_PROPERTIES_PATH = "/dao/data_source.properties__"; public static final String SINGLE_SLASH = "/"; diff --git a/escheduler-alert/src/main/java/cn/escheduler/alert/utils/EnterpriseWeChatUtils.java b/escheduler-alert/src/main/java/cn/escheduler/alert/utils/EnterpriseWeChatUtils.java index eab81498c2..dc066463fd 100644 --- a/escheduler-alert/src/main/java/cn/escheduler/alert/utils/EnterpriseWeChatUtils.java +++ b/escheduler-alert/src/main/java/cn/escheduler/alert/utils/EnterpriseWeChatUtils.java @@ -17,7 +17,7 @@ package cn.escheduler.alert.utils; import cn.escheduler.common.enums.ShowType; -import cn.escheduler.dao.model.Alert; +import cn.escheduler.dao.entity.Alert; import com.alibaba.fastjson.JSON; import com.google.common.reflect.TypeToken; diff --git a/escheduler-alert/src/test/java/cn/escheduler/alert/utils/MailUtilsTest.java b/escheduler-alert/src/test/java/cn/escheduler/alert/utils/MailUtilsTest.java index 24a8c065a5..c7b6dd8670 100644 --- a/escheduler-alert/src/test/java/cn/escheduler/alert/utils/MailUtilsTest.java +++ b/escheduler-alert/src/test/java/cn/escheduler/alert/utils/MailUtilsTest.java @@ -21,8 +21,8 @@ import cn.escheduler.common.enums.AlertType; import cn.escheduler.common.enums.ShowType; import cn.escheduler.dao.AlertDao; import cn.escheduler.dao.DaoFactory; -import cn.escheduler.dao.model.Alert; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.Alert; +import cn.escheduler.dao.entity.User; import freemarker.cache.StringTemplateLoader; import freemarker.template.Configuration; import freemarker.template.Template; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/AccessTokenController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/AccessTokenController.java index 4b608071ae..2e1876eb20 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/AccessTokenController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/AccessTokenController.java @@ -19,11 +19,10 @@ package cn.escheduler.api.controller; import cn.escheduler.api.enums.Status; import cn.escheduler.api.service.AccessTokenService; -import cn.escheduler.api.service.UsersService; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.Result; import cn.escheduler.common.utils.ParameterUtils; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/AlertGroupController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/AlertGroupController.java index f678cb5e82..fd9f1c47f1 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/AlertGroupController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/AlertGroupController.java @@ -21,7 +21,7 @@ import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.Result; import cn.escheduler.common.enums.AlertType; import cn.escheduler.common.utils.ParameterUtils; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/BaseController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/BaseController.java index 7023c68dfa..64e3b756b5 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/BaseController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/BaseController.java @@ -20,7 +20,7 @@ import cn.escheduler.api.enums.Status; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.PageInfo; import cn.escheduler.api.utils.Result; -import cn.escheduler.dao.model.Resource; +import cn.escheduler.dao.entity.Resource; import org.apache.commons.lang3.StringUtils; import javax.servlet.http.HttpServletRequest; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/DataAnalysisController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/DataAnalysisController.java index be256a9db6..78dcf3afcb 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/DataAnalysisController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/DataAnalysisController.java @@ -20,7 +20,7 @@ package cn.escheduler.api.controller; import cn.escheduler.api.service.DataAnalysisService; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.Result; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/DataSourceController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/DataSourceController.java index 7301f419cc..57cb214d76 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/DataSourceController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/DataSourceController.java @@ -18,15 +18,12 @@ package cn.escheduler.api.controller; import cn.escheduler.api.enums.Status; import cn.escheduler.api.service.DataSourceService; -import cn.escheduler.api.utils.CheckUtils; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.Result; import cn.escheduler.common.enums.DbType; -import cn.escheduler.common.enums.ResUploadType; import cn.escheduler.common.utils.CommonUtils; import cn.escheduler.common.utils.ParameterUtils; -import cn.escheduler.common.utils.PropertyUtils; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -38,11 +35,9 @@ import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; -import java.util.HashMap; import java.util.Map; import static cn.escheduler.api.enums.Status.*; -import static cn.escheduler.common.utils.PropertyUtils.getBoolean; /** diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/ExecutorController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/ExecutorController.java index e07f10246c..098c5e8e43 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/ExecutorController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/ExecutorController.java @@ -23,7 +23,7 @@ import cn.escheduler.api.service.ExecutorService; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.Result; import cn.escheduler.common.enums.*; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import io.swagger.annotations.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/LoggerController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/LoggerController.java index 24d28b5473..0393462999 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/LoggerController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/LoggerController.java @@ -20,7 +20,7 @@ package cn.escheduler.api.controller; import cn.escheduler.api.service.LoggerService; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.Result; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/LoginController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/LoginController.java index 0118add35d..250862d491 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/LoginController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/LoginController.java @@ -22,14 +22,13 @@ import cn.escheduler.api.service.SessionService; import cn.escheduler.api.service.UsersService; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.Result; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import io.swagger.annotations.*; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; @@ -37,8 +36,6 @@ import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.util.Locale; - import static cn.escheduler.api.enums.Status.*; /** diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/MonitorController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/MonitorController.java index 8d48129f51..a9ae6d4c2c 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/MonitorController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/MonitorController.java @@ -18,10 +18,9 @@ package cn.escheduler.api.controller; import cn.escheduler.api.service.MonitorService; -import cn.escheduler.api.service.ServerService; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.Result; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; @@ -46,9 +45,6 @@ public class MonitorController extends BaseController{ private static final Logger logger = LoggerFactory.getLogger(MonitorController.class); - @Autowired - private ServerService serverService; - @Autowired private MonitorService monitorService; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/ProcessDefinitionController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/ProcessDefinitionController.java index fcaee5fffa..55a29c31ed 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/ProcessDefinitionController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/ProcessDefinitionController.java @@ -21,7 +21,7 @@ import cn.escheduler.api.service.ProcessDefinitionService; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.Result; import cn.escheduler.common.utils.ParameterUtils; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import io.swagger.annotations.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/ProcessInstanceController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/ProcessInstanceController.java index 2a08eac714..83170d655c 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/ProcessInstanceController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/ProcessInstanceController.java @@ -25,7 +25,7 @@ import cn.escheduler.common.enums.Flag; import cn.escheduler.common.queue.ITaskQueue; import cn.escheduler.common.queue.TaskQueueFactory; import cn.escheduler.common.utils.ParameterUtils; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import io.swagger.annotations.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/ProjectController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/ProjectController.java index e098b1a2be..383dc687d8 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/ProjectController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/ProjectController.java @@ -23,7 +23,7 @@ import cn.escheduler.api.service.ProjectService; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.Result; import cn.escheduler.common.utils.ParameterUtils; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/QueueController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/QueueController.java index d2b7c14075..8023cd8030 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/QueueController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/QueueController.java @@ -22,7 +22,7 @@ import cn.escheduler.api.service.QueueService; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.Result; import cn.escheduler.common.utils.ParameterUtils; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/ResourcesController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/ResourcesController.java index 81d8e49429..578bd55277 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/ResourcesController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/ResourcesController.java @@ -24,7 +24,7 @@ import cn.escheduler.api.utils.Result; import cn.escheduler.common.enums.ResourceType; import cn.escheduler.common.enums.UdfType; import cn.escheduler.common.utils.ParameterUtils; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/SchedulerController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/SchedulerController.java index 37c1ab8672..de3aea29dd 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/SchedulerController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/SchedulerController.java @@ -25,7 +25,7 @@ import cn.escheduler.common.enums.Priority; import cn.escheduler.common.enums.ReleaseState; import cn.escheduler.common.enums.WarningType; import cn.escheduler.common.utils.ParameterUtils; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import io.swagger.annotations.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/TaskInstanceController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/TaskInstanceController.java index ebe4e86995..22a171fa2e 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/TaskInstanceController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/TaskInstanceController.java @@ -22,7 +22,7 @@ import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.Result; import cn.escheduler.common.enums.ExecutionStatus; import cn.escheduler.common.utils.ParameterUtils; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import io.swagger.annotations.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/TaskRecordController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/TaskRecordController.java index 46afa1a814..681d19316a 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/TaskRecordController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/TaskRecordController.java @@ -20,11 +20,7 @@ package cn.escheduler.api.controller; import cn.escheduler.api.service.TaskRecordService; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.Result; -import cn.escheduler.dao.model.User; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; +import cn.escheduler.dao.entity.User; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/TenantController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/TenantController.java index 1dc74bce48..afd469d45e 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/TenantController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/TenantController.java @@ -22,8 +22,7 @@ import cn.escheduler.api.service.TenantService; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.Result; import cn.escheduler.common.utils.ParameterUtils; -import cn.escheduler.dao.model.User; -import org.apache.commons.lang3.StringUtils; +import cn.escheduler.dao.entity.User; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/UsersController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/UsersController.java index 21c5e6f491..4b9bd08c74 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/UsersController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/UsersController.java @@ -22,7 +22,7 @@ import cn.escheduler.api.service.UsersService; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.Result; import cn.escheduler.common.utils.ParameterUtils; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/controller/WorkerGroupController.java b/escheduler-api/src/main/java/cn/escheduler/api/controller/WorkerGroupController.java index 68774e7bc6..564da50be3 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/controller/WorkerGroupController.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/controller/WorkerGroupController.java @@ -21,7 +21,7 @@ import cn.escheduler.api.enums.Status; import cn.escheduler.api.service.WorkerGroupService; import cn.escheduler.api.utils.Result; import cn.escheduler.common.utils.ParameterUtils; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/dto/CommandStateCount.java b/escheduler-api/src/main/java/cn/escheduler/api/dto/CommandStateCount.java index d6e3f68fdf..00abfe1892 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/dto/CommandStateCount.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/dto/CommandStateCount.java @@ -16,6 +16,7 @@ */ package cn.escheduler.api.dto; +import cn.escheduler.common.enums.CommandType; import cn.escheduler.common.enums.ExecutionStatus; /** @@ -25,10 +26,10 @@ public class CommandStateCount { private int errorCount; private int normalCount; - private ExecutionStatus commandState; + private CommandType commandState; public CommandStateCount(){} - public CommandStateCount(int errorCount, int normalCount, ExecutionStatus commandState) { + public CommandStateCount(int errorCount, int normalCount, CommandType commandState) { this.errorCount = errorCount; this.normalCount = normalCount; this.commandState = commandState; @@ -50,11 +51,11 @@ public class CommandStateCount { this.normalCount = normalCount; } - public ExecutionStatus getCommandState() { + public CommandType getCommandState() { return commandState; } - public void setCommandState(ExecutionStatus commandState) { + public void setCommandState(CommandType commandState) { this.commandState = commandState; } } diff --git a/escheduler-api/src/main/java/cn/escheduler/api/dto/DefineUserDto.java b/escheduler-api/src/main/java/cn/escheduler/api/dto/DefineUserDto.java index d404704b12..36b5d907ed 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/dto/DefineUserDto.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/dto/DefineUserDto.java @@ -16,7 +16,7 @@ */ package cn.escheduler.api.dto; -import cn.escheduler.dao.model.DefinitionGroupByUser; +import cn.escheduler.dao.entity.DefinitionGroupByUser; import java.util.List; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/dto/TaskCountDto.java b/escheduler-api/src/main/java/cn/escheduler/api/dto/TaskCountDto.java index 2a13ba225a..786560b7b4 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/dto/TaskCountDto.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/dto/TaskCountDto.java @@ -17,7 +17,7 @@ package cn.escheduler.api.dto; import cn.escheduler.common.enums.ExecutionStatus; -import cn.escheduler.dao.model.ExecuteStatusCount; +import cn.escheduler.dao.entity.ExecuteStatusCount; import java.util.ArrayList; import java.util.List; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/interceptor/LoginHandlerInterceptor.java b/escheduler-api/src/main/java/cn/escheduler/api/interceptor/LoginHandlerInterceptor.java index f67acbf850..406bdeff84 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/interceptor/LoginHandlerInterceptor.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/interceptor/LoginHandlerInterceptor.java @@ -18,9 +18,9 @@ package cn.escheduler.api.interceptor; import cn.escheduler.api.service.SessionService; import cn.escheduler.api.utils.Constants; +import cn.escheduler.dao.entity.Session; +import cn.escheduler.dao.entity.User; import cn.escheduler.dao.mapper.UserMapper; -import cn.escheduler.dao.model.Session; -import cn.escheduler.dao.model.User; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; @@ -78,7 +78,7 @@ public class LoginHandlerInterceptor implements HandlerInterceptor { } //get user object from session - user = userMapper.queryById(session.getUserId()); + user = userMapper.selectById(session.getUserId()); // if user is null if (user == null) { diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/AccessTokenService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/AccessTokenService.java index df7990149a..537ea66d98 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/AccessTokenService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/AccessTokenService.java @@ -17,20 +17,19 @@ package cn.escheduler.api.service; import cn.escheduler.api.enums.Status; -import cn.escheduler.api.utils.CheckUtils; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.PageInfo; -import cn.escheduler.api.utils.Result; import cn.escheduler.common.enums.UserType; import cn.escheduler.common.utils.*; +import cn.escheduler.dao.entity.AccessToken; +import cn.escheduler.dao.entity.User; import cn.escheduler.dao.mapper.*; -import cn.escheduler.dao.model.*; -import org.apache.commons.lang3.StringUtils; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.*; @@ -59,18 +58,14 @@ public class AccessTokenService extends BaseService { Map result = new HashMap<>(5); PageInfo pageInfo = new PageInfo<>(pageNo, pageSize); - Integer count; - List accessTokenList; + Page page = new Page(pageNo, pageSize); + int userId = loginUser.getId(); if (loginUser.getUserType() == UserType.ADMIN_USER){ - count = accessTokenMapper.countAccessTokenPaging(0,searchVal); - accessTokenList = accessTokenMapper.queryAccessTokenPaging(0,searchVal, pageInfo.getStart(), pageSize); - }else { - count = accessTokenMapper.countAccessTokenPaging(loginUser.getId(),searchVal); - accessTokenList = accessTokenMapper.queryAccessTokenPaging(loginUser.getId(),searchVal, pageInfo.getStart(), pageSize); + userId = 0; } - - pageInfo.setTotalCount(count); - pageInfo.setLists(accessTokenList); + IPage accessTokenList = accessTokenMapper.selectAccessTokenPage(page, searchVal, userId); + pageInfo.setTotalCount((int)accessTokenList.getTotal()); + pageInfo.setLists(accessTokenList.getRecords()); result.put(Constants.DATA_LIST, pageInfo); putMsg(result, Status.SUCCESS); @@ -155,7 +150,7 @@ public class AccessTokenService extends BaseService { return result; } - accessTokenMapper.delete(id); + accessTokenMapper.deleteById(id); putMsg(result, Status.SUCCESS); return result; } @@ -177,7 +172,7 @@ public class AccessTokenService extends BaseService { accessToken.setToken(token); accessToken.setUpdateTime(new Date()); - accessTokenMapper.update(accessToken); + accessTokenMapper.updateById(accessToken); putMsg(result, Status.SUCCESS); return result; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/AlertGroupService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/AlertGroupService.java index 9ef37020db..2d3f3d85ce 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/AlertGroupService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/AlertGroupService.java @@ -22,11 +22,13 @@ import cn.escheduler.api.utils.PageInfo; import cn.escheduler.api.utils.Result; import cn.escheduler.common.enums.AlertType; import cn.escheduler.common.enums.UserType; +import cn.escheduler.dao.entity.AlertGroup; +import cn.escheduler.dao.entity.User; +import cn.escheduler.dao.entity.UserAlertGroup; import cn.escheduler.dao.mapper.AlertGroupMapper; import cn.escheduler.dao.mapper.UserAlertGroupMapper; -import cn.escheduler.dao.model.AlertGroup; -import cn.escheduler.dao.model.User; -import cn.escheduler.dao.model.UserAlertGroup; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -80,14 +82,12 @@ public class AlertGroupService { Map result = new HashMap<>(5); - Integer count = alertGroupMapper.countAlertGroupPaging(searchVal); - + Page page = new Page(pageNo, pageSize); + IPage alertGroupIPage = alertGroupMapper.queryAlertGroupPage( + page, searchVal); PageInfo pageInfo = new PageInfo<>(pageNo, pageSize); - - List scheduleList = alertGroupMapper.queryAlertGroupPaging(searchVal, pageInfo.getStart(), pageSize); - - pageInfo.setTotalCount(count); - pageInfo.setLists(scheduleList); + pageInfo.setTotalCount((int)alertGroupIPage.getTotal()); + pageInfo.setLists(alertGroupIPage.getRecords()); result.put(Constants.DATA_LIST, pageInfo); putMsg(result, Status.SUCCESS); @@ -115,7 +115,7 @@ public class AlertGroupService { alertGroup.setGroupName(groupName); alertGroup.setGroupType(groupType); - alertGroup.setDesc(desc); + alertGroup.setDescription(desc); alertGroup.setCreateTime(now); alertGroup.setUpdateTime(now); @@ -158,7 +158,7 @@ public class AlertGroupService { } - AlertGroup alertGroup = alertGroupMapper.queryById(id); + AlertGroup alertGroup = alertGroupMapper.selectById(id); if (alertGroup == null) { putMsg(result, Status.ALERT_GROUP_NOT_EXIST); @@ -175,10 +175,10 @@ public class AlertGroupService { if (groupType != null) { alertGroup.setGroupType(groupType); } - alertGroup.setDesc(desc); + alertGroup.setDescription(desc); alertGroup.setUpdateTime(now); // updateProcessInstance - alertGroupMapper.update(alertGroup); + alertGroupMapper.updateById(alertGroup); putMsg(result, Status.SUCCESS); return result; } @@ -200,7 +200,7 @@ public class AlertGroupService { } - alertGroupMapper.delete(id); + alertGroupMapper.deleteById(id); putMsg(result, Status.SUCCESS); return result; } @@ -254,8 +254,8 @@ public class AlertGroupService { */ public Result verifyGroupName(User loginUser, String groupName) { Result result = new Result(); - AlertGroup alertGroup = alertGroupMapper.queryByGroupName(groupName); - if (alertGroup != null) { + List alertGroup = alertGroupMapper.queryByGroupName(groupName); + if (alertGroup != null && alertGroup.size() > 0) { logger.error("group {} has exist, can't create again.", groupName); result.setCode(Status.ALERT_GROUP_EXIST.getCode()); result.setMsg(Status.ALERT_GROUP_EXIST.getMsg()); diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/BaseDAGService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/BaseDAGService.java index 76d16c13ab..af757b9535 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/BaseDAGService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/BaseDAGService.java @@ -22,8 +22,8 @@ import cn.escheduler.common.model.TaskNodeRelation; import cn.escheduler.common.process.ProcessDag; import cn.escheduler.common.utils.CollectionUtils; import cn.escheduler.common.utils.JSONUtils; -import cn.escheduler.dao.model.ProcessData; -import cn.escheduler.dao.model.ProcessInstance; +import cn.escheduler.dao.entity.ProcessData; +import cn.escheduler.dao.entity.ProcessInstance; import java.util.ArrayList; import java.util.List; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/BaseService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/BaseService.java index a697f22ea5..dd63d4d7c4 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/BaseService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/BaseService.java @@ -21,7 +21,7 @@ import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.Result; import cn.escheduler.common.enums.UserType; import cn.escheduler.common.utils.HadoopUtils; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import org.apache.commons.lang3.StringUtils; import javax.servlet.http.Cookie; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/DataAnalysisService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/DataAnalysisService.java index 8ae57b8d27..efc379e35b 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/DataAnalysisService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/DataAnalysisService.java @@ -22,17 +22,14 @@ import cn.escheduler.api.dto.DefineUserDto; import cn.escheduler.api.dto.TaskCountDto; import cn.escheduler.api.enums.Status; import cn.escheduler.api.utils.Constants; -import cn.escheduler.common.enums.ExecutionStatus; +import cn.escheduler.common.enums.CommandType; import cn.escheduler.common.enums.UserType; import cn.escheduler.common.queue.ITaskQueue; import cn.escheduler.common.queue.TaskQueueFactory; import cn.escheduler.common.utils.DateUtils; +import cn.escheduler.dao.entity.*; import cn.escheduler.dao.mapper.*; -import cn.escheduler.dao.model.DefinitionGroupByUser; -import cn.escheduler.dao.model.ExecuteStatusCount; -import cn.escheduler.dao.model.Project; -import cn.escheduler.dao.model.User; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -83,7 +80,7 @@ public class DataAnalysisService { Map result = new HashMap<>(5); if(projectId != 0){ - Project project = projectMapper.queryById(projectId); + Project project = projectMapper.selectById(projectId); result = projectService.checkProjectAndAuth(loginUser, project, String.valueOf(projectId)); if (getResultStatus(result)){ @@ -109,7 +106,7 @@ public class DataAnalysisService { List taskInstanceStateCounts = taskInstanceMapper.countTaskInstanceStateByUser(loginUser.getId(), - loginUser.getUserType(), start, end, projectId); + loginUser.getUserType(), start, end, String.valueOf(projectId)); TaskCountDto taskCountResult = new TaskCountDto(taskInstanceStateCounts); if (taskInstanceStateCounts != null) { @@ -139,7 +136,7 @@ public class DataAnalysisService { Map result = new HashMap<>(5); if(projectId != 0){ - Project project = projectMapper.queryById(projectId); + Project project = projectMapper.selectById(projectId); result = projectService.checkProjectAndAuth(loginUser, project, String.valueOf(projectId)); if (getResultStatus(result)){ @@ -159,7 +156,7 @@ public class DataAnalysisService { } List processInstanceStateCounts = processInstanceMapper.countInstanceStateByUser(loginUser.getId(), - loginUser.getUserType(), start, end, projectId ); + loginUser.getUserType(), start, end, String.valueOf(projectId)); TaskCountDto taskCountResult = new TaskCountDto(processInstanceStateCounts); if (processInstanceStateCounts != null) { @@ -182,7 +179,8 @@ public class DataAnalysisService { public Map countDefinitionByUser(User loginUser, int projectId) { Map result = new HashMap<>(); - List defineGroupByUsers = processDefinitionMapper.countDefinitionGroupByUser(loginUser.getId(), loginUser.getUserType(), projectId); + List defineGroupByUsers = processDefinitionMapper.countDefinitionGroupByUser( + loginUser.getId(), loginUser.getUserType(), String.valueOf(projectId)); DefineUserDto dto = new DefineUserDto(defineGroupByUsers); result.put(Constants.DATA_LIST, dto); @@ -226,7 +224,7 @@ public class DataAnalysisService { Map result = new HashMap<>(5); if(projectId != 0){ - Project project = projectMapper.queryById(projectId); + Project project = projectMapper.selectById(projectId); result = projectService.checkProjectAndAuth(loginUser, project, String.valueOf(projectId)); if (getResultStatus(result)){ @@ -250,18 +248,32 @@ public class DataAnalysisService { return result; } + List projectIds = new ArrayList<>(); + if(projectId !=0){ + projectIds.add(projectId); + }else if(loginUser.getUserType() == UserType.GENERAL_USER){ + List authedProjectList = projectMapper.queryAuthedProjectListByUserId(loginUser.getId()); + for(Project project : authedProjectList){ + projectIds.add(project.getId()); + } + } + + Integer[] projectIdArray = projectIds.toArray(new Integer[projectIds.size()]); // count command state - List commandStateCounts = - commandMapper.countCommandState(loginUser.getId(), - loginUser.getUserType(), start, end, projectId); + List commandStateCounts = + commandMapper.countCommandState( + loginUser.getId(), + start, + end, + projectIdArray); // count error command state - List errorCommandStateCounts = - errorCommandMapper.countCommandState(loginUser.getId(), - loginUser.getUserType(), start, end, projectId); + List errorCommandStateCounts = + errorCommandMapper.countCommandState( + start, end, projectIdArray); // - Map> dataMap = new HashMap<>(); + Map> dataMap = new HashMap<>(); Map commonCommand = new HashMap<>(); commonCommand.put("commandState",0); @@ -269,37 +281,37 @@ public class DataAnalysisService { // init data map - dataMap.put(ExecutionStatus.SUBMITTED_SUCCESS,commonCommand); - dataMap.put(ExecutionStatus.RUNNING_EXEUTION,commonCommand); - dataMap.put(ExecutionStatus.READY_PAUSE,commonCommand); - dataMap.put(ExecutionStatus.PAUSE,commonCommand); - dataMap.put(ExecutionStatus.READY_STOP,commonCommand); - dataMap.put(ExecutionStatus.STOP,commonCommand); - dataMap.put(ExecutionStatus.FAILURE,commonCommand); - dataMap.put(ExecutionStatus.SUCCESS,commonCommand); - dataMap.put(ExecutionStatus.NEED_FAULT_TOLERANCE,commonCommand); - dataMap.put(ExecutionStatus.KILL,commonCommand); - dataMap.put(ExecutionStatus.WAITTING_THREAD,commonCommand); - dataMap.put(ExecutionStatus.WAITTING_DEPEND,commonCommand); +// dataMap.put(ExecutionStatus.SUBMITTED_SUCCESS,commonCommand); +// dataMap.put(ExecutionStatus.RUNNING_EXEUTION,commonCommand); +// dataMap.put(ExecutionStatus.READY_PAUSE,commonCommand); +// dataMap.put(ExecutionStatus.PAUSE,commonCommand); +// dataMap.put(ExecutionStatus.READY_STOP,commonCommand); +// dataMap.put(ExecutionStatus.STOP,commonCommand); +// dataMap.put(ExecutionStatus.FAILURE,commonCommand); +// dataMap.put(ExecutionStatus.SUCCESS,commonCommand); +// dataMap.put(ExecutionStatus.NEED_FAULT_TOLERANCE,commonCommand); +// dataMap.put(ExecutionStatus.KILL,commonCommand); +// dataMap.put(ExecutionStatus.WAITTING_THREAD,commonCommand); +// dataMap.put(ExecutionStatus.WAITTING_DEPEND,commonCommand); // put command state - for (ExecuteStatusCount executeStatusCount : commandStateCounts){ - Map commandStateCountsMap = new HashMap<>(dataMap.get(executeStatusCount.getExecutionStatus())); + for (CommandCount executeStatusCount : commandStateCounts){ + Map commandStateCountsMap = new HashMap<>(dataMap.get(executeStatusCount.getCommandType())); commandStateCountsMap.put("commandState", executeStatusCount.getCount()); - dataMap.put(executeStatusCount.getExecutionStatus(),commandStateCountsMap); + dataMap.put(executeStatusCount.getCommandType(),commandStateCountsMap); } // put error command state - for (ExecuteStatusCount errorExecutionStatus : errorCommandStateCounts){ - Map errorCommandStateCountsMap = new HashMap<>(dataMap.get(errorExecutionStatus.getExecutionStatus())); + for (CommandCount errorExecutionStatus : errorCommandStateCounts){ + Map errorCommandStateCountsMap = new HashMap<>(dataMap.get(errorExecutionStatus.getCommandType())); errorCommandStateCountsMap.put("errorCommandState",errorExecutionStatus.getCount()); - dataMap.put(errorExecutionStatus.getExecutionStatus(),errorCommandStateCountsMap); + dataMap.put(errorExecutionStatus.getCommandType(),errorCommandStateCountsMap); } List list = new ArrayList<>(); - Iterator>> iterator = dataMap.entrySet().iterator(); + Iterator>> iterator = dataMap.entrySet().iterator(); while (iterator.hasNext()){ - Map.Entry> next = iterator.next(); + Map.Entry> next = iterator.next(); CommandStateCount commandStateCount = new CommandStateCount(next.getValue().get("errorCommandState"), next.getValue().get("commandState"),next.getKey()); list.add(commandStateCount); @@ -319,7 +331,7 @@ public class DataAnalysisService { public Map countQueueState(User loginUser, int projectId) { Map result = new HashMap<>(5); if(projectId != 0){ - Project project = projectMapper.queryById(projectId); + Project project = projectMapper.selectById(projectId); result = projectService.checkProjectAndAuth(loginUser, project, String.valueOf(projectId)); if (getResultStatus(result)){ @@ -367,11 +379,15 @@ public class DataAnalysisService { Integer taskKillCount = 0; if (tasksQueueIds.length != 0){ - taskQueueCount = taskInstanceMapper.countTask(loginUser.getId(),loginUser.getUserType(),projectId, tasksQueueIds); + taskQueueCount = taskInstanceMapper.countTask( + loginUser.getId(),loginUser.getUserType(),String.valueOf(projectId), + StringUtils.join(tasksQueueIds, ",")); } if (tasksKillIds.length != 0){ - taskKillCount = taskInstanceMapper.countTask(loginUser.getId(),loginUser.getUserType(),projectId, tasksKillIds); + taskKillCount = taskInstanceMapper.countTask( + loginUser.getId(),loginUser.getUserType(),String.valueOf(projectId), + StringUtils.join(tasksKillIds, ",")); } diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/DataSourceService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/DataSourceService.java index 2acaef0e84..2b6fc5159d 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/DataSourceService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/DataSourceService.java @@ -25,14 +25,15 @@ import cn.escheduler.common.enums.UserType; import cn.escheduler.common.job.db.*; import cn.escheduler.common.utils.CommonUtils; import cn.escheduler.common.utils.JSONUtils; +import cn.escheduler.dao.entity.DataSource; +import cn.escheduler.dao.entity.Resource; +import cn.escheduler.dao.entity.User; import cn.escheduler.dao.mapper.DataSourceMapper; -import cn.escheduler.dao.mapper.DatasourceUserMapper; -import cn.escheduler.dao.mapper.ProjectMapper; -import cn.escheduler.dao.model.DataSource; -import cn.escheduler.dao.model.Resource; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.mapper.DataSourceUserMapper; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.security.UserGroupInformation; import org.slf4j.Logger; @@ -73,7 +74,7 @@ public class DataSourceService extends BaseService{ @Autowired - private DatasourceUserMapper datasourceUserMapper; + private DataSourceUserMapper datasourceUserMapper; /** * create data source @@ -139,7 +140,7 @@ public class DataSourceService extends BaseService{ Map result = new HashMap<>(); // determine whether the data source exists - DataSource dataSource = dataSourceMapper.queryById(id); + DataSource dataSource = dataSourceMapper.selectById(id); if (dataSource == null) { putMsg(result, Status.RESOURCE_NOT_EXIST); return result; @@ -164,7 +165,7 @@ public class DataSourceService extends BaseService{ dataSource.setType(type); dataSource.setConnectionParams(parameter); dataSource.setUpdateTime(now); - dataSourceMapper.update(dataSource); + dataSourceMapper.updateById(dataSource); putMsg(result, Status.SUCCESS); return result; } @@ -185,7 +186,7 @@ public class DataSourceService extends BaseService{ public Map queryDataSource(int id) { Map result = new HashMap(5); - DataSource dataSource = dataSourceMapper.queryById(id); + DataSource dataSource = dataSourceMapper.selectById(id); if (dataSource == null) { putMsg(result, Status.RESOURCE_NOT_EXIST); return result; @@ -265,14 +266,20 @@ public class DataSourceService extends BaseService{ */ public Map queryDataSourceListPaging(User loginUser, String searchVal, Integer pageNo, Integer pageSize) { Map result = new HashMap<>(); + IPage dataSourceList = null; + Page dataSourcePage = new Page(pageNo, pageSize); - Integer count = getTotalCount(loginUser); + if (isAdmin(loginUser)) { + dataSourceList = dataSourceMapper.selectPaging(dataSourcePage, 0, searchVal); + }else{ + dataSourceList = dataSourceMapper.selectPaging(dataSourcePage, loginUser.getId(), searchVal); + } + List dataSources = dataSourceList.getRecords(); + handlePasswd(dataSources); PageInfo pageInfo = new PageInfo(pageNo, pageSize); - pageInfo.setTotalCount(count); - List datasourceList = getDataSources(loginUser, searchVal, pageSize, pageInfo); - - pageInfo.setLists(datasourceList); + pageInfo.setTotalCount((int)(dataSourceList.getTotal())); + pageInfo.setLists(dataSources); result.put(Constants.DATA_LIST, pageInfo); putMsg(result, Status.SUCCESS); @@ -289,17 +296,18 @@ public class DataSourceService extends BaseService{ * @return */ private List getDataSources(User loginUser, String searchVal, Integer pageSize, PageInfo pageInfo) { - List dataSourceList = null; + IPage dataSourceList = null; + Page dataSourcePage = new Page(pageInfo.getStart(), pageSize); + if (isAdmin(loginUser)) { - dataSourceList = dataSourceMapper.queryAllDataSourcePaging(searchVal, pageInfo.getStart(), pageSize); + dataSourceList = dataSourceMapper.selectPaging(dataSourcePage, 0, searchVal); }else{ - dataSourceList = dataSourceMapper.queryDataSourcePaging(loginUser.getId(), searchVal, - pageInfo.getStart(), pageSize); + dataSourceList = dataSourceMapper.selectPaging(dataSourcePage, loginUser.getId(), searchVal); } + List dataSources = dataSourceList.getRecords(); - handlePasswd(dataSourceList); - - return dataSourceList; + handlePasswd(dataSources); + return dataSources; } @@ -319,20 +327,6 @@ public class DataSourceService extends BaseService{ } } - - /** - * get datasource total num - * - * @param loginUser - * @return - */ - private Integer getTotalCount(User loginUser) { - if (isAdmin(loginUser)) { - return dataSourceMapper.countAllDatasource(); - } - return dataSourceMapper.countUserDatasource(loginUser.getId()); - } - /** * query data resource list * @@ -470,7 +464,7 @@ public class DataSourceService extends BaseService{ * @return */ public boolean connectionTest(User loginUser, int id) { - DataSource dataSource = dataSourceMapper.queryById(id); + DataSource dataSource = dataSourceMapper.selectById(id); return checkConnection(dataSource.getType(), dataSource.getConnectionParams()); } @@ -589,7 +583,7 @@ public class DataSourceService extends BaseService{ Result result = new Result(); try { //query datasource by id - DataSource dataSource = dataSourceMapper.queryById(datasourceId); + DataSource dataSource = dataSourceMapper.selectById(datasourceId); if(dataSource == null){ logger.error("resource id {} not exist", datasourceId); putMsg(result, Status.RESOURCE_NOT_EXIST); @@ -599,7 +593,7 @@ public class DataSourceService extends BaseService{ putMsg(result, Status.USER_NO_OPERATION_PERM); return result; } - dataSourceMapper.deleteDataSourceById(datasourceId); + dataSourceMapper.deleteById(datasourceId); datasourceUserMapper.deleteByDatasourceId(datasourceId); putMsg(result, Status.SUCCESS); } catch (Exception e) { @@ -634,7 +628,7 @@ public class DataSourceService extends BaseService{ if (datasourceList != null && datasourceList.size() > 0) { datasourceSet = new HashSet<>(datasourceList); - List authedDataSourceList = dataSourceMapper.authedDatasource(userId); + List authedDataSourceList = dataSourceMapper.queryAuthedDatasource(userId); Set authedDataSourceSet = null; if (authedDataSourceList != null && authedDataSourceList.size() > 0) { @@ -665,7 +659,7 @@ public class DataSourceService extends BaseService{ return result; } - List authedDatasourceList = dataSourceMapper.authedDatasource(userId); + List authedDatasourceList = dataSourceMapper.queryAuthedDatasource(userId); result.put(Constants.DATA_LIST, authedDatasourceList); putMsg(result, Status.SUCCESS); return result; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/ExecutorService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/ExecutorService.java index a2a480f43c..c31bfa3152 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/ExecutorService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/ExecutorService.java @@ -24,10 +24,10 @@ import cn.escheduler.common.enums.*; import cn.escheduler.common.utils.DateUtils; import cn.escheduler.common.utils.JSONUtils; import cn.escheduler.dao.ProcessDao; +import cn.escheduler.dao.entity.*; import cn.escheduler.dao.mapper.ProcessDefinitionMapper; import cn.escheduler.dao.mapper.ProcessInstanceMapper; import cn.escheduler.dao.mapper.ProjectMapper; -import cn.escheduler.dao.model.*; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -104,7 +104,7 @@ public class ExecutorService extends BaseService{ } // check process define release state - ProcessDefinition processDefinition = processDefinitionMapper.queryByDefineId(processDefinitionId); + ProcessDefinition processDefinition = processDefinitionMapper.selectById(processDefinitionId); result = checkProcessDefinitionValid(processDefinition, processDefinitionId); if(result.get(Constants.STATUS) != Status.SUCCESS){ return result; @@ -127,7 +127,9 @@ public class ExecutorService extends BaseService{ /** * according to the process definition ID updateProcessInstance and CC recipient */ - processDefinitionMapper.updateReceiversAndCcById(receivers,receiversCc,processDefinitionId); + processDefinition.setReceivers(receivers); + processDefinition.setReceiversCc(receiversCc); + processDefinitionMapper.updateById(processDefinition); putMsg(result, Status.SUCCESS); } else { putMsg(result, Status.START_PROCESS_INSTANCE_ERROR); @@ -367,10 +369,12 @@ public class ExecutorService extends BaseService{ logger.error("process definition id is null"); putMsg(result,Status.REQUEST_PARAMS_NOT_VALID_ERROR,"process definition id"); } - List ids = new ArrayList<>(); + List ids = new ArrayList<>(); processDao.recurseFindSubProcessId(processDefineId, ids); + Integer[] idArray = ids.toArray(new Integer[ids.size()]); if (ids.size() > 0){ - List processDefinitionList = processDefinitionMapper.queryDefinitionListByIdList(ids); + List processDefinitionList; + processDefinitionList = processDefinitionMapper.queryDefinitionListByIdList(idArray); if (processDefinitionList != null && processDefinitionList.size() > 0){ for (ProcessDefinition processDefinition : processDefinitionList){ /** @@ -402,13 +406,13 @@ public class ExecutorService extends BaseService{ throw new RuntimeException("You must set values for parameters processDefineId or processInstanceId"); } if(processDefineId == null && processInstanceId != null) { - ProcessInstance processInstance = processInstanceMapper.queryById(processInstanceId); + ProcessInstance processInstance = processInstanceMapper.selectById(processInstanceId); if (processInstance == null) { throw new RuntimeException("processInstanceId is not exists"); } processDefineId = processInstance.getProcessDefinitionId(); } - ProcessDefinition processDefinition = processDefinitionMapper.queryByDefineId(processDefineId); + ProcessDefinition processDefinition = processDefinitionMapper.selectById(processDefineId); if (processDefinition == null){ throw new RuntimeException(String.format("processDefineId %d is not exists",processDefineId)); } diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/LoggerService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/LoggerService.java index 7d68284b15..ec810f12f4 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/LoggerService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/LoggerService.java @@ -21,7 +21,7 @@ import cn.escheduler.api.log.LogClient; import cn.escheduler.api.utils.Result; import cn.escheduler.common.Constants; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.model.TaskInstance; +import cn.escheduler.dao.entity.TaskInstance; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/MonitorService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/MonitorService.java index cc6a847578..8c3d189371 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/MonitorService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/MonitorService.java @@ -22,9 +22,9 @@ import cn.escheduler.api.utils.ZookeeperMonitor; import cn.escheduler.common.enums.ZKNodeType; import cn.escheduler.dao.MonitorDBDao; import cn.escheduler.common.model.MasterServer; -import cn.escheduler.dao.model.MonitorRecord; -import cn.escheduler.dao.model.User; -import cn.escheduler.dao.model.ZookeeperRecord; +import cn.escheduler.dao.entity.MonitorRecord; +import cn.escheduler.dao.entity.User; +import cn.escheduler.dao.entity.ZookeeperRecord; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -107,7 +107,7 @@ public class MonitorService extends BaseService{ return result; } - private List getServerListFromZK(boolean isMaster){ + public List getServerListFromZK(boolean isMaster){ List servers = new ArrayList<>(); ZookeeperMonitor zookeeperMonitor = null; try{ diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/ProcessDefinitionService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/ProcessDefinitionService.java index 45d0b46e79..49e342e1b6 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/ProcessDefinitionService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/ProcessDefinitionService.java @@ -32,11 +32,13 @@ import cn.escheduler.common.utils.CollectionUtils; import cn.escheduler.common.utils.DateUtils; import cn.escheduler.common.utils.JSONUtils; import cn.escheduler.dao.ProcessDao; +import cn.escheduler.dao.entity.*; import cn.escheduler.dao.mapper.*; -import cn.escheduler.dao.model.*; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fasterxml.jackson.core.JsonProcessingException; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -138,7 +140,7 @@ public class ProcessDefinitionService extends BaseDAGService { processDefine.setProjectId(project.getId()); processDefine.setUserId(loginUser.getId()); processDefine.setProcessDefinitionJson(processDefinitionJson); - processDefine.setDesc(desc); + processDefine.setDescription(desc); processDefine.setLocations(locations); processDefine.setConnects(connects); processDefine.setTimeout(processData.getTimeout()); @@ -209,13 +211,13 @@ public class ProcessDefinitionService extends BaseDAGService { return checkResult; } - Integer count = processDefineMapper.countDefineNumber(project.getId(), userId, searchVal); + Page page = new Page(pageNo, pageSize); + IPage processDefinitionIPage = processDefineMapper.queryDefineListPaging( + page, searchVal, userId, project.getId()); PageInfo pageInfo = new PageInfo(pageNo, pageSize); - List resourceList = processDefineMapper.queryDefineListPaging(project.getId(), - searchVal, userId, pageInfo.getStart(), pageSize); - pageInfo.setTotalCount(count); - pageInfo.setLists(resourceList); + pageInfo.setTotalCount((int)processDefinitionIPage.getTotal()); + pageInfo.setLists(processDefinitionIPage.getRecords()); result.put(Constants.DATA_LIST, pageInfo); putMsg(result, Status.SUCCESS); @@ -242,7 +244,7 @@ public class ProcessDefinitionService extends BaseDAGService { return checkResult; } - ProcessDefinition processDefinition = processDefineMapper.queryByDefineId(processId); + ProcessDefinition processDefinition = processDefineMapper.selectById(processId); if (processDefinition == null) { putMsg(result, Status.PROCESS_INSTANCE_NOT_EXIST, processId); } else { @@ -303,7 +305,7 @@ public class ProcessDefinitionService extends BaseDAGService { processDefine.setReleaseState(ReleaseState.OFFLINE); processDefine.setProjectId(project.getId()); processDefine.setProcessDefinitionJson(processDefinitionJson); - processDefine.setDesc(desc); + processDefine.setDescription(desc); processDefine.setLocations(locations); processDefine.setConnects(connects); processDefine.setTimeout(processData.getTimeout()); @@ -318,7 +320,7 @@ public class ProcessDefinitionService extends BaseDAGService { processDefine.setGlobalParamList(globalParamsList); processDefine.setUpdateTime(now); processDefine.setFlag(Flag.YES); - if (processDefineMapper.update(processDefine) > 0) { + if (processDefineMapper.updateById(processDefine) > 0) { putMsg(result, Status.SUCCESS); } else { @@ -374,7 +376,7 @@ public class ProcessDefinitionService extends BaseDAGService { return checkResult; } - ProcessDefinition processDefinition = processDefineMapper.queryByDefineId(processDefinitionId); + ProcessDefinition processDefinition = processDefineMapper.selectById(processDefinitionId); if (processDefinition == null) { putMsg(result, Status.PROCESS_DEFINE_NOT_EXIST, processDefinitionId); @@ -402,14 +404,14 @@ public class ProcessDefinitionService extends BaseDAGService { }else if(schedules.size() == 1){ Schedule schedule = schedules.get(0); if(schedule.getReleaseState() == ReleaseState.OFFLINE){ - scheduleMapper.delete(schedule.getId()); + scheduleMapper.deleteById(schedule.getId()); }else if(schedule.getReleaseState() == ReleaseState.ONLINE){ putMsg(result, Status.SCHEDULE_CRON_STATE_ONLINE,schedule.getId()); return result; } } - int delete = processDefineMapper.delete(processDefinitionId); + int delete = processDefineMapper.deleteById(processDefinitionId); if (delete > 0) { putMsg(result, Status.SUCCESS); @@ -489,21 +491,24 @@ public class ProcessDefinitionService extends BaseDAGService { } ReleaseState state = ReleaseState.getEnum(releaseState); + ProcessDefinition processDefinition = processDefineMapper.selectById(id); switch (state) { case ONLINE: { - processDefineMapper.updateProcessDefinitionReleaseState(id, state); + processDefinition.setReleaseState(state); + processDefineMapper.updateById(processDefinition); break; } case OFFLINE: { - processDefineMapper.updateProcessDefinitionReleaseState(id, state); - List scheduleList = scheduleMapper.selectAllByProcessDefineArray(new int[]{id}); + processDefinition.setReleaseState(state); + processDefineMapper.updateById(processDefinition); + List scheduleList = scheduleMapper.selectAllByProcessDefineArray(String.valueOf(id)); for(Schedule schedule:scheduleList){ logger.info("set schedule offline, schedule id: {}, process definition id: {}", project.getId(), schedule.getId(), id); // set status schedule.setReleaseState(ReleaseState.OFFLINE); - scheduleMapper.update(schedule); + scheduleMapper.updateById(schedule); deleteSchedule(project.getId(), schedule.getId()); } break; @@ -532,7 +537,7 @@ public class ProcessDefinitionService extends BaseDAGService { Map checkResult = projectService.checkProjectAndAuth(loginUser, project, projectName); Status resultStatus = (Status) checkResult.get(Constants.STATUS); if (resultStatus == Status.SUCCESS) { - ProcessDefinition processDefinition = processDefineMapper.queryByDefineId(processDefinitionId); + ProcessDefinition processDefinition = processDefineMapper.selectById(processDefinitionId); if (processDefinition != null) { JSONObject jsonObject = JSONUtils.parseObject(processDefinition.getProcessDefinitionJson()); JSONArray jsonArray = (JSONArray) jsonObject.get("tasks"); @@ -542,7 +547,7 @@ public class ProcessDefinitionService extends BaseDAGService { String taskType = taskNode.getString("type"); if(taskType.equals(TaskType.SQL.name()) || taskType.equals(TaskType.PROCEDURE.name())){ JSONObject sqlParameters = JSONUtils.parseObject(taskNode.getString("params")); - DataSource dataSource = dataSourceMapper.queryById((Integer) sqlParameters.get("datasource")); + DataSource dataSource = dataSourceMapper.selectById((Integer) sqlParameters.get("datasource")); if (dataSource != null) { sqlParameters.put("datasourceName", dataSource.getName()); } @@ -557,7 +562,7 @@ public class ProcessDefinitionService extends BaseDAGService { row.put("projectName", processDefinition.getProjectName()); row.put("processDefinitionName", processDefinition.getName()); row.put("processDefinitionJson", processDefinition.getProcessDefinitionJson()); - row.put("processDefinitionDesc", processDefinition.getDesc()); + row.put("processDefinitionDesc", processDefinition.getDescription()); row.put("processDefinitionLocations", processDefinition.getLocations()); row.put("processDefinitionConnects", processDefinition.getConnects()); @@ -575,7 +580,7 @@ public class ProcessDefinitionService extends BaseDAGService { if(schedule.getId() == -1){ row.put("scheduleWorkerGroupId", -1); }else{ - WorkerGroup workerGroup = workerGroupMapper.queryById(schedule.getId()); + WorkerGroup workerGroup = workerGroupMapper.selectById(schedule.getWorkerGroupId()); if(workerGroup != null){ row.put("scheduleWorkerGroupName", workerGroup.getName()); } @@ -810,7 +815,7 @@ public class ProcessDefinitionService extends BaseDAGService { public Map getTaskNodeListByDefinitionId(Integer defineId) throws Exception { Map result = new HashMap<>(); - ProcessDefinition processDefinition = processDefineMapper.queryByDefineId(defineId); + ProcessDefinition processDefinition = processDefineMapper.selectById(defineId); if (processDefinition == null) { logger.info("process define not exists"); putMsg(result, Status.PROCESS_DEFINE_NOT_EXIST, processDefinition.getId()); @@ -841,7 +846,7 @@ public class ProcessDefinitionService extends BaseDAGService { Map> taskNodeMap = new HashMap<>(); String[] idList = defineIdList.split(","); List definitionIdList = Arrays.asList(idList); - List processDefinitionList = processDefineMapper.queryDefinitionListByIdList(definitionIdList); + List processDefinitionList = processDefineMapper.queryDefinitionListByIdList( definitionIdList.toArray(new Integer[definitionIdList.size()])); if (processDefinitionList == null || processDefinitionList.size() ==0) { logger.info("process definition not exists"); putMsg(result, Status.PROCESS_DEFINE_NOT_EXIST, defineIdList); @@ -890,7 +895,7 @@ public class ProcessDefinitionService extends BaseDAGService { public Map viewTree(Integer processId, Integer limit) throws Exception { Map result = new HashMap<>(); - ProcessDefinition processDefinition = processDefineMapper.queryByDefineId(processId); + ProcessDefinition processDefinition = processDefineMapper.selectById(processId); if (processDefinition == null) { logger.info("process define not exists"); throw new RuntimeException("process define not exists"); diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/ProcessInstanceService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/ProcessInstanceService.java index 0e05d944ae..7271a046c5 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/ProcessInstanceService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/ProcessInstanceService.java @@ -35,9 +35,11 @@ import cn.escheduler.common.queue.TaskQueueFactory; import cn.escheduler.common.utils.*; import cn.escheduler.common.utils.placeholder.BusinessTimeUtils; import cn.escheduler.dao.ProcessDao; +import cn.escheduler.dao.entity.*; import cn.escheduler.dao.mapper.*; -import cn.escheduler.dao.model.*; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -116,7 +118,7 @@ public class ProcessInstanceService extends BaseDAGService { if(processInstance.getWorkerGroupId() == -1){ workerGroupName = DEFAULT; }else{ - WorkerGroup workerGroup = workerGroupMapper.queryById(processInstance.getWorkerGroupId()); + WorkerGroup workerGroup = workerGroupMapper.selectById(processInstance.getWorkerGroupId()); if(workerGroup != null){ workerGroupName = DEFAULT; }else{ @@ -185,12 +187,11 @@ public class ProcessInstanceService extends BaseDAGService { putMsg(result, Status.REQUEST_PARAMS_NOT_VALID_ERROR, "startDate,endDate"); return result; } - Integer count = processInstanceMapper.countProcessInstance(project.getId(), processDefineId, statesStr, - host, start, end, searchVal); + Page page = new Page(pageNo, pageSize); - PageInfo pageInfo = new PageInfo(pageNo, pageSize); - List processInstanceList = processInstanceMapper.queryProcessInstanceListPaging( - project.getId(), processDefineId, searchVal, statesStr, host, start, end, pageInfo.getStart(), pageSize); + IPage processInstanceList = + processInstanceMapper.queryProcessInstanceListPaging(page, + project.getId(), processDefineId, searchVal, statesStr, host, start, end); Set exclusionSet = new HashSet(){{ add(Constants.CLASS); @@ -199,8 +200,9 @@ public class ProcessInstanceService extends BaseDAGService { add("processInstanceJson"); }}; - pageInfo.setTotalCount(count); - pageInfo.setLists(CollectionUtils.getListByExclusion(processInstanceList, exclusionSet)); + PageInfo pageInfo = new PageInfo(pageNo, pageSize); + pageInfo.setTotalCount((int)processInstanceList.getTotal()); + pageInfo.setLists(CollectionUtils.getListByExclusion(processInstanceList.getRecords(), exclusionSet)); result.put(Constants.DATA_LIST, pageInfo); putMsg(result, Status.SUCCESS); return result; @@ -410,7 +412,7 @@ public class ProcessInstanceService extends BaseDAGService { processDefinition.setLocations(locations); processDefinition.setConnects(connects); processDefinition.setTimeout(timeout); - updateDefine = processDefineMapper.update(processDefinition); + updateDefine = processDefineMapper.updateById(processDefinition); } if (update > 0 && updateDefine > 0) { putMsg(result, Status.SUCCESS); @@ -507,7 +509,7 @@ public class ProcessInstanceService extends BaseDAGService { .append(UNDERLINE); int taskWorkerGroupId = processDao.getTaskWorkerGroupId(taskInstance); - WorkerGroup workerGroup = workerGroupMapper.queryById(taskWorkerGroupId); + WorkerGroup workerGroup = workerGroupMapper.selectById(taskWorkerGroupId); if(workerGroup == null){ nodeValueSb.append(DEFAULT_WORKER_ID); diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/ProjectService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/ProjectService.java index c5728c35b3..dc03e4921c 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/ProjectService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/ProjectService.java @@ -20,14 +20,15 @@ import cn.escheduler.api.enums.Status; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.PageInfo; import cn.escheduler.common.enums.UserType; +import cn.escheduler.dao.entity.ProcessDefinition; +import cn.escheduler.dao.entity.Project; +import cn.escheduler.dao.entity.ProjectUser; +import cn.escheduler.dao.entity.User; import cn.escheduler.dao.mapper.ProcessDefinitionMapper; import cn.escheduler.dao.mapper.ProjectMapper; import cn.escheduler.dao.mapper.ProjectUserMapper; -import cn.escheduler.dao.mapper.UserMapper; -import cn.escheduler.dao.model.ProcessDefinition; -import cn.escheduler.dao.model.Project; -import cn.escheduler.dao.model.ProjectUser; -import cn.escheduler.dao.model.User; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -39,7 +40,8 @@ import static cn.escheduler.api.utils.CheckUtils.checkDesc; /** * project service - */ + *HttpTask./ +**/ @Service public class ProjectService extends BaseService{ @@ -102,7 +104,7 @@ public class ProjectService extends BaseService{ public Map queryById(Integer projectId) { Map result = new HashMap<>(5); - Project project = projectMapper.queryById(projectId); + Project project = projectMapper.selectById(projectId); if (project != null) { result.put(Constants.DATA_LIST, project); @@ -151,24 +153,22 @@ public class ProjectService extends BaseService{ */ public Map queryProjectListPaging(User loginUser, Integer pageSize, Integer pageNo, String searchVal) { Map result = new HashMap<>(); - int count = 0; PageInfo pageInfo = new PageInfo(pageNo, pageSize); - List projectList = null; - if (loginUser.getUserType() == UserType.ADMIN_USER) { - count = projectMapper.countAllProjects(searchVal); - projectList = projectMapper.queryAllProjectListPaging(pageInfo.getStart(), pageSize, searchVal); + + Page page = new Page(pageNo, pageSize); + + int userId = loginUser.getUserType() == UserType.ADMIN_USER ? 0 : loginUser.getId(); + IPage projectIPage = projectMapper.queryProjectListPaging(page, userId, searchVal); + + List projectList = projectIPage.getRecords(); + if(userId != 0){ for (Project project : projectList) { project.setPerm(cn.escheduler.common.Constants.DEFAULT_ADMIN_PERMISSION); } - - } else { - count = projectMapper.countProjects(loginUser.getId(), searchVal); - projectList = projectMapper.queryProjectListPaging(loginUser.getId(), - pageInfo.getStart(), pageSize, searchVal); } - pageInfo.setTotalCount(count); + pageInfo.setTotalCount((int)projectIPage.getTotal()); pageInfo.setLists(projectList); - result.put(Constants.COUNT, count); + result.put(Constants.COUNT, (int)projectIPage.getTotal()); result.put(Constants.DATA_LIST, pageInfo); putMsg(result, Status.SUCCESS); @@ -184,7 +184,7 @@ public class ProjectService extends BaseService{ */ public Map deleteProject(User loginUser, Integer projectId) { Map result = new HashMap<>(5); - Project project = projectMapper.queryById(projectId); + Project project = projectMapper.selectById(projectId); Map checkResult = getCheckResult(loginUser, project); if (checkResult != null) { return checkResult; @@ -196,7 +196,7 @@ public class ProjectService extends BaseService{ return result; } - int delete = projectMapper.delete(projectId); + int delete = projectMapper.deleteById(projectId); if (delete > 0) { putMsg(result, Status.SUCCESS); } else { @@ -233,7 +233,7 @@ public class ProjectService extends BaseService{ public Map update(User loginUser, Integer projectId, String projectName, String desc) { Map result = new HashMap<>(5); - Project project = projectMapper.queryById(projectId); + Project project = projectMapper.selectById(projectId); Map checkResult = getCheckResult(loginUser, project); if (checkResult != null) { return checkResult; @@ -247,7 +247,7 @@ public class ProjectService extends BaseService{ project.setDesc(desc); project.setUpdateTime(new Date()); - int update = projectMapper.update(project); + int update = projectMapper.updateById(project); if (update > 0) { putMsg(result, Status.SUCCESS); } else { @@ -278,7 +278,7 @@ public class ProjectService extends BaseService{ if (projectList != null && projectList.size() > 0) { projectSet = new HashSet<>(projectList); - List authedProjectList = projectMapper.authedProject(userId); + List authedProjectList = projectMapper.queryAuthedProjectListByUserId(userId); resultList = getUnauthorizedProjects(projectSet, authedProjectList); } @@ -321,7 +321,7 @@ public class ProjectService extends BaseService{ return result; } - List projects = projectMapper.authedProject(userId); + List projects = projectMapper.queryAuthedProjectListByUserId(userId); result.put(Constants.DATA_LIST, projects); putMsg(result,Status.SUCCESS); @@ -357,7 +357,7 @@ public class ProjectService extends BaseService{ return cn.escheduler.common.Constants.ALL_PERMISSIONS; } - ProjectUser projectUser = projectUserMapper.query(project.getId(), user.getId()); + ProjectUser projectUser = projectUserMapper.queryProjectRelation(project.getId(), user.getId()); if (projectUser == null) { return 0; @@ -373,8 +373,8 @@ public class ProjectService extends BaseService{ */ public Map queryAllProjectList() { Map result = new HashMap<>(); - List projects = projectMapper.queryAllProjectList(); - List processDefinitions = processDefinitionMapper.queryAll(); + List projects = projectMapper.selectList(null); + List processDefinitions = processDefinitionMapper.selectList(null); if(projects != null){ Set set = new HashSet<>(); for (ProcessDefinition processDefinition : processDefinitions){ diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/QueueService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/QueueService.java index 45f574ed49..7912e49229 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/QueueService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/QueueService.java @@ -20,9 +20,11 @@ import cn.escheduler.api.enums.Status; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.PageInfo; import cn.escheduler.api.utils.Result; +import cn.escheduler.dao.entity.Queue; +import cn.escheduler.dao.entity.User; import cn.escheduler.dao.mapper.QueueMapper; -import cn.escheduler.dao.model.Queue; -import cn.escheduler.dao.model.User; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -57,7 +59,7 @@ public class QueueService extends BaseService { return result; } - List queueList = queueMapper.queryAllQueue(); + List queueList = queueMapper.selectList(null); result.put(Constants.DATA_LIST, queueList); putMsg(result, Status.SUCCESS); @@ -79,14 +81,15 @@ public class QueueService extends BaseService { return result; } - Integer count = queueMapper.countQueuePaging(searchVal); + Page page = new Page(pageNo, pageSize); - PageInfo pageInfo = new PageInfo<>(pageNo, pageSize); - List queueList = queueMapper.queryQueuePaging(searchVal, pageInfo.getStart(), pageSize); + IPage queueList = queueMapper.queryQueuePaging(page, searchVal); + Integer count = (int)queueList.getTotal(); + PageInfo pageInfo = new PageInfo<>(pageNo, pageSize); pageInfo.setTotalCount(count); - pageInfo.setLists(queueList); + pageInfo.setLists(queueList.getRecords()); result.put(Constants.DATA_LIST, pageInfo); putMsg(result, Status.SUCCESS); @@ -156,7 +159,7 @@ public class QueueService extends BaseService { return result; } - Queue queueObj = queueMapper.queryById(id); + Queue queueObj = queueMapper.selectById(id); if (queueObj == null) { putMsg(result, Status.QUEUE_NOT_EXIST, id); return result; @@ -190,7 +193,7 @@ public class QueueService extends BaseService { queueObj.setQueueName(queueName); queueObj.setUpdateTime(now); - queueMapper.update(queueObj); + queueMapper.updateById(queueObj); putMsg(result, Status.SUCCESS); return result; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/ResourcesService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/ResourcesService.java index 9e37ce01fd..d2e47c8826 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/ResourcesService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/ResourcesService.java @@ -26,10 +26,12 @@ import cn.escheduler.common.utils.FileUtils; import cn.escheduler.common.utils.HadoopUtils; import cn.escheduler.common.utils.PropertyUtils; import cn.escheduler.dao.mapper.*; -import cn.escheduler.dao.model.Resource; -import cn.escheduler.dao.model.Tenant; -import cn.escheduler.dao.model.UdfFunc; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.Resource; +import cn.escheduler.dao.entity.Tenant; +import cn.escheduler.dao.entity.UdfFunc; +import cn.escheduler.dao.entity.User; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.collections.BeanMap; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; @@ -66,7 +68,7 @@ public class ResourcesService extends BaseService { private UserMapper userMapper; @Autowired - private ResourcesUserMapper resourcesUserMapper; + private ResourceUserMapper resourceUserMapper; /** * create resource @@ -129,8 +131,7 @@ public class ResourcesService extends BaseService { } // check resoure name exists - Resource resource = resourcesMapper.queryResourceByNameAndType(name, type.ordinal()); - if (resource != null) { + if (checkResourceExists(name, 0, type.ordinal())) { logger.error("resource {} has exist, can't recreate", name); putMsg(result, Status.RESOURCE_EXIST); return result; @@ -138,7 +139,7 @@ public class ResourcesService extends BaseService { Date now = new Date(); - resource = new Resource(name,file.getOriginalFilename(),desc,loginUser.getId(),type,file.getSize(),now,now); + Resource resource = new Resource(name,file.getOriginalFilename(),desc,loginUser.getId(),type,file.getSize(),now,now); try { resourcesMapper.insert(resource); @@ -167,6 +168,15 @@ public class ResourcesService extends BaseService { return result; } + private boolean checkResourceExists(String alias, int userId, int type ){ + + List resources = resourcesMapper.queryResourceList(alias, userId, type); + if (resources != null && resources.size() > 0) { + return true; + } + return false; + } + /** @@ -193,7 +203,7 @@ public class ResourcesService extends BaseService { return result; } - Resource resource = resourcesMapper.queryResourceById(resourceId); + Resource resource = resourcesMapper.selectById(resourceId); String originResourceName = resource.getAlias(); if (resource == null) { putMsg(result, Status.RESOURCE_NOT_EXIST); @@ -212,8 +222,7 @@ public class ResourcesService extends BaseService { //check resource aleady exists if (!resource.getAlias().equals(name)) { - Resource needUpdateResource = resourcesMapper.queryResourceByNameAndType(name, type.ordinal()); - if (needUpdateResource != null) { + if (checkResourceExists(name, 0, type.ordinal())) { logger.error("resource {} already exists, can't recreate", name); putMsg(result, Status.RESOURCE_EXIST); return result; @@ -227,7 +236,7 @@ public class ResourcesService extends BaseService { resource.setUpdateTime(now); try { - resourcesMapper.update(resource); + resourcesMapper.updateById(resource); putMsg(result, Status.SUCCESS); Map dataMap = new BeanMap(resource); @@ -293,21 +302,16 @@ public class ResourcesService extends BaseService { public Map queryResourceListPaging(User loginUser, ResourceType type, String searchVal, Integer pageNo, Integer pageSize) { HashMap result = new HashMap<>(5); - Integer count = 0; - List resourceList = new ArrayList<>(); - PageInfo pageInfo = new PageInfo(pageNo, pageSize); + Page page = new Page(pageNo, pageSize); + int userId = loginUser.getId(); if (isAdmin(loginUser)) { - count = resourcesMapper.countAllResourceNumberByType(type.ordinal()); - resourceList = resourcesMapper.queryAllResourceListPaging(type.ordinal(), searchVal, - pageInfo.getStart(), pageSize); - } else { - count = resourcesMapper.countResourceNumberByType(loginUser.getId(), type.ordinal()); - resourceList = resourcesMapper.queryResourceAuthoredPaging(loginUser.getId(), type.ordinal(), searchVal, - pageInfo.getStart(), pageSize); + userId= 0; } - - pageInfo.setTotalCount(count); - pageInfo.setLists(resourceList); + IPage resourceIPage = resourcesMapper.queryResourcePaging(page, + userId, type.ordinal(), searchVal); + PageInfo pageInfo = new PageInfo(pageNo, pageSize); + pageInfo.setTotalCount((int)resourceIPage.getTotal()); + pageInfo.setLists(resourceIPage.getRecords()); result.put(Constants.DATA_LIST, pageInfo); putMsg(result,Status.SUCCESS); return result; @@ -370,11 +374,11 @@ public class ResourcesService extends BaseService { Map result = new HashMap<>(5); List resourceList; + int userId = loginUser.getId(); if(isAdmin(loginUser)){ - resourceList = resourcesMapper.listAllResourceByType(type.ordinal()); - }else{ - resourceList = resourcesMapper.queryResourceListAuthored(loginUser.getId(), type.ordinal()); + userId = 0; } + resourceList = resourcesMapper.queryResourceList(null, userId, type.ordinal()); result.put(Constants.DATA_LIST, resourceList); putMsg(result,Status.SUCCESS); @@ -399,7 +403,7 @@ public class ResourcesService extends BaseService { } //get resource and hdfs path - Resource resource = resourcesMapper.queryResourceById(resourceId); + Resource resource = resourcesMapper.selectById(resourceId); if (resource == null) { logger.error("resource file not exist, resource id {}", resourceId); putMsg(result, Status.RESOURCE_NOT_EXIST); @@ -417,8 +421,8 @@ public class ResourcesService extends BaseService { hdfsFilename = getHdfsFileName(resource, tenantCode, hdfsFilename); //delete data in database - resourcesMapper.delete(resourceId); - resourcesUserMapper.deleteByResourceId(resourceId); + resourcesMapper.deleteById(resourceId); + resourceUserMapper.deleteResourceUser(0, resourceId); //delete file on hdfs HadoopUtils.getInstance().delete(hdfsFilename, false); putMsg(result, Status.SUCCESS); @@ -436,8 +440,7 @@ public class ResourcesService extends BaseService { public Result verifyResourceName(String name, ResourceType type,User loginUser) { Result result = new Result(); putMsg(result, Status.SUCCESS); - Resource resource = resourcesMapper.queryResourceByNameAndType(name, type.ordinal()); - if (resource != null) { + if (checkResourceExists(name, 0, type.ordinal())) { logger.error("resource type:{} name:{} has exist, can't create again.", type, name); putMsg(result, Status.RESOURCE_EXIST); } else { @@ -474,8 +477,7 @@ public class ResourcesService extends BaseService { */ public Result verifyResourceName(String name, ResourceType type) { Result result = new Result(); - Resource resource = resourcesMapper.queryResourceByNameAndType(name, type.ordinal()); - if (resource != null) { + if (checkResourceExists(name, 0, type.ordinal())) { logger.error("resource type:{} name:{} has exist, can't create again.", type, name); putMsg(result, Status.RESOURCE_EXIST); } else { @@ -502,7 +504,7 @@ public class ResourcesService extends BaseService { } // get resource by id - Resource resource = resourcesMapper.queryResourceById(resourceId); + Resource resource = resourcesMapper.selectById(resourceId); if (resource == null) { logger.error("resouce file not exist, resource id {}", resourceId); putMsg(result, Status.RESOURCE_NOT_EXIST); @@ -629,7 +631,7 @@ public class ResourcesService extends BaseService { return result; } - Resource resource = resourcesMapper.queryResourceById(resourceId); + Resource resource = resourcesMapper.selectById(resourceId); if (resource == null) { logger.error("read file not exist, resource id {}", resourceId); putMsg(result, Status.RESOURCE_NOT_EXIST); @@ -649,7 +651,7 @@ public class ResourcesService extends BaseService { resource.setSize(content.getBytes().length); resource.setUpdateTime(new Date()); - resourcesMapper.update(resource); + resourcesMapper.updateById(resource); User user = userMapper.queryDetailsById(resource.getUserId()); String tenantCode = tenantMapper.queryById(user.getTenantId()).getTenantCode(); @@ -720,7 +722,7 @@ public class ResourcesService extends BaseService { throw new RuntimeException("hdfs not startup"); } - Resource resource = resourcesMapper.queryResourceById(resourceId); + Resource resource = resourcesMapper.selectById(resourceId); if (resource == null) { logger.error("download file not exist, resource id {}", resourceId); return null; @@ -793,7 +795,7 @@ public class ResourcesService extends BaseService { if (udfFuncList != null && udfFuncList.size() > 0) { udfFuncSet = new HashSet<>(udfFuncList); - List authedUDFFuncList = udfFunctionMapper.authedUdfFunc(userId); + List authedUDFFuncList = udfFunctionMapper.queryAuthedUdfFunc(userId); getAuthorizedResourceList(udfFuncSet, authedUDFFuncList); resultList = new ArrayList<>(udfFuncSet); @@ -818,7 +820,7 @@ public class ResourcesService extends BaseService { if (checkAdmin(loginUser, result)) { return result; } - List udfFuncs = udfFunctionMapper.authedUdfFunc(userId); + List udfFuncs = udfFunctionMapper.queryAuthedUdfFunc(userId); result.put(Constants.DATA_LIST, udfFuncs); putMsg(result,Status.SUCCESS); return result; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/SchedulerService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/SchedulerService.java index 64fc8c76eb..8e34700078 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/SchedulerService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/SchedulerService.java @@ -29,14 +29,18 @@ import cn.escheduler.common.model.MasterServer; import cn.escheduler.common.utils.DateUtils; import cn.escheduler.common.utils.JSONUtils; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.mapper.MasterServerMapper; +import cn.escheduler.dao.entity.ProcessDefinition; +import cn.escheduler.dao.entity.Project; +import cn.escheduler.dao.entity.Schedule; +import cn.escheduler.dao.entity.User; import cn.escheduler.dao.mapper.ProcessDefinitionMapper; import cn.escheduler.dao.mapper.ProjectMapper; import cn.escheduler.dao.mapper.ScheduleMapper; -import cn.escheduler.dao.model.*; import cn.escheduler.dao.utils.cron.CronUtils; import cn.escheduler.server.quartz.ProcessScheduleJob; import cn.escheduler.server.quartz.QuartzExecutors; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.lang3.StringUtils; import org.quartz.CronExpression; import org.slf4j.Logger; @@ -64,10 +68,10 @@ public class SchedulerService extends BaseService { private ExecutorService executorService; @Autowired - private ProcessDao processDao; + private MonitorService monitorService; @Autowired - private MasterServerMapper masterServerMapper; + private ProcessDao processDao; @Autowired private ScheduleMapper scheduleMapper; @@ -93,7 +97,7 @@ public class SchedulerService extends BaseService { @Transactional(value = "TransactionManager", rollbackFor = Exception.class) public Map insertSchedule(User loginUser, String projectName, Integer processDefineId, String schedule, WarningType warningType, int warningGroupId, FailureStrategy failureStrategy, - String receivers, String receiversCc,Priority processInstancePriority, int workerGroupId) throws IOException { + String receivers, String receiversCc, Priority processInstancePriority, int workerGroupId) throws IOException { Map result = new HashMap(5); @@ -149,7 +153,9 @@ public class SchedulerService extends BaseService { /** * updateProcessInstance receivers and cc by process definition id */ - processDefinitionMapper.updateReceiversAndCcById(receivers, receiversCc, processDefineId); + processDefinition.setReceivers(receivers); + processDefinition.setReceiversCc(receiversCc); + processDefinitionMapper.updateById(processDefinition); putMsg(result, Status.SUCCESS); return result; @@ -186,7 +192,7 @@ public class SchedulerService extends BaseService { } // check schedule exists - Schedule schedule = scheduleMapper.queryById(id); + Schedule schedule = scheduleMapper.selectById(id); if (schedule == null) { putMsg(result, Status.SCHEDULE_CRON_NOT_EXISTS, id); @@ -241,12 +247,14 @@ public class SchedulerService extends BaseService { schedule.setWorkerGroupId(workerGroupId); schedule.setUpdateTime(now); schedule.setProcessInstancePriority(processInstancePriority); - scheduleMapper.update(schedule); + scheduleMapper.updateById(schedule); /** * updateProcessInstance recipients and cc by process definition ID */ - processDefinitionMapper.updateReceiversAndCcById(receivers, receiversCc, schedule.getProcessDefinitionId()); + processDefinition.setReceivers(receivers); + processDefinition.setReceiversCc(receiversCc); + processDefinitionMapper.updateById(processDefinition); putMsg(result, Status.SUCCESS); return result; @@ -274,7 +282,7 @@ public class SchedulerService extends BaseService { } // check schedule exists - Schedule scheduleObj = scheduleMapper.queryById(id); + Schedule scheduleObj = scheduleMapper.selectById(id); if (scheduleObj == null) { putMsg(result, Status.SCHEDULE_CRON_NOT_EXISTS, id); @@ -302,10 +310,12 @@ public class SchedulerService extends BaseService { return result; } // check sub process definition release state - List subProcessDefineIds = new ArrayList<>(); + List subProcessDefineIds = new ArrayList<>(); processDao.recurseFindSubProcessId(scheduleObj.getProcessDefinitionId(), subProcessDefineIds); + Integer[] idArray = subProcessDefineIds.toArray(new Integer[subProcessDefineIds.size()]); if (subProcessDefineIds.size() > 0){ - List subProcessDefinitionList = processDefinitionMapper.queryDefinitionListByIdList(subProcessDefineIds); + List subProcessDefinitionList = + processDefinitionMapper.queryDefinitionListByIdList(idArray); if (subProcessDefinitionList != null && subProcessDefinitionList.size() > 0){ for (ProcessDefinition subProcessDefinition : subProcessDefinitionList){ /** @@ -323,7 +333,8 @@ public class SchedulerService extends BaseService { } // check master server exists - List masterServers = masterServerMapper.queryAllMaster(); + List masterServers = monitorService.getServerListFromZK(true); + if (masterServers.size() == 0) { putMsg(result, Status.MASTER_NOT_EXISTS); @@ -332,7 +343,7 @@ public class SchedulerService extends BaseService { // set status scheduleObj.setReleaseState(scheduleStatus); - scheduleMapper.update(scheduleObj); + scheduleMapper.updateById(scheduleObj); try { switch (scheduleStatus) { @@ -387,15 +398,15 @@ public class SchedulerService extends BaseService { putMsg(result, Status.PROCESS_DEFINE_NOT_EXIST, processDefineId); return result; } + Page page = new Page(pageNo, pageSize); + IPage scheduleIPage = scheduleMapper.queryByProcessDefineIdPaging( + page, processDefineId, searchVal + ); - Integer count = scheduleMapper.countByProcessDefineId(processDefineId, searchVal); PageInfo pageInfo = new PageInfo(pageNo, pageSize); - - List scheduleList = scheduleMapper.queryByProcessDefineIdPaging(processDefinition.getId(), searchVal, pageInfo.getStart(), pageSize); - - pageInfo.setTotalCount(count); - pageInfo.setLists(scheduleList); + pageInfo.setTotalCount((int)scheduleIPage.getTotal()); + pageInfo.setLists(scheduleIPage.getRecords()); result.put(Constants.DATA_LIST, pageInfo); putMsg(result, Status.SUCCESS); @@ -523,7 +534,7 @@ public class SchedulerService extends BaseService { return checkResult; } - Schedule schedule = scheduleMapper.queryById(scheduleId); + Schedule schedule = scheduleMapper.selectById(scheduleId); if (schedule == null) { putMsg(result, Status.SCHEDULE_CRON_NOT_EXISTS, scheduleId); @@ -543,7 +554,7 @@ public class SchedulerService extends BaseService { } - int delete = scheduleMapper.delete(scheduleId); + int delete = scheduleMapper.deleteById(scheduleId); if (delete > 0) { putMsg(result, Status.SUCCESS); diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/ServerService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/ServerService.java deleted file mode 100644 index a54b385b0d..0000000000 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/ServerService.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.api.service; - -import cn.escheduler.api.enums.Status; -import cn.escheduler.api.utils.Constants; -import cn.escheduler.dao.mapper.MasterServerMapper; -import cn.escheduler.dao.mapper.WorkerServerMapper; -import cn.escheduler.common.model.MasterServer; -import cn.escheduler.dao.model.User; -import cn.escheduler.dao.model.WorkerServer; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * server service - */ -@Service -public class ServerService extends BaseService{ - - - @Autowired - MasterServerMapper masterServerMapper; - - @Autowired - WorkerServerMapper workerServerMapper; - - /** - * query master list - * - * @param loginUser - * @return - */ - public Map queryMaster(User loginUser) { - - Map result = new HashMap<>(5); - - List masterList = masterServerMapper.queryAllMaster(); - result.put(Constants.DATA_LIST, masterList); - putMsg(result,Status.SUCCESS); - - return result; - } - - /** - * query worker list - * - * @param loginUser - * @return - */ - public Map queryWorker(User loginUser) { - Map result = new HashMap<>(); - - List workerList = workerServerMapper.queryAllWorker(); - result.put(Constants.DATA_LIST, workerList); - putMsg(result,Status.SUCCESS); - return result; - } -} diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/SessionService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/SessionService.java index 689325be4b..9408ab9c6c 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/SessionService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/SessionService.java @@ -20,9 +20,9 @@ package cn.escheduler.api.service; import cn.escheduler.api.controller.BaseController; import cn.escheduler.api.utils.Constants; import cn.escheduler.common.utils.CollectionUtils; +import cn.escheduler.dao.entity.Session; +import cn.escheduler.dao.entity.User; import cn.escheduler.dao.mapper.SessionMapper; -import cn.escheduler.dao.model.Session; -import cn.escheduler.dao.model.User; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -70,7 +70,7 @@ public class SessionService extends BaseService{ String ip = BaseController.getClientIpAddress(request); logger.debug("get session: {}, ip: {}", sessionId, ip); - return sessionMapper.queryBySessionId(sessionId); + return sessionMapper.selectById(sessionId); } /** @@ -103,7 +103,8 @@ public class SessionService extends BaseService{ /** * updateProcessInstance the latest login time */ - sessionMapper.update(session.getId(), now); + session.setLastLoginTime(now); + sessionMapper.updateById(session); return session.getId(); diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/TaskInstanceService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/TaskInstanceService.java index 71940712eb..6acb6d0133 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/TaskInstanceService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/TaskInstanceService.java @@ -24,12 +24,14 @@ import cn.escheduler.common.enums.ExecutionStatus; import cn.escheduler.common.utils.CollectionUtils; import cn.escheduler.common.utils.DateUtils; import cn.escheduler.dao.ProcessDao; +import cn.escheduler.dao.entity.ProcessInstance; +import cn.escheduler.dao.entity.Project; +import cn.escheduler.dao.entity.TaskInstance; +import cn.escheduler.dao.entity.User; import cn.escheduler.dao.mapper.ProjectMapper; import cn.escheduler.dao.mapper.TaskInstanceMapper; -import cn.escheduler.dao.model.ProcessInstance; -import cn.escheduler.dao.model.Project; -import cn.escheduler.dao.model.TaskInstance; -import cn.escheduler.dao.model.User; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -112,18 +114,18 @@ public class TaskInstanceService extends BaseService { result.put(Constants.MSG, MessageFormat.format(Status.REQUEST_PARAMS_NOT_VALID_ERROR.getMsg(), "startDate,endDate")); return result; } - Integer count = taskInstanceMapper.countTaskInstance(project.getId(), processInstanceId, taskName, statesStr, - host,start, end, searchVal); + Page page = new Page(pageNo, pageSize); + IPage taskInstanceIPage = taskInstanceMapper.queryTaskInstanceListPaging( + page, project.getId(), processInstanceId, searchVal, taskName, statesStr, host, start, end + ); PageInfo pageInfo = new PageInfo(pageNo, pageSize); Set exclusionSet = new HashSet(){{ add(Constants.CLASS); add("taskJson"); }}; - List taskInstanceList = taskInstanceMapper.queryTaskInstanceListPaging( - project.getId(), processInstanceId, searchVal, taskName, statesStr, host, start, end, pageInfo.getStart(), pageSize); - pageInfo.setTotalCount(count); - pageInfo.setLists(CollectionUtils.getListByExclusion(taskInstanceList,exclusionSet)); + pageInfo.setTotalCount((int)taskInstanceIPage.getTotal()); + pageInfo.setLists(CollectionUtils.getListByExclusion(taskInstanceIPage.getRecords(),exclusionSet)); result.put(Constants.DATA_LIST, pageInfo); putMsg(result, Status.SUCCESS); diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/TaskRecordService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/TaskRecordService.java index 52306acd6c..32c972dcbf 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/TaskRecordService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/TaskRecordService.java @@ -20,7 +20,7 @@ import cn.escheduler.api.enums.Status; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.PageInfo; import cn.escheduler.dao.TaskRecordDao; -import cn.escheduler.dao.model.TaskRecord; +import cn.escheduler.dao.entity.TaskRecord; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/TenantService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/TenantService.java index be5ab71c72..ed33229ebb 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/TenantService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/TenantService.java @@ -22,9 +22,11 @@ import cn.escheduler.api.utils.PageInfo; import cn.escheduler.api.utils.Result; import cn.escheduler.common.utils.HadoopUtils; import cn.escheduler.common.utils.PropertyUtils; +import cn.escheduler.dao.entity.Tenant; +import cn.escheduler.dao.entity.User; import cn.escheduler.dao.mapper.TenantMapper; -import cn.escheduler.dao.model.Tenant; -import cn.escheduler.dao.model.User; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.lang3.StringUtils; import org.apache.hadoop.fs.FileStatus; import org.slf4j.Logger; @@ -88,7 +90,7 @@ public class TenantService extends BaseService{ tenant.setTenantCode(tenantCode); tenant.setTenantName(tenantName); tenant.setQueueId(queueId); - tenant.setDesc(desc); + tenant.setDescription(desc); tenant.setCreateTime(now); tenant.setUpdateTime(now); @@ -123,14 +125,11 @@ public class TenantService extends BaseService{ return result; } - Integer count = tenantMapper.countTenantPaging(searchVal); - + Page page = new Page(pageNo, pageSize); + IPage tenantIPage = tenantMapper.queryTenantPaging(page, searchVal); PageInfo pageInfo = new PageInfo<>(pageNo, pageSize); - - List scheduleList = tenantMapper.queryTenantPaging(searchVal, pageInfo.getStart(), pageSize); - - pageInfo.setTotalCount(count); - pageInfo.setLists(scheduleList); + pageInfo.setTotalCount((int)tenantIPage.getTotal()); + pageInfo.setLists(tenantIPage.getRecords()); result.put(Constants.DATA_LIST, pageInfo); putMsg(result, Status.SUCCESS); @@ -198,9 +197,9 @@ public class TenantService extends BaseService{ if (queueId != 0){ tenant.setQueueId(queueId); } - tenant.setDesc(desc); + tenant.setDescription(desc); tenant.setUpdateTime(now); - tenantMapper.update(tenant); + tenantMapper.updateById(tenant); result.put(Constants.STATUS, Status.SUCCESS); result.put(Constants.MSG, Status.SUCCESS.getMsg()); @@ -265,7 +264,7 @@ public class TenantService extends BaseService{ Map result = new HashMap<>(5); - List resourceList = tenantMapper.queryAllTenant(); + List resourceList = tenantMapper.selectList(null); result.put(Constants.DATA_LIST, resourceList); putMsg(result, Status.SUCCESS); diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/UdfFuncService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/UdfFuncService.java index 8ca399d17f..202a24291f 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/UdfFuncService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/UdfFuncService.java @@ -22,12 +22,14 @@ import cn.escheduler.api.utils.PageInfo; import cn.escheduler.api.utils.Result; import cn.escheduler.common.enums.UdfType; import cn.escheduler.common.utils.PropertyUtils; +import cn.escheduler.dao.entity.Resource; +import cn.escheduler.dao.entity.UdfFunc; +import cn.escheduler.dao.entity.User; import cn.escheduler.dao.mapper.ResourceMapper; import cn.escheduler.dao.mapper.UDFUserMapper; import cn.escheduler.dao.mapper.UdfFuncMapper; -import cn.escheduler.dao.model.Resource; -import cn.escheduler.dao.model.UdfFunc; -import cn.escheduler.dao.model.User; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -88,14 +90,13 @@ public class UdfFuncService extends BaseService{ } // verify udf func name exist - UdfFunc udfFunc = udfFuncMapper.queryUdfFuncByName(funcName); - if (udfFunc != null) { + if (checkUdfFuncNameExists(funcName)) { logger.error("udf func {} has exist, can't recreate", funcName); putMsg(result, Status.UDF_FUNCTION_EXISTS); return result; } - Resource resource = resourceMapper.queryResourceById(resourceId); + Resource resource = resourceMapper.selectById(resourceId); if (resource == null) { logger.error("resourceId {} is not exist", resourceId); putMsg(result, Status.RESOURCE_NOT_EXIST); @@ -127,6 +128,19 @@ public class UdfFuncService extends BaseService{ return result; } + /** + * + * @param name + * @return + */ + private boolean checkUdfFuncNameExists(String name){ + List resource = udfFuncMapper.queryUdfByIdStr(null, name); + if(resource != null && resource.size() > 0){ + return true; + } + return false; + } + /** * query udf function @@ -134,7 +148,7 @@ public class UdfFuncService extends BaseService{ public Map queryUdfFuncDetail(int id) { Map result = new HashMap<>(5); - UdfFunc udfFunc = udfFuncMapper.queryUdfById(id); + UdfFunc udfFunc = udfFuncMapper.selectById(id); if (udfFunc == null) { putMsg(result, Status.RESOURCE_NOT_EXIST); return result; @@ -165,7 +179,7 @@ public class UdfFuncService extends BaseService{ int resourceId) { Map result = new HashMap<>(); // verify udfFunc is exist - UdfFunc udf = udfFuncMapper.queryUdfById(udfFuncId); + UdfFunc udf = udfFuncMapper.selectById(udfFuncId); // if resource upload startup if (!PropertyUtils.getResUploadStartupState()){ @@ -182,8 +196,7 @@ public class UdfFuncService extends BaseService{ // verify udfFuncName is exist if (!funcName.equals(udf.getFuncName())) { - UdfFunc udfFunc = udfFuncMapper.queryUdfFuncByName(funcName); - if (udfFunc != null) { + if (checkUdfFuncNameExists(funcName)) { logger.error("UdfFunc {} has exist, can't create again.", funcName); result.put(Constants.STATUS, Status.UDF_FUNCTION_EXISTS); result.put(Constants.MSG, Status.UDF_FUNCTION_EXISTS.getMsg()); @@ -191,7 +204,7 @@ public class UdfFuncService extends BaseService{ } } - Resource resource = resourceMapper.queryResourceById(resourceId); + Resource resource = resourceMapper.selectById(resourceId); if (resource == null) { logger.error("resourceId {} is not exist", resourceId); result.put(Constants.STATUS, Status.RESOURCE_NOT_EXIST); @@ -216,7 +229,7 @@ public class UdfFuncService extends BaseService{ udf.setCreateTime(now); udf.setUpdateTime(now); - udfFuncMapper.update(udf); + udfFuncMapper.updateById(udf); putMsg(result, Status.SUCCESS); return result; } @@ -234,13 +247,11 @@ public class UdfFuncService extends BaseService{ public Map queryUdfFuncListPaging(User loginUser, String searchVal, Integer pageNo, Integer pageSize) { Map result = new HashMap<>(5); - Integer count = getTotalCount(loginUser); PageInfo pageInfo = new PageInfo(pageNo, pageSize); - pageInfo.setTotalCount(count); - List udfFuncList = getUdfFuncs(loginUser, searchVal, pageSize, pageInfo); - - pageInfo.setLists(udfFuncList); + IPage udfFuncList = getUdfFuncsPage(loginUser, searchVal, pageSize, pageNo); + pageInfo.setTotalCount((int)udfFuncList.getTotal()); + pageInfo.setLists(udfFuncList.getRecords()); result.put(Constants.DATA_LIST, pageInfo); putMsg(result, Status.SUCCESS); return result; @@ -252,28 +263,17 @@ public class UdfFuncService extends BaseService{ * @param loginUser * @param searchVal * @param pageSize - * @param pageInfo + * @param pageNo * @return */ - private List getUdfFuncs(User loginUser, String searchVal, Integer pageSize, PageInfo pageInfo) { - if (isAdmin(loginUser)) { - return udfFuncMapper.queryAllUdfFuncPaging(searchVal, pageInfo.getStart(), pageSize); - } - return udfFuncMapper.queryUdfFuncPaging(loginUser.getId(), searchVal, - pageInfo.getStart(), pageSize); - } + private IPage getUdfFuncsPage(User loginUser, String searchVal, Integer pageSize, int pageNo) { - /** - * udf function total - * - * @param loginUser - * @return - */ - private Integer getTotalCount(User loginUser) { + int userId = loginUser.getId(); if (isAdmin(loginUser)) { - return udfFuncMapper.countAllUdfFunc(); + userId = 0; } - return udfFuncMapper.countUserUdfFunc(loginUser.getId()); + Page page = new Page(pageNo, pageSize); + return udfFuncMapper.queryUdfFuncPaging(page, userId, searchVal); } /** @@ -301,7 +301,7 @@ public class UdfFuncService extends BaseService{ public Result delete(int id) { Result result = new Result(); - udfFuncMapper.delete(id); + udfFuncMapper.deleteById(id); udfUserMapper.deleteByUdfFuncId(id); putMsg(result, Status.SUCCESS); return result; @@ -315,8 +315,7 @@ public class UdfFuncService extends BaseService{ */ public Result verifyUdfFuncByName(String name) { Result result = new Result(); - UdfFunc udfFunc = udfFuncMapper.queryUdfFuncByName(name); - if (udfFunc != null) { + if (checkUdfFuncNameExists(name)) { logger.error("UDF function name:{} has exist, can't create again.", name); putMsg(result, Status.UDF_FUNCTION_EXISTS); } else { diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/UsersService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/UsersService.java index cf1a79948b..e454c0c617 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/UsersService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/UsersService.java @@ -21,13 +21,16 @@ import cn.escheduler.api.utils.CheckUtils; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.PageInfo; import cn.escheduler.api.utils.Result; +import cn.escheduler.common.enums.ResourceType; import cn.escheduler.common.enums.UserType; import cn.escheduler.common.utils.CollectionUtils; import cn.escheduler.common.utils.EncryptionUtils; import cn.escheduler.common.utils.HadoopUtils; import cn.escheduler.common.utils.PropertyUtils; +import cn.escheduler.dao.entity.*; import cn.escheduler.dao.mapper.*; -import cn.escheduler.dao.model.*; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -55,13 +58,13 @@ public class UsersService extends BaseService { private ProjectUserMapper projectUserMapper; @Autowired - private ResourcesUserMapper resourcesUserMapper; + private ResourceUserMapper resourcesUserMapper; @Autowired private ResourceMapper resourceMapper; @Autowired - private DatasourceUserMapper datasourceUserMapper; + private DataSourceUserMapper datasourceUserMapper; @Autowired private UDFUserMapper udfUserMapper; @@ -148,7 +151,7 @@ public class UsersService extends BaseService { */ public User queryUser(String name, String password) { String md5 = EncryptionUtils.getMd5(password); - return userMapper.queryForCheck(name, md5); + return userMapper.queryUserByNamePassword(name, md5); } /** @@ -177,14 +180,13 @@ public class UsersService extends BaseService { return result; } - Integer count = userMapper.countUserPaging(searchVal); + Page page = new Page(pageNo, pageSize); - PageInfo pageInfo = new PageInfo<>(pageNo, pageSize); - - List scheduleList = userMapper.queryUserPaging(searchVal, pageInfo.getStart(), pageSize); + IPage scheduleList = userMapper.queryUserPaging(page, searchVal); - pageInfo.setTotalCount(count); - pageInfo.setLists(scheduleList); + PageInfo pageInfo = new PageInfo<>(pageNo, pageSize); + pageInfo.setTotalCount((int)scheduleList.getTotal()); + pageInfo.setLists(scheduleList.getRecords()); result.put(Constants.DATA_LIST, pageInfo); putMsg(result, Status.SUCCESS); @@ -212,7 +214,7 @@ public class UsersService extends BaseService { Map result = new HashMap<>(5); result.put(Constants.STATUS, false); - User user = userMapper.queryById(userId); + User user = userMapper.selectById(userId); if (user == null) { putMsg(result, Status.USER_NOT_EXIST, userId); @@ -222,7 +224,7 @@ public class UsersService extends BaseService { Date now = new Date(); if (StringUtils.isNotEmpty(userName)) { - User tempUser = userMapper.queryByUserName(userName); + User tempUser = userMapper.queryByUserNameAccurately(userName); if (tempUser != null && tempUser.getId() != userId) { putMsg(result, Status.USER_NAME_EXIST); return result; @@ -259,7 +261,8 @@ public class UsersService extends BaseService { String newUdfsPath = HadoopUtils.getHdfsUdfDir(newTenantCode); //file resources list - List fileResourcesList = resourceMapper.queryResourceCreatedByUser(userId, 0); + List fileResourcesList = resourceMapper.queryResourceList( + null, userId, ResourceType.FILE.ordinal()); if (CollectionUtils.isNotEmpty(fileResourcesList)) { for (Resource resource : fileResourcesList) { HadoopUtils.getInstance().copy(oldResourcePath + "/" + resource.getAlias(), newResourcePath, false, true); @@ -267,7 +270,8 @@ public class UsersService extends BaseService { } //udf resources - List udfResourceList = resourceMapper.queryResourceCreatedByUser(userId, 1); + List udfResourceList = resourceMapper.queryResourceList( + null, userId, ResourceType.UDF.ordinal()); if (CollectionUtils.isNotEmpty(udfResourceList)) { for (Resource resource : udfResourceList) { HadoopUtils.getInstance().copy(oldUdfsPath + "/" + resource.getAlias(), newUdfsPath, false, true); @@ -297,7 +301,7 @@ public class UsersService extends BaseService { } // updateProcessInstance user - userMapper.update(user); + userMapper.updateById(user); putMsg(result, Status.SUCCESS); return result; } @@ -329,7 +333,7 @@ public class UsersService extends BaseService { } } - userMapper.delete(id); + userMapper.deleteById(id); putMsg(result, Status.SUCCESS); return result; @@ -353,7 +357,7 @@ public class UsersService extends BaseService { } //if the selected projectIds are empty, delete all items associated with the user - projectUserMapper.deleteByUserId(userId); + projectUserMapper.deleteProjectRelation(0, userId); if (check(result, StringUtils.isEmpty(projectIds), Status.SUCCESS, Constants.MSG)) { return result; @@ -393,7 +397,7 @@ public class UsersService extends BaseService { return result; } - resourcesUserMapper.deleteByUserId(userId); + resourcesUserMapper.deleteResourceUser(userId, 0); if (check(result, StringUtils.isEmpty(resourceIds), Status.SUCCESS, Constants.MSG)) { return result; @@ -549,7 +553,7 @@ public class UsersService extends BaseService { return result; } - List userList = userMapper.queryAllGeneralUsers(); + List userList = userMapper.queryAllGeneralUser(); result.put(Constants.DATA_LIST, userList); putMsg(result, Status.SUCCESS); @@ -570,7 +574,7 @@ public class UsersService extends BaseService { return result; } - List userList = userMapper.queryAllUsers(); + List userList = userMapper.selectList(null ); result.put(Constants.DATA_LIST, userList); putMsg(result, Status.SUCCESS); @@ -586,7 +590,7 @@ public class UsersService extends BaseService { public Result verifyUserName(String userName) { cn.escheduler.api.utils.Result result = new cn.escheduler.api.utils.Result(); - User user = userMapper.queryByUserName(userName); + User user = userMapper.queryByUserNameAccurately(userName); if (user != null) { logger.error("user {} has exist, can't create again.", userName); @@ -614,7 +618,7 @@ public class UsersService extends BaseService { return result; } - List userList = userMapper.queryAllUsers(); + List userList = userMapper.selectList(null); List resultUsers = new ArrayList<>(); Set userSet = null; if (userList != null && userList.size() > 0) { diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/WorkerGroupService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/WorkerGroupService.java index 5df1601661..cdbc53bdbc 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/WorkerGroupService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/WorkerGroupService.java @@ -19,13 +19,15 @@ package cn.escheduler.api.service; import cn.escheduler.api.enums.Status; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.PageInfo; +import cn.escheduler.dao.entity.WorkerGroup; import cn.escheduler.dao.mapper.WorkerGroupMapper; -import cn.escheduler.dao.model.User; -import cn.escheduler.dao.model.WorkerGroup; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.lang.invoke.WrongMethodTypeException; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -59,7 +61,7 @@ public class WorkerGroupService extends BaseService { Date now = new Date(); WorkerGroup workerGroup = null; if(id != 0){ - workerGroup = workerGroupMapper.queryById(id); + workerGroup = workerGroupMapper.selectById(id); }else{ workerGroup = new WorkerGroup(); workerGroup.setCreateTime(now); @@ -73,7 +75,7 @@ public class WorkerGroupService extends BaseService { return result; } if(workerGroup.getId() != 0 ){ - workerGroupMapper.update(workerGroup); + workerGroupMapper.updateById(workerGroup); }else{ workerGroupMapper.insert(workerGroup); } @@ -115,13 +117,13 @@ public class WorkerGroupService extends BaseService { public Map queryAllGroupPaging(Integer pageNo, Integer pageSize, String searchVal) { Map result = new HashMap<>(5); - int count = workerGroupMapper.countPaging(searchVal); - + Page page = new Page(pageNo, pageSize); + IPage workerGroupIPage = workerGroupMapper.queryListPaging( + page, searchVal); PageInfo pageInfo = new PageInfo<>(pageNo, pageSize); - List workerGroupList = workerGroupMapper.queryListPaging(pageInfo.getStart(), pageSize, searchVal); - pageInfo.setTotalCount(count); - pageInfo.setLists(workerGroupList); + pageInfo.setTotalCount((int)workerGroupIPage.getTotal()); + pageInfo.setLists(workerGroupIPage.getRecords()); result.put(Constants.DATA_LIST, pageInfo); putMsg(result, Status.SUCCESS); return result; diff --git a/escheduler-api/src/main/java/cn/escheduler/api/utils/ZookeeperMonitor.java b/escheduler-api/src/main/java/cn/escheduler/api/utils/ZookeeperMonitor.java index dc6f95d7ec..474a56f486 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/utils/ZookeeperMonitor.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/utils/ZookeeperMonitor.java @@ -3,7 +3,7 @@ package cn.escheduler.api.utils; import cn.escheduler.common.enums.ZKNodeType; import cn.escheduler.common.zk.AbstractZKClient; import cn.escheduler.common.model.MasterServer; -import cn.escheduler.dao.model.ZookeeperRecord; +import cn.escheduler.dao.entity.ZookeeperRecord; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/escheduler-api/src/test/java/cn/escheduler/api/controller/AbstractControllerTest.java b/escheduler-api/src/test/java/cn/escheduler/api/controller/AbstractControllerTest.java index 5b2554250b..c56b2c1d04 100644 --- a/escheduler-api/src/test/java/cn/escheduler/api/controller/AbstractControllerTest.java +++ b/escheduler-api/src/test/java/cn/escheduler/api/controller/AbstractControllerTest.java @@ -17,12 +17,9 @@ package cn.escheduler.api.controller; import cn.escheduler.api.ApiApplicationServer; -import cn.escheduler.api.enums.Status; import cn.escheduler.api.service.SessionService; -import cn.escheduler.api.utils.Result; import cn.escheduler.common.enums.UserType; -import cn.escheduler.common.utils.JSONUtils; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import org.apache.commons.lang3.StringUtils; import org.junit.*; import org.junit.runner.RunWith; @@ -30,19 +27,13 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.http.MediaType; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.setup.MockMvcBuilders; -import org.springframework.util.LinkedMultiValueMap; -import org.springframework.util.MultiValueMap; import org.springframework.web.context.WebApplicationContext; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; @Ignore @RunWith(SpringRunner.class) diff --git a/escheduler-api/src/test/java/cn/escheduler/api/service/DataAnalysisServiceTest.java b/escheduler-api/src/test/java/cn/escheduler/api/service/DataAnalysisServiceTest.java index bca14fe310..253cae0bba 100644 --- a/escheduler-api/src/test/java/cn/escheduler/api/service/DataAnalysisServiceTest.java +++ b/escheduler-api/src/test/java/cn/escheduler/api/service/DataAnalysisServiceTest.java @@ -20,7 +20,7 @@ import cn.escheduler.api.ApiApplicationServer; import cn.escheduler.api.enums.Status; import cn.escheduler.api.utils.Constants; import cn.escheduler.common.enums.UserType; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/escheduler-api/src/test/java/cn/escheduler/api/service/DataSourceServiceTest.java b/escheduler-api/src/test/java/cn/escheduler/api/service/DataSourceServiceTest.java index 3e69d84180..ef5305da38 100644 --- a/escheduler-api/src/test/java/cn/escheduler/api/service/DataSourceServiceTest.java +++ b/escheduler-api/src/test/java/cn/escheduler/api/service/DataSourceServiceTest.java @@ -21,7 +21,7 @@ import cn.escheduler.api.enums.Status; import cn.escheduler.api.utils.Constants; import cn.escheduler.common.enums.DbType; import cn.escheduler.common.enums.UserType; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/escheduler-api/src/test/java/cn/escheduler/api/service/LoggerServiceTest.java b/escheduler-api/src/test/java/cn/escheduler/api/service/LoggerServiceTest.java index c5b3925538..22b4a5906a 100644 --- a/escheduler-api/src/test/java/cn/escheduler/api/service/LoggerServiceTest.java +++ b/escheduler-api/src/test/java/cn/escheduler/api/service/LoggerServiceTest.java @@ -20,7 +20,7 @@ import cn.escheduler.api.ApiApplicationServer; import cn.escheduler.api.enums.Status; import cn.escheduler.api.utils.Result; import cn.escheduler.common.enums.UserType; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/escheduler-api/src/test/java/cn/escheduler/api/service/ProcessDefinitionServiceTest.java b/escheduler-api/src/test/java/cn/escheduler/api/service/ProcessDefinitionServiceTest.java index ec9762fcea..06032fa5cc 100644 --- a/escheduler-api/src/test/java/cn/escheduler/api/service/ProcessDefinitionServiceTest.java +++ b/escheduler-api/src/test/java/cn/escheduler/api/service/ProcessDefinitionServiceTest.java @@ -20,7 +20,7 @@ import cn.escheduler.api.ApiApplicationServer; import cn.escheduler.api.enums.Status; import cn.escheduler.api.utils.Constants; import cn.escheduler.common.enums.UserType; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import com.alibaba.fastjson.JSON; import org.junit.Assert; import org.junit.Test; diff --git a/escheduler-api/src/test/java/cn/escheduler/api/service/ProcessInstanceServiceTest.java b/escheduler-api/src/test/java/cn/escheduler/api/service/ProcessInstanceServiceTest.java index 32030cb020..db88819f7c 100644 --- a/escheduler-api/src/test/java/cn/escheduler/api/service/ProcessInstanceServiceTest.java +++ b/escheduler-api/src/test/java/cn/escheduler/api/service/ProcessInstanceServiceTest.java @@ -22,7 +22,7 @@ import cn.escheduler.api.utils.Constants; import cn.escheduler.common.enums.DependResult; import cn.escheduler.common.enums.ExecutionStatus; import cn.escheduler.common.enums.UserType; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import com.alibaba.fastjson.JSON; import org.junit.Assert; import org.junit.Test; diff --git a/escheduler-api/src/test/java/cn/escheduler/api/service/ResourcesServiceTest.java b/escheduler-api/src/test/java/cn/escheduler/api/service/ResourcesServiceTest.java index 110cde9360..c857cd11a2 100644 --- a/escheduler-api/src/test/java/cn/escheduler/api/service/ResourcesServiceTest.java +++ b/escheduler-api/src/test/java/cn/escheduler/api/service/ResourcesServiceTest.java @@ -21,7 +21,7 @@ import cn.escheduler.api.enums.Status; import cn.escheduler.api.utils.Constants; import cn.escheduler.common.enums.ResourceType; import cn.escheduler.common.enums.UserType; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/escheduler-api/src/test/java/cn/escheduler/api/service/SchedulerServiceTest.java b/escheduler-api/src/test/java/cn/escheduler/api/service/SchedulerServiceTest.java index 1ba5d03b67..6a24f6438f 100644 --- a/escheduler-api/src/test/java/cn/escheduler/api/service/SchedulerServiceTest.java +++ b/escheduler-api/src/test/java/cn/escheduler/api/service/SchedulerServiceTest.java @@ -21,8 +21,8 @@ import cn.escheduler.api.enums.Status; import cn.escheduler.api.utils.Constants; import cn.escheduler.common.enums.ReleaseState; import cn.escheduler.common.enums.UserType; -import cn.escheduler.dao.model.Project; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.Project; +import cn.escheduler.dao.entity.User; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/escheduler-api/src/test/java/cn/escheduler/api/service/SessionServiceTest.java b/escheduler-api/src/test/java/cn/escheduler/api/service/SessionServiceTest.java index 48aaec1dd4..3df05d1fac 100644 --- a/escheduler-api/src/test/java/cn/escheduler/api/service/SessionServiceTest.java +++ b/escheduler-api/src/test/java/cn/escheduler/api/service/SessionServiceTest.java @@ -18,7 +18,7 @@ package cn.escheduler.api.service; import cn.escheduler.api.ApiApplicationServer; import cn.escheduler.common.enums.UserType; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import org.apache.commons.lang3.StringUtils; import org.junit.Assert; import org.junit.Test; diff --git a/escheduler-api/src/test/java/cn/escheduler/api/service/TaskInstanceServiceTest.java b/escheduler-api/src/test/java/cn/escheduler/api/service/TaskInstanceServiceTest.java index 97d6db507b..4b4d6f5d01 100644 --- a/escheduler-api/src/test/java/cn/escheduler/api/service/TaskInstanceServiceTest.java +++ b/escheduler-api/src/test/java/cn/escheduler/api/service/TaskInstanceServiceTest.java @@ -21,7 +21,7 @@ import cn.escheduler.api.enums.Status; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.PageInfo; import cn.escheduler.common.enums.UserType; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/escheduler-api/src/test/java/cn/escheduler/api/service/TenantServiceTest.java b/escheduler-api/src/test/java/cn/escheduler/api/service/TenantServiceTest.java index da81d06ec5..8326c84a58 100644 --- a/escheduler-api/src/test/java/cn/escheduler/api/service/TenantServiceTest.java +++ b/escheduler-api/src/test/java/cn/escheduler/api/service/TenantServiceTest.java @@ -20,7 +20,7 @@ import cn.escheduler.api.ApiApplicationServer; import cn.escheduler.api.enums.Status; import cn.escheduler.api.utils.Constants; import cn.escheduler.common.enums.UserType; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/escheduler-api/src/test/java/cn/escheduler/api/service/UdfFuncServiceTest.java b/escheduler-api/src/test/java/cn/escheduler/api/service/UdfFuncServiceTest.java index 8928528a8d..d7953041fb 100644 --- a/escheduler-api/src/test/java/cn/escheduler/api/service/UdfFuncServiceTest.java +++ b/escheduler-api/src/test/java/cn/escheduler/api/service/UdfFuncServiceTest.java @@ -21,7 +21,7 @@ import cn.escheduler.api.enums.Status; import cn.escheduler.api.utils.Constants; import cn.escheduler.api.utils.PageInfo; import cn.escheduler.common.enums.UserType; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/escheduler-api/src/test/java/cn/escheduler/api/service/UsersServiceTest.java b/escheduler-api/src/test/java/cn/escheduler/api/service/UsersServiceTest.java index db0aa44e99..acab8f707e 100644 --- a/escheduler-api/src/test/java/cn/escheduler/api/service/UsersServiceTest.java +++ b/escheduler-api/src/test/java/cn/escheduler/api/service/UsersServiceTest.java @@ -20,7 +20,7 @@ import cn.escheduler.api.ApiApplicationServer; import cn.escheduler.api.enums.Status; import cn.escheduler.api.utils.Constants; import cn.escheduler.common.enums.UserType; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.User; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/escheduler-common/.factorypath b/escheduler-common/.factorypath new file mode 100644 index 0000000000..2686695490 --- /dev/null +++ b/escheduler-common/.factorypath @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/escheduler-common/pom.xml b/escheduler-common/pom.xml index fe24d02209..712320fba6 100644 --- a/escheduler-common/pom.xml +++ b/escheduler-common/pom.xml @@ -522,10 +522,7 @@ - - org.mybatis - mybatis - + ch.qos.logback logback-classic diff --git a/escheduler-common/src/main/java/cn/escheduler/common/utils/EnumFieldUtil.java b/escheduler-common/src/main/java/cn/escheduler/common/utils/EnumFieldUtil.java index 7895126390..27e1955fac 100644 --- a/escheduler-common/src/main/java/cn/escheduler/common/utils/EnumFieldUtil.java +++ b/escheduler-common/src/main/java/cn/escheduler/common/utils/EnumFieldUtil.java @@ -16,8 +16,6 @@ */ package cn.escheduler.common.utils; -import org.apache.ibatis.type.EnumOrdinalTypeHandler; - /** * enum field util */ @@ -30,7 +28,10 @@ public class EnumFieldUtil { * @return */ public static String genFieldStr(String field, Class enumClass) { - return "#{" + field + ",javaType=" + enumClass.getName() + ",typeHandler=" + EnumOrdinalTypeHandler.class.getName() + "}"; + //TODO... + // delete this class when mybatisplus is ok + return ""; +// return "#{" + field + ",javaType=" + enumClass.getName() + ",typeHandler=" + EnumOrdinalTypeHandler.class.getName() + "}"; } } diff --git a/escheduler-dao/pom.xml b/escheduler-dao/pom.xml index bbd45c0c89..710f862263 100644 --- a/escheduler-dao/pom.xml +++ b/escheduler-dao/pom.xml @@ -18,30 +18,29 @@ junit test + + com.baomidou + mybatis-plus + ${mybatis-plus.version} + + + com.baomidou + mybatis-plus-boot-starter + ${mybatis-plus.version} + + + + + - org.mybatis.spring.boot - mybatis-spring-boot-autoconfigure - - - org.springframework.boot - spring-boot - - + org.postgresql + postgresql - org.mybatis.spring.boot - mybatis-spring-boot-starter - - - org.apache.tomcat - tomcat-jdbc - - - log4j-to-slf4j - org.apache.logging.log4j - - + org.projectlombok + lombok + ${lombok.version} org.springframework.boot @@ -153,11 +152,31 @@ 1.5.20 compile - + + org.yaml + snakeyaml + + - + + + src/main/java + + **/*.xml + + false + + + src/main/resources + + **/*.xml + **/*.yml + + false + + org.apache.maven.plugins diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/AlertDao.java b/escheduler-dao/src/main/java/cn/escheduler/dao/AlertDao.java index bf7ac14c27..237872fc08 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/AlertDao.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/AlertDao.java @@ -19,13 +19,12 @@ package cn.escheduler.dao; import cn.escheduler.common.enums.AlertStatus; import cn.escheduler.common.enums.AlertType; import cn.escheduler.common.enums.ShowType; -import cn.escheduler.dao.datasource.ConnectionFactory; +import cn.escheduler.dao.entity.Alert; import cn.escheduler.dao.mapper.AlertMapper; import cn.escheduler.dao.mapper.UserAlertGroupMapper; -import cn.escheduler.dao.model.Alert; -import cn.escheduler.dao.model.ProcessDefinition; -import cn.escheduler.dao.model.ProcessInstance; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.ProcessDefinition; +import cn.escheduler.dao.entity.ProcessInstance; +import cn.escheduler.dao.entity.User; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -48,8 +47,8 @@ public class AlertDao extends AbstractBaseDao { @Override protected void init() { - alertMapper = ConnectionFactory.getSqlSession().getMapper(AlertMapper.class); - userAlertGroupMapper = ConnectionFactory.getSqlSession().getMapper(UserAlertGroupMapper.class); +// alertMapper = ConnectionFactory.getSqlSession().getMapper(AlertMapper.class); +// userAlertGroupMapper = ConnectionFactory.getSqlSession().getMapper(UserAlertGroupMapper.class); } /** @@ -69,7 +68,11 @@ public class AlertDao extends AbstractBaseDao { * @return */ public int updateAlert(AlertStatus alertStatus,String log,int id){ - return alertMapper.update(alertStatus, log, new Date(), id); + Alert alert = alertMapper.selectById(id); + alert.setAlertStatus(alertStatus); + alert.setUpdateTime(new Date()); + alert.setLog(log); + return alertMapper.updateById(alert); } /** @@ -78,6 +81,7 @@ public class AlertDao extends AbstractBaseDao { * @return */ public List queryUserByAlertGroupId(int alerGroupId){ + return userAlertGroupMapper.queryForUser(alerGroupId); } /** diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/MonitorDBDao.java b/escheduler-dao/src/main/java/cn/escheduler/dao/MonitorDBDao.java index ef93a07296..1aafac7266 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/MonitorDBDao.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/MonitorDBDao.java @@ -17,7 +17,7 @@ package cn.escheduler.dao; import cn.escheduler.common.Constants; -import cn.escheduler.dao.model.MonitorRecord; +import cn.escheduler.dao.entity.MonitorRecord; import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.PropertiesConfiguration; diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/ProcessDao.java b/escheduler-dao/src/main/java/cn/escheduler/dao/ProcessDao.java index 73ae868c80..b46e5dada1 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/ProcessDao.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/ProcessDao.java @@ -28,8 +28,8 @@ import cn.escheduler.common.utils.DateUtils; import cn.escheduler.common.utils.IpUtils; import cn.escheduler.common.utils.JSONUtils; import cn.escheduler.common.utils.ParameterUtils; +import cn.escheduler.dao.entity.*; import cn.escheduler.dao.mapper.*; -import cn.escheduler.dao.model.*; import cn.escheduler.dao.utils.cron.CronUtils; import com.alibaba.fastjson.JSONObject; import com.cronutils.model.Cron; @@ -98,9 +98,6 @@ public class ProcessDao extends AbstractBaseDao { @Autowired private ErrorCommandMapper errorCommandMapper; - @Autowired - private WorkerServerMapper workerServerMapper; - @Autowired private TenantMapper tenantMapper; @@ -110,7 +107,7 @@ public class ProcessDao extends AbstractBaseDao { protected ITaskQueue taskQueue; public ProcessDao(){ - init(); +// init(); } /** @@ -129,7 +126,6 @@ public class ProcessDao extends AbstractBaseDao { udfFuncMapper = getMapper(UdfFuncMapper.class); resourceMapper = getMapper(ResourceMapper.class); workerGroupMapper = getMapper(WorkerGroupMapper.class); - workerServerMapper = getMapper(WorkerServerMapper.class); taskQueue = TaskQueueFactory.getTaskQueueInstance(); tenantMapper = getMapper(TenantMapper.class); } @@ -224,7 +220,7 @@ public class ProcessDao extends AbstractBaseDao { * @return */ public Command findOneCommand(){ - return commandMapper.queryOneCommand(); + return commandMapper.getOneToRun(); } /** @@ -245,7 +241,7 @@ public class ProcessDao extends AbstractBaseDao { JSONObject tempObj; int processInstanceId = cmdParamObj.getInteger(CMDPARAM_RECOVER_PROCESS_ID_STRING); - List commands = commandMapper.queryAllCommand(); + List commands = commandMapper.getAll(null); //遍历所有命令 for (Command tmpCommand:commands){ if(cmdTypeMap.containsKey(tmpCommand.getCommandType())){ @@ -276,7 +272,7 @@ public class ProcessDao extends AbstractBaseDao { */ public ProcessInstance findProcessInstanceById(int processId){ - return processInstanceMapper.queryById(processId); + return processInstanceMapper.selectById(processId); } /** @@ -297,7 +293,7 @@ public class ProcessDao extends AbstractBaseDao { * @return */ public ProcessDefinition findProcessDefineById(int processDefinitionId) { - return processDefineMapper.queryByDefineId(processDefinitionId); + return processDefineMapper.selectById(processDefinitionId); } /** @@ -306,7 +302,7 @@ public class ProcessDao extends AbstractBaseDao { * @return */ public int deleteWorkProcessInstanceById(int processInstanceId){ - return processInstanceMapper.delete(processInstanceId); + return processInstanceMapper.deleteById(processInstanceId); } /** @@ -346,7 +342,7 @@ public class ProcessDao extends AbstractBaseDao { * @return */ private Integer workProcessThreadNumCount(Integer processDefinitionId){ - List ids = new ArrayList<>(); + List ids = new ArrayList<>(); recurseFindSubProcessId(processDefinitionId, ids); return ids.size()+1; } @@ -356,8 +352,8 @@ public class ProcessDao extends AbstractBaseDao { * @param parentId * @param ids */ - public void recurseFindSubProcessId(int parentId, List ids){ - ProcessDefinition processDefinition = processDefineMapper.queryByDefineId(parentId); + public void recurseFindSubProcessId(int parentId, List ids){ + ProcessDefinition processDefinition = processDefineMapper.selectById(parentId); String processDefinitionJson = processDefinition.getProcessDefinitionJson(); ProcessData processData = JSONUtils.parseObject(processDefinitionJson, ProcessData.class); @@ -370,7 +366,7 @@ public class ProcessDao extends AbstractBaseDao { String parameter = taskNode.getParams(); if (parameter.contains(CMDPARAM_SUB_PROCESS_DEFINE_ID)){ SubProcessParameters subProcessParam = JSONObject.parseObject(parameter, SubProcessParameters.class); - ids.add(String.valueOf(subProcessParam.getProcessDefinitionId())); + ids.add(subProcessParam.getProcessDefinitionId()); recurseFindSubProcessId(subProcessParam.getProcessDefinitionId(),ids); } } @@ -390,7 +386,7 @@ public class ProcessDao extends AbstractBaseDao { // sub process doesnot need to create wait command if(processInstance.getIsSubProcess() == Flag.YES){ if(originCommand != null){ - commandMapper.delete(originCommand.getId()); + commandMapper.deleteById(originCommand.getId()); } return; } @@ -420,7 +416,7 @@ public class ProcessDao extends AbstractBaseDao { saveCommand(originCommand); }else{ // delete old command and create new waiting thread command - commandMapper.delete(originCommand.getId()); + commandMapper.deleteById(originCommand.getId()); originCommand.setId(0); originCommand.setCommandType(CommandType.RECOVER_WAITTING_THREAD); originCommand.setUpdateTime(new Date()); @@ -515,7 +511,7 @@ public class ProcessDao extends AbstractBaseDao { tenant = tenantMapper.queryById(tenantId); } if(tenant == null){ - User user = userMapper.queryById(userId); + User user = userMapper.selectById(userId); tenant = tenantMapper.queryById(user.getTenantId()); } return tenant; @@ -553,7 +549,7 @@ public class ProcessDao extends AbstractBaseDao { ProcessDefinition processDefinition = null; if(command.getProcessDefinitionId() != 0){ - processDefinition = processDefineMapper.queryByDefineId(command.getProcessDefinitionId()); + processDefinition = processDefineMapper.selectById(command.getProcessDefinitionId()); if(processDefinition == null){ logger.error(String.format("cannot find the work process define! define id : %d", command.getProcessDefinitionId())); return null; @@ -584,7 +580,7 @@ public class ProcessDao extends AbstractBaseDao { }else{ processInstance = this.findProcessInstanceDetailById(processInstanceId); } - processDefinition = processDefineMapper.queryByDefineId(processInstance.getProcessDefinitionId()); + processDefinition = processDefineMapper.selectById(processInstance.getProcessDefinitionId()); processInstance.setProcessDefinition(processDefinition); //reset command parameter @@ -954,7 +950,7 @@ public class ProcessDao extends AbstractBaseDao { if(childDefinition != null && fatherDefinition != null){ childDefinition.setReceivers(fatherDefinition.getReceivers()); childDefinition.setReceiversCc(fatherDefinition.getReceiversCc()); - processDefineMapper.update(childDefinition); + processDefineMapper.updateById(childDefinition); } } @@ -1157,7 +1153,7 @@ public class ProcessDao extends AbstractBaseDao { } //创建流程实例 if(workProcessInstance.getId() != 0){ - processInstanceMapper.update(workProcessInstance); + processInstanceMapper.updateById(workProcessInstance); }else{ createProcessInstance(workProcessInstance); } @@ -1170,7 +1166,7 @@ public class ProcessDao extends AbstractBaseDao { */ public int saveCommand(Command command){ if(command.getId() != 0){ - return commandMapper.update(command); + return commandMapper.updateById(command); }else{ return commandMapper.insert(command); } @@ -1205,7 +1201,7 @@ public class ProcessDao extends AbstractBaseDao { * @return */ public boolean updateTaskInstance(TaskInstance taskInstance){ - int count = taskInstanceMapper.update(taskInstance); + int count = taskInstanceMapper.updateById(taskInstance); return count > 0; } /** @@ -1213,7 +1209,7 @@ public class ProcessDao extends AbstractBaseDao { * @param id */ public void delCommandByid(int id) { - commandMapper.delete(id); + commandMapper.deleteById(id); } public TaskInstance findTaskInstanceById(Integer taskId){ @@ -1275,7 +1271,7 @@ public class ProcessDao extends AbstractBaseDao { * @return */ public int updateWorkProcessInstanceMap(ProcessInstanceMap processInstanceMap){ - return processInstanceMapMapper.update(processInstanceMap); + return processInstanceMapMapper.updateById(processInstanceMap); } @@ -1359,7 +1355,8 @@ public class ProcessDao extends AbstractBaseDao { * @return */ public int updateProcessInstance(ProcessInstance instance){ - return processInstanceMapper.update(instance); + + return processInstanceMapper.updateById(instance); } /** @@ -1376,8 +1373,16 @@ public class ProcessDao extends AbstractBaseDao { public int updateProcessInstance(Integer processInstanceId, String processJson, String globalParams, Date scheduleTime, Flag flag, String locations, String connects){ - return processInstanceMapper.updateProcessInstance(processInstanceId, processJson, - globalParams, scheduleTime, locations, connects, flag); + ProcessInstance processInstance = processInstanceMapper.queryDetailById(processInstanceId); + if(processInstance!= null){ + processInstance.setProcessInstanceJson(processJson); + processInstance.setGlobalParams(globalParams); + processInstance.setScheduleTime(scheduleTime); + processInstance.setLocations(locations); + processInstance.setConnects(connects); + return processInstanceMapper.updateById(processInstance); + } + return 0; } /** @@ -1452,22 +1457,17 @@ public class ProcessDao extends AbstractBaseDao { * @see Schedule */ public Schedule querySchedule(int id) { - return scheduleMapper.queryById(id); + return scheduleMapper.selectById(id); } public List queryNeedFailoverProcessInstances(String host){ - return processInstanceMapper.queryByHostAndStatus(host, stateArray); + + String states = StringUtils.join(stateArray, ","); + return processInstanceMapper.queryByHostAndStatus(host, states); } - /** - * update host null - * @param host - * @return - */ - public int updateNeddFailoverProcessInstances(String host){ - return processInstanceMapper.setFailoverByHostAndStateArray(host, stateArray); - } + /** * process need failover process instance @@ -1479,7 +1479,7 @@ public class ProcessDao extends AbstractBaseDao { //1 update processInstance host is null processInstance.setHost("null"); - processInstanceMapper.update(processInstance); + processInstanceMapper.updateById(processInstance); //2 insert into recover command Command cmd = new Command(); @@ -1497,16 +1497,8 @@ public class ProcessDao extends AbstractBaseDao { * @return */ public List queryNeedFailoverTaskInstances(String host){ - return taskInstanceMapper.queryByHostAndStatus(host, stateArray); - } - - /** - * update host null - * @param host - * @return - */ - public int updateNeedFailoverTaskInstances(String host){ - return taskInstanceMapper.setFailoverByHostAndStateArray(host, stateArray); + return taskInstanceMapper.queryByHostAndStatus(host, + StringUtils.join(stateArray, ",")); } /** @@ -1515,7 +1507,7 @@ public class ProcessDao extends AbstractBaseDao { * @return */ public DataSource findDataSourceById(int id){ - return dataSourceMapper.queryById(id); + return dataSourceMapper.selectById(id); } @@ -1526,7 +1518,9 @@ public class ProcessDao extends AbstractBaseDao { * @return */ public int updateProcessInstanceState(Integer processInstanceId, ExecutionStatus executionStatus) { - return processInstanceMapper.updateState(processInstanceId, executionStatus); + ProcessInstance instance = processInstanceMapper.selectById(processInstanceId); + instance.setState(executionStatus); + return processInstanceMapper.updateById(instance); } @@ -1545,7 +1539,8 @@ public class ProcessDao extends AbstractBaseDao { * @return */ public List queryUdfFunListByids(String ids){ - return udfFuncMapper.queryUdfByIdStr(ids); + + return udfFuncMapper.queryUdfByIdStr(ids, null); } /** @@ -1563,7 +1558,8 @@ public class ProcessDao extends AbstractBaseDao { * @return */ public List selectAllByProcessDefineId(int[] ids){ - return scheduleMapper.selectAllByProcessDefineArray(ids); + return scheduleMapper.selectAllByProcessDefineArray( + StringUtils.join(ids, ",")); } /** @@ -1667,32 +1663,11 @@ public class ProcessDao extends AbstractBaseDao { DateUtils.dateToString(startTime), DateUtils.dateToString(endTime)); } - public void selfFaultTolerant(int state){ - List processInstanceList = processInstanceMapper.listByStatus(new int[]{state}); - for (ProcessInstance processInstance:processInstanceList){ - selfFaultTolerant(processInstance); - } - - } - - /** - * master starup fault tolerant - */ - public void masterStartupFaultTolerant(){ - - int[] readyStopAndKill=new int[]{ExecutionStatus.READY_PAUSE.ordinal(),ExecutionStatus.READY_STOP.ordinal(), - ExecutionStatus.NEED_FAULT_TOLERANCE.ordinal(),ExecutionStatus.RUNNING_EXEUTION.ordinal()}; - List processInstanceList = processInstanceMapper.listByStatus(readyStopAndKill); - for (ProcessInstance processInstance:processInstanceList){ - processNeedFailoverProcessInstances(processInstance); - } - } - @Transactional(value = "TransactionManager",rollbackFor = Exception.class) public void selfFaultTolerant(ProcessInstance processInstance){ processInstance.setState(ExecutionStatus.FAILURE); - processInstanceMapper.update(processInstance); + processInstanceMapper.updateById(processInstance); // insert to command Command command = new Command(); @@ -1740,7 +1715,17 @@ public class ProcessDao extends AbstractBaseDao { * @return */ public String queryUserQueueByProcessInstanceId(int processInstanceId){ - return userMapper.queryQueueByProcessInstanceId(processInstanceId); + + String queue = ""; + ProcessInstance processInstance = processInstanceMapper.selectById(processInstanceId); + if(processInstance == null){ + return queue; + } + User executor = userMapper.selectById(processInstance.getExecutorId()); + if(executor != null){ + queue = executor.getQueue(); + } + return queue; } /** @@ -1749,21 +1734,10 @@ public class ProcessDao extends AbstractBaseDao { * @return */ public WorkerGroup queryWorkerGroupById(int workerGroupId){ - return workerGroupMapper.queryById(workerGroupId); - } - - /** - * query worker server by host - * @param host - * @return - */ - public List queryWorkerServerByHost(String host){ - - return workerServerMapper.queryWorkerByHost(host); + return workerGroupMapper.selectById(workerGroupId); } - /** * get task worker group id * diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/ServerDao.java b/escheduler-dao/src/main/java/cn/escheduler/dao/ServerDao.java deleted file mode 100644 index 651291607f..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/ServerDao.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao; - -import cn.escheduler.common.model.MasterServer; -import cn.escheduler.dao.mapper.MasterServerMapper; -import cn.escheduler.dao.mapper.WorkerServerMapper; -import cn.escheduler.dao.model.WorkerServer; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.Date; - -import static cn.escheduler.dao.datasource.ConnectionFactory.getMapper; - -/** - * server dao - */ -@Component -public class ServerDao extends AbstractBaseDao { - - @Autowired - MasterServerMapper masterServerMapper; - - - @Autowired - WorkerServerMapper workerServerMapper; - - @Override - protected void init() { - masterServerMapper = getMapper(MasterServerMapper.class); - workerServerMapper = getMapper(WorkerServerMapper.class); - } - - /** - * register master - * - * @param host - * @param port - * @param zkDirectory - * @param resInfo - * @param createTime - * @param lastHeartbeatTime - * @return - */ - public int registerMaster(String host, int port , String zkDirectory , String resInfo , - Date createTime , Date lastHeartbeatTime) { - - MasterServer masterServer = new MasterServer(); - - masterServer.setHost(host); - masterServer.setPort(port); - masterServer.setZkDirectory(zkDirectory); - masterServer.setResInfo(resInfo); - masterServer.setCreateTime(createTime); - masterServer.setLastHeartbeatTime(lastHeartbeatTime); - - return masterServerMapper.insert(masterServer); - } - - /** - * update master - * - * @param host - * @param port - * @param resInfo - * @param lastHeartbeatTime - * @return - */ - public int updateMaster(String host, int port , String resInfo , Date lastHeartbeatTime) { - - MasterServer masterServer = new MasterServer(); - - masterServer.setHost(host); - masterServer.setPort(port); - masterServer.setResInfo(resInfo); - masterServer.setLastHeartbeatTime(lastHeartbeatTime); - - return masterServerMapper.update(masterServer); - } - - /** - * delete master - * - * @param host - * @return - */ - public int deleteMaster(String host) { - return masterServerMapper.deleteWorkerByHost(host); - } - - /** - * register master - * @param host - * @param port - * @param zkDirectory - * @param resInfo - * @param createTime - * @param lastHeartbeatTime - * @return - */ - public int registerWorker(String host, int port , String zkDirectory , String resInfo , - Date createTime , Date lastHeartbeatTime) { - - WorkerServer workerServer = new WorkerServer(); - - workerServer.setHost(host); - workerServer.setPort(port); - workerServer.setZkDirectory(zkDirectory); - workerServer.setResInfo(resInfo); - workerServer.setCreateTime(createTime); - workerServer.setLastHeartbeatTime(lastHeartbeatTime); - - return workerServerMapper.insert(workerServer); - } - - /** - * - * update worker - * @param host - * @param port - * @param resInfo - * @param lastHeartbeatTime - * @return - */ - public int updateWorker(String host, int port , String resInfo , Date lastHeartbeatTime) { - - WorkerServer workerServer = new WorkerServer(); - - workerServer.setHost(host); - workerServer.setPort(port); - workerServer.setResInfo(resInfo); - workerServer.setLastHeartbeatTime(lastHeartbeatTime); - - return workerServerMapper.update(workerServer); - } - - - - /** - * delete worker by host - * - * @param host - * @return - */ - public int deleteWorker(String host) { - return workerServerMapper.deleteWorkerByHost(host); - } - -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/TaskRecordDao.java b/escheduler-dao/src/main/java/cn/escheduler/dao/TaskRecordDao.java index a4e317a1dd..6d2942fe15 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/TaskRecordDao.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/TaskRecordDao.java @@ -20,7 +20,7 @@ import cn.escheduler.common.Constants; import cn.escheduler.common.enums.TaskRecordStatus; import cn.escheduler.common.utils.CollectionUtils; import cn.escheduler.common.utils.DateUtils; -import cn.escheduler.dao.model.TaskRecord; +import cn.escheduler.dao.entity.TaskRecord; import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.PropertiesConfiguration; @@ -30,7 +30,6 @@ import org.slf4j.LoggerFactory; import java.sql.*; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.Map; diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/datasource/ConnectionFactory.java b/escheduler-dao/src/main/java/cn/escheduler/dao/datasource/ConnectionFactory.java index 520d287491..f256726bc3 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/datasource/ConnectionFactory.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/datasource/ConnectionFactory.java @@ -16,9 +16,6 @@ */ package cn.escheduler.dao.datasource; -import cn.escheduler.common.Constants; -import cn.escheduler.common.utils.CommonUtils; -import cn.escheduler.dao.mapper.ProjectMapper; import com.alibaba.druid.pool.DruidDataSource; import org.apache.ibatis.mapping.Environment; import org.apache.ibatis.session.Configuration; @@ -32,9 +29,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.sql.DataSource; -import java.sql.SQLException; -import static cn.escheduler.dao.utils.PropertyUtils.*; /** @@ -51,39 +46,17 @@ public class ConnectionFactory { public static DruidDataSource getDataSource() { DruidDataSource druidDataSource = new DruidDataSource(); - druidDataSource.setDriverClassName(getString(Constants.SPRING_DATASOURCE_DRIVER_CLASS_NAME)); - druidDataSource.setUrl(getString(Constants.SPRING_DATASOURCE_URL)); - druidDataSource.setUsername(getString(Constants.SPRING_DATASOURCE_USERNAME)); - druidDataSource.setPassword(getString(Constants.SPRING_DATASOURCE_PASSWORD)); - druidDataSource.setValidationQuery(getString(Constants.SPRING_DATASOURCE_VALIDATION_QUERY)); - - druidDataSource.setPoolPreparedStatements(getBoolean(Constants.SPRING_DATASOURCE_POOL_PREPARED_STATEMENTS)); - druidDataSource.setTestWhileIdle(getBoolean(Constants.SPRING_DATASOURCE_TEST_WHILE_IDLE)); - druidDataSource.setTestOnBorrow(getBoolean(Constants.SPRING_DATASOURCE_TEST_ON_BORROW)); - druidDataSource.setTestOnReturn(getBoolean(Constants.SPRING_DATASOURCE_TEST_ON_RETURN)); - druidDataSource.setKeepAlive(getBoolean(Constants.SPRING_DATASOURCE_KEEP_ALIVE)); - //just for development - /*if (CommonUtils.isDevelopMode()) { - //Configure filters that are intercepted by monitoring statistics, and SQL can not be counted after removing them.'wall'is used for firewall - try { - druidDataSource.setFilters("stat,wall,log4j"); - } catch (SQLException e) { - logger.error(e.getMessage(), e); - } - }*/ - - druidDataSource.setMinIdle(getInt(Constants.SPRING_DATASOURCE_MIN_IDLE)); - druidDataSource.setMaxActive(getInt(Constants.SPRING_DATASOURCE_MAX_ACTIVE)); - druidDataSource.setMaxWait(getInt(Constants.SPRING_DATASOURCE_MAX_WAIT)); - druidDataSource.setMaxPoolPreparedStatementPerConnectionSize(getInt(Constants.SPRING_DATASOURCE_MAX_POOL_PREPARED_STATEMENT_PER_CONNECTION_SIZE)); - druidDataSource.setInitialSize(getInt(Constants.SPRING_DATASOURCE_INITIAL_SIZE)); - druidDataSource.setTimeBetweenEvictionRunsMillis(getLong(Constants.SPRING_DATASOURCE_TIME_BETWEEN_EVICTION_RUNS_MILLIS)); - druidDataSource.setTimeBetweenConnectErrorMillis(getLong(Constants.SPRING_DATASOURCE_TIME_BETWEEN_CONNECT_ERROR_MILLIS)); - druidDataSource.setMinEvictableIdleTimeMillis(getLong(Constants.SPRING_DATASOURCE_MIN_EVICTABLE_IDLE_TIME_MILLIS)); - druidDataSource.setValidationQueryTimeout(getInt(Constants.SPRING_DATASOURCE_VALIDATION_QUERY_TIMEOUT)); - //auto commit - druidDataSource.setDefaultAutoCommit(getBoolean(Constants.SPRING_DATASOURCE_DEFAULT_AUTO_COMMIT)); - + druidDataSource.setDriverClassName("com.mysql.jdbc.Driver"); + druidDataSource.setUrl("jdbc:mysql://192.168.220.188:3306/escheduler?useUnicode=true&characterEncoding=UTF-8"); + druidDataSource.setUsername("root"); + druidDataSource.setPassword("root@123"); + druidDataSource.setInitialSize(5); + druidDataSource.setMinIdle(5); + druidDataSource.setMaxActive(20); + druidDataSource.setMaxWait(60000); + druidDataSource.setTimeBetweenEvictionRunsMillis(60000); + druidDataSource.setMinEvictableIdleTimeMillis(300000); + druidDataSource.setValidationQuery("SELECT 1"); return druidDataSource; } @@ -97,12 +70,12 @@ public class ConnectionFactory { DataSource dataSource = getDataSource(); TransactionFactory transactionFactory = new JdbcTransactionFactory(); - Environment environment = new Environment(Constants.DEVELOPMENT, transactionFactory, dataSource); + Environment environment = new Environment("development", transactionFactory, dataSource); Configuration configuration = new Configuration(environment); configuration.setLazyLoadingEnabled(true); + configuration.addMappers("cn.escheduler.dao.mapper"); - configuration.addMappers(ProjectMapper.class.getPackage().getName()); SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); sqlSessionFactory = builder.build(configuration); diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/datasource/DatabaseConfiguration.java b/escheduler-dao/src/main/java/cn/escheduler/dao/datasource/DatabaseConfiguration.java index 15760e5ddf..7d843f6f40 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/datasource/DatabaseConfiguration.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/datasource/DatabaseConfiguration.java @@ -1,63 +1,63 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.datasource; - -import com.alibaba.druid.pool.DruidDataSource; -import org.apache.ibatis.session.SqlSessionFactory; -import org.mybatis.spring.SqlSessionFactoryBean; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; -import org.springframework.context.annotation.PropertySource; -import org.springframework.jdbc.datasource.DataSourceTransactionManager; -import org.springframework.transaction.PlatformTransactionManager; - -import java.sql.SQLException; - -/** - * data base configuration - */ -@Configuration -@PropertySource({"classpath:dao/data_source.properties"}) -@MapperScan(basePackages = "cn.escheduler.dao.mapper", sqlSessionFactoryRef = "SqlSessionFactory") -public class DatabaseConfiguration { - - /** - * register data source - */ - @Primary - @Bean(name = "DataSource", initMethod = "init", destroyMethod = "close") - public DruidDataSource dataSource() { - return ConnectionFactory.getDataSource(); - } - - @Primary - @Bean(name = "SqlSessionFactory") - public SqlSessionFactory sqlSessionFactory() throws Exception { - SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); - sqlSessionFactoryBean.setDataSource(dataSource()); - - return sqlSessionFactoryBean.getObject(); - } - - @Primary - @Bean(name = "TransactionManager") - public PlatformTransactionManager transactionManager() throws SQLException { - return new DataSourceTransactionManager(dataSource()); - } -} +///* +// * Licensed to the Apache Software Foundation (ASF) under one or more +// * contributor license agreements. See the NOTICE file distributed with +// * this work for additional information regarding copyright ownership. +// * The ASF licenses this file to You under the Apache License, Version 2.0 +// * (the "License"); you may not use this file except in compliance with +// * the License. You may obtain a copy of the License at +// * +// * http://www.apache.org/licenses/LICENSE-2.0 +// * +// * Unless required by applicable law or agreed to in writing, software +// * distributed under the License is distributed on an "AS IS" BASIS, +// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// * See the License for the specific language governing permissions and +// * limitations under the License. +// */ +//package cn.escheduler.dao.datasource; +// +//import com.alibaba.druid.pool.DruidDataSource; +//import org.apache.ibatis.session.SqlSessionFactory; +//import org.mybatis.spring.SqlSessionFactoryBean; +//import org.mybatis.spring.annotation.MapperScan; +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.context.annotation.Primary; +//import org.springframework.context.annotation.PropertySource; +//import org.springframework.jdbc.datasource.DataSourceTransactionManager; +//import org.springframework.transaction.PlatformTransactionManager; +// +//import java.sql.SQLException; +// +///** +// * data base configuration +// */ +//@Configuration +//@PropertySource({"classpath:application.yml"}) +//@MapperScan(basePackages = "cn.escheduler.dao.mapper", sqlSessionFactoryRef = "SqlSessionFactory") +//public class DatabaseConfiguration { +// +// /** +// * register data source +// */ +// @Primary +// @Bean(name = "DataSource", initMethod = "init", destroyMethod = "close") +// public DruidDataSource dataSource() { +// return ConnectionFactory.getDataSource(); +// } +// +// @Primary +// @Bean(name = "SqlSessionFactory") +// public SqlSessionFactory sqlSessionFactory() throws Exception { +// SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); +// sqlSessionFactoryBean.setDataSource(dataSource()); +// +// return sqlSessionFactoryBean.getObject(); +// } +// +// @Primary +// @Bean(name = "TransactionManager") +// public PlatformTransactionManager transactionManager() throws SQLException { +// return new DataSourceTransactionManager(dataSource()); +// } +//} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/AccessToken.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/AccessToken.java similarity index 75% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/AccessToken.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/AccessToken.java index 559fe45a96..c6cd118a42 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/AccessToken.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/AccessToken.java @@ -1,7 +1,3 @@ -package cn.escheduler.dao.model; - -import java.util.Date; - /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with @@ -18,41 +14,40 @@ import java.util.Date; * See the License for the specific language governing permissions and * limitations under the License. */ +package cn.escheduler.dao.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; + +@Data +@TableName("t_escheduler_access_token") public class AccessToken { - /** - * id - */ + @TableId(value="id", type=IdType.AUTO) private int id; - /** - * user id - */ - private int userId; - /** - * user name - */ - private String userName; + @TableField("user_id") + private int userId; - /** - * user token - */ + @TableField("token") private String token; - /** - * token expire time - */ + @TableField(exist = false) + private String userName; + + @TableField("expire_time") private Date expireTime; - /** - * create time - */ + @TableField("create_time") private Date createTime; - /** - * update time - */ + @TableField("update_time") private Date updateTime; public int getId() { @@ -79,6 +74,14 @@ public class AccessToken { this.token = token; } + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + public Date getExpireTime() { return expireTime; } @@ -102,25 +105,4 @@ public class AccessToken { public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; } - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - @Override - public String toString() { - return "AccessToken{" + - "id=" + id + - ", userId=" + userId + - ", userName='" + userName + '\'' + - ", token='" + token + '\'' + - ", expireTime=" + expireTime + - ", createTime=" + createTime + - ", updateTime=" + updateTime + - '}'; - } } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Alert.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/Alert.java similarity index 90% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/Alert.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/Alert.java index 57bcf60ecd..77dfe8ea3d 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Alert.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/Alert.java @@ -14,11 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; -import cn.escheduler.common.enums.AlertStatus; -import cn.escheduler.common.enums.AlertType; -import cn.escheduler.common.enums.ShowType; +import cn.escheduler.common.enums.*; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; import java.util.Date; import java.util.HashMap; @@ -27,11 +30,14 @@ import java.util.Map; /** * alert */ +@Data +@TableName("t_escheduler_alert") public class Alert { /** * id */ + @TableId(value="id", type=IdType.AUTO) private int id; /** @@ -68,6 +74,7 @@ public class Alert { /** * alert group id */ + @TableField("alertgroup_id") private int alertGroupId; @@ -92,6 +99,7 @@ public class Alert { private Date updateTime; + @TableField(exist = false) private Map info = new HashMap<>(); public Map getInfo() { @@ -105,7 +113,7 @@ public class Alert { public Alert() { } - public Alert(int id,String title) { + public Alert(int id, String title) { this.id = id; this.title = title; } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/AlertGroup.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/AlertGroup.java similarity index 78% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/AlertGroup.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/AlertGroup.java index 21b24843cb..6fef715aa9 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/AlertGroup.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/AlertGroup.java @@ -14,25 +14,33 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; import cn.escheduler.common.enums.AlertType; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; import java.util.Date; -/** - * alert group - */ +@Data +@TableName("t_escheduler_alertgroup") public class AlertGroup { + + /** * primary key */ + @TableId(value="id", type=IdType.AUTO) private int id; /** * alert group name */ private String groupName; + /** * alert group type */ @@ -41,7 +49,7 @@ public class AlertGroup { /** * alert group description */ - private String desc; + private String description; /** * create time @@ -77,14 +85,6 @@ public class AlertGroup { this.groupType = groupType; } - public String getDesc() { - return desc; - } - - public void setDesc(String desc) { - this.desc = desc; - } - public Date getCreateTime() { return createTime; } @@ -101,15 +101,11 @@ public class AlertGroup { this.updateTime = updateTime; } - @Override - public String toString() { - return "AlertGroup{" + - "id=" + id + - ", groupName='" + groupName + '\'' + - ", groupType=" + groupType + - ", desc='" + desc + '\'' + - ", createTime=" + createTime + - ", updateTime=" + updateTime + - '}'; + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; } } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Command.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/Command.java similarity index 87% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/Command.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/Command.java index e2a31a6702..36cfa38ce3 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Command.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/Command.java @@ -14,90 +14,111 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; import cn.escheduler.common.enums.*; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; import java.util.Date; /** * command */ +@Data +@TableName("t_escheduler_command") public class Command { /** * id */ + @TableId(value="id", type=IdType.AUTO) private int id; /** * command type */ + @TableField("command_type") private CommandType commandType; /** * process definition id */ + @TableField("process_definition_id") private int processDefinitionId; /** * executor id */ + @TableField("executor_id") private int executorId; /** * command parameter, format json */ + @TableField("command_param") private String commandParam; /** * task depend type */ + @TableField("task_depend_type") private TaskDependType taskDependType; /** * failure strategy */ + @TableField("failure_strategy") private FailureStrategy failureStrategy; /** - * warning type + * warning type */ + @TableField("warning_type") private WarningType warningType; /** * warning group id */ + @TableField("warning_type") private Integer warningGroupId; /** * schedule time */ + @TableField("schedule_time") private Date scheduleTime; /** * start time */ + @TableField("start_time") private Date startTime; /** * process instance priority */ + @TableField("process_instance_priority") private Priority processInstancePriority; /** * update time */ + @TableField("update_time") private Date updateTime; /** * */ + @TableField("worker_group_id;") private int workerGroupId; - public Command(){ + public Command() { this.taskDependType = TaskDependType.TASK_POST; this.failureStrategy = FailureStrategy.CONTINUE; this.startTime = new Date(); @@ -114,7 +135,7 @@ public class Command { WarningType warningType, int warningGroupId, Date scheduleTime, - Priority processInstancePriority){ + Priority processInstancePriority) { this.commandType = commandType; this.executorId = executorId; this.processDefinitionId = processDefinitionId; @@ -264,3 +285,4 @@ public class Command { '}'; } } + diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/entity/CommandCount.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/CommandCount.java new file mode 100644 index 0000000000..334d41562a --- /dev/null +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/CommandCount.java @@ -0,0 +1,58 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package cn.escheduler.dao.entity; + + +import cn.escheduler.common.enums.CommandType; + +public class CommandCount { + + + /** + * execution state + */ + private CommandType commandType; + + /** + * count for state + */ + private int count; + + + @Override + public String toString(){ + return "command count:" + + " commandType: "+ commandType.toString() + + " count: "+ count; + } + + public CommandType getCommandType() { + return commandType; + } + + public void setCommandType(CommandType commandType) { + this.commandType = commandType; + } + + public int getCount() { + return count; + } + + public void setCount(int count) { + this.count = count; + } +} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/CycleDependency.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/CycleDependency.java similarity index 98% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/CycleDependency.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/CycleDependency.java index 97b1297af3..3ac5533f98 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/CycleDependency.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/CycleDependency.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; import cn.escheduler.common.enums.CycleEnum; diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/DataSource.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/DataSource.java similarity index 90% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/DataSource.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/DataSource.java index 9506cd2f70..5fd4db6dd8 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/DataSource.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/DataSource.java @@ -14,17 +14,26 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; + import cn.escheduler.common.enums.DbType; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; import java.util.Date; +@Data +@TableName("t_escheduler_datasource") public class DataSource { /** * id */ + @TableId(value="id", type=IdType.AUTO) private int id; /** @@ -35,6 +44,7 @@ public class DataSource { /** * user name */ + @TableField(exist = false) private String userName; /** diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/DatasourceUser.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/DatasourceUser.java similarity index 88% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/DatasourceUser.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/DatasourceUser.java index 58d936f02f..2379891630 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/DatasourceUser.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/DatasourceUser.java @@ -14,18 +14,24 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import java.util.Date; /** * data source user relation */ +@TableName("t_escheduler_relation_datasource_user") public class DatasourceUser { /** * id */ + @TableId(value="id", type=IdType.AUTO) private int id; /** diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/DefinitionGroupByUser.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/DefinitionGroupByUser.java similarity index 97% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/DefinitionGroupByUser.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/DefinitionGroupByUser.java index b53462e27d..d8d409aebb 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/DefinitionGroupByUser.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/DefinitionGroupByUser.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; /** * count definition number group by user diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Dependency.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/Dependency.java similarity index 97% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/Dependency.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/Dependency.java index 30b1a9f79d..cb85d8137b 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Dependency.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/Dependency.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; import cn.escheduler.common.enums.SelfDependStrategy; diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/ErrorCommand.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/ErrorCommand.java similarity index 96% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/ErrorCommand.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/ErrorCommand.java index cdf144f16b..2af75329a3 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/ErrorCommand.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/ErrorCommand.java @@ -14,20 +14,25 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; import cn.escheduler.common.enums.*; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import java.util.Date; /** * command */ +@TableName("t_escheduler_error_command") public class ErrorCommand { /** * id */ + @TableId(value="id", type = IdType.INPUT) private int id; /** @@ -100,6 +105,7 @@ public class ErrorCommand { */ private int workerGroupId; + public ErrorCommand(){} public ErrorCommand(Command command, String message){ this.id = command.getId(); diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/ExecuteStatusCount.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/ExecuteStatusCount.java similarity index 97% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/ExecuteStatusCount.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/ExecuteStatusCount.java index cf2140e89a..9b224e3913 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/ExecuteStatusCount.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/ExecuteStatusCount.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; import cn.escheduler.common.enums.ExecutionStatus; diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/MonitorRecord.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/MonitorRecord.java similarity index 98% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/MonitorRecord.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/MonitorRecord.java index ba4a3f9fdf..be3adc76f1 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/MonitorRecord.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/MonitorRecord.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; import java.util.Date; diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/ProcessData.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/ProcessData.java similarity index 98% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/ProcessData.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/ProcessData.java index 28dea1f887..e292b71e97 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/ProcessData.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/ProcessData.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; import cn.escheduler.common.model.TaskNode; import cn.escheduler.common.process.Property; diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/ProcessDefinition.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/ProcessDefinition.java similarity index 91% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/ProcessDefinition.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/ProcessDefinition.java index 868078b600..c171c7c125 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/ProcessDefinition.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/ProcessDefinition.java @@ -14,26 +14,34 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; -import cn.escheduler.common.enums.Flag; -import cn.escheduler.common.enums.ReleaseState; +import cn.escheduler.common.enums.*; import cn.escheduler.common.process.Property; import com.alibaba.fastjson.JSONObject; -import org.apache.commons.lang3.StringUtils; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import lombok.Data; import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; + /** * process definition */ +@Data +@TableName("t_escheduler_process_definition") public class ProcessDefinition { /** * id */ + @TableId(value="id", type=IdType.AUTO) private int id; /** @@ -64,7 +72,7 @@ public class ProcessDefinition { /** * description */ - private String desc; + private String description; /** * user defined parameters @@ -74,11 +82,13 @@ public class ProcessDefinition { /** * user defined parameter list */ + @TableField(exist=false) private List globalParamList; /** * user define parameter map */ + @TableField(exist=false) private Map globalParamMap; /** @@ -104,11 +114,13 @@ public class ProcessDefinition { /** * user name */ + @TableField(exist = false) private String userName; /** * project name */ + @TableField(exist = false) private String projectName; /** @@ -134,6 +146,7 @@ public class ProcessDefinition { /** * schedule release state : online/offline */ + @TableField(exist=false) private ReleaseState scheduleReleaseState; /** @@ -277,15 +290,6 @@ public class ProcessDefinition { this.globalParamMap = globalParamMap; } - - public String getDesc() { - return desc; - } - - public void setDesc(String desc) { - this.desc = desc; - } - public String getLocations() { return locations; } @@ -343,7 +347,6 @@ public class ProcessDefinition { ", releaseState=" + releaseState + ", projectId=" + projectId + ", processDefinitionJson='" + processDefinitionJson + '\'' + - ", desc='" + desc + '\'' + ", globalParams='" + globalParams + '\'' + ", globalParamList=" + globalParamList + ", globalParamMap=" + globalParamMap + @@ -370,4 +373,12 @@ public class ProcessDefinition { public void setTenantId(int tenantId) { this.tenantId = tenantId; } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/ProcessInstance.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/ProcessInstance.java similarity index 97% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/ProcessInstance.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/ProcessInstance.java index 95b42acd58..23e9847144 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/ProcessInstance.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/ProcessInstance.java @@ -14,21 +14,28 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; import cn.escheduler.common.enums.*; -import org.apache.commons.lang3.StringUtils; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import lombok.Data; import java.util.Date; /** * process instance */ +@Data +@TableName("t_escheduler_process_instance") public class ProcessInstance { /** * id */ + @TableId(value="id", type=IdType.AUTO) private int id; /** * process definition id @@ -177,7 +184,6 @@ public class ProcessInstance { */ private Priority processInstancePriority; - /** * worker group id */ @@ -188,7 +194,6 @@ public class ProcessInstance { */ private int timeout; - /** * tenant id */ diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/ProcessInstanceMap.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/ProcessInstanceMap.java similarity index 87% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/ProcessInstanceMap.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/ProcessInstanceMap.java index 863144eab2..2951598c8b 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/ProcessInstanceMap.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/ProcessInstanceMap.java @@ -14,16 +14,24 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; /** * process instance map */ +@Data +@TableName("t_escheduler_relation_process_instance") public class ProcessInstanceMap { /** * id */ + @TableId(value="id", type=IdType.AUTO) private int id; /** diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Project.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/Project.java similarity index 86% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/Project.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/Project.java index e835c9b97b..35bebac39b 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Project.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/Project.java @@ -14,63 +14,81 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; import java.util.Date; /** * project */ +@Data +@TableName("t_escheduler_project") public class Project { /** * id */ + @TableId(value="id", type=IdType.AUTO) private int id; /** * user id */ + @TableField("user_id") private int userId; /** * user name */ + @TableField(exist=false) private String userName; /** * project name */ + @TableField("name") private String name; /** * project description */ + @TableField("`desc`") private String desc; /** * create time */ + @TableField("`create_time`") private Date createTime; /** * update time */ + @TableField("`update_time`") private Date updateTime; /** * permission */ + @TableField(exist=false) private int perm; /** * process define count */ + @TableField(exist=false) private int defCount; /** * process instance running count */ + @TableField(exist=false) private int instRunningCount; public int getDefCount() { diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/entity/ProjectUser.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/ProjectUser.java new file mode 100644 index 0000000000..cd44f9c1c6 --- /dev/null +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/ProjectUser.java @@ -0,0 +1,141 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package cn.escheduler.dao.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; + +@Data +@TableName("t_escheduler_relation_project_user") +public class ProjectUser { + /** + * id + */ + @TableId(value="id", type=IdType.AUTO) + private int id; + + @TableField("user_id") + private int userId; + + @TableField("project_id") + private int projectId; + + /** + * project name + */ + @TableField(exist = false) + private String projectName; + + /** + * user name + */ + @TableField(exist = false) + private String userName; + + /** + * permission + */ + private int perm; + + @TableField("create_time") + private Date createTime; + + @TableField("update_time") + private Date updateTime; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getUserId() { + return userId; + } + + public void setUserId(int userId) { + this.userId = userId; + } + + public int getProjectId() { + return projectId; + } + + public void setProjectId(int projectId) { + this.projectId = projectId; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + public String getProjectName() { + return projectName; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public int getPerm() { + return perm; + } + + public void setPerm(int perm) { + this.perm = perm; + } + @Override + public String toString() { + return "ProjectUser{" + + "id=" + id + + ", projectId=" + projectId + + ", projectName='" + projectName + '\'' + + ", userId=" + userId + + ", userName='" + userName + '\'' + + ", perm=" + perm + + ", createTime=" + createTime + + ", updateTime=" + updateTime + + '}'; + } +} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Queue.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/Queue.java similarity index 88% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/Queue.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/Queue.java index d03d40a411..feac009a84 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Queue.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/Queue.java @@ -14,18 +14,26 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; import java.util.Date; /** * queue */ +@Data +@TableName("t_escheduler_queue") public class Queue { /** * id */ + @TableId(value="id", type=IdType.AUTO) private int id; /** * queue name diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Resource.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/Resource.java similarity index 93% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/Resource.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/Resource.java index 5fbd098efd..a631753ad9 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Resource.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/Resource.java @@ -14,16 +14,24 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; + import cn.escheduler.common.enums.ResourceType; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; import java.util.Date; +@Data +@TableName("t_escheduler_resources") public class Resource { /** * id */ + @TableId(value="id", type=IdType.AUTO) private int id; /** diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/ResourcesUser.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/ResourcesUser.java similarity index 88% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/ResourcesUser.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/ResourcesUser.java index 14505ead5a..92ab7955bf 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/ResourcesUser.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/ResourcesUser.java @@ -14,18 +14,26 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; import java.util.Date; /** * resource user relation */ +@Data +@TableName("t_escheduler_relation_resources_user") public class ResourcesUser { /** * id */ + @TableId(value="id", type=IdType.AUTO) private int id; /** diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Schedule.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/Schedule.java similarity index 94% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/Schedule.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/Schedule.java index 39926947c1..43b7533af5 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Schedule.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/Schedule.java @@ -14,12 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; -import cn.escheduler.common.enums.FailureStrategy; -import cn.escheduler.common.enums.Priority; -import cn.escheduler.common.enums.ReleaseState; -import cn.escheduler.common.enums.WarningType; +import cn.escheduler.common.enums.*; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; import java.util.Date; @@ -27,8 +28,11 @@ import java.util.Date; * schedule * */ +@Data +@TableName("t_escheduler_schedules") public class Schedule { + @TableId(value="id", type=IdType.AUTO) private int id; /** * process definition id diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Session.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/Session.java similarity index 86% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/Session.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/Session.java index b52eb494ee..90a2685d68 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Session.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/Session.java @@ -14,18 +14,26 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; import java.util.Date; /** * session */ +@Data +@TableName("t_escheduler_session") public class Session { /** * id */ + @TableId(value="id", type=IdType.AUTO) private String id; /** diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/TaskInstance.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/TaskInstance.java similarity index 97% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/TaskInstance.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/TaskInstance.java index 7edce1c21d..1f65a18f39 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/TaskInstance.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/TaskInstance.java @@ -14,25 +14,29 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; -import cn.escheduler.common.enums.ExecutionStatus; -import cn.escheduler.common.enums.Flag; -import cn.escheduler.common.enums.Priority; -import cn.escheduler.common.enums.TaskType; import cn.escheduler.common.model.TaskNode; import cn.escheduler.common.utils.JSONUtils; +import cn.escheduler.common.enums.*; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; import java.util.Date; /** * task instance */ +@Data +@TableName("t_escheduler_task_instance") public class TaskInstance { /** * id */ + @TableId(value="id", type=IdType.AUTO) private int id; /** diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/TaskRecord.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/TaskRecord.java similarity index 99% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/TaskRecord.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/TaskRecord.java index 82e96061b8..02b85dbf8b 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/TaskRecord.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/TaskRecord.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; import java.util.Date; diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Tenant.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/Tenant.java similarity index 80% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/Tenant.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/Tenant.java index b3249dc362..7d56fec544 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Tenant.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/Tenant.java @@ -14,18 +14,32 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; + +import cn.escheduler.common.enums.AlertStatus; +import cn.escheduler.common.enums.AlertType; +import cn.escheduler.common.enums.ShowType; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; import java.util.Date; +import java.util.HashMap; +import java.util.Map; /** * tenant */ +@Data +@TableName("t_escheduler_tenant") public class Tenant { /** * id */ + @TableId(value="id", type=IdType.AUTO) private int id; /** @@ -41,7 +55,7 @@ public class Tenant { /** * description */ - private String desc; + private String description; /** * queue id @@ -51,6 +65,7 @@ public class Tenant { /** * queue name */ + @TableField(exist = false) private String queueName; @@ -93,14 +108,6 @@ public class Tenant { this.tenantName = tenantName; } - public String getDesc() { - return desc; - } - - public void setDesc(String desc) { - this.desc = desc; - } - public int getQueueId() { return queueId; } @@ -147,7 +154,6 @@ public class Tenant { "id=" + id + ", tenantCode='" + tenantCode + '\'' + ", tenantName='" + tenantName + '\'' + - ", desc='" + desc + '\'' + ", queueId=" + queueId + ", queueName='" + queueName + '\'' + ", queue='" + queue + '\'' + @@ -155,4 +161,12 @@ public class Tenant { ", updateTime=" + updateTime + '}'; } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/UDFUser.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/UDFUser.java similarity index 87% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/UDFUser.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/UDFUser.java index fe49adc08e..2d8c6a4f87 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/UDFUser.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/UDFUser.java @@ -14,18 +14,26 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; import java.util.Date; /** * udf user relation */ +@Data +@TableName("t_escheduler_relation_udfs_user") public class UDFUser { /** * id */ + @TableId(value="id", type=IdType.AUTO) private int id; /** diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/UdfFunc.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/UdfFunc.java similarity index 94% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/UdfFunc.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/UdfFunc.java index 979b201ad3..c34f72f9e0 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/UdfFunc.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/UdfFunc.java @@ -14,19 +14,26 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; import cn.escheduler.common.enums.UdfType; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; import java.util.Date; /** * udf function */ +@Data +@TableName("t_escheduler_udfs") public class UdfFunc { /** * id */ + @TableId(value="id", type=IdType.AUTO) private int id; /** * user id diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/User.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/User.java similarity index 92% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/User.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/User.java index bad6b6313e..e763561e37 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/User.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/User.java @@ -14,23 +14,32 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; + import cn.escheduler.common.enums.UserType; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import java.util.Date; /** * user */ +@Data +@TableName("t_escheduler_user") @ApiModel(description = "UserModelDesc") public class User { /** * id */ + @TableId(value="id", type=IdType.AUTO) private int id; /** @@ -48,13 +57,11 @@ public class User { /** * mail */ - @ApiModelProperty(name = "email", notes = "email",dataType = "String",required = true) private String email; /** * phone */ - @ApiModelProperty(name = "phone", notes = "phone",dataType = "String",required = true) private String phone; /** @@ -70,21 +77,25 @@ public class User { /** * tenant code */ + @TableField(exist = false) private String tenantCode; /** * tenant name */ + @TableField(exist = false) private String tenantName; /** * queue name */ + @TableField(exist = false) private String queueName; /** * alert group */ + @TableField(exist = false) private String alertGroup; /** diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/UserAlertGroup.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/UserAlertGroup.java similarity index 86% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/UserAlertGroup.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/UserAlertGroup.java index ffd5a9715e..293aa370e8 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/UserAlertGroup.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/UserAlertGroup.java @@ -14,28 +14,39 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; import java.util.Date; /** * user alert group */ +@Data +@TableName("t_escheduler_relation_user_alertgroup") public class UserAlertGroup { /** * id */ + @TableId(value="id", type=IdType.AUTO) private int id; /** * id */ + @TableField("alertgroup_id") private int alertgroupId; /** * alert group name */ + @TableField(exist = false) private String alertgroupName; /** diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/WorkerGroup.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/WorkerGroup.java similarity index 87% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/WorkerGroup.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/WorkerGroup.java index 664fd93463..6f4c689cf7 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/WorkerGroup.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/WorkerGroup.java @@ -14,15 +14,23 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; import java.util.Date; /** * worker group for task running */ +@Data +@TableName("t_escheduler_worker_group") public class WorkerGroup { + @TableId(value="id", type=IdType.AUTO) private int id; private String name; diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/WorkerServer.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/WorkerServer.java similarity index 98% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/WorkerServer.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/WorkerServer.java index 4ee158b2e4..a15e5da033 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/WorkerServer.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/WorkerServer.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; import java.util.Date; diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/ZookeeperRecord.java b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/ZookeeperRecord.java similarity index 99% rename from escheduler-dao/src/main/java/cn/escheduler/dao/model/ZookeeperRecord.java rename to escheduler-dao/src/main/java/cn/escheduler/dao/entity/ZookeeperRecord.java index 64bc7129a7..cb0a9104c6 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/ZookeeperRecord.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/entity/ZookeeperRecord.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package cn.escheduler.dao.model; +package cn.escheduler.dao.entity; import java.util.Date; diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AccessTokenMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AccessTokenMapper.java index a9a17b8b7d..00d18d66ff 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AccessTokenMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AccessTokenMapper.java @@ -16,75 +16,23 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.common.enums.UserType; -import cn.escheduler.dao.model.AccessToken; -import cn.escheduler.dao.model.User; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.EnumOrdinalTypeHandler; -import org.apache.ibatis.type.JdbcType; - -import java.sql.Timestamp; -import java.util.List; - -public interface AccessTokenMapper { - - /** - * insert accessToken - * @param accessToken - * @return - */ - @InsertProvider(type = AccessTokenMapperProvider.class, method = "insert") - @Options(useGeneratedKeys = true,keyProperty = "accessToken.id") - @SelectKey(statement = "SELECT LAST_INSERT_ID()", keyProperty = "accessToken.id", before = false, resultType = int.class) - int insert(@Param("accessToken") AccessToken accessToken); - - - /** - * delete accessToken - * @param accessTokenId - * @return - */ - @DeleteProvider(type = AccessTokenMapperProvider.class, method = "delete") - int delete(@Param("accessTokenId") int accessTokenId); +import cn.escheduler.dao.entity.AccessToken; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; +public interface AccessTokenMapper extends BaseMapper { /** - * update accessToken * - * @param accessToken - * @return - */ - @UpdateProvider(type = AccessTokenMapperProvider.class, method = "update") - int update(@Param("accessToken") AccessToken accessToken); - - - /** - * query access token list paging - * @param searchVal - * @param offset - * @param pageSize - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "token", column = "token", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "expireTime", column = "expire_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = AccessTokenMapperProvider.class, method = "queryAccessTokenPaging") - List queryAccessTokenPaging(@Param("userId") Integer userId, - @Param("searchVal") String searchVal, - @Param("offset") Integer offset, - @Param("pageSize") Integer pageSize); - - /** - * count access token by search value - * @param searchVal + * @param page + * @param userName + * @param userId * @return */ - @SelectProvider(type = AccessTokenMapperProvider.class, method = "countAccessTokenPaging") - Integer countAccessTokenPaging(@Param("userId") Integer userId - ,@Param("searchVal") String searchVal); + IPage selectAccessTokenPage(Page page, + @Param("userName") String userName, + @Param("userId") int userId + ); } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AccessTokenMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AccessTokenMapperProvider.java deleted file mode 100644 index 7aa8e61b70..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AccessTokenMapperProvider.java +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -/** - * access token mapper provider - * - */ -public class AccessTokenMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_access_token"; - - /** - * insert accessToken - * - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() { - { - INSERT_INTO(TABLE_NAME); - VALUES("`user_id`", "#{accessToken.userId}"); - VALUES("`token`", "#{accessToken.token}"); - VALUES("`expire_time`", "#{accessToken.expireTime}");; - VALUES("`create_time`", "#{accessToken.createTime}"); - VALUES("`update_time`", "#{accessToken.updateTime}"); - } - }.toString(); - } - - /** - * delete accessToken - * - * @param parameter - * @return - */ - public String delete(Map parameter) { - return new SQL() { - { - DELETE_FROM(TABLE_NAME); - - WHERE("`id`=#{accessTokenId}"); - } - }.toString(); - } - - /** - * update accessToken - * - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() { - { - UPDATE(TABLE_NAME); - - SET("`user_id`=#{accessToken.userId}"); - SET("`token`=#{accessToken.token}"); - SET("`expire_time`=#{accessToken.expireTime}"); - SET("`update_time`=#{accessToken.updateTime}"); - - WHERE("`id`=#{accessToken.id}"); - } - }.toString(); - } - - - /** - * count user number by search value - * @param parameter - * @return - */ - public String countAccessTokenPaging(Map parameter) { - return new SQL() {{ - SELECT("count(0)"); - FROM(TABLE_NAME + " t,t_escheduler_user u"); - Object searchVal = parameter.get("searchVal"); - WHERE("u.id = t.user_id"); - if(parameter.get("userId") != null && (int)parameter.get("userId") != 0){ - WHERE(" u.id = #{userId}"); - } - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE(" u.user_name like concat('%', #{searchVal}, '%')"); - } - }}.toString(); - } - - /** - * query user list paging - * @param parameter - * @return - */ - public String queryAccessTokenPaging(Map parameter) { - return new SQL() { - { - SELECT("t.*,u.user_name"); - FROM(TABLE_NAME + " t,t_escheduler_user u"); - Object searchVal = parameter.get("searchVal"); - WHERE("u.id = t.user_id"); - if(parameter.get("userId") != null && (int)parameter.get("userId") != 0){ - WHERE(" u.id = #{userId}"); - } - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE(" u.user_name like concat('%', #{searchVal}, '%') "); - } - ORDER_BY(" t.update_time desc limit #{offset},#{pageSize} "); - } - }.toString(); - - } - - - - -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AlertGroupMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AlertGroupMapper.java index 20c37b452b..975b770d77 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AlertGroupMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AlertGroupMapper.java @@ -17,133 +17,29 @@ package cn.escheduler.dao.mapper; import cn.escheduler.common.enums.AlertType; -import cn.escheduler.dao.model.AlertGroup; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.EnumOrdinalTypeHandler; -import org.apache.ibatis.type.JdbcType; +import cn.escheduler.dao.entity.AlertGroup; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; -import java.sql.Timestamp; import java.util.List; -/** - * alert group mapper - */ -public interface AlertGroupMapper { - /** - * insert warning group - * @param alertGroup - * @return - */ - @InsertProvider(type = AlertGroupMapperProvider.class, method = "insert") - @Options(useGeneratedKeys = true,keyProperty = "alertGroup.id") - @SelectKey(statement = "SELECT LAST_INSERT_ID()", keyProperty = "alertGroup.id", before = false, resultType = int.class) - int insert(@Param("alertGroup") AlertGroup alertGroup); - - /** - * delete alert group by id - * @param id - * @return - */ - @DeleteProvider(type = AlertGroupMapperProvider.class, method = "delete") - int delete(@Param("id") int id); +public interface AlertGroupMapper extends BaseMapper { - /** - * update alert group information - * @param alertGroup - * @return - */ - @UpdateProvider(type = AlertGroupMapperProvider.class, method = "update") - int update(@Param("alertGroup") AlertGroup alertGroup); + IPage queryAlertGroupPage(Page page, + @Param("groupName") String groupName); - /** - * query alert group by id - * @param alertGroupId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "groupName", column = "group_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "groupType", column = "group_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = AlertType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = AlertGroupMapperProvider.class, method = "queryById") - AlertGroup queryById(@Param("alertGroupId") int alertGroupId); + List queryByGroupName(@Param("groupName") String groupName); - /** - * query all alert group list - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "groupName", column = "group_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "groupType", column = "group_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = AlertType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = AlertGroupMapperProvider.class, method = "queryAllGroupList") - List queryAllGroupList(); - - /** - * count alert group - * @param searchVal - * @return - */ - @SelectProvider(type = AlertGroupMapperProvider.class, method = "countAlertGroupPaging") - Integer countAlertGroupPaging(@Param("searchVal") String searchVal); - - /** - * query alert groups paging - * @param searchVal - * @param offset - * @param pageSize - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "groupName", column = "group_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "groupType", column = "group_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = AlertType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = AlertGroupMapperProvider.class, method = "queryAlertGroupPaging") - List queryAlertGroupPaging(@Param("searchVal") String searchVal, - @Param("offset") Integer offset, - @Param("pageSize") Integer pageSize); - - /** - * query alert group by user id - * @param userId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "groupName", column = "group_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "groupType", column = "group_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = AlertType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = AlertGroupMapperProvider.class, method = "queryByUserId") List queryByUserId(@Param("userId") int userId); + List queryByAlertType(@Param("alertType") AlertType alertType); - /** - * query alert group by name - * @param groupName - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "groupName", column = "group_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "groupType", column = "group_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = AlertType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = AlertGroupMapperProvider.class, method = "queryByGroupName") - AlertGroup queryByGroupName(@Param("groupName") String groupName); + List queryAllGroupList(); } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AlertGroupMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AlertGroupMapperProvider.java deleted file mode 100644 index af75c15989..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AlertGroupMapperProvider.java +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import cn.escheduler.common.enums.AlertType; -import cn.escheduler.common.utils.EnumFieldUtil; -import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -/** - * alert group mapper provider - */ -public class AlertGroupMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_alertgroup"; - - /** - * insert one alert group - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() { - { - INSERT_INTO(TABLE_NAME); - VALUES("`group_name`", "#{alertGroup.groupName}"); - VALUES("`group_type`", EnumFieldUtil.genFieldStr("alertGroup.groupType", AlertType.class)); - VALUES("`desc`", "#{alertGroup.desc}"); - VALUES("`create_time`", "#{alertGroup.createTime}"); - VALUES("`update_time`", "#{alertGroup.updateTime}"); - } - }.toString(); - } - - /** - * delete alert group by id - * @param parameter - * @return - */ - public String delete(Map parameter) { - return new SQL() { - { - DELETE_FROM(TABLE_NAME); - - WHERE("`id`=#{id}"); - } - }.toString(); - } - - /** - * update alert group - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() { - { - UPDATE(TABLE_NAME); - - SET("`group_name`=#{alertGroup.groupName}"); - SET("`group_type`="+EnumFieldUtil.genFieldStr("alertGroup.groupType", AlertType.class)); - SET("`desc`=#{alertGroup.desc}"); - SET("`update_time`=#{alertGroup.updateTime}"); - - WHERE("`id`=#{alertGroup.id}"); - } - }.toString(); - } - - - /** - * query alert group by id - * @param parameter - * @return - */ - public String queryById(Map parameter) { - return new SQL() { - { - SELECT("*"); - - FROM(TABLE_NAME); - - WHERE("`id` = #{alertGroupId}"); - } - }.toString(); - } - - /** - * query all alert group list - * @param parameter - * @return - */ - public String queryAllGroupList(Map parameter) { - return new SQL() { - { - SELECT("*"); - - FROM(TABLE_NAME); - - ORDER_BY( "update_time desc"); - - } - }.toString(); - } - - /** - * count alert group by search key - * @param parameter - * @return - */ - public String countAlertGroupPaging(Map parameter) { - return new SQL() {{ - SELECT("count(0)"); - - FROM(TABLE_NAME); - - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " group_name like concat('%', #{searchVal}, '%') "); - } - }}.toString(); - } - - /** - * query alert group list paging by search key - * @param parameter - * @return - */ - public String queryAlertGroupPaging(Map parameter) { - return new SQL() { - { - SELECT("*"); - FROM(TABLE_NAME); - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " group_name like concat('%', #{searchVal}, '%') "); - } - ORDER_BY(" update_time desc limit #{offset},#{pageSize} "); - } - }.toString(); - - } - - - /** - * query alert group by user id - * @param parameter - * @return - */ - public String queryByUserId(Map parameter) { - return new SQL() { - { - SELECT("g.*"); - - FROM(TABLE_NAME + " g,t_escheduler_relation_user_alertgroup rel"); - - WHERE("rel.alertgroup_id = g.id and rel.user_id = #{userId}"); - } - }.toString(); - } - - - /** - * query alert group by name - * @param parameter - * @return - */ - public String queryByGroupName(Map parameter) { - return new SQL() { - { - SELECT("*"); - FROM(TABLE_NAME); - WHERE("group_name = #{groupName}"); - } - }.toString(); - } - -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AlertMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AlertMapper.java index 0a7bb12ed9..c9ef374bbb 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AlertMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AlertMapper.java @@ -17,91 +17,15 @@ package cn.escheduler.dao.mapper; import cn.escheduler.common.enums.AlertStatus; -import cn.escheduler.common.enums.AlertType; -import cn.escheduler.common.enums.ShowType; -import cn.escheduler.dao.model.Alert; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.EnumOrdinalTypeHandler; -import org.apache.ibatis.type.JdbcType; +import cn.escheduler.dao.entity.Alert; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; -import java.sql.Timestamp; -import java.util.Date; import java.util.List; -public interface AlertMapper { +public interface AlertMapper extends BaseMapper { - /** - * insert alert information - * @param alert - * @return - */ - @InsertProvider(type = AlertMapperProvider.class, method = "insert") - @Options(useGeneratedKeys = true,keyProperty = "alert.id") - @SelectKey(statement = "SELECT LAST_INSERT_ID()", keyProperty = "alert.id", before = false, resultType = int.class) - int insert(@Param("alert") Alert alert); - - /** - * query alert list by status - * @param alertStatus - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "title", column = "title", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "showType", column = "show_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = ShowType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "content", column = "content", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "alertType", column = "alert_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = AlertType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "alertStatus", column = "alert_status", typeHandler = EnumOrdinalTypeHandler.class, javaType = AlertStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "log", column = "log", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "alertGroupId", column = "alertgroup_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "receivers", column = "receivers", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "receiversCc", column = "receivers_cc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = AlertMapperProvider.class, method = "queryAlertByStatus") - List queryAlertByStatus(@Param("alertStatus") AlertStatus alertStatus); - - - /** - * update alert information - * @param alertStatus - * @param log - * @param updateTime - * @param id - * @return - */ - @UpdateProvider(type = AlertMapperProvider.class, method = "update") - int update(@Param("alertStatus") AlertStatus alertStatus,@Param("log") String log, - @Param("updateTime") Date updateTime,@Param("id") int id); - - /** - * delete by alert id - * @param alertId - * @return - */ - @UpdateProvider(type = AlertMapperProvider.class, method = "deleteById") - int delete(@Param("alertId") int alertId); - - /** - * list alert information by field alertStatus - * @param alertStatus - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "title", column = "title", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "showType", column = "show_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = ShowType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "content", column = "content", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "alertType", column = "alert_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = AlertType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "alertStatus", column = "alert_status", typeHandler = EnumOrdinalTypeHandler.class, javaType = AlertStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "log", column = "log", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "alertGroupId", column = "alertgroup_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "receivers", column = "receivers", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "receiversCc", column = "receivers_cc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = AlertMapperProvider.class, method = "listAlertByStatus") List listAlertByStatus(@Param("alertStatus") AlertStatus alertStatus); } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AlertMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AlertMapperProvider.java deleted file mode 100644 index e739bdbf26..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AlertMapperProvider.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import cn.escheduler.common.enums.AlertStatus; -import cn.escheduler.common.enums.AlertType; -import cn.escheduler.common.enums.ShowType; -import cn.escheduler.common.utils.EnumFieldUtil; -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -public class AlertMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_alert"; - - /** - * 插入告警信息 - * - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() { - { - INSERT_INTO(TABLE_NAME); - VALUES("`title`", "#{alert.title}"); - VALUES("`show_type`", EnumFieldUtil.genFieldStr("alert.showType", ShowType.class)); - VALUES("`content`", "#{alert.content}"); - VALUES("`alert_type`", EnumFieldUtil.genFieldStr("alert.alertType", AlertType.class)); - VALUES("`alertgroup_id`", "#{alert.alertGroupId}"); - VALUES("`receivers`", "#{alert.receivers}"); - VALUES("`receivers_cc`", "#{alert.receiversCc}"); - VALUES("`create_time`", "#{alert.createTime}"); - VALUES("`update_time`", "#{alert.updateTime}"); - } - }.toString(); - } - - /** - * 根据告警状态查询 - * @param parameter - * @return - */ - public String queryAlertByStatus(Map parameter) { - return new SQL() { - { - SELECT("*"); - - FROM(TABLE_NAME); - - WHERE("`alert_status` = "+EnumFieldUtil.genFieldStr("alertStatus", AlertStatus.class)); - } - }.toString(); - } - - /** - * delete by id - * @param parameter - * @return - */ - public String deleteById(Map parameter){ - - return new SQL() { - { - DELETE_FROM(TABLE_NAME); - WHERE("`id`=#{alertId}"); - - }}.toString(); - } - - /** - * 更新消息信息 - * - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() { - { - UPDATE(TABLE_NAME); - SET("`alert_status`="+EnumFieldUtil.genFieldStr("alertStatus", AlertType.class)); - SET("`log`=#{log}"); - SET("`update_time`=#{updateTime}"); - - WHERE("`id` = #{id}"); - } - }.toString(); - } - - /** - * list alert information by field alertStatus - * @param parameter - * @return - */ - public String listAlertByStatus(Map parameter) { - return new SQL() { - { - SELECT("*"); - - FROM(TABLE_NAME); - - WHERE("`alert_status` = "+EnumFieldUtil.genFieldStr("alertStatus", AlertStatus.class)); - } - }.toString(); - } -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/CommandMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/CommandMapper.java index c7e22bb02d..ebf45bdd04 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/CommandMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/CommandMapper.java @@ -16,109 +16,32 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.common.enums.*; -import cn.escheduler.dao.model.Command; -import cn.escheduler.dao.model.ExecuteStatusCount; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.EnumOrdinalTypeHandler; -import org.apache.ibatis.type.JdbcType; +import cn.escheduler.dao.entity.Command; +import cn.escheduler.dao.entity.CommandCount; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; -import java.sql.Timestamp; import java.util.Date; import java.util.List; -import java.util.Map; -/** - * command mapper - */ -public interface CommandMapper { - - /** - * inert command - * @param command - * @return - */ - @InsertProvider(type = CommandMapperProvider.class, method = "insert") - @Options(useGeneratedKeys = true,keyProperty = "command.id") - @SelectKey(statement = "SELECT LAST_INSERT_ID()", keyProperty = "command.id", before = false, resultType = int.class) - int insert(@Param("command") Command command); - - - /** - * delete command - * @param cmdId - * @return - */ - @DeleteProvider(type = CommandMapperProvider.class, method = "delete") - int delete(@Param("cmdId") int cmdId); - - - /** - * update command - * - * @param command - * @return - */ - @UpdateProvider(type = CommandMapperProvider.class, method = "update") - int update(@Param("command") Command command); +public interface CommandMapper extends BaseMapper { - /** - * query a command that can run normally - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "commandType", column = "command_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = CommandType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "processDefinitionId", column = "process_definition_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "executorId", column = "executor_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "commandParam", column = "command_param", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskDependType", column = "task_depend_type", javaType = TaskDependType.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "failureStrategy", column = "failure_strategy", javaType = FailureStrategy.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningType", column = "warning_type", javaType = WarningType.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningGroupId", column = "warning_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "scheduleTime", column = "schedule_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "startTime", column = "start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstancePriority", column = "process_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - }) - @SelectProvider(type = CommandMapperProvider.class, method = "queryOneCommand") - Command queryOneCommand(); + @Select("select * from t_escheduler_command ${ew.customSqlSegment}") + List getAll(@Param(Constants.WRAPPER) Wrapper wrapper); - /** - * query all commands - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "commandType", column = "command_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = CommandType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "processDefinitionId", column = "process_definition_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "executorId", column = "executor_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "commandParam", column = "command_param", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskDependType", column = "task_depend_type", javaType = TaskDependType.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "failureStrategy", column = "failure_strategy", javaType = FailureStrategy.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningType", column = "warning_type", javaType = WarningType.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningGroupId", column = "warning_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "scheduleTime", column = "schedule_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "startTime", column = "start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstancePriority", column = "process_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - }) - @SelectProvider(type = CommandMapperProvider.class, method = "queryAllCommand") - List queryAllCommand(); + Command getOneToRun(); - - - @Results(value = { - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "count", column = "count", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - }) - @SelectProvider(type = CommandMapperProvider.class, method = "countCommandState") - List countCommandState( + List countCommandState( @Param("userId") int userId, - @Param("userType") UserType userType, @Param("startTime") Date startTime, @Param("endTime") Date endTime, - @Param("projectId") int projectId); + @Param("projectIdArray") Integer[] projectIdArray); + + + } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/CommandMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/CommandMapperProvider.java deleted file mode 100644 index 712afe0bf1..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/CommandMapperProvider.java +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import cn.escheduler.common.enums.*; -import cn.escheduler.common.utils.EnumFieldUtil; -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - - -/** - * command mapper provider - */ -public class CommandMapperProvider { - private static final String TABLE_NAME = "t_escheduler_command"; - private static final String DEFINE_TABLE_NAME = "t_escheduler_process_definition"; - - /** - * inert command - * - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() { - { - INSERT_INTO(TABLE_NAME); - VALUES("`command_type`", EnumFieldUtil.genFieldStr("command.commandType", CommandType.class)); - VALUES("`process_definition_id`", "#{command.processDefinitionId}"); - VALUES("`executor_id`", "#{command.executorId}"); - VALUES("`command_param`", "#{command.commandParam}"); - VALUES("`task_depend_type`", EnumFieldUtil.genFieldStr("command.taskDependType", TaskDependType.class)); - VALUES("`failure_strategy`", EnumFieldUtil.genFieldStr("command.failureStrategy", FailureStrategy.class)); - VALUES("`warning_type`", EnumFieldUtil.genFieldStr("command.warningType", WarningType.class)); - VALUES("`process_instance_priority`", EnumFieldUtil.genFieldStr("command.processInstancePriority", Priority.class)); - VALUES("`warning_group_id`", "#{command.warningGroupId}"); - VALUES("`schedule_time`", "#{command.scheduleTime}"); - VALUES("`update_time`", "#{command.updateTime}"); - VALUES("`worker_group_id`", "#{command.workerGroupId}"); - VALUES("`start_time`", "#{command.startTime}"); - - } - }.toString(); - } - - /** - * delete command - * - * @param parameter - * @return - */ - public String delete(Map parameter) { - return new SQL() { - { - DELETE_FROM(TABLE_NAME); - - WHERE("`id`=#{cmdId}"); - } - }.toString(); - } - - /** - * update command - * - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() { - { - UPDATE(TABLE_NAME); - - SET("`command_type`=" + EnumFieldUtil.genFieldStr("command.commandType", CommandType.class)); - SET("`process_definition_id`=#{command.processDefinitionId}"); - SET("`executor_id`=#{command.executorId}"); - SET("`command_param`=#{command.commandParam}"); - SET("`task_depend_type`="+ EnumFieldUtil.genFieldStr("command.taskDependType", TaskDependType.class)); - SET("`failure_strategy`="+ EnumFieldUtil.genFieldStr("command.failureStrategy", FailureStrategy.class)); - SET("`warning_type`="+ EnumFieldUtil.genFieldStr("command.warningType", WarningType.class)); - SET("`process_instance_priority`="+ EnumFieldUtil.genFieldStr("command.processInstancePriority", Priority.class)); - SET("`warning_group_id`=#{command.warningGroupId}"); - SET("`schedule_time`=#{command.scheduleTime}"); - SET("`update_time`=#{command.updateTime}"); - SET("`worker_group_id`=#{command.workerGroupId}"); - SET("`start_time`=#{command.startTime}"); - - WHERE("`id`=#{command.id}"); - } - }.toString(); - } - - /** - * query a command that can run normally - * command must be release on line, usable. - * @param parameter - * @return - */ - public String queryOneCommand(Map parameter) { - return new SQL() { - { - SELECT("cmd.*,process_define.id as process_definition_id"); - - FROM(TABLE_NAME + " cmd"); - - JOIN( DEFINE_TABLE_NAME + " process_define ON cmd.process_definition_id = process_define.id"); - WHERE("process_define.release_state =1 AND process_define.flag = 1"); - ORDER_BY("update_time asc"); - - - } - }.toString() + " limit 1"; - } - - /** - * query all commands - * @param parameter - * @return - */ - public String queryAllCommand(Map parameter) { - return new SQL() { - { - SELECT("cmd.*"); - - FROM(TABLE_NAME + " cmd"); - } - }.toString(); - } - - /** - * - * count command type - * @param parameter - * @return - */ - public String countCommandState(Map parameter){ - return new SQL(){ - { - SELECT ("command_type as state,COUNT(*) AS count"); - FROM(TABLE_NAME + " cmd,t_escheduler_process_definition process"); - WHERE("cmd.process_definition_id = process.id"); - if(parameter.get("projectId") != null && (int)parameter.get("projectId") != 0){ - WHERE( "process.project_id = #{projectId} "); - }else{ - if(parameter.get("userType") != null && String.valueOf(parameter.get("userType")) == "GENERAL_USER") { - AND(); - WHERE("process.project_id in (select id as project_id from t_escheduler_project tp where tp.user_id= #{userId} " + - "union select project_id from t_escheduler_relation_project_user tr where tr.user_id= #{userId} )"); - - } - } - WHERE("cmd.start_time >= #{startTime} and cmd.update_time <= #{endTime}"); - GROUP_BY("cmd.command_type"); - } - }.toString(); - } -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/DataSourceMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/DataSourceMapper.java index 66a7b61bbc..fc88c1edc8 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/DataSourceMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/DataSourceMapper.java @@ -16,217 +16,29 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.common.enums.DbType; -import cn.escheduler.dao.model.DataSource; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.EnumOrdinalTypeHandler; -import org.apache.ibatis.type.JdbcType; +import cn.escheduler.dao.entity.DataSource; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; -import java.sql.Timestamp; import java.util.List; -/** - * data source mapper - */ -public interface DataSourceMapper { - /** - * insert data source - * - * @param dataSource - * @return - */ - @InsertProvider(type = DataSourceMapperProvider.class, method = "insert") - @SelectKey(statement = "SELECT LAST_INSERT_ID() as id", resultType = Integer.class, keyProperty = "dataSource.id", before = false) - int insert(@Param("dataSource") DataSource dataSource); - - /** - * update data source - * - * @param dataSource - * @return - */ - @UpdateProvider(type = DataSourceMapperProvider.class, method = "update") - int update(@Param("dataSource") DataSource dataSource); - - /** - * delete data source by id - * - * @param id - * @return - */ - @DeleteProvider(type = DataSourceMapperProvider.class, method = "deleteDataSourceById") - int deleteDataSourceById(@Param("id") int id); - - /** - * query data source list by type - * @param userId - * @param type - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "note", column = "note", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = DbType.class, jdbcType = JdbcType.INTEGER), - @Result(property = "connectionParams", column = "connection_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = DataSourceMapperProvider.class, method = "queryDataSourceByType") - List queryDataSourceByType(@Param("userId") int userId, @Param("type") Integer type); +public interface DataSourceMapper extends BaseMapper { - /** - * query data source by id - * - * @param id - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "note", column = "note", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = DbType.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "projectId", column = "project_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "projectName", column = "project_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "connectionParams", column = "connection_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = DataSourceMapperProvider.class, method = "queryById") - DataSource queryById(@Param("id") Integer id); + List queryDataSourceByType(@Param("userId") int userId, @Param("type") Integer type); - /** - * count data source by user id - * - * @param userId - * @return - */ - @SelectProvider(type = DataSourceMapperProvider.class, method = "countUserDatasource") - int countUserDatasource(@Param("userId") int userId); + IPage selectPaging(IPage page, + @Param("userId") int userId, + @Param("name") String name); - /** - * count data source number - * - * @return - */ - @SelectProvider(type = DataSourceMapperProvider.class, method = "countAllDatasource") - int countAllDatasource(); + List queryDataSourceByName(@Param("name") String name); - /** - * query data source list paging - * - * @param userId - * @param searchVal - * @param offset - * @param pageSize - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "note", column = "note", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = DbType.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "connectionParams", column = "connection_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = DataSourceMapperProvider.class, method = "queryDataSourcePaging") - List queryDataSourcePaging(@Param("userId") int userId, @Param("searchVal") String searchVal, - @Param("offset") int offset, - @Param("pageSize") int pageSize); - /** - * query data source list paging - * - * @param searchVal - * @param offset - * @param pageSize - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "note", column = "note", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = DbType.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "connectionParams", column = "connection_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = DataSourceMapperProvider.class, method = "queryAllDataSourcePaging") - List queryAllDataSourcePaging(@Param("searchVal") String searchVal, - @Param("offset") int offset, - @Param("pageSize") int pageSize); + List queryAuthedDatasource(@Param("userId") int userId); - /** - * query data source by name - * @param name - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "note", column = "note", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = DbType.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "connectionParams", column = "connection_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = DataSourceMapperProvider.class, method = "queryDataSourceByName") - List queryDataSourceByName(@Param("name") String name); - - /** - * authed data source to user - * @param userId - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "note", column = "note", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = DbType.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "connectionParams", column = "connection_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = DataSourceMapperProvider.class, method = "authedDatasource") - List authedDatasource(@Param("userId") int userId); - - - /** - * query data source except user - * @param userId - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "note", column = "note", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = DbType.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "connectionParams", column = "connection_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = DataSourceMapperProvider.class, method = "queryDatasourceExceptUserId") List queryDatasourceExceptUserId(@Param("userId") int userId); - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "note", column = "note", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = DbType.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "connectionParams", column = "connection_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = DataSourceMapperProvider.class, method = "listAllDataSourceByType") List listAllDataSourceByType(@Param("type") Integer type); + } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/DataSourceMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/DataSourceMapperProvider.java deleted file mode 100644 index 7613e555c1..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/DataSourceMapperProvider.java +++ /dev/null @@ -1,246 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import cn.escheduler.common.enums.DbType; -import cn.escheduler.common.utils.EnumFieldUtil; -import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.jdbc.SQL; - -import java.text.MessageFormat; -import java.util.Map; - -/** - * data source mapper provider - */ -public class DataSourceMapperProvider { - - public static final String TABLE_NAME = "t_escheduler_datasource"; - public static final String USER_TABLE_NAME = "t_escheduler_user"; - public static final String PROJECT_TABLE_NAME = "t_escheduler_project"; - public static final String USER_DATASOURCE_RELATION_TABLE_NAME = "t_escheduler_relation_datasource_user"; - - /** - * insert data source - * - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() {{ - INSERT_INTO(TABLE_NAME); - - VALUES("`name`", "#{dataSource.name}"); - VALUES("`note`", "#{dataSource.note}"); - VALUES("`type`", EnumFieldUtil.genFieldStr("dataSource.type", DbType.class)); - VALUES("`user_id`", "#{dataSource.userId}"); - VALUES("`connection_params`", "#{dataSource.connectionParams}"); - VALUES("`create_time`", "#{dataSource.createTime}"); - VALUES("`update_time`", "#{dataSource.updateTime}"); - }}.toString(); - } - - /** - * - * update data source - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() {{ - UPDATE(TABLE_NAME); - - SET("`name` = #{dataSource.name}"); - SET("`note` = #{dataSource.note}"); - SET("`user_id` = #{dataSource.userId}"); - SET("`type` = "+ EnumFieldUtil.genFieldStr("dataSource.type", DbType.class)); - SET("`connection_params` = #{dataSource.connectionParams}"); - SET("`update_time` = #{dataSource.updateTime}"); - - WHERE("`id` = #{dataSource.id}"); - }}.toString(); - } - - /** - * delete datasource by id - * @param parameter - * @return - */ - public String deleteDataSourceById(Map parameter) { - return new SQL() {{ - DELETE_FROM(TABLE_NAME); - - WHERE("`id` = #{id}"); - }}.toString(); - } - - - /** - * query datasource list by type - * @param parameter - * @return - */ - public String queryDataSourceByType(Map parameter) { - return new SQL() {{ - SELECT("*"); - FROM(TABLE_NAME ); - WHERE("type = #{type}"); - WHERE("id in (select datasource_id from "+USER_DATASOURCE_RELATION_TABLE_NAME+" where user_id=#{userId} union select id as datasource_id from "+TABLE_NAME+" where user_id=#{userId})"); - }}.toString(); - } - - /** - * query data source by id - * - * @param parameter - * @return - */ - public String queryById(Map parameter) { - return new SQL() {{ - SELECT("r.*,u.user_name"); - - FROM(TABLE_NAME + " r"); - - JOIN(new MessageFormat("{0} as u on u.id = r.user_id").format(new Object[]{USER_TABLE_NAME})); - - WHERE("r.id = #{id}"); - }}.toString(); - } - - /** - * query data source paging - * @param parameter - * @return - */ - public String queryDataSourcePaging(Map parameter) { - return new SQL() {{ - SELECT("*"); - FROM(TABLE_NAME ); - WHERE("id in (select datasource_id from "+USER_DATASOURCE_RELATION_TABLE_NAME+" where user_id=#{userId} union select id as datasource_id from "+TABLE_NAME+" where user_id=#{userId})"); - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " name like concat('%', #{searchVal}, '%') "); - } - ORDER_BY("update_time desc limit #{offset},#{pageSize} "); - - }}.toString(); - } - - /** - * - * query data source list paging - * @param parameter - * @return - */ - public String queryAllDataSourcePaging(Map parameter) { - return new SQL() {{ - SELECT("*"); - FROM(TABLE_NAME ); - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " name like concat('%', #{searchVal}, '%') "); - } - ORDER_BY("update_time desc limit #{offset},#{pageSize} "); - - }}.toString(); - } - - /** - * count data source by user id - * - * @param parameter - * @return - */ - public String countUserDatasource(Map parameter) { - return new SQL() {{ - SELECT("count(0)"); - - FROM(TABLE_NAME); - WHERE("id in (select datasource_id from "+USER_DATASOURCE_RELATION_TABLE_NAME+" where user_id=#{userId} union select id as datasource_id from "+TABLE_NAME+" where user_id=#{userId})"); - }}.toString(); - } - - /** - * Query the total number of data sources - * @param parameter - * @return - */ - public String countAllDatasource(Map parameter) { - return new SQL() {{ - SELECT("count(0)"); - FROM(TABLE_NAME); - }}.toString(); - } - - /** - * query data source by name - * @param parameter - * @return - */ - public String queryDataSourceByName(Map parameter) { - return new SQL() {{ - SELECT("*"); - FROM(TABLE_NAME ); - WHERE("name = #{name}"); - }}.toString(); - } - - /** - * authed data source to user - * - * @param parameter - * @return - */ - public String authedDatasource(Map parameter) { - return new SQL() {{ - SELECT("d.*"); - FROM(TABLE_NAME + " d,t_escheduler_relation_datasource_user rel"); - WHERE(" d.id = rel.datasource_id AND rel.user_id = #{userId}"); - }}.toString(); - } - - - /** - * query data source except user - * - * @param parameter - * @return - */ - public String queryDatasourceExceptUserId(Map parameter) { - return new SQL() {{ - SELECT("*"); - FROM(TABLE_NAME); - WHERE("user_id <> #{userId}"); - }}.toString(); - } - - - /** - * list all data source by type - * - * @param parameter - * @return - */ - public String listAllDataSourceByType(Map parameter) { - return new SQL() {{ - SELECT("*"); - FROM(TABLE_NAME); - WHERE("type = #{type}"); - }}.toString(); - } - -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/DatasourceUserMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/DatasourceUserMapper.java index 6d12ce6d97..61a57936ce 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/DatasourceUserMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/DatasourceUserMapper.java @@ -16,40 +16,16 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.dao.model.DatasourceUser; -import org.apache.ibatis.annotations.DeleteProvider; -import org.apache.ibatis.annotations.InsertProvider; +import cn.escheduler.dao.entity.DatasourceUser; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; -/** - * data source user relation mapper - */ -public interface DatasourceUserMapper { - /** - * insert data source user relation - * - * @param datasourceUser - * @return - */ - @InsertProvider(type = DatasourceUserMapperProvider.class, method = "insert") - int insert(@Param("datasourceUser") DatasourceUser datasourceUser); +public interface DataSourceUserMapper extends BaseMapper { - /** - * delete data source user relation by user id - * - * @param userId - * @return - */ - @DeleteProvider(type = DatasourceUserMapperProvider.class, method = "deleteByUserId") int deleteByUserId(@Param("userId") int userId); - /** - * delete by data source id - * @param datasourceId - * @return - */ - @DeleteProvider(type = DatasourceUserMapperProvider.class, method = "deleteByDatasourceId") int deleteByDatasourceId(@Param("datasourceId") int datasourceId); + } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/DatasourceUserMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/DatasourceUserMapperProvider.java deleted file mode 100644 index 7010e26303..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/DatasourceUserMapperProvider.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -public class DatasourceUserMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_relation_datasource_user"; - - /** - * - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() {{ - INSERT_INTO(TABLE_NAME); - - VALUES("`datasource_id`", "#{datasourceUser.datasourceId}"); - VALUES("`user_id`", "#{datasourceUser.userId}"); - VALUES("`perm`", "#{datasourceUser.perm}"); - VALUES("`create_time`", "#{datasourceUser.createTime}"); - VALUES("`update_time`", "#{datasourceUser.updateTime}"); - }}.toString(); - } - - - /** - * - * @param parameter - * @return - */ - public String deleteByUserId(Map parameter) { - return new SQL() {{ - DELETE_FROM(TABLE_NAME); - - WHERE("`user_id` = #{userId}"); - }}.toString(); - } - - /** - * @param parameter - * @return - */ - public String deleteByDatasourceId(Map parameter) { - return new SQL() {{ - DELETE_FROM(TABLE_NAME); - - WHERE("`datasource_id` = #{datasourceId}"); - }}.toString(); - } -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ErrorCommandMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ErrorCommandMapper.java index c7574c926e..c3675726b1 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ErrorCommandMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ErrorCommandMapper.java @@ -16,44 +16,19 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.common.enums.*; -import cn.escheduler.dao.model.Command; -import cn.escheduler.dao.model.ErrorCommand; -import cn.escheduler.dao.model.ExecuteStatusCount; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.EnumOrdinalTypeHandler; -import org.apache.ibatis.type.JdbcType; +import cn.escheduler.common.enums.UserType; +import cn.escheduler.dao.entity.CommandCount; +import cn.escheduler.dao.entity.ErrorCommand; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; -import java.sql.Timestamp; import java.util.Date; import java.util.List; -/** - * command mapper - */ -public interface ErrorCommandMapper { - - /** - * inert error command - * @param errorCommand - * @return - */ - @InsertProvider(type = ErrorCommandMapperProvider.class, method = "insert") - @Options(useGeneratedKeys = true,keyProperty = "errorCommand.id") - @SelectKey(statement = "SELECT LAST_INSERT_ID()", keyProperty = "errorCommand.id", before = false, resultType = int.class) - int insert(@Param("errorCommand") ErrorCommand errorCommand); +public interface ErrorCommandMapper extends BaseMapper { - @Results(value = { - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "count", column = "count", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - }) - @SelectProvider(type = ErrorCommandMapperProvider.class, method = "countCommandState") - List countCommandState( - @Param("userId") int userId, - @Param("userType") UserType userType, + List countCommandState( @Param("startTime") Date startTime, @Param("endTime") Date endTime, - @Param("projectId") int projectId); - - + @Param("projectIdArray") Integer[] projectIdArray); } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ErrorCommandMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ErrorCommandMapperProvider.java deleted file mode 100644 index 9ea05229ef..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ErrorCommandMapperProvider.java +++ /dev/null @@ -1,71 +0,0 @@ -package cn.escheduler.dao.mapper; - -import cn.escheduler.common.enums.*; -import cn.escheduler.common.utils.EnumFieldUtil; -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -public class ErrorCommandMapperProvider { - - - private static final String TABLE_NAME = "t_escheduler_error_command"; - - - /** - * inert command - * - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() { - { - INSERT_INTO(TABLE_NAME); - VALUES("`id`", "#{errorCommand.id}"); - VALUES("`command_type`", EnumFieldUtil.genFieldStr("errorCommand.commandType", CommandType.class)); - VALUES("`process_definition_id`", "#{errorCommand.processDefinitionId}"); - VALUES("`executor_id`", "#{errorCommand.executorId}"); - VALUES("`command_param`", "#{errorCommand.commandParam}"); - VALUES("`task_depend_type`", EnumFieldUtil.genFieldStr("errorCommand.taskDependType", TaskDependType.class)); - VALUES("`failure_strategy`", EnumFieldUtil.genFieldStr("errorCommand.failureStrategy", FailureStrategy.class)); - VALUES("`warning_type`", EnumFieldUtil.genFieldStr("errorCommand.warningType", WarningType.class)); - VALUES("`process_instance_priority`", EnumFieldUtil.genFieldStr("errorCommand.processInstancePriority", Priority.class)); - VALUES("`warning_group_id`", "#{errorCommand.warningGroupId}"); - VALUES("`schedule_time`", "#{errorCommand.scheduleTime}"); - VALUES("`update_time`", "#{errorCommand.updateTime}"); - VALUES("`start_time`", "#{errorCommand.startTime}"); - VALUES("`worker_group_id`", "#{errorCommand.workerGroupId}"); - VALUES("`message`", "#{errorCommand.message}"); - } - }.toString(); - } - - /** - * - * count command type - * @param parameter - * @return - */ - public String countCommandState(Map parameter){ - return new SQL(){ - { - SELECT("command_type as state,COUNT(*) AS count"); - FROM(TABLE_NAME + " cmd,t_escheduler_process_definition process"); - WHERE("cmd.process_definition_id = process.id"); - if(parameter.get("projectId") != null && (int)parameter.get("projectId") != 0){ - WHERE( "process.project_id = #{projectId} "); - }else{ - if(parameter.get("userType") != null && String.valueOf(parameter.get("userType")) == "GENERAL_USER") { - AND(); - WHERE("process.project_id in (select id as project_id from t_escheduler_project tp where tp.user_id= #{userId} " + - "union select project_id from t_escheduler_relation_project_user tr where tr.user_id= #{userId} )"); - - } - } - WHERE("cmd.start_time >= #{startTime} and cmd.update_time <= #{endTime}"); - GROUP_BY("cmd.command_type"); - } - }.toString(); - } -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/MasterServerMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/MasterServerMapper.java deleted file mode 100644 index 8fbfb5298e..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/MasterServerMapper.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import cn.escheduler.common.model.MasterServer; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.JdbcType; - -import java.util.Date; -import java.util.List; - -public interface MasterServerMapper { - - /** - * query all masters - * - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "host", column = "host", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "port", column = "port", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "zkDirectory", column = "zk_directory", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "resInfo", column = "res_info", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "lastHeartbeatTime", column = "last_heartbeat_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP) - }) - @SelectProvider(type = MasterServerMapperProvider.class, method = "queryAllMaster") - List queryAllMaster(); - - /** - * insert one master - * - * @param masterServer - * @return - */ - @InsertProvider(type = MasterServerMapperProvider.class, method = "insert") - @SelectKey(statement = "SELECT LAST_INSERT_ID() as id", resultType = Integer.class, keyProperty = "masterServer.id", before = false) - int insert(@Param("masterServer") MasterServer masterServer); - - /** - * update master - * - * @param masterServer - * @return - */ - @UpdateProvider(type = MasterServerMapperProvider.class, method = "update") - int update(@Param("masterServer") MasterServer masterServer); - - /** - * delete master - */ - @DeleteProvider(type = MasterServerMapperProvider.class, method = "delete") - void delete(); - - /** - * delete master by host - * - * @param host - */ - @DeleteProvider(type = MasterServerMapperProvider.class, method = "deleteWorkerByHost") - int deleteWorkerByHost(@Param("host") String host); - - - - -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/MasterServerMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/MasterServerMapperProvider.java deleted file mode 100644 index 768f1a3250..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/MasterServerMapperProvider.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - - -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -public class MasterServerMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_master_server"; - - /** - * - * @return - */ - public String queryAllMaster() { - return new SQL() {{ - SELECT("*"); - - FROM(TABLE_NAME); - }}.toString(); - } - - /** - * - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() {{ - INSERT_INTO(TABLE_NAME); - - VALUES("host", "#{masterServer.host}"); - VALUES("port", "#{masterServer.port}"); - VALUES("zk_directory", "#{masterServer.zkDirectory}"); - VALUES("res_info", "#{masterServer.resInfo}"); - VALUES("create_time", "#{masterServer.createTime}"); - VALUES("last_heartbeat_time", "#{masterServer.lastHeartbeatTime}"); - }}.toString(); - } - - /** - * - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() {{ - UPDATE(TABLE_NAME); - - SET("last_heartbeat_time = #{masterServer.lastHeartbeatTime}"); - SET("port = #{masterServer.port}"); - SET("res_info = #{masterServer.resInfo}"); - - WHERE("host = #{masterServer.host}"); - }}.toString(); - } - - /** - * - * @return - */ - public String delete() { - return new SQL() {{ - DELETE_FROM(TABLE_NAME); - }}.toString(); - } - - /** - * - * @param parameter - * @return - */ - public String deleteWorkerByHost(Map parameter) { - return new SQL() {{ - DELETE_FROM(TABLE_NAME); - - WHERE("host = #{host}"); - }}.toString(); - } - - -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/MonitorMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/MonitorMapper.java deleted file mode 100644 index 14bda6647a..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/MonitorMapper.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import cn.escheduler.dao.model.Queue; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.JdbcType; - -import java.util.List; - -/** - * queue mapper - */ -public interface MonitorMapper { - - /** - * insert queue - * @param queue - * @return - */ - @InsertProvider(type = QueueMapperProvider.class, method = "insert") - @Options(useGeneratedKeys = true,keyProperty = "queue.id") - @SelectKey(statement = "SELECT LAST_INSERT_ID()", keyProperty = "queue.id", before = false, resultType = int.class) - int insert(@Param("queue") Queue queue); - - - /** - * delete queue - * @param queueId - * @return - */ - @DeleteProvider(type = QueueMapperProvider.class, method = "delete") - int delete(@Param("queueId") int queueId); - - - /** - * update queue - * - * @param queue - * @return - */ - @UpdateProvider(type = QueueMapperProvider.class, method = "update") - int update(@Param("queue") Queue queue); - - - /** - * query queue by id - * @param queueId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "queueName", column = "queue_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "queue", column = "queue", javaType = String.class, jdbcType = JdbcType.VARCHAR) - }) - @SelectProvider(type = QueueMapperProvider.class, method = "queryById") - Queue queryById(@Param("queueId") int queueId); - - - /** - * query all queue list - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "queueName", column = "queue_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "queue", column = "queue", javaType = String.class, jdbcType = JdbcType.VARCHAR) - }) - @SelectProvider(type = QueueMapperProvider.class, method = "queryAllQueue") - List queryAllQueue(); - - - - - -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessDefinitionMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessDefinitionMapper.java index 8fb6d7bd3a..be9b04e443 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessDefinitionMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessDefinitionMapper.java @@ -19,262 +19,32 @@ package cn.escheduler.dao.mapper; import cn.escheduler.common.enums.Flag; import cn.escheduler.common.enums.ReleaseState; import cn.escheduler.common.enums.UserType; -import cn.escheduler.dao.model.DefinitionGroupByUser; -import cn.escheduler.dao.model.ProcessDefinition; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.EnumOrdinalTypeHandler; -import org.apache.ibatis.type.JdbcType; +import cn.escheduler.dao.entity.DefinitionGroupByUser; +import cn.escheduler.dao.entity.ProcessDefinition; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; -import java.sql.Timestamp; import java.util.List; -/** - * process definition mapper - */ -public interface ProcessDefinitionMapper { - - /** - * insert process define - * @param processDefinition - * @return - */ - @InsertProvider(type = ProcessDefinitionMapperProvider.class, method = "insert") - @Options(useGeneratedKeys = true,keyProperty = "processDefinition.id") - @SelectKey(statement = "SELECT LAST_INSERT_ID()", keyProperty = "processDefinition.id", before = false, resultType = int.class) - int insert(@Param("processDefinition") ProcessDefinition processDefinition); - - - /** - * delete process define - * @param processDefinitionId - * @return - */ - @DeleteProvider(type = ProcessDefinitionMapperProvider.class, method = "delete") - int delete(@Param("processDefinitionId") int processDefinitionId); - - - /** - * update process define - * - * @param processDefinition - * @return - */ - @UpdateProvider(type = ProcessDefinitionMapperProvider.class, method = "update") - int update(@Param("processDefinition") ProcessDefinition processDefinition); +public interface ProcessDefinitionMapper extends BaseMapper { - /** - * update release state - * @param processDefinitionId - * @param releaseState - * @return - */ - @UpdateProvider(type = ProcessDefinitionMapperProvider.class, method = "updateProcessDefinitionReleaseState") - int updateProcessDefinitionReleaseState(@Param("processDefinitionId") int processDefinitionId, - @Param("releaseState") ReleaseState releaseState); - - /** - * query definition by id - * @param processDefinitionId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "version", column = "version", javaType = Integer.class, jdbcType = JdbcType.TINYINT), - @Result(property = "releaseState", column = "release_state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ReleaseState.class, jdbcType = JdbcType.TINYINT), - @Result(property = "projectId", column = "project_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processDefinitionJson", column = "process_definition_json", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "globalParams", column = "global_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "flag", column = "flag", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "locations", column = "locations", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "connects", column = "connects", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "projectName", column = "project_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "timeout", column = "timeout", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "receivers", column = "receivers", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "receiversCc", column = "receivers_cc", javaType = String.class, jdbcType = JdbcType.VARCHAR) - - }) - @SelectProvider(type = ProcessDefinitionMapperProvider.class, method = "queryByDefineId") - ProcessDefinition queryByDefineId(@Param("processDefinitionId") int processDefinitionId); - - /** - * query process definition by project id and name - * @param projectId - * @param name - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "version", column = "version", javaType = Integer.class, jdbcType = JdbcType.TINYINT), - @Result(property = "releaseState", column = "release_state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ReleaseState.class, jdbcType = JdbcType.TINYINT), - @Result(property = "projectId", column = "project_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processDefinitionJson", column = "process_definition_json", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "flag", column = "flag", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "locations", column = "locations", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "connects", column = "connects", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "timeout", column = "timeout", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "projectName", column = "project_name", javaType = String.class, jdbcType = JdbcType.VARCHAR) - }) - @SelectProvider(type = ProcessDefinitionMapperProvider.class, method = "queryByDefineName") ProcessDefinition queryByDefineName(@Param("projectId") int projectId, @Param("processDefinitionName") String name); + IPage queryDefineListPaging(IPage page, + @Param("searchVal") String searchVal, + @Param("userId") int userId, + @Param("projectId") int projectId); - /** - * count definition number - * @param projectId - * @param userId - * @param searchVal - * @return - */ - @SelectProvider(type = ProcessDefinitionMapperProvider.class, method = "countDefineNumber") - Integer countDefineNumber(@Param("projectId") int projectId, - @Param("userId") int userId, - @Param("searchVal") String searchVal - ); - - /** - * query all definition list - * @param projectId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "version", column = "version", javaType = Integer.class, jdbcType = JdbcType.TINYINT), - @Result(property = "releaseState", column = "release_state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ReleaseState.class, jdbcType = JdbcType.TINYINT), - @Result(property = "projectId", column = "project_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "flag", column = "flag", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "timeout", column = "timeout", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "projectName", column = "project_name", javaType = String.class, jdbcType = JdbcType.VARCHAR) - }) - @SelectProvider(type = ProcessDefinitionMapperProvider.class, method = "queryAllDefinitionList") List queryAllDefinitionList(@Param("projectId") int projectId); - /** - * query definition list paging - * @param projectId - * @param searchVal - * @param userId - * @param offset - * @param pageSize - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "version", column = "version", javaType = Integer.class, jdbcType = JdbcType.TINYINT), - @Result(property = "releaseState", column = "release_state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ReleaseState.class, jdbcType = JdbcType.TINYINT), - @Result(property = "projectId", column = "project_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "flag", column = "flag", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "scheduleReleaseState", column = "schedule_release_state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ReleaseState.class, jdbcType = JdbcType.TINYINT), - @Result(property = "timeout", column = "timeout", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "projectName", column = "project_name", javaType = String.class, jdbcType = JdbcType.VARCHAR) - }) - @SelectProvider(type = ProcessDefinitionMapperProvider.class, method = "queryDefineListPaging") - List queryDefineListPaging(@Param("projectId") int projectId, - @Param("searchVal") String searchVal, - @Param("userId") Integer userId, - @Param("offset") int offset, - @Param("pageSize") int pageSize); - - /** - * query definition list by define id list - * @param ids - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "version", column = "version", javaType = Integer.class, jdbcType = JdbcType.TINYINT), - @Result(property = "releaseState", column = "release_state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ReleaseState.class, jdbcType = JdbcType.TINYINT), - @Result(property = "projectId", column = "project_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processDefinitionJson", column = "process_definition_json", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "flag", column = "flag", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "locations", column = "locations", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "connects", column = "connects", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "timeout", column = "timeout", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "projectName", column = "project_name", javaType = String.class, jdbcType = JdbcType.VARCHAR) - }) - @SelectProvider(type = ProcessDefinitionMapperProvider.class, method = "queryDefinitionListByIdList") - List queryDefinitionListByIdList(@Param("ids") List ids); + List queryDefinitionListByIdList(@Param("ids") Integer[] ids); - /** - * count definition number group by users - * @param userId - * @param userType - * @param projectId - * @return - */ - @Results(value = { - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "count", column = "count", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - }) - @SelectProvider(type = ProcessDefinitionMapperProvider.class, method = "countDefinitionGroupByUser") List countDefinitionGroupByUser( @Param("userId") Integer userId, @Param("userType") UserType userType, - @Param("projectId") Integer projectId); - - /** - * update receivers and cc by definition id - * @param receivers - * @param receiversCc - * @param processDefinitionId - * @return - */ - @UpdateProvider(type = ProcessDefinitionMapperProvider.class, method = "updateReceiversAndCcById") - int updateReceiversAndCcById(@Param("receivers") String receivers, - @Param("receiversCc") String receiversCc, - @Param("processDefinitionId") int processDefinitionId); + @Param("projectIds") String projectIds); - /** - * query all - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "version", column = "version", javaType = Integer.class, jdbcType = JdbcType.TINYINT), - @Result(property = "releaseState", column = "release_state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ReleaseState.class, jdbcType = JdbcType.TINYINT), - @Result(property = "projectId", column = "project_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "flag", column = "flag", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "timeout", column = "timeout", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "projectName", column = "project_name", javaType = String.class, jdbcType = JdbcType.VARCHAR) - }) - @SelectProvider(type = ProcessDefinitionMapperProvider.class, method = "queryAll") - List queryAll(); } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessDefinitionMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessDefinitionMapperProvider.java deleted file mode 100644 index 620a0ec8d2..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessDefinitionMapperProvider.java +++ /dev/null @@ -1,315 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import cn.escheduler.common.enums.Flag; -import cn.escheduler.common.enums.ReleaseState; -import cn.escheduler.common.utils.EnumFieldUtil; -import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.jdbc.SQL; - -import java.util.List; -import java.util.Map; - -/** - * process definition mapper provider - */ -public class ProcessDefinitionMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_process_definition"; - - - - /** - * 插入流程定义 - * - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() { - { - INSERT_INTO(TABLE_NAME); - VALUES("`name`", "#{processDefinition.name}"); - VALUES("`version`", "#{processDefinition.version}"); - VALUES("`release_state`", EnumFieldUtil.genFieldStr("processDefinition.releaseState", ReleaseState.class)); - VALUES("`project_id`", "#{processDefinition.projectId}"); - VALUES("`process_definition_json`", "#{processDefinition.processDefinitionJson}"); - VALUES("`desc`", "#{processDefinition.desc}"); - VALUES("`global_params`", "#{processDefinition.globalParams}"); - VALUES("`locations`", "#{processDefinition.locations}"); - VALUES("`connects`", "#{processDefinition.connects}"); - VALUES("`create_time`", "#{processDefinition.createTime}"); - VALUES("`update_time`", "#{processDefinition.updateTime}"); - VALUES("`receivers` ","#{processDefinition.receivers}"); - VALUES("`receivers_cc`", "#{processDefinition.receiversCc}"); - VALUES("`timeout`", "#{processDefinition.timeout}"); - VALUES("`tenant_id`", "#{processDefinition.tenantId}"); - VALUES("`flag`", EnumFieldUtil.genFieldStr("processDefinition.flag", ReleaseState.class)); - VALUES("`user_id`", "#{processDefinition.userId}"); - - } - }.toString(); - } - - /** - * 删除流程定义 - * - * @param parameter - * @return - */ - public String delete(Map parameter) { - return new SQL() { - { - DELETE_FROM(TABLE_NAME); - - WHERE("`id`=#{processDefinitionId}"); - } - }.toString(); - } - - /** - * 更新流程定义 - * - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() { - { - UPDATE(TABLE_NAME); - - SET("`name`=#{processDefinition.name}"); - SET("`version`=#{processDefinition.version}"); - SET("`release_state`="+EnumFieldUtil.genFieldStr("processDefinition.releaseState", ReleaseState.class)); - SET("`project_id`=#{processDefinition.projectId}"); - SET("`process_definition_json`=#{processDefinition.processDefinitionJson}"); - SET("`desc`=#{processDefinition.desc}"); - SET("`locations`=#{processDefinition.locations}"); - SET("`connects`=#{processDefinition.connects}"); - SET("`global_params`=#{processDefinition.globalParams}"); - SET("`create_time`=#{processDefinition.createTime}"); - SET("`update_time`=#{processDefinition.updateTime}"); - SET("`receivers`=#{processDefinition.receivers}"); - SET("`receivers_cc`=#{processDefinition.receiversCc}"); - SET("`timeout`=#{processDefinition.timeout}"); - SET("`tenant_id`=#{processDefinition.tenantId}"); - SET("`flag`="+EnumFieldUtil.genFieldStr("processDefinition.flag", Flag.class)); - SET("`user_id`=#{processDefinition.userId}"); - - WHERE("`id`=#{processDefinition.id}"); - - } - }.toString(); - } - - public String updateProcessDefinitionReleaseState(Map parameter) { - return new SQL() { - { - UPDATE(TABLE_NAME); - - SET("`release_state`="+EnumFieldUtil.genFieldStr("releaseState", ReleaseState.class)); - - - WHERE("`id`=#{processDefinitionId}"); - - } - }.toString(); - } - - /** - * 根据流程定义 id 查询 sql - * - * @param parameter - * @return - */ - public String queryByDefineId(Map parameter) { - return new SQL() { - { - SELECT("pd.*,u.user_name,p.name as project_name"); - - FROM(TABLE_NAME + " pd"); - JOIN("t_escheduler_user u ON pd.user_id = u.id"); - JOIN("t_escheduler_project p ON pd.project_id = p.id"); - WHERE("pd.id = #{processDefinitionId}"); - } - }.toString(); - } - - - /** - * query By Define Name - * - * @param parameter - * @return - */ - public String queryByDefineName(Map parameter) { - return new SQL() { - { - SELECT("pd.*,u.user_name,p.name as project_name,t.tenant_code,t.tenant_name,q.queue,q.queue_name"); - - FROM(TABLE_NAME + " pd"); - JOIN("t_escheduler_user u ON pd.user_id = u.id"); - JOIN("t_escheduler_project p ON pd.project_id = p.id"); - JOIN("t_escheduler_tenant t ON t.id = u.tenant_id"); - JOIN("t_escheduler_queue q ON t.queue_id = q.id"); - WHERE("p.id = #{projectId}"); - WHERE("pd.name = #{processDefinitionName}"); - } - }.toString(); - } - - - /** - * query define list paging - * @param parameter - * @return - */ - public String queryDefineListPaging(Map parameter) { - return new SQL() {{ - SELECT("td.*,sc.schedule_release_state"); - FROM(TABLE_NAME + " td"); - LEFT_OUTER_JOIN(" (select process_definition_id,release_state as schedule_release_state from `t_escheduler_schedules` " + - "group by `process_definition_id`,`release_state`) sc on sc.process_definition_id = td.id"); - - WHERE("td.project_id = #{projectId} "); - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " td.name like concat('%', #{searchVal}, '%') "); - } - Object userId = parameter.get("userId"); - if(userId != null && 0 != Integer.parseInt(userId.toString())){ - WHERE("td.user_id = #{userId}"); - } - ORDER_BY(" sc.schedule_release_state desc,td.update_time desc limit #{offset},#{pageSize} "); - }}.toString(); - } - /** - * query all define list by project id - * @param parameter - * @return - */ - public String queryAllDefinitionList(Map parameter) { - return new SQL() {{ - SELECT("id,name,version,release_state,project_id,user_id,`desc`,create_time,update_time,flag,global_params,receivers,receivers_cc"); - - FROM(TABLE_NAME ); - - WHERE("project_id = #{projectId}"); - ORDER_BY("create_time desc "); - }}.toString(); - } - /** - * count definition number group by project id - * @param parameter - * @return - */ - public String countDefineNumber(Map parameter) { - return new SQL() {{ - SELECT("count(0)"); - - FROM(TABLE_NAME); - - WHERE("project_id = #{projectId}"); - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " name like concat('%', #{searchVal}, '%') "); - } - Object userId = parameter.get("userId"); - if(userId != null && 0 != Integer.parseInt(userId.toString())){ - WHERE("user_id = #{userId}"); - } - }}.toString(); - } - - /** - * count definition number by user type - * @param parameter - * @return - */ - public String countDefinitionGroupByUser(Map parameter) { - return new SQL() {{ - - SELECT("td.user_id as user_id, tu.user_name as user_name, count(0) as count"); - FROM(TABLE_NAME + " td"); - JOIN("t_escheduler_user tu on tu.id=td.user_id"); - - if(parameter.get("projectId") != null && (int)parameter.get("projectId") != 0){ - WHERE( "td.project_id = #{projectId} "); - }else{ - if(parameter.get("userType") != null && String.valueOf(parameter.get("userType")) == "GENERAL_USER") { - AND(); - WHERE("td.project_id in (select id as project_id from t_escheduler_project tp where tp.user_id= #{userId} " + - "union select project_id from t_escheduler_relation_project_user tr where tr.user_id= #{userId} )"); - - } - } - GROUP_BY("td.user_id"); - - }}.toString(); - } - - /** - * query definition list by define id list - * @param parameter - * @return - */ - public String queryDefinitionListByIdList(Map parameter){ - List ids = (List) parameter.get("ids"); - - return new SQL() {{ - SELECT("*"); - - FROM(TABLE_NAME); - - WHERE("`id` in (" + String.join(",", ids) + ")"); - }}.toString(); - } - - /** - * update receivers and cc by definition id - * - * @param parameter - * @return - */ - public String updateReceiversAndCcById(Map parameter) { - return new SQL() { - { - UPDATE(TABLE_NAME); - SET("`receivers`=#{receivers}"); - SET("`receivers_cc`=#{receiversCc}"); - WHERE("`id`=#{processDefinitionId}"); - - } - }.toString(); - } - - - /** - * query all - * @return - */ - public String queryAll() { - return new SQL() {{ - SELECT("id,name,version,release_state,project_id,user_id,`desc`,create_time,update_time,flag,global_params,receivers,receivers_cc"); - - FROM(TABLE_NAME ); - - ORDER_BY("create_time desc "); - }}.toString(); - } -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessInstanceMapMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessInstanceMapMapper.java index b6945b36f7..9213f7604e 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessInstanceMapMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessInstanceMapMapper.java @@ -16,88 +16,19 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.dao.model.ProcessInstanceMap; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.JdbcType; +import cn.escheduler.dao.entity.ProcessInstanceMap; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; -/** - * work process instance map mapper - */ -public interface ProcessInstanceMapMapper { - - /** - * insert process instance relation - * @param processInstanceMap - * @return - */ - @InsertProvider(type = ProcessInstanceMapMapperProvider.class, method = "insert") - @Options(useGeneratedKeys = true,keyProperty = "processInstanceMap.id") - @SelectKey(statement = "SELECT LAST_INSERT_ID()", keyProperty = "processInstanceMap.id", before = false, resultType = int.class) - int insert(@Param("processInstanceMap") ProcessInstanceMap processInstanceMap); +public interface ProcessInstanceMapMapper extends BaseMapper { - /** - * delete process instance relation by id - * @param processInstanceMapId - * @return - */ - @DeleteProvider(type = ProcessInstanceMapMapperProvider.class, method = "delete") - int delete(@Param("processInstanceMapId") int processInstanceMapId); - /** - * delete process instance relation by parent work process id - * @param parentProcessId - * @return - */ - @DeleteProvider(type = ProcessInstanceMapMapperProvider.class, method = "deleteByParentProcessId") - int deleteByParentProcessId(@Param("parentProcessId") int parentProcessId); + ProcessInstanceMap queryByParentId(@Param("parentProcessId") int parentProcessId, @Param("parentTaskId") int parentTaskId); - /** - * update process instance relation - * - * @param processInstanceMap - * @return - */ - @UpdateProvider(type = ProcessInstanceMapMapperProvider.class, method = "update") - int update(@Param("processInstanceMap") ProcessInstanceMap processInstanceMap); - /** - * query process instance relation by id - * @param processMapId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "parentProcessInstanceId", column = "parent_process_instance_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "parentTaskInstanceId", column = "parent_task_instance_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstanceId", column = "process_instance_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER) - }) - @SelectProvider(type = ProcessInstanceMapMapperProvider.class, method = "queryById") - ProcessInstanceMap queryById(@Param("processMapId") int processMapId); + ProcessInstanceMap queryBySubProcessId(@Param("subProcessId") Integer subProcessId); - /** - * query by parent instance id - * @param parentProcessId - * @param parentTaskId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "parentProcessInstanceId", column = "parent_process_instance_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "parentTaskInstanceId", column = "parent_task_instance_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstanceId", column = "process_instance_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER) - }) - @SelectProvider(type = ProcessInstanceMapMapperProvider.class, method = "queryByParentId") - ProcessInstanceMap queryByParentId(@Param("parentProcessId") int parentProcessId, @Param("parentTaskId") int parentTaskId); + int deleteByParentProcessId(@Param("parentProcessId") int parentProcessId); - /** - * query relation by sub process id - * @param subProcessId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "parentProcessInstanceId", column = "parent_process_instance_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "parentTaskInstanceId", column = "parent_task_instance_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstanceId", column = "process_instance_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER) - }) - @SelectProvider(type = ProcessInstanceMapMapperProvider.class, method = "queryBySubProcessId") - ProcessInstanceMap queryBySubProcessId(@Param("subProcessId")Integer subProcessId); } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessInstanceMapMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessInstanceMapMapperProvider.java deleted file mode 100644 index 0f29a5104d..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessInstanceMapMapperProvider.java +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -/** - * process instance map mapper provider - */ -public class ProcessInstanceMapMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_relation_process_instance"; - - /** - * insert process instance relation - * - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() { - { - INSERT_INTO(TABLE_NAME); - VALUES("`parent_process_instance_id`", "#{processInstanceMap.parentProcessInstanceId}"); - VALUES("`parent_task_instance_id`", "#{processInstanceMap.parentTaskInstanceId}"); - VALUES("`process_instance_id`", "#{processInstanceMap.processInstanceId}"); - } - }.toString(); - } - - /** - * delete process instance relation - * - * @param parameter - * @return - */ - public String delete(Map parameter) { - return new SQL() { - { - DELETE_FROM(TABLE_NAME); - - WHERE("`id`=#{processInstanceMapId}"); - } - }.toString(); - } - - /** - * delete by parent process id - * - * @param parameter - * @return - */ - public String deleteByParentProcessId(Map parameter) { - return new SQL() { - { - DELETE_FROM(TABLE_NAME); - - WHERE("`parent_process_instance_id`=#{parentProcessId}"); - } - }.toString(); - } - - /** - * update process map - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() { - { - UPDATE(TABLE_NAME); - - SET("`parent_process_instance_id`=#{processInstanceMap.parentProcessInstanceId}"); - SET("`parent_task_instance_id`=#{processInstanceMap.parentTaskInstanceId}"); - SET("`process_instance_id`=#{processInstanceMap.processInstanceId}"); - WHERE("`id`=#{processInstanceMap.id}"); - } - }.toString(); - } - - - /** - * query by map id - * - * @param parameter - * @return - */ - public String queryById(Map parameter) { - return new SQL() { - { - SELECT("*"); - - FROM(TABLE_NAME); - - WHERE("`id` = #{processMapId}"); - } - }.toString(); - } - - /** - * query by parent process instance id and parent task id - * - * @param parameter - * @return - */ - public String queryByParentId(Map parameter) { - return new SQL() { - { - SELECT("*"); - FROM(TABLE_NAME); - WHERE("`parent_process_instance_id` = #{parentProcessId}"); - WHERE("`parent_task_instance_id` = #{parentTaskId}"); - } - }.toString(); - } - - /** - * query by sub process instance id - * - * @param parameter - * @return - */ - public String queryBySubProcessId(Map parameter) { - return new SQL() { - { - SELECT("*"); - FROM(TABLE_NAME); - WHERE("`process_instance_id` = #{subProcessId}"); - } - }.toString(); - } - - -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessInstanceMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessInstanceMapper.java index 98a7c22136..7d61829d80 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessInstanceMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessInstanceMapper.java @@ -17,631 +17,71 @@ package cn.escheduler.dao.mapper; import cn.escheduler.common.enums.*; -import cn.escheduler.dao.model.ExecuteStatusCount; -import cn.escheduler.dao.model.ProcessInstance; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.EnumOrdinalTypeHandler; -import org.apache.ibatis.type.JdbcType; +import cn.escheduler.dao.entity.ExecuteStatusCount; +import cn.escheduler.dao.entity.ProcessInstance; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; -import java.sql.Timestamp; import java.util.Date; import java.util.List; -/** - * process instance mapper - */ -public interface ProcessInstanceMapper { - - /** - * insert process instance - * @param processInstance - * @return - */ - @InsertProvider(type = ProcessInstanceMapperProvider.class, method = "insert") - @Options(useGeneratedKeys = true,keyProperty = "processInstance.id") - @SelectKey(statement = "SELECT LAST_INSERT_ID()", keyProperty = "processInstance.id", before = false, resultType = int.class) - int insert(@Param("processInstance") ProcessInstance processInstance); - - - /** - * delete process instance - * @param processId - * @return - */ - @DeleteProvider(type = ProcessInstanceMapperProvider.class, method = "delete") - int delete(@Param("processId") int processId); - - /** - * update process instance - * - * @param processInstance - * @return - */ - @UpdateProvider(type = ProcessInstanceMapperProvider.class, method = "update") - int update(@Param("processInstance") ProcessInstance processInstance); +public interface ProcessInstanceMapper extends BaseMapper { - - /** - * query instance detail by id - * @param processId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processDefinitionId", column = "process_definition_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "recovery", column = "recovery", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "startTime", column = "start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "endTime", column = "end_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "runTimes", column = "run_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "host", column = "host", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "commandType", column = "command_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = CommandType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "commandParam", column = "command_param", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskDependType", column = "task_depend_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = TaskDependType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "maxTryTimes", column = "max_try_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "failureStrategy", column = "failure_strategy", typeHandler = EnumOrdinalTypeHandler.class, javaType = FailureStrategy.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningType", column = "warning_type", javaType = WarningType.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningGroupId", column = "warning_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "scheduleTime", column = "schedule_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "commandStartTime", column = "command_start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "globalParams", column = "global_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "executorId", column = "executor_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstanceJson", column = "process_instance_json", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "isSubProcess", column = "is_sub_process", javaType = Flag.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "locations", column = "locations", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "connects", column = "connects", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "historyCmd", column = "history_cmd", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "dependenceScheduleTimes", column = "dependence_schedule_times", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "duration", column = "duration", javaType = Long.class, jdbcType = JdbcType.BIGINT), - @Result(property = "tenantCode", column = "tenant_code", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "queue", column = "queue", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "timeout", column = "timeout", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstancePriority", column = "process_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - }) - @SelectProvider(type = ProcessInstanceMapperProvider.class, method = "queryDetailById") ProcessInstance queryDetailById(@Param("processId") int processId); + List queryByHostAndStatus(@Param("host") String host, @Param("states") String stateArray); - /** - * query instance by id - * @param processId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processDefinitionId", column = "process_definition_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "recovery", column = "recovery", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "startTime", column = "start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "endTime", column = "end_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "runTimes", column = "run_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "host", column = "host", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "commandType", column = "command_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = CommandType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "commandParam", column = "command_param", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskDependType", column = "task_depend_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = TaskDependType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "maxTryTimes", column = "max_try_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "failureStrategy", column = "failure_strategy", typeHandler = EnumOrdinalTypeHandler.class, javaType = FailureStrategy.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningType", column = "warning_type", javaType = WarningType.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningGroupId", column = "warning_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "scheduleTime", column = "schedule_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "commandStartTime", column = "command_start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "globalParams", column = "global_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "executorId", column = "executor_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstanceJson", column = "process_instance_json", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "isSubProcess", column = "is_sub_process", javaType = Flag.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "locations", column = "locations", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "connects", column = "connects", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "historyCmd", column = "history_cmd", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "dependenceScheduleTimes", column = "dependence_schedule_times", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "timeout", column = "timeout", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstancePriority", column = "process_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - }) - @SelectProvider(type = ProcessInstanceMapperProvider.class, method = "queryById") - ProcessInstance queryById(@Param("processId") int processId); - - /** - * query instance list by host and state array - * @param host - * @param stateArray - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processDefinitionId", column = "process_definition_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "recovery", column = "recovery", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "startTime", column = "start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "endTime", column = "end_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "runTimes", column = "run_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "host", column = "host", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "commandType", column = "command_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = CommandType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "commandParam", column = "command_param", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskDependType", column = "task_depend_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = TaskDependType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "maxTryTimes", column = "max_try_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "failureStrategy", column = "failure_strategy", typeHandler = EnumOrdinalTypeHandler.class, javaType = FailureStrategy.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningType", column = "warning_type", javaType = WarningType.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningGroupId", column = "warning_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "scheduleTime", column = "schedule_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "commandStartTime", column = "command_start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "globalParams", column = "global_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "executorId", column = "executor_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "isSubProcess", column = "is_sub_process", javaType = Flag.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "locations", column = "locations", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "connects", column = "connects", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "historyCmd", column = "history_cmd", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "dependenceScheduleTimes", column = "dependence_schedule_times", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "processInstanceJson", column = "process_instance_json", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "timeout", column = "timeout", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstancePriority", column = "process_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - - }) - @SelectProvider(type = ProcessInstanceMapperProvider.class, method = "queryByHostAndStatus") - List queryByHostAndStatus(@Param("host") String host, @Param("states")int[] stateArray); - - /** - * query instance list by state array - * @param stateArray - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processDefinitionId", column = "process_definition_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "recovery", column = "recovery", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "startTime", column = "start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "endTime", column = "end_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "runTimes", column = "run_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "host", column = "host", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "commandType", column = "command_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = CommandType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "commandParam", column = "command_param", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskDependType", column = "task_depend_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = TaskDependType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "maxTryTimes", column = "max_try_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "failureStrategy", column = "failure_strategy", typeHandler = EnumOrdinalTypeHandler.class, javaType = FailureStrategy.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningType", column = "warning_type", javaType = WarningType.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningGroupId", column = "warning_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "scheduleTime", column = "schedule_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "commandStartTime", column = "command_start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "globalParams", column = "global_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "executorId", column = "executor_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "isSubProcess", column = "is_sub_process", javaType = Flag.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "locations", column = "locations", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "connects", column = "connects", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "historyCmd", column = "history_cmd", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "dependenceScheduleTimes", column = "dependence_schedule_times", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "processInstanceJson", column = "process_instance_json", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "timeout", column = "timeout", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstancePriority", column = "process_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - - }) - @SelectProvider(type = ProcessInstanceMapperProvider.class, method = "listByStatus") - List listByStatus(@Param("states")int[] stateArray); - - /** - * query list paging - * - * @param projectId - * @param processDefinitionId - * @param searchVal - * @param statusArray - * @param startTime - * @param endTime - * @param offset - * @param pageSize - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processDefinitionId", column = "process_definition_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "recovery", column = "recovery", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "startTime", column = "start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "endTime", column = "end_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "runTimes", column = "run_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "host", column = "host", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "commandType", column = "command_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = CommandType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "commandParam", column = "command_param", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskDependType", column = "task_depend_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = TaskDependType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "maxTryTimes", column = "max_try_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "failureStrategy", column = "failure_strategy", typeHandler = EnumOrdinalTypeHandler.class, javaType = FailureStrategy.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningType", column = "warning_type", javaType = WarningType.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningGroupId", column = "warning_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "scheduleTime", column = "schedule_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "commandStartTime", column = "command_start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "globalParams", column = "global_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "executorId", column = "executor_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "isSubProcess", column = "is_sub_process", javaType = Flag.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "locations", column = "locations", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "connects", column = "connects", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "historyCmd", column = "history_cmd", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "dependenceScheduleTimes", column = "dependence_schedule_times", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "duration", column = "duration", javaType = Long.class, jdbcType = JdbcType.BIGINT), - @Result(property = "processInstanceJson", column = "process_instance_json", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "timeout", column = "timeout", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstancePriority", column = "process_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - - }) - @SelectProvider(type = ProcessInstanceMapperProvider.class, method = "queryProcessInstanceListPaging") - List queryProcessInstanceListPaging(@Param("projectId") int projectId, - @Param("processDefinitionId") Integer processDefinitionId, - @Param("searchVal") String searchVal, - @Param("states")String statusArray, - @Param("host")String host, - @Param("startTime") Date startTime, - @Param("endTime") Date endTime, - @Param("offset") int offset, - @Param("pageSize") int pageSize); - - /** - * count process numbers - * @param projectId - * @param processDefinitionId - * @param statusArray - * @param startTime - * @param endTime - * @param searchVal - * @return - */ - @SelectProvider(type = ProcessInstanceMapperProvider.class, method = "countProcessInstance") - Integer countProcessInstance(@Param("projectId") int projectId, - @Param("processDefinitionId") Integer processDefinitionId, - @Param("states")String statusArray, - @Param("host")String host, - @Param("startTime") Date startTime, - @Param("endTime") Date endTime, - @Param("searchVal") String searchVal + IPage queryProcessInstanceListPaging(Page page, + @Param("projectId") int projectId, + @Param("processDefinitionId") Integer processDefinitionId, + @Param("searchVal") String searchVal, + @Param("states") String statusArray, + @Param("host") String host, + @Param("startTime") Date startTime, + @Param("endTime") Date endTime ); - /** - * update process instance by host and status - * @param host - * @param stateArray - * @return - */ - @UpdateProvider(type = ProcessInstanceMapperProvider.class, method = "setFailoverByHostAndStateArray") - int setFailoverByHostAndStateArray(@Param("host") String host,@Param("states")int[] stateArray); - - /** - * update process instance by state - * @param originState - * @param destState - * @return - */ - @UpdateProvider(type = ProcessInstanceMapperProvider.class, method = "updateProcessInstanceByState") - int updateProcessInstanceByState(@Param("originState")ExecutionStatus originState, @Param("destState")ExecutionStatus destState); + int setFailoverByHostAndStateArray(@Param("host") String host, + @Param("states") String stateArray); - /** - * update state - * @param processId - * @param executionStatus - * @return - */ - @UpdateProvider(type = ProcessInstanceMapperProvider.class, method = "updateState") - int updateState(@Param("processId")Integer processId, @Param("executionStatus")ExecutionStatus executionStatus); + int updateProcessInstanceByState(@Param("originState") ExecutionStatus originState, + @Param("destState") ExecutionStatus destState); - /** - * query process instance by task id - * @param taskId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processDefinitionId", column = "process_definition_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "recovery", column = "recovery", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "startTime", column = "start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "endTime", column = "end_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "runTimes", column = "run_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "host", column = "host", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "commandType", column = "command_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = CommandType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "commandParam", column = "command_param", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskDependType", column = "task_depend_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = TaskDependType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "maxTryTimes", column = "max_try_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "failureStrategy", column = "failure_strategy", typeHandler = EnumOrdinalTypeHandler.class, javaType = FailureStrategy.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningType", column = "warning_type", javaType = WarningType.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningGroupId", column = "warning_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "scheduleTime", column = "schedule_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "commandStartTime", column = "command_start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "globalParams", column = "global_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "executorId", column = "executor_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "isSubProcess", column = "is_sub_process", javaType = Flag.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "locations", column = "locations", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "connects", column = "connects", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "historyCmd", column = "history_cmd", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "duration", column = "duration", javaType = Long.class, jdbcType = JdbcType.BIGINT), - @Result(property = "dependenceScheduleTimes", column = "dependence_schedule_times", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "duration", column = "duration", javaType = Long.class, jdbcType = JdbcType.BIGINT), - @Result(property = "processInstanceJson", column = "process_instance_json", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "timeout", column = "timeout", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstancePriority", column = "process_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - - }) - @SelectProvider(type = ProcessInstanceMapperProvider.class, method = "queryByTaskId") ProcessInstance queryByTaskId(@Param("taskId") int taskId); - /** - * update process instance - * @param processId - * @param processJson - * @param globalParams - * @param scheduleTime - * @param locations - * @param connects - * @param flag - * @return - */ - @UpdateProvider(type = ProcessInstanceMapperProvider.class, method = "updateProcessInstance") - int updateProcessInstance(@Param("processId") Integer processId, - @Param("processJson") String processJson, - @Param("globalParams") String globalParams, - @Param("scheduleTime") Date scheduleTime, - @Param("locations") String locations, - @Param("connects") String connects, - @Param("flag") Flag flag); - - /** - * count process number group by state and user - * @param userId - * @param userType - * @param startTime - * @param endTime - * @param projectId - * @return - */ - @Results(value = { - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "count", column = "count", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - }) - @SelectProvider(type = ProcessInstanceMapperProvider.class, method = "countInstanceStateByUser") List countInstanceStateByUser( - @Param("userId") int userId, - @Param("userType") UserType userType, - @Param("startTime") Date startTime, - @Param("endTime") Date endTime, - @Param("projectId") int projectId); + @Param("userId") int userId, + @Param("userType") UserType userType, + @Param("startTime") Date startTime, + @Param("endTime") Date endTime, + @Param("projectIds") String projectIds); - /** - * query sub process id list by father process instance id - * - * @param parentInstanceId - * @return - */ - @SelectProvider(type = ProcessInstanceMapperProvider.class, method = "querySubIdListByParentId") List querySubIdListByParentId(@Param("parentInstanceId") int parentInstanceId); - /** - * query instance by definition id - * @param processDefinitionId - * @param size - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processDefinitionId", column = "process_definition_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "recovery", column = "recovery", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "startTime", column = "start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "endTime", column = "end_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "runTimes", column = "run_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "host", column = "host", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "commandType", column = "command_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = CommandType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "commandParam", column = "command_param", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskDependType", column = "task_depend_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = TaskDependType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "maxTryTimes", column = "max_try_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "failureStrategy", column = "failure_strategy", typeHandler = EnumOrdinalTypeHandler.class, javaType = FailureStrategy.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningType", column = "warning_type", javaType = WarningType.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningGroupId", column = "warning_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "scheduleTime", column = "schedule_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "commandStartTime", column = "command_start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "globalParams", column = "global_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "executorId", column = "executor_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "isSubProcess", column = "is_sub_process", javaType = Flag.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "locations", column = "locations", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "connects", column = "connects", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "historyCmd", column = "history_cmd", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "duration", column = "duration", javaType = Long.class, jdbcType = JdbcType.BIGINT), - @Result(property = "dependenceScheduleTimes", column = "dependence_schedule_times", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "duration", column = "duration", javaType = Long.class, jdbcType = JdbcType.BIGINT), - @Result(property = "processInstanceJson", column = "process_instance_json", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "timeout", column = "timeout", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstancePriority", column = "process_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - - }) - @SelectProvider(type = ProcessInstanceMapperProvider.class, method = "queryByProcessDefineId") - List queryByProcessDefineId(@Param("processDefinitionId") int processDefinitionId,@Param("size") int size); - - /** - * query process instance by definition and scheduler time - * @param processDefinitionId - * @param scheduleTime - * @param excludeId - * @param startTime - * @param endTime - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processDefinitionId", column = "process_definition_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "recovery", column = "recovery", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "startTime", column = "start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "endTime", column = "end_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "runTimes", column = "run_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "host", column = "host", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "commandType", column = "command_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = CommandType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "commandParam", column = "command_param", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskDependType", column = "task_depend_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = TaskDependType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "maxTryTimes", column = "max_try_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "failureStrategy", column = "failure_strategy", typeHandler = EnumOrdinalTypeHandler.class, javaType = FailureStrategy.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningType", column = "warning_type", javaType = WarningType.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningGroupId", column = "warning_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "scheduleTime", column = "schedule_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "commandStartTime", column = "command_start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "globalParams", column = "global_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "executorId", column = "executor_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "isSubProcess", column = "is_sub_process", javaType = Flag.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "locations", column = "locations", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "connects", column = "connects", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "historyCmd", column = "history_cmd", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "dependenceScheduleTimes", column = "dependence_schedule_times", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "duration", column = "duration", javaType = Long.class, jdbcType = JdbcType.BIGINT), - @Result(property = "processInstanceJson", column = "process_instance_json", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "timeout", column = "timeout", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstancePriority", column = "process_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) + List queryByProcessDefineId(@Param("processDefinitionId") int processDefinitionId, + @Param("size") int size); - }) - @SelectProvider(type = ProcessInstanceMapperProvider.class, method = "queryByScheduleTime") ProcessInstance queryByScheduleTime(@Param("processDefinitionId") int processDefinitionId, @Param("scheduleTime") String scheduleTime, @Param("excludeId") int excludeId, @Param("startTime") String startTime, @Param("endTime") String endTime); - /** - * get last scheduler process intance between start time and end time - * @param definitionId - * @param startTime - * @param endTime - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processDefinitionId", column = "process_definition_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "recovery", column = "recovery", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "startTime", column = "start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "endTime", column = "end_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "runTimes", column = "run_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "host", column = "host", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "commandType", column = "command_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = CommandType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "commandParam", column = "command_param", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskDependType", column = "task_depend_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = TaskDependType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "maxTryTimes", column = "max_try_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "failureStrategy", column = "failure_strategy", typeHandler = EnumOrdinalTypeHandler.class, javaType = FailureStrategy.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningType", column = "warning_type", javaType = WarningType.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningGroupId", column = "warning_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "scheduleTime", column = "schedule_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "commandStartTime", column = "command_start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "globalParams", column = "global_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "executorId", column = "executor_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "isSubProcess", column = "is_sub_process", javaType = Flag.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "locations", column = "locations", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "connects", column = "connects", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "historyCmd", column = "history_cmd", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "dependenceScheduleTimes", column = "dependence_schedule_times", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "processInstanceJson", column = "process_instance_json", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "timeout", column = "timeout", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstancePriority", column = "process_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - }) - @SelectProvider(type = ProcessInstanceMapperProvider.class, method = "queryLastSchedulerProcess") ProcessInstance queryLastSchedulerProcess(@Param("processDefinitionId") int definitionId, @Param("startTime") String startTime, @Param("endTime") String endTime); - /** - * get last running process instance between start time and end time - * @param definitionId - * @param startTime - * @param endTime - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processDefinitionId", column = "process_definition_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "recovery", column = "recovery", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "startTime", column = "start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "endTime", column = "end_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "runTimes", column = "run_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "host", column = "host", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "commandType", column = "command_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = CommandType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "commandParam", column = "command_param", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskDependType", column = "task_depend_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = TaskDependType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "maxTryTimes", column = "max_try_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "failureStrategy", column = "failure_strategy", typeHandler = EnumOrdinalTypeHandler.class, javaType = FailureStrategy.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningType", column = "warning_type", javaType = WarningType.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningGroupId", column = "warning_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "scheduleTime", column = "schedule_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "commandStartTime", column = "command_start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "globalParams", column = "global_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "executorId", column = "executor_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "isSubProcess", column = "is_sub_process", javaType = Flag.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "locations", column = "locations", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "connects", column = "connects", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "historyCmd", column = "history_cmd", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "dependenceScheduleTimes", column = "dependence_schedule_times", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "processInstanceJson", column = "process_instance_json", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "timeout", column = "timeout", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstancePriority", column = "process_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - }) - @SelectProvider(type = ProcessInstanceMapperProvider.class, method = "queryLastRunningProcess") ProcessInstance queryLastRunningProcess(@Param("processDefinitionId") int definitionId, @Param("startTime") String startTime, @Param("endTime") String endTime, - @Param("states")int[] stateArray); + @Param("states") int[] stateArray); - /** - * get last manual process instance between start time and end time - * @param definitionId - * @param startTime - * @param endTime - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processDefinitionId", column = "process_definition_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "recovery", column = "recovery", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "startTime", column = "start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "endTime", column = "end_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "runTimes", column = "run_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "host", column = "host", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "commandType", column = "command_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = CommandType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "commandParam", column = "command_param", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskDependType", column = "task_depend_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = TaskDependType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "maxTryTimes", column = "max_try_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "failureStrategy", column = "failure_strategy", typeHandler = EnumOrdinalTypeHandler.class, javaType = FailureStrategy.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningType", column = "warning_type", javaType = WarningType.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningGroupId", column = "warning_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "scheduleTime", column = "schedule_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "commandStartTime", column = "command_start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "globalParams", column = "global_params", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "executorId", column = "executor_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "isSubProcess", column = "is_sub_process", javaType = Flag.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT), - @Result(property = "locations", column = "locations", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "connects", column = "connects", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "historyCmd", column = "history_cmd", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "dependenceScheduleTimes", column = "dependence_schedule_times", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "processInstanceJson", column = "process_instance_json", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "timeout", column = "timeout", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstancePriority", column = "process_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - }) - @SelectProvider(type = ProcessInstanceMapperProvider.class, method = "queryLastManualProcess") ProcessInstance queryLastManualProcess(@Param("processDefinitionId") int definitionId, @Param("startTime") String startTime, @Param("endTime") String endTime); diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessInstanceMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessInstanceMapperProvider.java deleted file mode 100644 index 9bbd3e336e..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessInstanceMapperProvider.java +++ /dev/null @@ -1,592 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import cn.escheduler.common.enums.*; -import cn.escheduler.common.utils.EnumFieldUtil; -import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -/** - * process instance mapper provider - */ -public class ProcessInstanceMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_process_instance"; - private static final String TABLE_NAME_MAP = "t_escheduler_relation_process_instance"; - private static final String DEFINE_TABLE_NAME = "t_escheduler_process_definition"; - - /** - * insert process instance - * - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() { - { - INSERT_INTO(TABLE_NAME); - VALUES("`process_definition_id`", "#{processInstance.processDefinitionId}"); - VALUES("`state`", EnumFieldUtil.genFieldStr("processInstance.state", ExecutionStatus.class)); - VALUES("`recovery`", EnumFieldUtil.genFieldStr("processInstance.recovery", Flag.class)); - VALUES("`start_time`", "#{processInstance.startTime}"); - VALUES("`end_time`", "#{processInstance.endTime}"); - VALUES("`run_times`", "#{processInstance.runTimes}"); - VALUES("`name`", "#{processInstance.name}"); - VALUES("`host`", "#{processInstance.host}"); - VALUES("`command_type`", EnumFieldUtil.genFieldStr("processInstance.commandType", CommandType.class)); - VALUES("`command_param`", "#{processInstance.commandParam}"); - VALUES("`task_depend_type`", EnumFieldUtil.genFieldStr("processInstance.taskDependType", TaskDependType.class)); - VALUES("`max_try_times`", "#{processInstance.maxTryTimes}"); - VALUES("`failure_strategy`", EnumFieldUtil.genFieldStr("processInstance.failureStrategy", FailureStrategy.class)); - VALUES("`warning_type`", EnumFieldUtil.genFieldStr("processInstance.warningType", WarningType.class)); - VALUES("`warning_group_id`", "#{processInstance.warningGroupId}"); - VALUES("`schedule_time`", "#{processInstance.scheduleTime}"); - VALUES("`command_start_time`", "#{processInstance.commandStartTime}"); - VALUES("`global_params`", "#{processInstance.globalParams}"); - VALUES("`process_instance_json`", "#{processInstance.processInstanceJson}"); - VALUES("`locations`", "#{processInstance.locations}"); - VALUES("`connects`", "#{processInstance.connects}"); - VALUES("`history_cmd`", "#{processInstance.historyCmd}"); - VALUES("`dependence_schedule_times`", "#{processInstance.dependenceScheduleTimes}"); - VALUES("`is_sub_process`", EnumFieldUtil.genFieldStr("processInstance.isSubProcess", Flag.class)); - VALUES("`executor_id`", "#{processInstance.executorId}"); - VALUES("`worker_group_id`", "#{processInstance.workerGroupId}"); - VALUES("`timeout`", "#{processInstance.timeout}"); - VALUES("`tenant_id`", "#{processInstance.tenantId}"); - VALUES("`process_instance_priority`", EnumFieldUtil.genFieldStr("processInstance.processInstancePriority", Priority.class)); - } - }.toString(); - } - - /** - * delete process instance - * - * @param parameter - * @return - */ - public String delete(Map parameter) { - return new SQL() { - { - DELETE_FROM(TABLE_NAME); - WHERE("id=#{processId}"); - } - }.toString(); - } - - - /** - * 根据父工作流id查询子工作流list - * @param parameter - * @return - */ - public String querySubIdListByParentId(Map parameter) { - return new SQL() { - { - SELECT( "process_instance_id"); - FROM(TABLE_NAME_MAP); - WHERE("parent_process_instance_id = #{parentInstanceId}" ); - } - }.toString(); - } - - /** - * 更新流程实例 - * - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() { - { - UPDATE(TABLE_NAME); - - SET("`process_definition_id`=#{processInstance.processDefinitionId}"); - SET("`state`="+EnumFieldUtil.genFieldStr("processInstance.state", ExecutionStatus.class)); - SET("`recovery`="+EnumFieldUtil.genFieldStr("processInstance.recovery", Flag.class)); - SET("`start_time`=#{processInstance.startTime}"); - SET("`end_time`=#{processInstance.endTime}"); - SET("`run_times`=#{processInstance.runTimes}"); - SET("`name`=#{processInstance.name}"); - SET("`host`=#{processInstance.host}"); - SET("`command_type`="+EnumFieldUtil.genFieldStr("processInstance.commandType", CommandType.class)); - SET("`command_param`=#{processInstance.commandParam}"); - SET("`task_depend_type`="+EnumFieldUtil.genFieldStr("processInstance.taskDependType", TaskDependType.class)); - SET("`max_try_times`=#{processInstance.maxTryTimes}"); - SET("`failure_strategy`="+EnumFieldUtil.genFieldStr("processInstance.failureStrategy", FailureStrategy.class)); - SET("`warning_type`="+ EnumFieldUtil.genFieldStr("processInstance.warningType", WarningType.class)); - SET("`warning_group_id`=#{processInstance.warningGroupId}"); - SET("`schedule_time`=#{processInstance.scheduleTime}"); - SET("`command_start_time`=#{processInstance.commandStartTime}"); - SET("`process_instance_json`=#{processInstance.processInstanceJson}"); - SET("`global_params`=#{processInstance.globalParams}"); - SET("`locations`=#{processInstance.locations}"); - SET("`connects`=#{processInstance.connects}"); - SET("`history_cmd`=#{processInstance.historyCmd}"); - SET("`dependence_schedule_times`=#{processInstance.dependenceScheduleTimes}"); - SET("`is_sub_process`="+EnumFieldUtil.genFieldStr("processInstance.isSubProcess", Flag.class)); - SET("`executor_id`=#{processInstance.executorId}"); - SET("`tenant_id`=#{processInstance.tenantId}"); - SET("`worker_group_id`=#{processInstance.workerGroupId}"); - SET("`timeout`=#{processInstance.timeout}"); - - WHERE("`id`=#{processInstance.id}"); - - } - }.toString(); - } - - public String updateProcessInstance(Map parameter) { - return new SQL() { - { - UPDATE(TABLE_NAME); - if(parameter.get("flag") != null){ - SET("`flag`="+ EnumFieldUtil.genFieldStr("flag", Flag.class)); - } - - if(parameter.get("scheduleTime") != null){ - SET("`schedule_time`=#{scheduleTime}"); - } - - if(parameter.get("processJson") != null){ - SET("`process_instance_json`=#{processJson}"); - SET("`global_params`=#{globalParams}"); - } - if(parameter.get("locations") != null){ - SET("`locations`=#{locations}"); - } - if(parameter.get("connects") != null){ - SET("`connects`=#{connects}"); - } - WHERE("`id`=#{processId}"); - - } - }.toString(); - } - - /** - * update process instance by state - * @param parameter - * @return - */ - public String updateProcessInstanceByState(Map parameter) { - - return new SQL() { - { - UPDATE(TABLE_NAME); - - SET("`state`=" + EnumFieldUtil.genFieldStr("destState", ExecutionStatus.class)); - WHERE("`state`=" + EnumFieldUtil.genFieldStr("originState", ExecutionStatus.class)); - } - }.toString(); - } - - /** - * update state - * @param parameter - * @return - */ - public String updateState(Map parameter) { - - return new SQL() { - { - UPDATE(TABLE_NAME); - - SET("`state`=" + EnumFieldUtil.genFieldStr("executionStatus", ExecutionStatus.class)); - WHERE("`id`=#{processId}"); - } - }.toString(); - } - - /** - * query detail by id - * @param parameter - * @return - */ - public String queryDetailById(Map parameter) { - return new SQL() { - { - SELECT("inst.*,UNIX_TIMESTAMP(inst.end_time)-UNIX_TIMESTAMP(inst.start_time) as duration"); - - FROM(TABLE_NAME + " inst"); - - WHERE("inst.id = #{processId}"); - } - }.toString(); - } - - /** - * query by id - * @param parameter - * @return - */ - public String queryById(Map parameter) { - return new SQL() { - { - SELECT("*"); - - FROM(TABLE_NAME ); - - WHERE("`id` = #{processId}"); - } - }.toString(); - } - - /** - * query list paging - * @param parameter - * @return - */ - public String queryProcessInstanceListPaging(Map parameter) { - return new SQL() { - { - SELECT("instance.*, (UNIX_TIMESTAMP(instance.end_time) - UNIX_TIMESTAMP(instance.start_time)) as duration"); - - FROM(TABLE_NAME + " instance"); - - JOIN(DEFINE_TABLE_NAME + " define ON instance.process_definition_id = define.id"); - - if(parameter.get("processDefinitionId") != null && (int)parameter.get("processDefinitionId") != 0){ - WHERE( "instance.process_definition_id = #{processDefinitionId} "); - } - - WHERE("instance.is_sub_process=0 and define.project_id = #{projectId}"); - - Object start = parameter.get("startTime"); - if(start != null && StringUtils.isNotEmpty(start.toString())){ - WHERE("instance.start_time > #{startTime} and instance.start_time <= #{endTime}"); - } - - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " instance.name like concat('%', #{searchVal}, '%') "); - } - Object states = parameter.get("states"); - if(states != null && StringUtils.isNotEmpty(states.toString())){ - String stateStr = states.toString(); - WHERE("instance.state in ( "+ stateStr + " )"); - } - Object host = parameter.get("host"); - if(host != null && StringUtils.isNotEmpty(host.toString())){ - WHERE( "instance.host like concat('%', #{host}, '%') "); - } - ORDER_BY("instance.start_time desc limit #{offset},#{pageSize} "); - } - }.toString(); - - } - - public String countProcessInstance(Map parameter) { - return new SQL() { - { - SELECT("count(1)"); - FROM(TABLE_NAME + " instance"); - JOIN(DEFINE_TABLE_NAME + " define ON instance.process_definition_id = define.id"); - WHERE(" define.project_id = #{projectId}"); - if(parameter.get("processDefinitionId") != null && (int)parameter.get("processDefinitionId") != 0){ - WHERE( "instance.process_definition_id = #{processDefinitionId} "); - } - WHERE(" instance.is_sub_process=0"); - Object startTime = parameter.get("startTime"); - if(startTime != null && StringUtils.isNotEmpty(startTime.toString())) { - WHERE("instance.start_time > #{startTime} and instance.start_time <= #{endTime}"); - } - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " instance.name like concat('%', #{searchVal}, '%') "); - } - Object states = parameter.get("states"); - if(states != null && StringUtils.isNotEmpty(states.toString())){ - String stateStr = states.toString(); - WHERE("instance.state in ( "+ stateStr + " )"); - } - Object host = parameter.get("host"); - if(host != null && StringUtils.isNotEmpty(host.toString())){ - WHERE( "instance.host like concat('%', #{host}, '%') "); - } - } - }.toString(); - } - - public String countInstanceStateByUser(Map parameter){ - return new SQL(){ - { - SELECT ("state, count(0) as count"); - FROM(TABLE_NAME + " t"); - JOIN(DEFINE_TABLE_NAME + " d on d.id=t.process_definition_id"); - JOIN("t_escheduler_project p on p.id=d.project_id"); - WHERE("t.flag = 1 and t.is_sub_process = 0"); - WHERE("t.start_time > #{startTime} and t.start_time <= #{endTime}"); - if(parameter.get("projectId") != null && (int)parameter.get("projectId") != 0){ - WHERE( "p.id = #{projectId} "); - }else{ - if(parameter.get("userType") != null && String.valueOf(parameter.get("userType")) == "GENERAL_USER") { - AND(); - WHERE(" p.id in (select project_id as id from `t_escheduler_relation_project_user` where user_id=#{userId} \n" + - "union select id as id from `t_escheduler_project` where user_id =#{userId})"); - } - } - GROUP_BY("t.state"); - } - }.toString(); - } - - /** - * list all processes by status - * - * @param parameter - * @return - */ - public String listByStatus(Map parameter) { - StringBuilder strStates = new StringBuilder(); - int[] stateArray = (int[]) parameter.get("states"); - - for(int i=0;i parameter) { - StringBuilder strStates = new StringBuilder(); - int[] stateArray = (int[]) parameter.get("states"); - - for(int i=0;i parameter) { - StringBuilder strStates = new StringBuilder(); - int[] stateArray = (int[]) parameter.get("states"); - - for(int i=0;i parameter) { - return new SQL() { - { - SELECT("process.*, UNIX_TIMESTAMP(process.end_time)-UNIX_TIMESTAMP(process.start_time) as duration"); - - FROM(TABLE_NAME + " process"); - - JOIN("t_escheduler_task_instance task"); - - WHERE("task.process_instance_id = process.id"); - - WHERE("task.id=#{taskId}"); - } - }.toString(); - } - - /** - * query instance by definition id - * @param parameter - * @return - */ - public String queryByProcessDefineId(Map parameter) { - return new SQL() { - { - SELECT("*,UNIX_TIMESTAMP(end_time)-UNIX_TIMESTAMP(start_time) as duration"); - - FROM(TABLE_NAME); - - WHERE("process_definition_id=#{processDefinitionId}"); - ORDER_BY("start_time desc limit #{size}"); - } - }.toString(); - } - - /** - * query process instance by definition and scheduler time - * @param parameter - * @return - */ - public String queryByScheduleTime(Map parameter) { - return new SQL() { - { - SELECT("*,UNIX_TIMESTAMP(end_time)-UNIX_TIMESTAMP(start_time) as duration"); - - FROM(TABLE_NAME); - - WHERE("process_definition_id=#{processDefinitionId} "); - if(parameter.get("scheduleTime") != null){ - WHERE("schedule_time=#{scheduleTime}"); - } - if(parameter.get("startTime") != null && parameter.get("endTime")!= null){ - WHERE("command_start_time between #{startTime} and #{endTime}"); - } - if(parameter.get("excludeId") != null && Integer.parseInt(parameter.get("excludeId").toString())!= 0){ - WHERE(" id not in ( #{excludeId}) "); - } - ORDER_BY("start_time desc limit 1"); - } - }.toString(); - } - - public String queryLastSchedulerProcess(Map parameter) { - return new SQL() { - { - SELECT("*"); - - FROM(TABLE_NAME); - - WHERE("process_definition_id=#{processDefinitionId} "); - if(parameter.get("startTime") != null && parameter.get("endTime") != null){ - WHERE("schedule_time between #{startTime} and #{endTime}"); - } - - ORDER_BY("end_time desc limit 1"); - } - }.toString(); - } - - public String queryLastManualProcess(Map parameter) { - return new SQL() { - { - SELECT("*"); - - FROM(TABLE_NAME); - - WHERE("process_definition_id=#{processDefinitionId} "); - if(parameter.get("startTime") != null && parameter.get("endTime") != null){ - WHERE("start_time between #{startTime} and #{endTime}"); - WHERE("`schedule_time` is null"); - } - ORDER_BY("end_time desc limit 1"); - } - }.toString(); - } - - public String queryLastRunningProcess(Map parameter) { - StringBuilder strStates = new StringBuilder(); - int[] stateArray = (int[]) parameter.get("states"); - - for(int i=0;i { - /** - * query project list paging - * @param userId - * @param offset - * @param pageSize - * @param searchVal - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "perm", column = "perm", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "defCount", column = "def_count", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "instRunningCount", column = "inst_running_count", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - }) - @SelectProvider(type = ProjectMapperProvider.class, method = "queryProjectListPaging") - List queryProjectListPaging(@Param("userId") Integer userId, - @Param("offset") Integer offset, - @Param("pageSize") Integer pageSize, - @Param("searchVal") String searchVal); + Project queryDetailById(@Param("projectId") int projectId); - /** - * count all projects - * @param searchVal - * @return - */ - @SelectProvider(type = ProjectMapperProvider.class, method = "countAllProjects") - Integer countAllProjects(@Param("searchVal") String searchVal); + Project queryByName(@Param("projectName") String projectName); - /** - * query all project list paging - * @param offset - * @param pageSize - * @param searchVal - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "perm", column = "perm", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "defCount", column = "def_count", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "instRunningCount", column = "inst_running_count", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - }) - @SelectProvider(type = ProjectMapperProvider.class, method = "queryAllProjectListPaging") - List queryAllProjectListPaging( - @Param("offset") Integer offset, - @Param("pageSize") Integer pageSize, - @Param("searchVal") String searchVal); + IPage queryProjectListPaging(IPage page, + @Param("userId") int userId, + @Param("searchName") String searchName); - /** - * authed project to user - * @param userId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "perm", column = "perm", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - }) - @SelectProvider(type = ProjectMapperProvider.class, method = "authedProject") - List authedProject(@Param("userId") Integer userId); + IPage queryAllProjectListPaging(IPage page, + @Param("searchName") String searchName); - /** - * query project except user - * @param userId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "perm", column = "perm", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - }) - @SelectProvider(type = ProjectMapperProvider.class, method = "queryProjectExceptUserId") - List queryProjectExceptUserId(@Param("userId") Integer userId); + List queryProjectCreatedByUser(@Param("userId") int userId); - /** - * query all project list - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "perm", column = "perm", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - }) - @SelectProvider(type = ProjectMapperProvider.class, method = "queryAllProjectList") - List queryAllProjectList(); + List queryAuthedProjectListByUserId(@Param("userId") int userId); + List queryProjectExceptUserId(@Param("userId") int userId); } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProjectMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProjectMapperProvider.java deleted file mode 100644 index dae8c62eec..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProjectMapperProvider.java +++ /dev/null @@ -1,256 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -/** - * project mapper provider - */ -public class ProjectMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_project"; - private static final String RELEATION_TABLE_NAME = "t_escheduler_relation_project_user"; - - /** - * insert project - * - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() { - { - INSERT_INTO(TABLE_NAME); - VALUES("`user_id`", "#{project.userId}"); - VALUES("`name`", "#{project.name}"); - VALUES("`desc`", "#{project.desc}"); - } - }.toString(); - } - - /** - * delete project - * - * @param parameter - * @return - */ - public String delete(Map parameter) { - return new SQL() { - { - DELETE_FROM(TABLE_NAME); - WHERE("`id`=#{projectId}"); - } - }.toString(); - } - - /** - * update project - * - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() { - { - UPDATE(TABLE_NAME); - - SET("`user_id`=#{project.userId}"); - SET("`name`=#{project.name}"); - SET("`desc`=#{project.desc}"); - SET("`update_time`=#{project.updateTime}"); - WHERE("`id`=#{project.id}"); - } - }.toString(); - } - - - - - /** - * query project by id - * - * @param parameter - * @return - */ - public String queryById(Map parameter) { - return new SQL() {{ - SELECT("p.user_id"); - SELECT("u.user_name"); - SELECT("p.*"); - - FROM(TABLE_NAME + " p"); - - JOIN("t_escheduler_user u on p.user_id = u.id"); - - WHERE("p.id = #{projectId}"); - }}.toString(); - } - - - /** - * query project by name - * - * @param parameter - * @return - */ - public String queryByName(Map parameter) { - return new SQL() {{ - SELECT("p.user_id"); - SELECT("u.user_name"); - SELECT("p.*"); - - FROM(TABLE_NAME + " p"); - - JOIN("t_escheduler_user u on p.user_id = u.id"); - - WHERE("p.name = #{name}"); - WHERE("p.flag = 1"); - }}.toString(); - } - - /** - * count project by user id and search value - * @param parameter - * @return - */ - public String countProjects(Map parameter) { - return new SQL() {{ - SELECT("count(0)"); - - FROM(TABLE_NAME + " p"); - WHERE("p.id in " + - "(select project_id from "+ RELEATION_TABLE_NAME+" where user_id=#{userId} " + - "union select id as project_id from "+ TABLE_NAME+" where user_id=#{userId})"); - - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " p.name like concat('%', #{searchVal}, '%') "); - } - WHERE("p.flag = 1"); - }}.toString(); - } - - /** - * query project list paging - * @param parameter - * @return - */ - public String queryProjectListPaging(Map parameter) { - return new SQL() {{ - SELECT("p.*"); - SELECT("u.user_name as user_name"); - SELECT("(SELECT COUNT(*) FROM t_escheduler_process_definition AS def WHERE def.project_id = p.id) AS def_count"); - SELECT("(SELECT COUNT(*) FROM t_escheduler_process_definition def, t_escheduler_process_instance inst WHERE def.id = inst.process_definition_id AND def.project_id = p.id AND inst.state=1 ) as inst_running_count"); - FROM(TABLE_NAME + " p"); - JOIN("t_escheduler_user u on u.id=p.user_id"); - WHERE("p.id in " + - "(select project_id from "+ RELEATION_TABLE_NAME+" where user_id=#{userId} " + - "union select id as project_id from "+ TABLE_NAME+" where user_id=#{userId})"); - - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " p.name like concat('%', #{searchVal}, '%') "); - } - WHERE(" p.flag = 1"); - ORDER_BY("p.create_time desc limit #{offset},#{pageSize} "); - }}.toString(); - } - - /** - * count all projects - * @return - */ - public String countAllProjects(Map parameter) { - return new SQL() {{ - SELECT("count(0)"); - - FROM(TABLE_NAME ); - - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " name like concat('%', #{searchVal}, '%') "); - } - WHERE("flag = 1"); - }}.toString(); - } - - /** - * query all project list paging - * @return - */ - public String queryAllProjectListPaging(Map parameter) { - return new SQL() {{ - SELECT("p.*"); - SELECT("u.user_name as user_name"); - SELECT("(SELECT COUNT(*) FROM t_escheduler_process_definition AS def WHERE def.project_id = p.id) AS def_count"); - SELECT("(SELECT COUNT(*) FROM t_escheduler_process_definition def, t_escheduler_process_instance inst WHERE def.id = inst.process_definition_id AND def.project_id = p.id AND inst.state=1 ) as inst_running_count"); - FROM(TABLE_NAME + " p"); - JOIN("t_escheduler_user u on p.user_id = u.id"); - - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " p.name like concat('%', #{searchVal}, '%') "); - } - WHERE(" p.flag = 1"); - ORDER_BY("p.create_time desc limit #{offset},#{pageSize} "); - }}.toString(); - } - - /** - * authed project to user - * @param parameter - * @return - */ - public String authedProject(Map parameter) { - return new SQL() {{ - SELECT("p.*"); - FROM(TABLE_NAME + " p,t_escheduler_relation_project_user rel"); - WHERE(" p.id = rel.project_id AND p.flag = 1 AND rel.user_id = #{userId}"); - }}.toString(); - } - - /** - * query project except user - * @param parameter - * @return - */ - public String queryProjectExceptUserId(Map parameter) { - return new SQL() {{ - SELECT("*"); - FROM(TABLE_NAME); - WHERE("flag = 1 AND user_id <> #{userId}"); - }}.toString(); - } - - /** - * query all project list - * @return - */ - public String queryAllProjectList() { - return new SQL() {{ - SELECT("*"); - FROM(TABLE_NAME); - WHERE("flag = 1"); - ORDER_BY("create_time desc"); - }}.toString(); - } - -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProjectUserMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProjectUserMapper.java index 5805fbe6b1..a8bf4ac3c5 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProjectUserMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProjectUserMapper.java @@ -16,68 +16,15 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.dao.model.ProjectUser; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.JdbcType; +import cn.escheduler.dao.entity.ProjectUser; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; -import java.util.Date; +public interface ProjectUserMapper extends BaseMapper { -/** - * project user relation mapper - */ -public interface ProjectUserMapper { - - /** - * insert project user relation - * - * @param projectUser - * @return - */ - @InsertProvider(type = ProjectUserMapperProvider.class, method = "insert") - int insert(@Param("projectUser") ProjectUser projectUser); - - /** - * delete project user relation - * @param projectId - * @param userId - * @return - */ - @DeleteProvider(type = ProjectUserMapperProvider.class, method = "delete") - int delete(@Param("projectId") int projectId, @Param("userId") int userId); - - /** - * update project user relation - * - * @param projectUser - * @return - */ - @UpdateProvider(type = ProjectUserMapperProvider.class, method = "update") - int update(@Param("projectUser") ProjectUser projectUser); - - /** - * query project user relation by project id and user id - * - * @param projectId - * @param userId - * @return - */ - @Results(value = {@Result(property = "projectId", column = "project_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "projectName", column = "project_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "perm", column = "perm", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "createTime", column = "create_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "updateTime", column = "update_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP)}) - @SelectProvider(type = ProjectUserMapperProvider.class, method = "query") - ProjectUser query(@Param("projectId") int projectId, @Param("userId") int userId); - - - /** - * delete project relation by user id - * @param userId - * @return - */ - @DeleteProvider(type = ProjectUserMapperProvider.class, method = "deleteByUserId") - int deleteByUserId(@Param("userId") int userId); + int deleteProjectRelation(@Param("projectId") int projectId, + @Param("userId") int userId); + ProjectUser queryProjectRelation(@Param("projectId") int projectId, + @Param("userId") int userId); } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProjectUserMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProjectUserMapperProvider.java deleted file mode 100644 index 1461bd89a7..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProjectUserMapperProvider.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -/** - * project user mapper provider - */ -public class ProjectUserMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_relation_project_user"; - private static final String USER_TABLE_NAME = "t_escheduler_user"; - private static final String PROJECT_TABLE_NAME = "t_escheduler_project"; - - - /** - * insert project user relation - * - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() {{ - INSERT_INTO(TABLE_NAME); - - VALUES("`project_id`", "#{projectUser.projectId}"); - VALUES("`user_id`", "#{projectUser.userId}"); - VALUES("`perm`", "#{projectUser.perm}"); - VALUES("`create_time`", "#{projectUser.createTime}"); - VALUES("`update_time`", "#{projectUser.updateTime}"); - }}.toString(); - } - - /** - * update project user relation - * - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() {{ - UPDATE(TABLE_NAME); - - SET("`perm`=#{projectUser.perm}"); - SET("`update_time`=#{projectUser.updateTime}"); - - WHERE("`project_id` = #{projectUser.projectId}"); - WHERE("`user_id` = #{projectUser.userId}"); - }}.toString(); - } - - /** - * delete project user relation - * - * @param parameter - * @return - */ - public String delete(Map parameter) { - return new SQL() {{ - DELETE_FROM(TABLE_NAME); - - WHERE("`project_id` = #{projectId}"); - WHERE("`user_id` = #{userId}"); - }}.toString(); - } - - /** - * query project user relation by project id and user id - * - * @param parameter - * @return - */ - public String query(Map parameter) { - return new SQL() {{ - SELECT("p_u.*"); - SELECT("u.user_name as user_name, p.name as project_name"); - - FROM(TABLE_NAME + " p_u"); - - JOIN(USER_TABLE_NAME + " u on p_u.user_id = u.id"); - JOIN(PROJECT_TABLE_NAME + " p on p_u.project_id = p.id"); - WHERE("p_u.project_id = #{projectId} "); - WHERE("p_u.user_id = #{userId}"); - }}.toString(); - } - - /** - * delete project relation by user id - * - * @param parameter - * @return - */ - public String deleteByUserId(Map parameter) { - return new SQL() {{ - DELETE_FROM(TABLE_NAME); - - WHERE("`user_id` = #{userId}"); - }}.toString(); - } -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/QueueMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/QueueMapper.java index c5ca32429c..2cc31bb8e2 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/QueueMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/QueueMapper.java @@ -16,104 +16,20 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.dao.model.Queue; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.JdbcType; - -import java.sql.Timestamp; -import java.util.List; +import cn.escheduler.dao.entity.Queue; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; /** - * queue mapper + * */ -public interface QueueMapper { - - /** - * insert queue - * @param queue - * @return - */ - @InsertProvider(type = QueueMapperProvider.class, method = "insert") - @Options(useGeneratedKeys = true,keyProperty = "queue.id") - @SelectKey(statement = "SELECT LAST_INSERT_ID()", keyProperty = "queue.id", before = false, resultType = int.class) - int insert(@Param("queue") Queue queue); - - - /** - * delete queue - * @param queueId - * @return - */ - @DeleteProvider(type = QueueMapperProvider.class, method = "delete") - int delete(@Param("queueId") int queueId); - - - /** - * update queue - * - * @param queue - * @return - */ - @UpdateProvider(type = QueueMapperProvider.class, method = "update") - int update(@Param("queue") Queue queue); +public interface QueueMapper extends BaseMapper { + IPage queryQueuePaging(IPage page, + @Param("searchVal") String searchVal); - /** - * query queue by id - * @param queueId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "queueName", column = "queue_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "queue", column = "queue", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = QueueMapperProvider.class, method = "queryById") - Queue queryById(@Param("queueId") int queueId); - - - /** - * query all queue list - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "queueName", column = "queue_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "queue", column = "queue", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = QueueMapperProvider.class, method = "queryAllQueue") - List queryAllQueue(); - - /** - * query all queue list - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "queueName", column = "queue_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "queue", column = "queue", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = QueueMapperProvider.class, method = "queryQueuePaging") - List queryQueuePaging(@Param("searchVal") String searchVal, - @Param("offset") Integer offset, - @Param("pageSize") Integer pageSize); - - /** - * count queue by search value - * @param searchVal - * @return - */ - @SelectProvider(type = QueueMapperProvider.class, method = "countQueuePaging") - Integer countQueuePaging(@Param("searchVal") String searchVal); - - @SelectProvider(type = QueueMapperProvider.class, method = "queryByQueue") Queue queryByQueue(@Param("queue") String queue); - @SelectProvider(type = QueueMapperProvider.class, method = "queryByQueueName") Queue queryByQueueName(@Param("queueName") String queueName); - - } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/QueueMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/QueueMapperProvider.java deleted file mode 100644 index 9ce6d187f3..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/QueueMapperProvider.java +++ /dev/null @@ -1,191 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -/** - * queue mapper provider - */ -public class QueueMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_queue"; - - /** - * insert queue - * - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() { - { - INSERT_INTO(TABLE_NAME); - VALUES("`queue_name`", "#{queue.queueName}"); - VALUES("`queue`", "#{queue.queue}"); - VALUES("`create_time`", "#{queue.createTime}"); - VALUES("`update_time`", "#{queue.updateTime}"); - } - }.toString(); - } - - /** - * delete queue - * - * @param parameter - * @return - */ - public String delete(Map parameter) { - return new SQL() { - { - DELETE_FROM(TABLE_NAME); - - WHERE("`id`=#{queueId}"); - } - }.toString(); - } - - /** - * update queue - * - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() { - { - UPDATE(TABLE_NAME); - - SET("`queue_name`=#{queue.queueName}"); - SET("`queue`=#{queue.queue}"); - SET("`update_time`=#{queue.updateTime}"); - - WHERE("`id`=#{queue.id}"); - } - }.toString(); - } - - - /** - * query queue by id - * - * @param parameter - * @return - */ - public String queryById(Map parameter) { - return new SQL() { - { - SELECT("*"); - - FROM(TABLE_NAME); - - WHERE("`id` = #{queueId}"); - } - }.toString(); - } - - /** - * query all queue list - * @param parameter - * @return - */ - public String queryAllQueue(Map parameter) { - return new SQL() { - { - SELECT("*"); - - FROM(TABLE_NAME); - } - }.toString(); - } - - /** - * count queue by search value - * @param parameter - * @return - */ - public String countQueuePaging(Map parameter) { - return new SQL() {{ - SELECT("count(0)"); - FROM(TABLE_NAME); - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " queue_name like concat('%', #{searchVal}, '%') "); - } - }}.toString(); - } - - /** - * query tenant list paging - * @param parameter - * @return - */ - public String queryQueuePaging(Map parameter) { - return new SQL() { - { - SELECT("*"); - FROM(TABLE_NAME); - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " queue_name like concat('%', #{searchVal}, '%') "); - } - ORDER_BY(" update_time desc limit #{offset},#{pageSize} "); - } - }.toString(); - - } - - /** - * query by queue - * - * @param parameter - * @return - */ - public String queryByQueue(Map parameter) { - return new SQL() { - { - SELECT("*"); - - FROM(TABLE_NAME); - - WHERE("`queue` = #{queue}"); - } - }.toString(); - } - - /** - * query by queue name - * - * @param parameter - * @return - */ - public String queryByQueueName(Map parameter) { - return new SQL() { - { - SELECT("*"); - - FROM(TABLE_NAME); - - WHERE("`queue_name` = #{queueName}"); - } - }.toString(); - } - -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ResourceMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ResourceMapper.java index c57d15128d..bb2f25138c 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ResourceMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ResourceMapper.java @@ -16,279 +16,57 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.common.enums.ResourceType; -import cn.escheduler.dao.model.Resource; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.EnumOrdinalTypeHandler; -import org.apache.ibatis.type.JdbcType; +import cn.escheduler.dao.entity.Resource; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; -import java.sql.Timestamp; import java.util.List; -/** - * resource mapper - */ -public interface ResourceMapper { - - /** - * insert resource - * - * @param resource - * @return - */ - @InsertProvider(type = ResourceMapperProvider.class, method = "insert") - @SelectKey(statement = "SELECT LAST_INSERT_ID() AS id", keyProperty = "resource.id", resultType = int.class, before = false) - int insert(@Param("resource") Resource resource); - - /** - * query resource by alias - * - * @param alias - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "alias", column = "alias", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "fileName", column = "file_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = ResourceType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = ResourceMapperProvider.class, method = "queryResource") - Resource queryResource(@Param("alias") String alias); - - /** - * query resource by name and resource type - * @param alias - * @param type - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "alias", column = "alias", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "fileName", column = "file_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = ResourceType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = ResourceMapperProvider.class, method = "queryResourceByNameAndType") - Resource queryResourceByNameAndType(@Param("alias") String alias,@Param("type") int type); - - /** - * query resource by id - * - * @param id - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "alias", column = "alias", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "fileName", column = "file_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = ResourceType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = ResourceMapperProvider.class, method = "queryResourceById") - Resource queryResourceById(@Param("id") int id); - - /** - * update resource - * - * @param resource - * @return - */ - @UpdateProvider(type = ResourceMapperProvider.class, method = "update") - int update(@Param("resource") Resource resource); - - /** - * delete resource - * - * @param resourceId - * @return - */ - @DeleteProvider(type = ResourceMapperProvider.class, method = "delete") - int delete(@Param("resourceId") int resourceId); - - /** - * query resource list that the appointed user has permission - * @param userId - * @param type - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "alias", column = "alias", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "fileName", column = "file_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = ResourceType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "size", column = "size", javaType = Long.class, jdbcType = JdbcType.BIGINT), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = ResourceMapperProvider.class, method = "queryResourceListAuthored") - List queryResourceListAuthored(@Param("userId") int userId, @Param("type") int type); +public interface ResourceMapper extends BaseMapper { - /** - * query resource list paging by user id - * @param userId - * @param type - * @param searchVal - * @param offset - * @param pageSize - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "alias", column = "alias", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "fileName", column = "file_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = ResourceType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "size", column = "size", javaType = Long.class, jdbcType = JdbcType.BIGINT), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = ResourceMapperProvider.class, method = "queryResourceAuthoredPaging") - List queryResourceAuthoredPaging(@Param("userId") int userId, @Param("type") int type, - @Param("searchVal") String searchVal, - @Param("offset") int offset, - @Param("pageSize") int pageSize); - - /** - * query all resource list paging - * @param type - * @param searchVal - * @param offset - * @param pageSize - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "alias", column = "alias", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "fileName", column = "file_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = ResourceType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "size", column = "size", javaType = Long.class, jdbcType = JdbcType.BIGINT), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = ResourceMapperProvider.class, method = "queryAllResourceListPaging") - List queryAllResourceListPaging(@Param("type") int type, - @Param("searchVal") String searchVal, - @Param("offset") int offset, - @Param("pageSize") int pageSize); - - /** - * count resource number by user id - * - * @param userId - * @return - */ - @SelectProvider(type = ResourceMapperProvider.class, method = "countResourceNumber") - int countResourceNumber(@Param("userId") int userId); + /** + * + * @param alias query all if null + * @param userId query all if -1 + * @param type query all type if -1 + * @return + */ + List queryResourceList(@Param("alias") String alias, + @Param("userId") int userId, + @Param("type") int type); - /** - * count resource number by user id and type - * - * @param userId - * @param type - * @return - */ - @SelectProvider(type = ResourceMapperProvider.class, method = "countResourceNumberByType") - int countResourceNumberByType(@Param("userId") int userId,@Param("type") int type); - /** - * count resource number by type - * - * @param type - * @return - */ - @SelectProvider(type = ResourceMapperProvider.class, method = "countAllResourceNumberByType") - int countAllResourceNumberByType(@Param("type") int type); + /** + * + * @param page + * @param userId query all if -1, then query the authed resources + * @param type + * @param searchVal + * @return + */ + IPage queryResourcePaging(IPage page, + @Param("userId") int userId, + @Param("type") int type, + @Param("searchVal") String searchVal); /** - * query resource list authorized appointed user + * * @param userId + * @param type * @return */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "alias", column = "alias", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "fileName", column = "file_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = ResourceType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "size", column = "size", javaType = Long.class, jdbcType = JdbcType.BIGINT), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = ResourceMapperProvider.class, method = "queryAuthorizedResourceList") - List queryAuthorizedResourceList(@Param("userId") int userId); - - /** - * - * query all resource list except user - * @param userId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "alias", column = "alias", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "fileName", column = "file_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = ResourceType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "size", column = "size", javaType = Long.class, jdbcType = JdbcType.BIGINT), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = ResourceMapperProvider.class, method = "queryResourceExceptUserId") - List queryResourceExceptUserId(@Param("userId") int userId); - - /** - * query resource list that created by the appointed user - * @param userId - * @param type - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "alias", column = "alias", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "fileName", column = "file_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = ResourceType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "size", column = "size", javaType = Long.class, jdbcType = JdbcType.BIGINT), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = ResourceMapperProvider.class, method = "queryResourceCreatedByUser") - List queryResourceCreatedByUser(@Param("userId") int userId, @Param("type") int type); - + List queryResourceListAuthored(@Param("userId") int userId, @Param("type") int type); /** - * query tenant code by resource name * - * @param resName + * @param userId * @return */ - @SelectProvider(type = ResourceMapperProvider.class, method = "queryTenantCodeByResourceName") - String queryTenantCodeByResourceName(@Param("resName") String resName); + List queryAuthorizedResourceList(@Param("userId") int userId); + + List queryResourceExceptUserId(@Param("userId") int userId); + - /** - * query resource list that the appointed user has permission - * @param type - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "alias", column = "alias", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "fileName", column = "file_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = ResourceType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "size", column = "size", javaType = Long.class, jdbcType = JdbcType.BIGINT), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = ResourceMapperProvider.class, method = "listAllResourceByType") - List listAllResourceByType(@Param("type") Integer type); + String queryTenantCodeByResourceName(@Param("resName") String resName); } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ResourceMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ResourceMapperProvider.java deleted file mode 100644 index a943bb6ba4..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ResourceMapperProvider.java +++ /dev/null @@ -1,313 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import cn.escheduler.common.enums.ResourceType; -import cn.escheduler.common.utils.EnumFieldUtil; -import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -/** - * resource mapper provider - */ -public class ResourceMapperProvider { - - private final String TABLE_NAME = "t_escheduler_resources"; - - public static final String USER_TABLE_NAME = "t_escheduler_user"; - public static final String USER_RESOURCE_RELATION_TABLE_NAME = "t_escheduler_relation_resources_user"; - public static final String PROJECT_TABLE_NAME = "t_escheduler_project"; - public static final String TENANT_TABLE_NAME="t_escheduler_tenant"; - - /** - * insert resource - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() { - { - INSERT_INTO(TABLE_NAME); - - VALUES("`alias`", "#{resource.alias}"); - VALUES("`file_name`", "#{resource.fileName}"); - VALUES("`desc`", "#{resource.desc}"); - VALUES("`user_id`", "#{resource.userId}"); - VALUES("`create_time`", "#{resource.createTime}"); - VALUES("`update_time`", "#{resource.updateTime}"); - VALUES("`type`", EnumFieldUtil.genFieldStr("resource.type", ResourceType.class)); - VALUES("`size`", "#{resource.size}"); - } - }.toString(); - } - - /** - * query resource by name - * - * @param parameter - * @return - */ - public String queryResource(Map parameter) { - return new SQL() { - { - SELECT("*"); - FROM(TABLE_NAME); - WHERE("alias = #{alias}"); - } - }.toString(); - } - - /** - * query resource by name and resource type - * @param parameter - * @return - */ - public String queryResourceByNameAndType(Map parameter) { - return new SQL() { - { - SELECT("*"); - FROM(TABLE_NAME); - WHERE("alias = #{alias}"); - WHERE("type = #{type}"); - } - }.toString(); - } - - /** - * query resource by id - * - * @param parameter - * @return - */ - public String queryResourceById(Map parameter) { - return new SQL() { - { - SELECT("*"); - FROM(TABLE_NAME); - WHERE("id = #{id}"); - } - }.toString(); - } - - /** - * update resource - * - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() {{ - UPDATE(TABLE_NAME); - - SET("`alias` = #{resource.alias}"); - SET("`desc` = #{resource.desc}"); - SET("`update_time` = #{resource.updateTime}"); - SET("`size` = #{resource.size}"); - WHERE("`id` = #{resource.id}"); - }}.toString(); - } - - /** - * delete resource by id - * - * @param parameter - * @return - */ - public String delete(Map parameter) { - return new SQL() { - { - DELETE_FROM(TABLE_NAME); - - WHERE("`id` = #{resourceId}"); - } - }.toString(); - } - - /** - * query resource list by user id - * - * @param parameter - * @return - */ - public String queryResourceListAuthored(Map parameter) { - return new SQL() {{ - - SELECT("*"); - - FROM(TABLE_NAME); - WHERE("type=#{type}"); - WHERE("id in (select resources_id from "+USER_RESOURCE_RELATION_TABLE_NAME+" where user_id=#{userId} union select id as resources_id from "+TABLE_NAME+" where user_id=#{userId})"); - - }}.toString(); - } - - /** - * query resource list paging by user id - * @param parameter - * @return - */ - public String queryResourceAuthoredPaging(Map parameter) { - - return new SQL() {{ - SELECT("*"); - - FROM(TABLE_NAME ); - WHERE("type=#{type}"); - WHERE("id in (select resources_id from "+USER_RESOURCE_RELATION_TABLE_NAME+" where user_id=#{userId} union select id as resources_id from "+TABLE_NAME+" where user_id=#{userId})"); - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " alias like concat('%', #{searchVal}, '%') "); - } - ORDER_BY("update_time desc limit #{offset},#{pageSize} "); - }}.toString(); - } - - /** - * - * query all resource list paging - * @param parameter - * @return - */ - public String queryAllResourceListPaging(Map parameter) { - - return new SQL() {{ - SELECT("*"); - - FROM(TABLE_NAME); - WHERE("type=#{type}"); - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " alias like concat('%', #{searchVal}, '%') "); - } - ORDER_BY("update_time desc limit #{offset},#{pageSize} "); - }}.toString(); - } - - /** - * count resource number by user id - * @param parameter - * @return - */ - public String countResourceNumber(Map parameter) { - return new SQL() {{ - SELECT("count(0)"); - - FROM("(select resources_id from t_escheduler_relation_resources_user where user_id=#{userId} union select id as resources_id from t_escheduler_resources where user_id=#{userId}) t"); - - }}.toString(); - } - - /** - * count resource number by user id and type - * @param parameter - * @return - */ - public String countResourceNumberByType(Map parameter) { - return new SQL() {{ - SELECT("count(0)"); - FROM(TABLE_NAME ); - WHERE("type=#{type}"); - WHERE("id in (select resources_id from " + USER_RESOURCE_RELATION_TABLE_NAME + " where user_id=#{userId} union select id as resources_id from " + TABLE_NAME + " where user_id=#{userId})"); - - }}.toString(); - } - - /** - * count resource number by type - * @param parameter - * @return - */ - public String countAllResourceNumberByType(Map parameter) { - return new SQL() {{ - SELECT("count(0)"); - FROM(TABLE_NAME); - WHERE("type=#{type}"); - }}.toString(); - } - - - - /** - * query resource list authorized appointed user - * @param parameter - * @return - */ - public String queryAuthorizedResourceList(Map parameter) { - return new SQL() {{ - SELECT("r.*"); - FROM(TABLE_NAME + " r,t_escheduler_relation_resources_user rel"); - WHERE(" r.id = rel.resources_id AND rel.user_id = #{userId}"); - }}.toString(); - } - - - /** - * query all resource list except user - * @param parameter - * @return - */ - public String queryResourceExceptUserId(Map parameter) { - return new SQL() {{ - SELECT("*"); - FROM(TABLE_NAME); - WHERE("user_id <> #{userId}"); - }}.toString(); - } - - /** - * query tenant code by resource name - * @param parameter - * @return - */ - public String queryTenantCodeByResourceName(Map parameter) { - return new SQL() {{ - SELECT("tenant_code"); - FROM(TENANT_TABLE_NAME + " t," + USER_TABLE_NAME + " u," + TABLE_NAME + " res"); - WHERE(" t.id = u.tenant_id and u.id = res.user_id and res.type=0 and res.alias= #{resName}"); - }}.toString(); - } - - /** - * query resource list that created by the appointed user - * @param parameter - * @return - */ - public String queryResourceCreatedByUser(Map parameter) { - return new SQL() {{ - SELECT("*"); - FROM(TABLE_NAME); - WHERE("type = #{type} and user_id = #{userId}"); - }}.toString(); - } - - /** - * list all resource by type - * - * @param parameter - * @return - */ - public String listAllResourceByType(Map parameter) { - return new SQL() {{ - SELECT("*"); - FROM(TABLE_NAME); - WHERE("type = #{type}"); - }}.toString(); - } - -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ResourcesUserMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ResourcesUserMapper.java deleted file mode 100644 index 6f26f1aa57..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ResourcesUserMapper.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import cn.escheduler.dao.model.ResourcesUser; -import org.apache.ibatis.annotations.DeleteProvider; -import org.apache.ibatis.annotations.InsertProvider; -import org.apache.ibatis.annotations.Param; - -/** - * resource user mapper - */ -public interface ResourcesUserMapper { - /** - * insert resource user - * - * @param resourcesUser - * @return - */ - @InsertProvider(type = ResourcesUserMapperProvider.class, method = "insert") - int insert(@Param("resourcesUser") ResourcesUser resourcesUser); - - - /** - * delete resource relation by user id - * @param userId - * @return - */ - @DeleteProvider(type = ResourcesUserMapperProvider.class, method = "deleteByUserId") - int deleteByUserId(@Param("userId") int userId); - - /** - * delete resource relation by resource id - * @param resourceId - * @return - */ - @DeleteProvider(type = ResourcesUserMapperProvider.class, method = "deleteByResourceId") - int deleteByResourceId(@Param("resourceId") int resourceId); - -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ResourcesUserMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ResourcesUserMapperProvider.java deleted file mode 100644 index 67d2eb47f3..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ResourcesUserMapperProvider.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -/** - * resource user mapper provider - */ -public class ResourcesUserMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_relation_resources_user"; - - - /** - * insert resource user - * - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() {{ - INSERT_INTO(TABLE_NAME); - - VALUES("`resources_id`", "#{resourcesUser.resourcesId}"); - VALUES("`user_id`", "#{resourcesUser.userId}"); - VALUES("`perm`", "#{resourcesUser.perm}"); - VALUES("`create_time`", "#{resourcesUser.createTime}"); - VALUES("`update_time`", "#{resourcesUser.updateTime}"); - }}.toString(); - } - - - /** - * delete resource relation by user id - * - * @param parameter - * @return - */ - public String deleteByUserId(Map parameter) { - return new SQL() {{ - DELETE_FROM(TABLE_NAME); - - WHERE("`user_id` = #{userId}"); - }}.toString(); - } - - /** - * delete resource relation by resource id - * - * @param parameter - * @return - */ - public String deleteByResourceId(Map parameter) { - return new SQL() {{ - DELETE_FROM(TABLE_NAME); - - WHERE("`resources_id` = #{resourceId}"); - }}.toString(); - } -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ScheduleMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ScheduleMapper.java index 31cc99232a..4457f98aad 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ScheduleMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ScheduleMapper.java @@ -16,193 +16,24 @@ */ package cn.escheduler.dao.mapper; +import cn.escheduler.dao.entity.Schedule; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; -import cn.escheduler.common.enums.FailureStrategy; -import cn.escheduler.common.enums.Priority; -import cn.escheduler.common.enums.ReleaseState; -import cn.escheduler.common.enums.WarningType; -import cn.escheduler.dao.model.Schedule; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.EnumOrdinalTypeHandler; -import org.apache.ibatis.type.JdbcType; - -import java.util.Date; import java.util.List; -/** - * scheduler mapper - */ -public interface ScheduleMapper { - - /** - * insert scheduler - * @param schedule - * @return - */ - @InsertProvider(type = ScheduleMapperProvider.class, method = "insert") - int insert(@Param("schedule") Schedule schedule); - - /** - * update schedule info - * @param schedule - * @return - */ - @UpdateProvider(type = ScheduleMapperProvider.class, method = "update") - int update(@Param("schedule") Schedule schedule); - - /** - * query schedule list by process define id - * - * @param processDefinitionId - * @param searchVal - * @param offset - * @param pageSize - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processDefinitionId", column = "process_definition_id",javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processDefinitionName", column = "process_definition_name", javaType =String.class, jdbcType = JdbcType.INTEGER), - @Result(property = "projectName", column = "project_name", javaType = String.class, jdbcType = JdbcType.INTEGER), - @Result(property = "startTime", column = "start_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "endTime", column = "end_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "crontab", column = "crontab", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "failureStrategy", column = "failure_strategy", typeHandler = EnumOrdinalTypeHandler.class, javaType = FailureStrategy.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningType", column = "warning_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = WarningType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "createTime", column = "create_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "updateTime", column = "update_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.INTEGER), - @Result(property = "releaseState", column = "release_state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ReleaseState.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningGroupId", column = "warning_group_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstancePriority", column = "process_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - }) - @SelectProvider(type = ScheduleMapperProvider.class, method = "queryByProcessDefineIdPaging") - List queryByProcessDefineIdPaging(@Param("processDefinitionId") int processDefinitionId, - @Param("searchVal") String searchVal, - @Param("offset") int offset, - @Param("pageSize") int pageSize); - - /** - * count schedule number by process definition id and search value - * @param processDefinitionId - * @param searchVal - * @return - */ - @SelectProvider(type = ScheduleMapperProvider.class, method = "countByProcessDefineId") - Integer countByProcessDefineId(@Param("processDefinitionId") Integer processDefinitionId, - @Param("searchVal") String searchVal - ); - - /** - * query schedule list by project id - * - * @param projectName - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "projectName", column = "project_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "processDefinitionName", column = "process_definition_name", id = true, javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", id = true, javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "processDefinitionId", column = "process_definition_id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "startTime", column = "start_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "endTime", column = "end_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "crontab", column = "crontab", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "failureStrategy", column = "failure_strategy", typeHandler = EnumOrdinalTypeHandler.class, javaType = FailureStrategy.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningType", column = "warning_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = WarningType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "createTime", column = "create_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "updateTime", column = "update_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.INTEGER), - @Result(property = "releaseState", column = "release_state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ReleaseState.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningGroupId", column = "warning_group_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstancePriority", column = "process_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - }) - @SelectProvider(type = ScheduleMapperProvider.class, method = "querySchedulerListByProjectName") - List querySchedulerListByProjectName(@Param("projectName") String projectName); +public interface ScheduleMapper extends BaseMapper { - /** - * query schedule by id - * @param id - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processDefinitionId", column = "process_definition_id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "startTime", column = "start_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "endTime", column = "end_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "crontab", column = "crontab", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "failureStrategy", column = "failure_strategy", typeHandler = EnumOrdinalTypeHandler.class, javaType = FailureStrategy.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningType", column = "warning_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = WarningType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "createTime", column = "create_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "updateTime", column = "update_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "releaseState", column = "release_state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ReleaseState.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningGroupId", column = "warning_group_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstancePriority", column = "process_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - }) - @SelectProvider(type = ScheduleMapperProvider.class, method = "queryById") - Schedule queryById(@Param("id") int id); + IPage queryByProcessDefineIdPaging(IPage page, + @Param("processDefinitionId") int processDefinitionId, + @Param("searchVal") String searchVal); + List querySchedulerListByProjectName(@Param("projectName") String projectName); - /** - * query schedule list by definition array - * @param processDefineIds - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processDefinitionId", column = "process_definition_id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "startTime", column = "start_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "endTime", column = "end_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "crontab", column = "crontab", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "failureStrategy", column = "failure_strategy", typeHandler = EnumOrdinalTypeHandler.class, javaType = FailureStrategy.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningType", column = "warning_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = WarningType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "createTime", column = "create_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "updateTime", column = "update_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "releaseState", column = "release_state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ReleaseState.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningGroupId", column = "warning_group_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstancePriority", column = "process_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - }) - @SelectProvider(type = ScheduleMapperProvider.class, method = "selectAllByProcessDefineArray") - List selectAllByProcessDefineArray(@Param("processDefineIds") int[] processDefineIds); - /** - * query schedule list by definition id - * @param processDefinitionId - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processDefinitionId", column = "process_definition_id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "startTime", column = "start_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "endTime", column = "end_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "crontab", column = "crontab", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "failureStrategy", column = "failure_strategy", typeHandler = EnumOrdinalTypeHandler.class, javaType = FailureStrategy.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningType", column = "warning_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = WarningType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "createTime", column = "create_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "updateTime", column = "update_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "releaseState", column = "release_state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ReleaseState.class, jdbcType = JdbcType.TINYINT), - @Result(property = "warningGroupId", column = "warning_group_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstancePriority", column = "process_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - }) - @SelectProvider(type = ScheduleMapperProvider.class, method = "queryByProcessDefinitionId") - List queryByProcessDefinitionId(@Param("processDefinitionId") int processDefinitionId); + List selectAllByProcessDefineArray(@Param("processDefineIds") String processDefineIds); - /** - * delete schedule by id - * @param scheduleId - * @return - */ - @DeleteProvider(type = ScheduleMapperProvider.class, method = "delete") - int delete(@Param("scheduleId") int scheduleId); + List queryByProcessDefinitionId(@Param("processDefinitionId") int processDefinitionId); } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ScheduleMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ScheduleMapperProvider.java deleted file mode 100644 index 85718b8cc1..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ScheduleMapperProvider.java +++ /dev/null @@ -1,214 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import cn.escheduler.common.enums.FailureStrategy; -import cn.escheduler.common.enums.Priority; -import cn.escheduler.common.enums.ReleaseState; -import cn.escheduler.common.enums.WarningType; -import cn.escheduler.common.utils.EnumFieldUtil; -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -/** - * scheduler mapper provider - */ -public class ScheduleMapperProvider { - - public static final String DB_NAME = "t_escheduler_schedules"; - public static final String DEFINE_TABLE_NAME = "t_escheduler_process_definition"; - - public String insert(Map parameter) { - return new SQL() {{ - INSERT_INTO(DB_NAME); - - VALUES("`process_definition_id`", "#{schedule.processDefinitionId}"); - VALUES("`start_time`", "#{schedule.startTime}"); - VALUES("`end_time`", "#{schedule.endTime}"); - VALUES("`crontab`", "#{schedule.crontab}"); - VALUES("`failure_strategy`", EnumFieldUtil.genFieldStr("schedule.failureStrategy", FailureStrategy.class)); - VALUES("`warning_type`", EnumFieldUtil.genFieldStr("schedule.warningType", WarningType.class)); - VALUES("`create_time`", "#{schedule.createTime}"); - VALUES("`update_time`", "#{schedule.updateTime}"); - VALUES("`user_id`", "#{schedule.userId}"); - VALUES("`release_state`", EnumFieldUtil.genFieldStr("schedule.releaseState", ReleaseState.class)); - VALUES("`warning_group_id`", "#{schedule.warningGroupId}"); - VALUES("`worker_group_id`", "#{schedule.workerGroupId}"); - VALUES("`process_instance_priority`", EnumFieldUtil.genFieldStr("schedule.processInstancePriority", Priority.class)); - }}.toString(); - } - - public String update(Map parameter) { - return new SQL() { - { - UPDATE(DB_NAME); - - SET("`start_time`=#{schedule.startTime}"); - SET("`end_time`=#{schedule.endTime}"); - SET("`crontab`=#{schedule.crontab}"); - SET("`failure_strategy`=" + EnumFieldUtil.genFieldStr("schedule.failureStrategy", FailureStrategy.class)); - SET("`warning_type`=" + EnumFieldUtil.genFieldStr("schedule.warningType", WarningType.class)); - SET("`create_time`=#{schedule.createTime}"); - SET("`update_time`=#{schedule.updateTime}"); - SET("`user_id`=#{schedule.userId}"); - SET("`release_state`=" + EnumFieldUtil.genFieldStr("schedule.releaseState", ReleaseState.class)); - SET("`warning_group_id`=#{schedule.warningGroupId}"); - SET("`worker_group_id`=#{schedule.workerGroupId}"); - SET("`process_instance_priority`="+ EnumFieldUtil.genFieldStr("schedule.processInstancePriority", Priority.class)); - - WHERE("`id` = #{schedule.id}"); - } - }.toString(); - } - - /** - * query schedule by id - * @param parameter - * @return - */ - public String queryById(Map parameter) { - return new SQL() {{ - SELECT("*"); - FROM(DB_NAME); - WHERE("`id` = #{id}"); - }}.toString(); - } - - /** - * query schedule list by process define id - * @param parameter - * @return - */ - public String queryByProcessDefineIdPaging(Map parameter) { - return new SQL() {{ - SELECT("p_f.name as process_definition_name"); - SELECT("p.name as project_name"); - SELECT("u.user_name"); - SELECT("s.*"); - - FROM(DB_NAME + " as s"); - - JOIN(DEFINE_TABLE_NAME + " as p_f on s.process_definition_id = p_f.id"); - JOIN("t_escheduler_project as p on p_f.project_id = p.id"); - JOIN("t_escheduler_user as u on s.user_id = u.id"); - if(parameter.get("processDefinitionId") != null && (int)parameter.get("processDefinitionId") != 0) { - WHERE("s.process_definition_id = #{processDefinitionId}"); - } - ORDER_BY("s.update_time desc limit #{offset},#{pageSize}"); - }}.toString(); - } - - /** - * count schedule number by process definition id and search value - * @param parameter - * @return - */ - public String countByProcessDefineId(Map parameter) { - return new SQL() {{ - SELECT("count(0)"); - - FROM(DB_NAME + " as s"); - - JOIN(DEFINE_TABLE_NAME + " as p_f on s.process_definition_id = p_f.id"); - JOIN("t_escheduler_project as p on p_f.project_id = p.id"); - JOIN("t_escheduler_user as u on s.user_id = u.id"); - if(parameter.get("processDefinitionId") != null && (int)parameter.get("processDefinitionId") != 0) { - WHERE("s.process_definition_id = #{processDefinitionId}"); - } - }}.toString(); - } - - /** - * query schedule list by project id - * @param parameter - * @return - */ - public String querySchedulerListByProjectName(Map parameter) { - return new SQL() {{ - SELECT("p_f.name as process_definition_name"); - SELECT("p_f.desc as `desc`"); - SELECT("p.name as project_name"); - SELECT("u.user_name"); - SELECT("s.*"); - - FROM(DB_NAME + " as s"); - - JOIN( DEFINE_TABLE_NAME + " as p_f on s.process_definition_id = p_f.id"); - JOIN("t_escheduler_project as p on p_f.project_id = p.id"); - JOIN("t_escheduler_user as u on s.user_id = u.id"); - - WHERE("p.name = #{projectName}"); - }}.toString(); - } - - /** - * query schedule list by definition array - * @param parameter - * @return - */ - public String selectAllByProcessDefineArray(Map parameter) { - - StringBuilder strIds = new StringBuilder(); - int[] idsArray = (int[]) parameter.get("processDefineIds"); - for(int i=0;i parameter) { - - return new SQL() {{ - SELECT("*"); - FROM(DB_NAME); - WHERE("process_definition_id = #{processDefinitionId}"); - }}.toString(); - } - - /** - * delete schedule by id - * - * @param parameter - * @return - */ - public String delete(Map parameter) { - return new SQL() { - { - DELETE_FROM(DB_NAME); - - WHERE("`id`=#{scheduleId}"); - } - }.toString(); - } - -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/SessionMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/SessionMapper.java index 1137817c47..1d17cd6527 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/SessionMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/SessionMapper.java @@ -16,76 +16,14 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.dao.model.Session; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.JdbcType; +import cn.escheduler.dao.entity.Session; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; -import java.sql.Timestamp; -import java.util.Date; import java.util.List; -/** - * session mapper - */ -public interface SessionMapper { - - /** - * insert session - * @param session - * @return - */ - @InsertProvider(type = SessionMapperProvider.class, method = "insert") - int insert(@Param("session") Session session); - - - /** - * delete session - * @param sessionId - * @return - */ - @DeleteProvider(type = SessionMapperProvider.class, method = "delete") - int deleteById(@Param("sessionId") String sessionId); - - - /** - * update session - * - * @param sessionId - * @param loginTime - * @return - */ - @UpdateProvider(type = SessionMapperProvider.class, method = "update") - int update(@Param("sessionId") String sessionId, @Param("loginTime") Date loginTime); - - - /** - * query by session id and ip - * - * @param sessionId - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "ip", column = "ip", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "lastLoginTime", column = "last_login_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = SessionMapperProvider.class, method = "queryBySessionId") - Session queryBySessionId(@Param("sessionId") String sessionId); - +public interface SessionMapper extends BaseMapper { - /** - * query by user id and ip - * @param userId - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "ip", column = "ip", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "lastLoginTime", column = "last_login_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = SessionMapperProvider.class, method = "queryByUserId") List queryByUserId(@Param("userId") int userId); } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/SessionMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/SessionMapperProvider.java deleted file mode 100644 index 5dec6b0fcc..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/SessionMapperProvider.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -/** - * session mapper provider - */ -public class SessionMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_session"; - - /** - * insert session - * - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() { - { - INSERT_INTO(TABLE_NAME); - VALUES("`id`", "#{session.id}"); - VALUES("`user_id`", "#{session.userId}"); - VALUES("`ip`", "#{session.ip}"); - VALUES("`last_login_time`", "#{session.lastLoginTime}"); - - } - }.toString(); - } - - /** - * delete session - * - * @param parameter - * @return - */ - public String delete(Map parameter) { - return new SQL() { - { - DELETE_FROM(TABLE_NAME); - - WHERE("`id`=#{sessionId}"); - } - }.toString(); - } - - /** - * update session - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() { - { - UPDATE(TABLE_NAME); - - SET("`last_login_time`=#{loginTime}"); - - WHERE("`id` = #{sessionId}"); - } - }.toString(); - } - - - - - - - /** - * query by session id - * - * @param parameter - * @return - */ - public String queryById(Map parameter) { - return new SQL() { - { - SELECT("*"); - - FROM(TABLE_NAME); - - WHERE("`id` = #{sessionId}"); - } - }.toString(); - } - - /** - * query by session id - * @param parameter - * @return - */ - public String queryBySessionId(Map parameter) { - return new SQL() {{ - SELECT("*"); - - FROM(TABLE_NAME); - - WHERE("`id` = #{sessionId}"); - }}.toString(); - } - - /** - * query by user id - * @param parameter - * @return - */ - public String queryByUserId(Map parameter) { - return new SQL() {{ - SELECT("*"); - - FROM(TABLE_NAME); - - WHERE("`user_id` = #{userId}"); - }}.toString(); - } -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TaskInstanceMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TaskInstanceMapper.java index 7dfa2543a8..044495f12a 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TaskInstanceMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TaskInstanceMapper.java @@ -16,311 +16,57 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.common.enums.ExecutionStatus; -import cn.escheduler.common.enums.Flag; -import cn.escheduler.common.enums.Priority; -import cn.escheduler.common.enums.UserType; -import cn.escheduler.dao.model.ExecuteStatusCount; -import cn.escheduler.dao.model.TaskInstance; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.EnumOrdinalTypeHandler; -import org.apache.ibatis.type.JdbcType; +import cn.escheduler.common.enums.*; +import cn.escheduler.dao.entity.ExecuteStatusCount; +import cn.escheduler.dao.entity.TaskInstance; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; -import java.sql.Timestamp; import java.util.Date; import java.util.List; -/** - * task intance mapper - */ -public interface TaskInstanceMapper { +public interface TaskInstanceMapper extends BaseMapper { - /** - * insert task instance - * @param taskInstance - * @return - */ - @InsertProvider(type = TaskInstanceMapperProvider.class, method = "insert") - @Options(useGeneratedKeys = true,keyProperty = "taskInstance.id") - @SelectKey(statement = "SELECT LAST_INSERT_ID()", keyProperty = "taskInstance.id", before = false, resultType = int.class) - int insert(@Param("taskInstance") TaskInstance taskInstance); - /** - * delete task instance - * @param taskInstanceId - * @return - */ - @DeleteProvider(type = TaskInstanceMapperProvider.class, method = "delete") - int delete(@Param("taskInstanceId") int taskInstanceId); + List queryTaskByProcessIdAndState(@Param("processInstanceId") Integer processInstanceId, + @Param("state") Integer state); - /** - * update task instance - * - * @param taskInstance - * @return - */ - @UpdateProvider(type = TaskInstanceMapperProvider.class, method = "update") - int update(@Param("taskInstance") TaskInstance taskInstance); - /** - * query task by id - * @param taskInstanceId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskType", column = "task_type",javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "processDefinitionId", column = "process_definition_id",javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstanceId", column = "process_instance_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "taskJson", column = "task_json", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "submitTime", column = "submit_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "startTime", column = "start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "endTime", column = "end_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "host", column = "host", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "executePath", column = "execute_path", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "logPath", column = "log_path", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "alertFlag", column = "alert_flag", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "retryTimes", column = "retry_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "pid", column = "pid", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "maxRetryTimes", column = "max_retry_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "retryInterval", column = "retry_interval", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "appLink", column = "app_link", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "duration", column = "duration", javaType = Long.class, jdbcType = JdbcType.BIGINT), - @Result(property = "flag", column = "flag", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "taskInstancePriority", column = "task_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - }) - @SelectProvider(type = TaskInstanceMapperProvider.class, method = "queryById") TaskInstance queryById(@Param("taskInstanceId") int taskInstanceId); - /** - * query task id list by process instance id and state - * @param processInstanceId - * @param state - * @return - */ - @Results(value = {@Result(property = "id", column = "id", javaType = Integer.class, jdbcType = JdbcType.INTEGER)}) - @SelectProvider(type = TaskInstanceMapperProvider.class, method = "queryTaskByProcessIdAndState") - List queryTaskByProcessIdAndState(@Param("processInstanceId") Integer processInstanceId, - @Param("state") Integer state); - - /** - * query valid task instance list by process id - * @param processInstanceId - * @param flag - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskType", column = "task_type",javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "processDefinitionId", column = "process_definition_id",javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstanceId", column = "process_instance_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "taskJson", column = "task_json", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "submitTime", column = "submit_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "startTime", column = "start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "endTime", column = "end_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "host", column = "host", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "executePath", column = "execute_path", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "logPath", column = "log_path", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "alertFlag", column = "alert_flag", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "retryTimes", column = "retry_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "maxRetryTimes", column = "max_retry_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "retryInterval", column = "retry_interval", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "pid", column = "pid", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "appLink", column = "app_link", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "duration", column = "duration", javaType = Long.class, jdbcType = JdbcType.BIGINT), - @Result(property = "flag", column = "flag", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "taskInstancePriority", column = "task_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - }) - @SelectProvider(type = TaskInstanceMapperProvider.class, method = "findValidTaskListByProcessId") List findValidTaskListByProcessId(@Param("processInstanceId") Integer processInstanceId, @Param("flag") Flag flag); - /** - * query task list by host and state - * @param host - * @param stateArray - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskType", column = "task_type",javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "processDefinitionId", column = "process_definition_id",javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstanceId", column = "process_instance_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "taskJson", column = "task_json", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "submitTime", column = "submit_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "startTime", column = "start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "endTime", column = "end_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "host", column = "host", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "executePath", column = "execute_path", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "logPath", column = "log_path", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "alertFlag", column = "alert_flag", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "retryTimes", column = "retry_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "maxRetryTimes", column = "max_retry_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "retryInterval", column = "retry_interval", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "pid", column = "pid", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "appLink", column = "app_link", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "duration", column = "duration", javaType = Long.class, jdbcType = JdbcType.BIGINT), - @Result(property = "flag", column = "flag", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "taskInstancePriority", column = "task_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - }) - @SelectProvider(type = TaskInstanceMapperProvider.class, method = "queryByHostAndStatus") - List queryByHostAndStatus(@Param("host") String host,@Param("states") int[] stateArray); + List queryByHostAndStatus(@Param("host") String host, + @Param("states") String stateArray); + + int setFailoverByHostAndStateArray(@Param("host") String host, + @Param("states") String stateArray, + @Param("destStatus") ExecutionStatus destStatus); + + TaskInstance queryByInstanceIdAndName(@Param("processInstanceId") int processInstanceId, + @Param("name") String name); - /** - * set task state to need failover when worker down - * @param host - * @param stateArray - * @return - */ - @UpdateProvider(type = TaskInstanceMapperProvider.class, method = "setFailoverByHostAndStateArray") - int setFailoverByHostAndStateArray(@Param("host") String host, @Param("states")int[] stateArray); + Integer countTask(@Param("userId") int userId, + @Param("userType") UserType userType, + @Param("projectIds") String projectIds, + @Param("taskIds") String taskIds); - /** - * count task number group by state and user - * @param userId - * @param userType - * @param startTime - * @param endTime - * @param projectId - * @return - */ - @Results(value = { - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "count", column = "count", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - }) - @SelectProvider(type = TaskInstanceMapperProvider.class, method = "countTaskInstanceStateByUser") List countTaskInstanceStateByUser(@Param("userId") int userId, @Param("userType") UserType userType, @Param("startTime") Date startTime, @Param("endTime") Date endTime, - @Param("projectId") int projectId); - - /** - * count task number by search fields - * @param projectId - * @param processInstanceId - * @param taskName - * @param statusArray - * @param startTime - * @param endTime - * @param searchVal - * @return - */ - @SelectProvider(type = TaskInstanceMapperProvider.class, method = "countTaskInstance") - Integer countTaskInstance(@Param("projectId") int projectId, - @Param("processInstanceId") Integer processInstanceId, - @Param("taskName") String taskName, - @Param("states") String statusArray, - @Param("host") String host, - @Param("startTime") Date startTime, - @Param("endTime") Date endTime, - @Param("searchVal") String searchVal + @Param("projectIds") String projectIds); + + IPage queryTaskInstanceListPaging(IPage page, + @Param("projectId") int projectId, + @Param("processInstanceId") Integer processInstanceId, + @Param("searchVal") String searchVal, + @Param("taskName") String taskName, + @Param("states") String statusArray, + @Param("host") String host, + @Param("startTime") Date startTime, + @Param("endTime") Date endTime ); - - /** - * query task list paging by search fields - * @param projectId - * @param processInstanceId - * @param searchVal - * @param taskName - * @param statusArray - * @param startTime - * @param endTime - * @param offset - * @param pageSize - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskType", column = "task_type",javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "processDefinitionId", column = "process_definition_id",javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstanceId", column = "process_instance_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstanceName", column = "process_instance_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskJson", column = "task_json", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "submitTime", column = "submit_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "startTime", column = "start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "endTime", column = "end_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "host", column = "host", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "executePath", column = "execute_path", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "logPath", column = "log_path", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "alertFlag", column = "alert_flag", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "retryTimes", column = "retry_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "maxRetryTimes", column = "max_retry_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "retryInterval", column = "retry_interval", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "pid", column = "pid", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "appLink", column = "app_link", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "duration", column = "duration", javaType = Long.class, jdbcType = JdbcType.BIGINT), - @Result(property = "flag", column = "flag", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "taskInstancePriority", column = "task_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - }) - @SelectProvider(type = TaskInstanceMapperProvider.class, method = "queryTaskInstanceListPaging") - List queryTaskInstanceListPaging( - @Param("projectId") int projectId, - @Param("processInstanceId") Integer processInstanceId, - @Param("searchVal") String searchVal, - @Param("taskName") String taskName, - @Param("states") String statusArray, - @Param("host") String host, - @Param("startTime") Date startTime, - @Param("endTime") Date endTime, - @Param("offset") int offset, - @Param("pageSize") int pageSize - ); - - /** - * query task list by process id and task name - * @param processInstanceId - * @param name - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskType", column = "task_type",javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "processDefinitionId", column = "process_definition_id",javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstanceId", column = "process_instance_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "processInstanceName", column = "process_instance_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "taskJson", column = "task_json", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "state", column = "state", typeHandler = EnumOrdinalTypeHandler.class, javaType = ExecutionStatus.class, jdbcType = JdbcType.TINYINT), - @Result(property = "submitTime", column = "submit_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "startTime", column = "start_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "endTime", column = "end_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "host", column = "host", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "executePath", column = "execute_path", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "logPath", column = "log_path", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "alertFlag", column = "alert_flag", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "retryTimes", column = "retry_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "maxRetryTimes", column = "max_retry_times", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "retryInterval", column = "retry_interval", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "pid", column = "pid", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "appLink", column = "app_link", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "duration", column = "duration", javaType = Long.class, jdbcType = JdbcType.BIGINT), - @Result(property = "flag", column = "flag", typeHandler = EnumOrdinalTypeHandler.class, javaType = Flag.class, jdbcType = JdbcType.TINYINT), - @Result(property = "workerGroupId", column = "worker_group_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "taskInstancePriority", column = "task_instance_priority", javaType = Priority.class, typeHandler = EnumOrdinalTypeHandler.class, jdbcType = JdbcType.TINYINT) - }) - @SelectProvider(type = TaskInstanceMapperProvider.class, method = "queryByInstanceIdAndName") - TaskInstance queryByInstanceIdAndName(@Param("processInstanceId") int processInstanceId, - @Param("name") String name); - - - /** - * count task - * @param userId - * @param userType - * @param projectId - * @return - */ - @SelectProvider(type = TaskInstanceMapperProvider.class, method = "countTask") - Integer countTask(@Param("userId") int userId, - @Param("userType") UserType userType, - @Param("projectId") int projectId, - @Param("taskIds") int[] taskIds); } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TaskInstanceMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TaskInstanceMapperProvider.java deleted file mode 100644 index d533f45ad8..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TaskInstanceMapperProvider.java +++ /dev/null @@ -1,452 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import cn.escheduler.common.enums.ExecutionStatus; -import cn.escheduler.common.enums.Flag; -import cn.escheduler.common.enums.Priority; -import cn.escheduler.common.utils.EnumFieldUtil; -import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -/** - * task instance mapper provider - */ -public class TaskInstanceMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_task_instance"; - private static final String DEFINE_TABLE_NAME = "t_escheduler_process_definition"; - private static final String INSTANCE_TABLE_NAME = "t_escheduler_process_instance"; - - /** - * insert task instance - * - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() { - { - INSERT_INTO(TABLE_NAME); - VALUES("`name`", "#{taskInstance.name}"); - VALUES("`task_type`", "#{taskInstance.taskType}"); - VALUES("`process_definition_id`","#{taskInstance.processDefinitionId}"); - VALUES("`process_instance_id`", "#{taskInstance.processInstanceId}"); - VALUES("`task_json`", "#{taskInstance.taskJson}"); - VALUES("`state`", EnumFieldUtil.genFieldStr("taskInstance.state", ExecutionStatus.class)); - VALUES("`submit_time`", "#{taskInstance.submitTime}"); - VALUES("`start_time`", "#{taskInstance.startTime}"); - VALUES("`end_time`", "#{taskInstance.endTime}"); - VALUES("`host`", "#{taskInstance.host}"); - VALUES("`execute_path`", "#{taskInstance.executePath}"); - VALUES("`log_path`", "#{taskInstance.logPath}"); - VALUES("`alert_flag`", EnumFieldUtil.genFieldStr("taskInstance.alertFlag", Flag.class)); - VALUES("`retry_times`", "#{taskInstance.retryTimes}"); - VALUES("`pid`", "#{taskInstance.pid}"); - VALUES("`max_retry_times`", "#{taskInstance.maxRetryTimes}"); - VALUES("`retry_interval`", "#{taskInstance.retryInterval}"); - VALUES("`app_link`", "#{taskInstance.appLink}"); - VALUES("`worker_group_id`", "#{taskInstance.workerGroupId}"); - VALUES("`flag`", EnumFieldUtil.genFieldStr("taskInstance.flag", Flag.class)); - VALUES("`task_instance_priority`", EnumFieldUtil.genFieldStr("taskInstance.taskInstancePriority", Priority.class)); - - } - }.toString(); - } - - /** - * delete task instance - * - * @param parameter - * @return - */ - public String delete(Map parameter) { - return new SQL() { - { - DELETE_FROM(TABLE_NAME); - - WHERE("`id`=#{taskInstanceId}"); - } - }.toString(); - } - - /** - * update task instance - * - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() { - { - UPDATE(TABLE_NAME); - - SET("`name`=#{taskInstance.name}"); - SET("`task_type`=#{taskInstance.taskType}"); - SET("`process_definition_id`=#{taskInstance.processDefinitionId}"); - SET("`process_instance_id`=#{taskInstance.processInstanceId}"); - SET("`task_json`=#{taskInstance.taskJson}"); - SET("`state`="+ EnumFieldUtil.genFieldStr("taskInstance.state", ExecutionStatus.class)); - SET("`submit_time`=#{taskInstance.submitTime}"); - SET("`start_time`=#{taskInstance.startTime}"); - SET("`end_time`=#{taskInstance.endTime}"); - SET("`host`=#{taskInstance.host}"); - SET("`execute_path`=#{taskInstance.executePath}"); - SET("`log_path`=#{taskInstance.logPath}"); - SET("`alert_flag`="+ EnumFieldUtil.genFieldStr("taskInstance.alertFlag", Flag.class)); - SET("`retry_times`=#{taskInstance.retryTimes}"); - SET("`pid`=#{taskInstance.pid}"); - SET("`max_retry_times`=#{taskInstance.maxRetryTimes}"); - SET("`retry_interval`=#{taskInstance.retryInterval}"); - SET("`app_link`=#{taskInstance.appLink}"); - SET("`worker_group_id`=#{taskInstance.workerGroupId}"); - SET("`flag`="+ EnumFieldUtil.genFieldStr("taskInstance.flag", Flag.class)); - SET("`task_instance_priority`="+ EnumFieldUtil.genFieldStr("taskInstance.taskInstancePriority", Priority.class)); - - WHERE("`id`=#{taskInstance.id}"); - - } - }.toString(); - } - - /** - * query task by id - * @param parameter - * @return - */ - public String queryById(Map parameter) { - return new SQL() { - { - SELECT("*, UNIX_TIMESTAMP(end_time)-UNIX_TIMESTAMP(start_time) as duration"); - FROM(TABLE_NAME); - WHERE("id = #{taskInstanceId}"); - } - }.toString(); - } - - - /** - * query task id list by process instance id and state - * @param parameter - * @return - */ - public String queryTaskByProcessIdAndState(Map parameter){ - return new SQL(){ - { - SELECT("id"); - FROM(TABLE_NAME); - WHERE("`process_instance_id` = #{processInstanceId}"); - WHERE("`state` = #{state}"); - WHERE("`flag` = 1 "); - } - }.toString(); - } - - /** - * query valid task instance list by process id - * @param parameter - * @return - */ - public String findValidTaskListByProcessId(Map parameter) { - return new SQL() - { - { - SELECT("*, UNIX_TIMESTAMP(end_time)-UNIX_TIMESTAMP(start_time) as duration"); - FROM(TABLE_NAME ); - WHERE("`process_instance_id` = #{processInstanceId} "); - WHERE("`flag` = " + EnumFieldUtil.genFieldStr("flag", Flag.class)); - ORDER_BY("start_time desc"); - } - }.toString(); - } - - /** - * - * count task number group by state and user - * @param parameter - * @return - */ - public String countTaskInstanceStateByUser(Map parameter){ - return new SQL(){ - { - SELECT ("state, count(0) as count"); - FROM(TABLE_NAME + " t"); - LEFT_OUTER_JOIN(DEFINE_TABLE_NAME + " d on d.id=t.process_definition_id"); - LEFT_OUTER_JOIN("t_escheduler_project p on p.id=d.project_id"); - if(parameter.get("projectId") != null && (int)parameter.get("projectId") != 0){ - WHERE( "p.id = #{projectId} "); - }else{ - if(parameter.get("userType") != null && String.valueOf(parameter.get("userType")) == "GENERAL_USER") { - AND(); - WHERE("d.project_id in (select id as project_id from t_escheduler_project tp where tp.user_id= #{userId} " + - "union select project_id from t_escheduler_relation_project_user tr where tr.user_id= #{userId} )"); - - } - } - WHERE("t.flag = 1 and t.start_time > #{startTime} and t.start_time <= #{endTime}"); - GROUP_BY("t.state"); - } - }.toString(); - } - - - /** - * query task list by host and state - * - * @param parameter - * @return - */ - public String queryByHostAndStatus(Map parameter) { - StringBuilder strStates = new StringBuilder(); - int[] stateArray = (int[]) parameter.get("states"); - for(int i=0;i parameter) { - StringBuilder strStates = new StringBuilder(); - int[] stateArray = (int[]) parameter.get("states"); - for(int i=0;i parameter) { - StringBuilder strStates = new StringBuilder(); - int[] stateArray = (int[]) parameter.get("states"); - int state = ExecutionStatus.NEED_FAULT_TOLERANCE.ordinal(); - for(int i=0;i parameter) { - return new SQL() { - { - SELECT("instance.*,process.name as process_instance_name, UNIX_TIMESTAMP(instance.end_time)-UNIX_TIMESTAMP(instance.start_time) as duration"); - - FROM(TABLE_NAME + " instance"); - - JOIN(DEFINE_TABLE_NAME + " define ON instance.process_definition_id = define.id"); - JOIN(INSTANCE_TABLE_NAME + " process on process.id=instance.process_instance_id"); - WHERE("define.project_id = #{projectId}"); - - Object start = parameter.get("startTime"); - if(start != null && StringUtils.isNotEmpty(start.toString())){ - WHERE("instance.start_time > #{startTime} and instance.start_time <= #{endTime}"); - } - - if(parameter.get("processInstanceId") != null && (int)parameter.get("processInstanceId") != 0){ - WHERE( "instance.process_instance_id = #{processInstanceId} "); - } - - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " instance.name like concat('%', #{searchVal}, '%') "); - } - Object taskName = parameter.get("taskName"); - if(taskName != null && StringUtils.isNotEmpty(taskName.toString())){ - WHERE( " instance.name=#{taskName}"); - } - Object states = parameter.get("states"); - if(states != null && StringUtils.isNotEmpty(states.toString())){ - String stateStr = states.toString(); - WHERE("instance.state in ( "+ stateStr + " )"); - } - Object host = parameter.get("host"); - if(host != null && StringUtils.isNotEmpty(host.toString())){ - WHERE( "instance.host like concat('%', #{host}, '%') "); - } - ORDER_BY("instance.start_time desc limit #{offset},#{pageSize} "); - } - }.toString(); - - } - - - /** - * count task number by search fields - * @param parameter - * @return - */ - public String countTaskInstance(Map parameter) { - return new SQL() { - { - SELECT("count(1)"); - - - FROM(TABLE_NAME + " instance"); - - JOIN(DEFINE_TABLE_NAME + " define ON instance.process_definition_id = define.id"); - WHERE("define.project_id = #{projectId}"); - - if(parameter.get("processInstanceId") != null && (int)parameter.get("processInstanceId") != 0){ - WHERE( "instance.process_instance_id = #{processInstanceId} "); - } - Object startTime = parameter.get("startTime"); - if(startTime != null && StringUtils.isNotEmpty(startTime.toString())) { - WHERE("instance.start_time > #{startTime} and instance.start_time <= #{endTime}"); - } - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " instance.name like concat('%', #{searchVal}, '%') "); - } - Object taskName = parameter.get("taskName"); - if(taskName != null && StringUtils.isNotEmpty(taskName.toString())){ - WHERE( " instance.name=#{taskName}"); - } - Object states = parameter.get("states"); - if(states != null && StringUtils.isNotEmpty(states.toString())){ - String stateStr = states.toString(); - WHERE("instance.state in ( "+ stateStr + " )"); - } - Object host = parameter.get("host"); - if(host != null && StringUtils.isNotEmpty(host.toString())){ - WHERE( "instance.host like concat('%', #{host}, '%') "); - } - } - }.toString(); - } - - /** - * query task list by process id and task name - * @param parameter - * @return - */ - public String queryByInstanceIdAndName(Map parameter){ - return new SQL(){ - { - SELECT("*,UNIX_TIMESTAMP(end_time)-UNIX_TIMESTAMP(start_time) as duration"); - FROM(TABLE_NAME); - WHERE("`process_instance_id` = #{processInstanceId}"); - WHERE("`name` = #{name}"); - WHERE("`flag` = 1 "); - } - }.toString(); - } - - - /** - * - * count task - * @param parameter - * @return - */ - public String countTask(Map parameter){ - - StringBuilder taskIdsStr = new StringBuilder(); - int[] stateArray = (int[]) parameter.get("taskIds"); - for(int i=0;i { -/** - * tenant mapper - */ -public interface TenantMapper { - - /** - * insert tenant - * @param tenant - * @return - */ - @InsertProvider(type = TenantMapperProvider.class, method = "insert") - @Options(useGeneratedKeys = true,keyProperty = "tenant.id") - @SelectKey(statement = "SELECT LAST_INSERT_ID()", keyProperty = "tenant.id", before = false, resultType = int.class) - int insert(@Param("tenant") Tenant tenant); - - - /** - * delete tenant - * @param id - * @return - */ - @DeleteProvider(type = TenantMapperProvider.class, method = "deleteById") - int deleteById(@Param("id") int id); - - - /** - * update tenant - * - * @param tenant - * @return - */ - @UpdateProvider(type = TenantMapperProvider.class, method = "update") - int update(@Param("tenant") Tenant tenant); - - - /** - * query tenant by id - * @param tenantId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantCode", column = "tenant_code", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "tenantName", column = "tenant_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "queueId", column = "queue_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "queueName", column = "queue_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "queue", column = "queue", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - }) - @SelectProvider(type = TenantMapperProvider.class, method = "queryById") Tenant queryById(@Param("tenantId") int tenantId); - /** - * query tenant by code - * @param tenantCode - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantCode", column = "tenant_code", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "tenantName", column = "tenant_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "queueId", column = "queue_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - }) - @SelectProvider(type = TenantMapperProvider.class, method = "queryByTenantCode") Tenant queryByTenantCode(@Param("tenantCode") String tenantCode); - /** - * count tenant by search value - * @param searchVal - * @return - */ - @SelectProvider(type = TenantMapperProvider.class, method = "countTenantPaging") - Integer countTenantPaging(@Param("searchVal") String searchVal); - - - /** - * query tenant list paging - * @param searchVal - * @param offset - * @param pageSize - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantCode", column = "tenant_code", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "tenantName", column = "tenant_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "queueId", column = "queue_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "queueName", column = "queue_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = TenantMapperProvider.class, method = "queryTenantPaging") - List queryTenantPaging(@Param("searchVal") String searchVal, - @Param("offset") Integer offset, - @Param("pageSize") Integer pageSize); - - /** - * query all tenant list - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantCode", column = "tenant_code", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "tenantName", column = "tenant_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "queueId", column = "queue_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = TenantMapperProvider.class, method = "queryAllTenant") - List queryAllTenant(); + IPage queryTenantPaging(IPage page, + @Param("searchVal") String searchVal); } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TenantMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TenantMapperProvider.java deleted file mode 100644 index ba86c76f3a..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TenantMapperProvider.java +++ /dev/null @@ -1,181 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -/** - * tenant mapper provider - */ -public class TenantMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_tenant"; - - /** - * insert tenant - * - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() { - { - INSERT_INTO(TABLE_NAME); - VALUES("`tenant_code`", "#{tenant.tenantCode}"); - VALUES("`tenant_name`", "#{tenant.tenantName}"); - VALUES("`queue_id`", "#{tenant.queueId}"); - VALUES("`desc`", "#{tenant.desc}"); - VALUES("`create_time`", "#{tenant.createTime}"); - VALUES("`update_time`", "#{tenant.updateTime}"); - - } - }.toString(); - } - - /** - * delete tenant - * - * @param parameter - * @return - */ - public String deleteById(Map parameter) { - return new SQL() { - { - DELETE_FROM(TABLE_NAME); - - WHERE("`id`=#{id}"); - } - }.toString(); - } - - /** - * update tenant - * - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() { - { - UPDATE(TABLE_NAME); - - SET("`tenant_name`=#{tenant.tenantName}"); - SET("`tenant_code`=#{tenant.tenantCode}"); - SET("`desc`=#{tenant.desc}"); - SET("`queue_id`=#{tenant.queueId}"); - SET("`update_time`=#{tenant.updateTime}"); - - WHERE("`id`=#{tenant.id}"); - } - }.toString(); - } - - - /** - * query tenant by id - * - * @param parameter - * @return - */ - public String queryById(Map parameter) { - return new SQL() { - { - SELECT("t.*,q.queue_name,q.queue"); - FROM(TABLE_NAME + " t,t_escheduler_queue q"); - WHERE(" t.queue_id = q.id"); - WHERE(" t.id = #{tenantId}"); - } - }.toString(); - } - - /** - * query tenant by code - * - * @param parameter - * @return - */ - public String queryByTenantCode(Map parameter) { - return new SQL() { - { - SELECT("*"); - - FROM(TABLE_NAME); - - WHERE("`tenant_code` = #{tenantCode}"); - } - }.toString(); - } - - - /** - * count tenant by search value - * @param parameter - * @return - */ - public String countTenantPaging(Map parameter) { - return new SQL() {{ - SELECT("count(0)"); - FROM(TABLE_NAME +" t,t_escheduler_queue q"); - WHERE( " t.queue_id = q.id"); - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " tenant_name like concat('%', #{searchVal}, '%') "); - } - }}.toString(); - } - - /** - * query tenant list paging - * @param parameter - * @return - */ - public String queryTenantPaging(Map parameter) { - return new SQL() { - { - SELECT("t.*,q.queue_name"); - FROM(TABLE_NAME +" t,t_escheduler_queue q"); - WHERE( " t.queue_id = q.id"); - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " t.tenant_name like concat('%', #{searchVal}, '%') "); - } - ORDER_BY(" t.update_time desc limit #{offset},#{pageSize} "); - } - }.toString(); - - } - - /** - * query all tenant list - * @param parameter - * @return - */ - public String queryAllTenant(Map parameter) { - return new SQL() { - { - SELECT("*"); - FROM(TABLE_NAME); - } - }.toString(); - - } - - -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UDFUserMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UDFUserMapper.java index 5ad1f13a95..919c3e0a32 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UDFUserMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UDFUserMapper.java @@ -16,40 +16,15 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.dao.model.UDFUser; -import org.apache.ibatis.annotations.DeleteProvider; -import org.apache.ibatis.annotations.InsertProvider; +import cn.escheduler.dao.entity.UDFUser; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +public interface UDFUserMapper extends BaseMapper { -/** - * udf user relation mapper - */ -public interface UDFUserMapper { - - /** - * insert udf user - * @param udfUser - * @return - */ - @InsertProvider(type = UDFUserMapperProvider.class, method = "insert") - int insert(@Param("udfUser") UDFUser udfUser); - - - /** - * delete by user id - * @param userId - * @return - */ - @DeleteProvider(type = UDFUserMapperProvider.class, method = "deleteByUserId") int deleteByUserId(@Param("userId") int userId); - /** - * delete by udf function id - * @param udfFuncId - * @return - */ - @DeleteProvider(type = UDFUserMapperProvider.class, method = "deleteByUdfFuncId") int deleteByUdfFuncId(@Param("udfFuncId") int udfFuncId); } + diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UDFUserMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UDFUserMapperProvider.java deleted file mode 100644 index bacc0f585e..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UDFUserMapperProvider.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -/** - * udf user mapper provider - */ -public class UDFUserMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_relation_udfs_user"; - - - /** - * insert udf user - * - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() {{ - INSERT_INTO(TABLE_NAME); - - VALUES("`udf_id`", "#{udfUser.udfId}"); - VALUES("`user_id`", "#{udfUser.userId}"); - VALUES("`perm`", "#{udfUser.perm}"); - VALUES("`create_time`", "#{udfUser.createTime}"); - VALUES("`update_time`", "#{udfUser.updateTime}"); - }}.toString(); - } - - - /** - * delete by user id - * @param parameter - * @return - */ - public String deleteByUserId(Map parameter) { - return new SQL() {{ - DELETE_FROM(TABLE_NAME); - - WHERE("`user_id` = #{userId}"); - }}.toString(); - } - - /** - * delete by udf function id - * - * @param parameter - * @return - */ - public String deleteByUdfFuncId(Map parameter) { - return new SQL() {{ - DELETE_FROM(TABLE_NAME); - - WHERE("`udf_id` = #{udfFuncId}"); - }}.toString(); - } -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UdfFuncMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UdfFuncMapper.java index d37ab3a1f0..02614a62b3 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UdfFuncMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UdfFuncMapper.java @@ -16,258 +16,29 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.common.enums.UdfType; -import cn.escheduler.dao.model.UdfFunc; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.EnumOrdinalTypeHandler; -import org.apache.ibatis.type.JdbcType; +import cn.escheduler.dao.entity.UdfFunc; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; -import java.sql.Timestamp; import java.util.List; -/** - * und function mapper - */ -public interface UdfFuncMapper { - - /** - * insert udf function - * - * @param udf - * @return - */ - @InsertProvider(type = UdfFuncMapperProvider.class, method = "insert") - @SelectKey(statement = "SELECT LAST_INSERT_ID() AS id", keyProperty = "udf.id", resultType = int.class, before = false) - int insert(@Param("udf") UdfFunc udf); - - /** - * update udf function - * - * @param udf - * @return - */ - @UpdateProvider(type = UdfFuncMapperProvider.class, method = "update") - int update(@Param("udf") UdfFunc udf); - - /** - * query udf function by id - * - * @param id - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "funcName", column = "func_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "className", column = "class_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "argTypes", column = "arg_types", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "database", column = "database", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "resourceId", column = "resource_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "resourceName", column = "resource_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UdfType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = UdfFuncMapperProvider.class, method = "queryUdfById") - UdfFunc queryUdfById(@Param("id") int id); - - /** - * query udf list by id string - * - * @param ids - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "funcName", column = "func_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "className", column = "class_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "argTypes", column = "arg_types", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "database", column = "database", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "resourceId", column = "resource_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "resourceName", column = "resource_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UdfType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = UdfFuncMapperProvider.class, method = "queryUdfByIdStr") - List queryUdfByIdStr(@Param("ids") String ids); - - /** - * count udf number by user id - * - * @param userId - * @return - */ - @SelectProvider(type = UdfFuncMapperProvider.class, method = "countUserUdfFunc") - int countUserUdfFunc(@Param("userId") int userId); - - /** - * count udf number - * - * @return - */ - @SelectProvider(type = UdfFuncMapperProvider.class, method = "countAllUdfFunc") - int countAllUdfFunc(); +public interface UdfFuncMapper extends BaseMapper { - /** - * query udf function paging - * @param userId - * @param searchVal - * @param offset - * @param pageSize - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "funcName", column = "func_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "className", column = "class_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "argTypes", column = "arg_types", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "database", column = "database", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "resourceId", column = "resource_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "resourceName", column = "resource_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UdfType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = UdfFuncMapperProvider.class, method = "queryUdfFuncPaging") - List queryUdfFuncPaging(@Param("userId") int userId, @Param("searchVal") String searchVal, - @Param("offset") int offset, - @Param("pageSize") int pageSize); - /** - * query all udf function paging - * @param searchVal - * @param offset - * @param pageSize - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "funcName", column = "func_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "className", column = "class_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "argTypes", column = "arg_types", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "database", column = "database", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "resourceId", column = "resource_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "resourceName", column = "resource_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UdfType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = UdfFuncMapperProvider.class, method = "queryAllUdfFuncPaging") - List queryAllUdfFuncPaging(@Param("searchVal") String searchVal, - @Param("offset") int offset, - @Param("pageSize") int pageSize); + List queryUdfByIdStr(@Param("ids") String ids, + @Param("funcNames") String funcNames); + IPage queryUdfFuncPaging(IPage page, + @Param("userId") int userId, + @Param("searchVal") String searchVal); - /** - * query udf function by type - * @param userId - * @param type - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "funcName", column = "func_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "className", column = "class_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "argTypes", column = "arg_types", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "database", column = "database", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "resourceId", column = "resource_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "resourceName", column = "resource_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UdfType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = UdfFuncMapperProvider.class, method = "getUdfFuncByType") - List getUdfFuncByType(@Param("userId") int userId,@Param("type") Integer type); + List getUdfFuncByType(@Param("userId") int userId, + @Param("type") Integer type); - - /** - * query udf function by name - * @param funcName - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "funcName", column = "func_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "className", column = "class_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "argTypes", column = "arg_types", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "database", column = "database", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "resourceId", column = "resource_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "resourceName", column = "resource_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UdfType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = UdfFuncMapperProvider.class, method = "queryUdfFuncByName") - UdfFunc queryUdfFuncByName(@Param("func_name") String funcName); - - /** - * delete udf function - * - * @param udfFuncId - * @return - */ - @DeleteProvider(type = UdfFuncMapperProvider.class, method = "delete") - int delete(@Param("udfFuncId") int udfFuncId); - - - - /** - * query udf function except user - * @param userId - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "funcName", column = "func_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "className", column = "class_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "argTypes", column = "arg_types", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "database", column = "database", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "resourceId", column = "resource_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "resourceName", column = "resource_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UdfType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = UdfFuncMapperProvider.class, method = "queryUdfFuncExceptUserId") List queryUdfFuncExceptUserId(@Param("userId") int userId); - - - /** - * query udf function authorized to user - * @param userId - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userId", column = "user_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "funcName", column = "func_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "className", column = "class_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "argTypes", column = "arg_types", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "database", column = "database", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "resourceId", column = "resource_id", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "resourceName", column = "resource_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "type", column = "type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UdfType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = UdfFuncMapperProvider.class, method = "authedUdfFunc") - List authedUdfFunc(@Param("userId") int userId); + List queryAuthedUdfFunc(@Param("userId") int userId); } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UdfFuncMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UdfFuncMapperProvider.java deleted file mode 100644 index 55ef65e3a2..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UdfFuncMapperProvider.java +++ /dev/null @@ -1,253 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import cn.escheduler.common.enums.UdfType; -import cn.escheduler.common.utils.EnumFieldUtil; -import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -/** - * und function mapper - */ -public class UdfFuncMapperProvider { - private final String TABLE_NAME = "t_escheduler_udfs"; - public static final String USER_UDFS_RELATION_TABLE_NAME = "t_escheduler_relation_udfs_user"; - - /** - * insert udf function - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() { - { - INSERT_INTO(TABLE_NAME); - VALUES("`user_id`", "#{udf.userId}"); - VALUES("`func_name`", "#{udf.funcName,jdbcType=VARCHAR}"); - VALUES("`class_name`", "#{udf.className}"); - VALUES("`arg_types`", "#{udf.argTypes}"); - VALUES("`database`", "#{udf.database}"); - VALUES("`desc`", "#{udf.desc}"); - VALUES("`resource_id`", "#{udf.resourceId}"); - VALUES("`resource_name`", "#{udf.resourceName}"); - VALUES("`type`", EnumFieldUtil.genFieldStr("udf.type", UdfType.class)); - VALUES("`create_time`", "#{udf.createTime}"); - VALUES("`update_time`", "#{udf.updateTime}"); - } - }.toString(); - } - - /** - * update udf function - * - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() { - { - UPDATE(TABLE_NAME); - - SET("`user_id`=#{udf.userId}"); - SET("`func_name`=#{udf.funcName}"); - SET("`class_name`=#{udf.className}"); - SET("`arg_types`=#{udf.argTypes}"); - SET("`database`=#{udf.database}"); - SET("`desc`=#{udf.desc}"); - SET("`resource_id`=#{udf.resourceId}"); - SET("`resource_name`=#{udf.resourceName}"); - SET("`type`="+EnumFieldUtil.genFieldStr("udf.type", UdfType.class)); - SET("`update_time`=#{udf.updateTime}"); - - WHERE("`id`=#{udf.id}"); - } - }.toString(); - } - - /** - * query udf function by id - * - * @param parameter - * @return - */ - public String queryUdfById(Map parameter) { - - return new SQL() {{ - SELECT("r.*"); - - FROM(TABLE_NAME + " r"); - WHERE("r.id = #{id}"); - }}.toString(); - } - - /** - * query udf list by id string - * - * @param parameter - * @return - */ - public String queryUdfByIdStr(Map parameter) { - - String ids = (String) parameter.get("ids"); - - return new SQL() {{ - SELECT("*"); - - FROM(TABLE_NAME); - WHERE("`id` in (" + ids +")"); - ORDER_BY("`id` asc"); - }}.toString(); - } - - /** - * query all udf function paging - * @param parameter - * @return - */ - public String queryUdfFuncPaging(Map parameter) { - return new SQL() {{ - SELECT("*"); - FROM(TABLE_NAME ); - WHERE("id in (select udf_id from "+USER_UDFS_RELATION_TABLE_NAME+" where user_id=#{userId} union select id as udf_id from "+TABLE_NAME+" where user_id=#{userId})"); - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " name like concat('%', #{searchVal}, '%') "); - } - ORDER_BY("create_time desc limit #{offset},#{pageSize} "); - - }}.toString(); - } - - /** - * query all udf function paging - * @param parameter - * @return - */ - public String queryAllUdfFuncPaging(Map parameter) { - return new SQL() {{ - SELECT("*"); - FROM(TABLE_NAME ); - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " name like concat('%', #{searchVal}, '%') "); - } - ORDER_BY("create_time desc limit #{offset},#{pageSize} "); - - }}.toString(); - } - - /** - * count udf number by user id - * - * @param parameter - * @return - */ - public String countUserUdfFunc(Map parameter) { - return new SQL() {{ - SELECT("count(0)"); - FROM(TABLE_NAME); - WHERE("id in (select udf_id from "+USER_UDFS_RELATION_TABLE_NAME+" where user_id=#{userId} union select id as udf_id from "+TABLE_NAME+" where user_id=#{userId})"); - }}.toString(); - } - - /** - * count udf number - * - * @param parameter - * @return - */ - public String countAllUdfFunc(Map parameter) { - return new SQL() {{ - SELECT("count(0)"); - FROM(TABLE_NAME); - }}.toString(); - } - - /** - * query udf function by type - * @param parameter - * @return - */ - public String getUdfFuncByType(Map parameter) { - return new SQL() {{ - SELECT("*"); - FROM(TABLE_NAME ); - WHERE("type = #{type}"); - WHERE("id in (select udf_id from "+USER_UDFS_RELATION_TABLE_NAME+" where user_id=#{userId} union select id as udf_id from "+TABLE_NAME+" where user_id=#{userId})"); - }}.toString(); - } - - /** - * query udf function by name - * @param parameter - * @return - */ - public String queryUdfFuncByName(Map parameter) { - return new SQL() {{ - SELECT("*"); - FROM(TABLE_NAME ); - WHERE("func_name = #{func_name}"); - }}.toString(); - } - - /** - * delete udf function - * - * @param parameter - * @return - */ - public String delete(Map parameter) { - return new SQL() { - { - DELETE_FROM(TABLE_NAME); - - WHERE("`id` = #{udfFuncId}"); - } - }.toString(); - } - - /** - * - * query udf function authorized to user - * @param parameter - * @return - */ - public String authedUdfFunc(Map parameter) { - return new SQL() {{ - SELECT("u.*"); - FROM(TABLE_NAME + " u,t_escheduler_relation_udfs_user rel"); - WHERE(" u.id = rel.udf_id AND rel.user_id = #{userId}"); - }}.toString(); - } - - /** - * query udf function except user - * - * @param parameter - * @return - */ - public String queryUdfFuncExceptUserId(Map parameter) { - return new SQL() {{ - SELECT("*"); - FROM(TABLE_NAME); - WHERE("user_id <> #{userId}"); - }}.toString(); - } -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UserAlertGroupMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UserAlertGroupMapper.java index 9e13aff997..6c8215e24d 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UserAlertGroupMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UserAlertGroupMapper.java @@ -16,77 +16,19 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.common.enums.UserType; -import cn.escheduler.dao.model.User; -import cn.escheduler.dao.model.UserAlertGroup; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.EnumOrdinalTypeHandler; -import org.apache.ibatis.type.JdbcType; +import cn.escheduler.dao.entity.User; +import cn.escheduler.dao.entity.UserAlertGroup; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; -import java.sql.Timestamp; import java.util.List; -/** - * user alert group mapper - */ -public interface UserAlertGroupMapper { - - /** - * insert user alert group - * @param userAlertGroup - * @return - */ - @InsertProvider(type = UserAlertGroupMapperProvider.class, method = "insert") - @Options(useGeneratedKeys = true,keyProperty = "userAlertGroup.id") - @SelectKey(statement = "SELECT LAST_INSERT_ID()", keyProperty = "userAlertGroup.id", before = false, resultType = int.class) - int insert(@Param("userAlertGroup") UserAlertGroup userAlertGroup); +public interface UserAlertGroupMapper extends BaseMapper { - - /** - * query user list by alert group id - * - * @param alertgroupId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userPassword", column = "user_password", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "email", column = "email", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "phone", column = "phone", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userType", column = "user_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UserType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = UserAlertGroupMapperProvider.class, method = "queryForUser") List queryForUser(@Param("alertgroupId") int alertgroupId); - - /** - * delete by alert group id - * @param alertgroupId - * @return - */ - @DeleteProvider(type = UserAlertGroupMapperProvider.class, method = "deleteByAlertgroupId") int deleteByAlertgroupId(@Param("alertgroupId") int alertgroupId); - /** - * list user information by alert group id - * - * @param alertgroupId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userPassword", column = "user_password", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "email", column = "email", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "phone", column = "phone", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userType", column = "user_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UserType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - }) - @SelectProvider(type = UserAlertGroupMapperProvider.class, method = "listUserByAlertgroupId") List listUserByAlertgroupId(@Param("alertgroupId") int alertgroupId); } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UserAlertGroupMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UserAlertGroupMapperProvider.java deleted file mode 100644 index c9f917f6b1..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UserAlertGroupMapperProvider.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -/** - * user alert group mapper provider - */ -public class UserAlertGroupMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_relation_user_alertgroup"; - - /** - * insert user alert grouExecutorService.p - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() { - { - INSERT_INTO(TABLE_NAME); - VALUES("`alertgroup_id`", "#{userAlertGroup.alertgroupId}"); - VALUES("`user_id`", "#{userAlertGroup.userId}"); - VALUES("`create_time`", "#{userAlertGroup.createTime}"); - VALUES("`update_time`", "#{userAlertGroup.updateTime}"); - - } - }.toString(); - } - - /** - * query user list by alert group id - * - * @param parameter - * @return - */ - public String queryForUser(Map parameter) { - return new SQL() {{ - SELECT("u.*"); - - FROM(TABLE_NAME + " g_u"); - - JOIN("t_escheduler_user u on g_u.user_id = u.id"); - - WHERE("g_u.alertgroup_id = #{alertgroupId}"); - }}.toString(); - } - - /** - * delete by alert group id - * @param parameter - * @return - */ - public String deleteByAlertgroupId(Map parameter) { - return new SQL() {{ - DELETE_FROM(TABLE_NAME); - - WHERE("`alertgroup_id` = #{alertgroupId}"); - }}.toString(); - } - - /** - * list user information by alert group id - * - * @param parameter - * @return - */ - public String listUserByAlertgroupId(Map parameter) { - return new SQL() {{ - SELECT("u.*"); - - FROM(TABLE_NAME + " g_u"); - - JOIN("t_escheduler_user u on g_u.user_id = u.id"); - - WHERE("g_u.alertgroup_id = #{alertgroupId}"); - }}.toString(); - } - -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UserMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UserMapper.java index 7b5dea5265..240a3221ab 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UserMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UserMapper.java @@ -16,260 +16,33 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.common.enums.UserType; -import cn.escheduler.dao.model.User; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.EnumOrdinalTypeHandler; -import org.apache.ibatis.type.JdbcType; +import cn.escheduler.dao.entity.User; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; -import java.sql.Timestamp; import java.util.List; -public interface UserMapper { +public interface UserMapper extends BaseMapper { - /** - * insert user - * @param user - * @return - */ - @InsertProvider(type = UserMapperProvider.class, method = "insert") - @Options(useGeneratedKeys = true,keyProperty = "user.id") - @SelectKey(statement = "SELECT LAST_INSERT_ID()", keyProperty = "user.id", before = false, resultType = int.class) - int insert(@Param("user") User user); + List queryAllGeneralUser(); + User queryByUserNameAccurately(@Param("userName") String userName); - /** - * delete user - * @param userId - * @return - */ - @DeleteProvider(type = UserMapperProvider.class, method = "delete") - int delete(@Param("userId") int userId); + User queryUserByNamePassword(@Param("userName") String userName, @Param("password") String password); - /** - * update user - * - * @param user - * @return - */ - @UpdateProvider(type = UserMapperProvider.class, method = "update") - int update(@Param("user") User user); + IPage queryUserPaging(Page page, + @Param("userName") String userName); + User queryDetailsById(@Param("userId") int userId); - /** - * query user by id - * @param userId - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userPassword", column = "user_password", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "email", column = "email", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "phone", column = "phone", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userType", column = "user_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UserType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = UserMapperProvider.class, method = "queryById") - User queryById(@Param("userId") int userId); - - /** - * query all general user list - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userPassword", column = "user_password", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "email", column = "email", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "phone", column = "phone", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userType", column = "user_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UserType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = UserMapperProvider.class, method = "queryAllGeneralUsers") - List queryAllGeneralUsers(); - - - /** - * query all user list - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userPassword", column = "user_password", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "email", column = "email", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "phone", column = "phone", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userType", column = "user_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UserType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = UserMapperProvider.class, method = "queryAllUsers") - List queryAllUsers(); - - - /** - * check user name and password - * @param userName - * @param userPassword - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userPassword", column = "user_password", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "email", column = "email", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "phone", column = "phone", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userType", column = "user_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UserType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = UserMapperProvider.class, method = "queryForCheck") - User queryForCheck(@Param("userName") String userName, @Param("userPassword") String userPassword); - - - /** - * query user by name - * @param userName - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userPassword", column = "user_password", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "email", column = "email", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "phone", column = "phone", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userType", column = "user_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UserType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = UserMapperProvider.class, method = "queryByUserName") - User queryByUserName(@Param("userName") String userName); - - /** - * count user by search value - * @param searchVal - * @return - */ - @SelectProvider(type = UserMapperProvider.class, method = "countUserPaging") - Integer countUserPaging(@Param("searchVal") String searchVal); - - - /** - * query user list paging - * @param searchVal - * @param offset - * @param pageSize - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userPassword", column = "user_password", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "email", column = "email", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "phone", column = "phone", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userType", column = "user_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UserType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantName", column = "tenant_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "queueName", column = "queue_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = UserMapperProvider.class, method = "queryUserPaging") - List queryUserPaging(@Param("searchVal") String searchVal, - @Param("offset") Integer offset, - @Param("pageSize") Integer pageSize); - - /** - * query detail by user id - * @param id - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userPassword", column = "user_password", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "email", column = "email", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "phone", column = "phone", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userType", column = "user_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UserType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantName", column = "tenant_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "queueName", column = "queue_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = UserMapperProvider.class, method = "queryDetailsById") - User queryDetailsById(@Param("id") int id); - - - /** - * 根据用户id查询已经授权的告警组 - * @param alertgroupId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userPassword", column = "user_password", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "email", column = "email", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "phone", column = "phone", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userType", column = "user_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UserType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = UserMapperProvider.class, method = "queryUserListByAlertGroupId") List queryUserListByAlertGroupId(@Param("alertgroupId") int alertgroupId); - /** - * query tenant code by user id - * @param userId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userPassword", column = "user_password", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "email", column = "email", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "phone", column = "phone", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userType", column = "user_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UserType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "tenantCode", column = "tenant_code", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = UserMapperProvider.class, method = "queryTenantCodeByUserId") User queryTenantCodeByUserId(@Param("userId") int userId); - - /** - * query user queue by process instance id - * @param processInstanceId - * @return - */ - @SelectProvider(type = UserMapperProvider.class, method = "queryQueueByProcessInstanceId") - String queryQueueByProcessInstanceId(@Param("processInstanceId") int processInstanceId); - - - /** - * query user by token - * @param token - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", id = true, javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userPassword", column = "user_password", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "email", column = "email", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "phone", column = "phone", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userType", column = "user_type", typeHandler = EnumOrdinalTypeHandler.class, javaType = UserType.class, jdbcType = JdbcType.TINYINT), - @Result(property = "tenantId", column = "tenant_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), - @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = UserMapperProvider.class, method = "queryUserByToken") User queryUserByToken(@Param("token") String token); + } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UserMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UserMapperProvider.java deleted file mode 100644 index 363cd38f6a..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/UserMapperProvider.java +++ /dev/null @@ -1,305 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import cn.escheduler.common.enums.UserType; -import cn.escheduler.common.utils.EnumFieldUtil; -import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -/** - * und function mapper provider - * - */ -public class UserMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_user"; - - /** - * insert user - * - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() { - { - INSERT_INTO(TABLE_NAME); - VALUES("`user_name`", "#{user.userName}"); - VALUES("`user_password`", "#{user.userPassword}"); - VALUES("`email`", "#{user.email}"); - VALUES("`phone`", "#{user.phone}"); - VALUES("`user_type`", EnumFieldUtil.genFieldStr("user.userType", UserType.class)); - VALUES("`tenant_id`", "#{user.tenantId}"); - VALUES("`queue`", "#{user.queue}"); - VALUES("`create_time`", "#{user.createTime}"); - VALUES("`update_time`", "#{user.updateTime}"); - } - }.toString(); - } - - /** - * delete user - * - * @param parameter - * @return - */ - public String delete(Map parameter) { - return new SQL() { - { - DELETE_FROM(TABLE_NAME); - - WHERE("`id`=#{userId}"); - } - }.toString(); - } - - /** - * update user - * - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() { - { - UPDATE(TABLE_NAME); - - SET("`user_name`=#{user.userName}"); - SET("`user_password`=#{user.userPassword}"); - SET("`email`=#{user.email}"); - SET("`phone`=#{user.phone}"); - SET("`user_type`="+EnumFieldUtil.genFieldStr("user.userType", UserType.class)); - SET("`tenant_id`=#{user.tenantId}"); - SET("`queue`=#{user.queue}"); - SET("`create_time`=#{user.createTime}"); - SET("`update_time`=#{user.updateTime}"); - - WHERE("`id`=#{user.id}"); - } - }.toString(); - } - - /** - * query user by id - * @param parameter - * @return - */ - public String queryById(Map parameter) { - return new SQL() { - { - SELECT("*"); - - FROM(TABLE_NAME); - - WHERE("`id` = #{userId}"); - } - }.toString(); - } - - /** - * query all user list - * - * @return - */ - public String queryAllGeneralUsers() { - return new SQL() { - { - SELECT("*"); - - FROM(TABLE_NAME); - - WHERE("user_type = 1"); - } - }.toString(); - } - - /** - * query all user list - * - * @return - */ - public String queryAllUsers() { - return new SQL() { - { - SELECT("*"); - FROM(TABLE_NAME); - } - }.toString(); - } - - - - /** - * check user name and password - * - * @param parameter - * @return - */ - public String queryForCheck(Map parameter) { - return new SQL() { - { - SELECT("*"); - FROM(TABLE_NAME); - WHERE("`user_name` = #{userName} AND `user_password` = #{userPassword}"); - } - }.toString(); - } - - /** - * query user by name - * - * @param parameter - * @return - */ - public String queryByUserName(Map parameter) { - return new SQL() { - { - SELECT("*"); - FROM(TABLE_NAME); - WHERE("`user_name` = #{userName}"); - } - }.toString(); - } - - /** - * count user number by search value - * @param parameter - * @return - */ - public String countUserPaging(Map parameter) { - return new SQL() {{ - SELECT("count(0)"); - FROM(TABLE_NAME); - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " user_name like concat('%', #{searchVal}, '%') "); - } - }}.toString(); - } - - /** - * query user list paging - * @param parameter - * @return - */ - public String queryUserPaging(Map parameter) { - return new SQL() { - { - SELECT("u.id,u.user_name,u.user_password,u.user_type,u.email,u.phone,u.tenant_id,u.create_time,u.update_time,t.tenant_name," + - "case when u.queue <> '' then u.queue else q.queue_name end as queue," + - "q.queue_name"); - FROM(TABLE_NAME + " u "); - LEFT_OUTER_JOIN("t_escheduler_tenant t on u.tenant_id = t.id"); - LEFT_OUTER_JOIN("t_escheduler_queue q on t.queue_id = q.id"); - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " u.user_name like concat('%', #{searchVal}, '%') "); - } - ORDER_BY(" u.update_time desc limit #{offset},#{pageSize} "); - - - } - }.toString(); - - } - - /** - * query detail by user id - * @param parameter - * @return - */ - public String queryDetailsById(Map parameter) { - return new SQL() { - { - SELECT("u.*, t.tenant_name," + - "case when u.queue <> '' then u.queue else q.queue_name end as queue_name"); - - FROM(TABLE_NAME + " u,t_escheduler_tenant t,t_escheduler_queue q"); - - WHERE("u.tenant_id = t.id and t.queue_id = q.id and u.id = #{id}"); - } - }.toString(); - } - - - /** - * query user list by alert group id - * @param parameter - * @return - */ - public String queryUserListByAlertGroupId(Map parameter) { - return new SQL() { - { - SELECT("u.*"); - FROM(TABLE_NAME + " u,t_escheduler_relation_user_alertgroup rel"); - WHERE("u.id = rel.user_id AND u.user_type = 1 AND rel.alertgroup_id = #{alertgroupId}"); - } - }.toString(); - } - - - /** - * query tenant code by user id - * @param parameter - * @return - */ - public String queryTenantCodeByUserId(Map parameter) { - return new SQL() { - { - SELECT("u.*,t.tenant_code"); - FROM(TABLE_NAME + " u,t_escheduler_tenant t"); - WHERE("u.tenant_id = t.id AND u.id = #{userId}"); - } - }.toString(); - } - - - /** - * query tenant code by user id - * @param parameter - * @return - */ - public String queryQueueByProcessInstanceId(Map parameter) { - return new SQL() { - { - SELECT("queue"); - FROM(TABLE_NAME + " u,t_escheduler_process_instance p"); - WHERE("u.id = p.executor_id and p.id=#{processInstanceId}"); - } - }.toString(); - } - - - /** - * query user by id - * @param parameter - * @return - */ - public String queryUserByToken(Map parameter) { - return new SQL() { - { - SELECT("u.*"); - FROM(TABLE_NAME + " u ,t_escheduler_access_token t"); - WHERE(" u.id = t.user_id and token=#{token} and t.expire_time > NOW()"); - } - }.toString(); - } - -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/WorkerGroupMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/WorkerGroupMapper.java index df4b9126c9..07929b95e9 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/WorkerGroupMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/WorkerGroupMapper.java @@ -16,116 +16,21 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.dao.model.WorkerGroup; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.JdbcType; +import cn.escheduler.dao.entity.WorkerGroup; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; -import java.util.Date; import java.util.List; -/** - * worker group mapper - */ -public interface WorkerGroupMapper { +public interface WorkerGroupMapper extends BaseMapper { - /** - * query all worker group list - * - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "ipList", column = "ip_list", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "updateTime", column = "update_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - }) - @SelectProvider(type = WorkerGroupMapperProvider.class, method = "queryAllWorkerGroup") List queryAllWorkerGroup(); - /** - * query worker group by name - * - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "ipList", column = "ip_list", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "updateTime", column = "update_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - }) - @SelectProvider(type = WorkerGroupMapperProvider.class, method = "queryWorkerGroupByName") List queryWorkerGroupByName(@Param("name") String name); - /** - * query worker group paging by search value - * - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "ipList", column = "ip_list", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "updateTime", column = "update_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - }) - @SelectProvider(type = WorkerGroupMapperProvider.class, method = "queryListPaging") - List queryListPaging(@Param("offset") int offset, - @Param("pageSize") int pageSize, - @Param("searchVal") String searchVal); - - /** - * count worker group by search value - * @param searchVal - * @return - */ - @SelectProvider(type = WorkerGroupMapperProvider.class, method = "countPaging") - int countPaging(@Param("searchVal") String searchVal); - - /** - * insert worker server - * - * @param workerGroup - * @return - */ - @InsertProvider(type = WorkerGroupMapperProvider.class, method = "insert") - @Options(useGeneratedKeys = true,keyProperty = "workerGroup.id") - @SelectKey(statement = "SELECT LAST_INSERT_ID()", keyProperty = "workerGroup.id", before = false, resultType = int.class) - int insert(@Param("workerGroup") WorkerGroup workerGroup); - - /** - * update worker - * - * @param workerGroup - * @return - */ - @UpdateProvider(type = WorkerGroupMapperProvider.class, method = "update") - int update(@Param("workerGroup") WorkerGroup workerGroup); - - /** - * delete work group by id - * @param id - * @return - */ - @DeleteProvider(type = WorkerGroupMapperProvider.class, method = "deleteById") - int deleteById(@Param("id") int id); - - /** - * query work group by id - * @param id - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "ipList", column = "ip_list", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "name", column = "name", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "updateTime", column = "update_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - }) - @SelectProvider(type = WorkerGroupMapperProvider.class, method = "queryById") - WorkerGroup queryById(@Param("id") int id); - - + IPage queryListPaging(IPage page, + @Param("searchVal") String searchVal); } + diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/WorkerGroupMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/WorkerGroupMapperProvider.java deleted file mode 100644 index a6c1947089..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/WorkerGroupMapperProvider.java +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - - -import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -/** - * worker group mapper provider - */ -public class WorkerGroupMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_worker_group"; - - /** - * query worker list - * @return - */ - public String queryAllWorkerGroup() { - return new SQL() {{ - SELECT("*"); - - FROM(TABLE_NAME); - - ORDER_BY("update_time desc"); - }}.toString(); - } - - /** - * insert worker server - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() {{ - INSERT_INTO(TABLE_NAME); - - VALUES("id", "#{workerGroup.id}"); - VALUES("name", "#{workerGroup.name}"); - VALUES("ip_list", "#{workerGroup.ipList}"); - VALUES("create_time", "#{workerGroup.createTime}"); - VALUES("update_time", "#{workerGroup.updateTime}"); - }}.toString(); - } - - /** - * update worker group - * - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() {{ - UPDATE(TABLE_NAME); - - SET("name = #{workerGroup.name}"); - SET("ip_list = #{workerGroup.ipList}"); - SET("create_time = #{workerGroup.createTime}"); - SET("update_time = #{workerGroup.updateTime}"); - - WHERE("id = #{workerGroup.id}"); - }}.toString(); - } - - /** - * delete worker group by id - * @param parameter - * @return - */ - public String deleteById(Map parameter) { - return new SQL() {{ - DELETE_FROM(TABLE_NAME); - - WHERE("id = #{id}"); - }}.toString(); - } - - /** - * query worker group by name - * @param parameter - * @return - */ - public String queryWorkerGroupByName(Map parameter) { - return new SQL() {{ - - SELECT("*"); - FROM(TABLE_NAME); - - WHERE("name = #{name}"); - }}.toString(); - } - - /** - * query worker group by id - * @param parameter - * @return - */ - public String queryById(Map parameter) { - return new SQL() {{ - - SELECT("*"); - FROM(TABLE_NAME); - - WHERE("id = #{id}"); - }}.toString(); - } - - -/** - * query worker group by id - * @param parameter - * @return - */ - public String queryListPaging(Map parameter) { - return new SQL() {{ - - SELECT("*"); - FROM(TABLE_NAME); - - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " name like concat('%', #{searchVal}, '%') "); - } - ORDER_BY(" update_time desc limit #{offset},#{pageSize} "); - }}.toString(); - } - - /** - * count worker group number by search value - * @param parameter - * @return - */ - public String countPaging(Map parameter) { - return new SQL() {{ - SELECT("count(0)"); - FROM(TABLE_NAME); - Object searchVal = parameter.get("searchVal"); - if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){ - WHERE( " name like concat('%', #{searchVal}, '%') "); - } - }}.toString(); - } -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/WorkerServerMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/WorkerServerMapper.java deleted file mode 100644 index 5e511a4edd..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/WorkerServerMapper.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import cn.escheduler.dao.model.WorkerServer; -import org.apache.ibatis.annotations.*; -import org.apache.ibatis.type.JdbcType; - -import java.util.Date; -import java.util.List; - -public interface WorkerServerMapper { - - /** - * query worker list - * - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "host", column = "host", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "port", column = "port", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "zkDirectory", column = "zk_directory", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "resInfo", column = "res_info", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "lastHeartbeatTime", column = "last_heartbeat_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP) - }) - @SelectProvider(type = WorkerServerMapperProvider.class, method = "queryAllWorker") - List queryAllWorker(); - - /** - * query worker list - * - * @return - */ - @Results(value = { - @Result(property = "id", column = "id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "host", column = "host", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "port", column = "port", javaType = int.class, jdbcType = JdbcType.INTEGER), - @Result(property = "zkDirectory", column = "zk_directory", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "resInfo", column = "res_info", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "createTime", column = "create_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP), - @Result(property = "lastHeartbeatTime", column = "last_heartbeat_time", javaType = Date.class, jdbcType = JdbcType.TIMESTAMP) - }) - @SelectProvider(type = WorkerServerMapperProvider.class, method = "queryWorkerByHost") - List queryWorkerByHost(@Param("host") String host); - - /** - * insert worker server - * - * @param workerServer - * @return - */ - @InsertProvider(type = WorkerServerMapperProvider.class, method = "insert") - int insert(@Param("workerServer") WorkerServer workerServer); - - /** - * update worker - * - * @param workerServer - * @return - */ - @UpdateProvider(type = WorkerServerMapperProvider.class, method = "update") - int update(@Param("workerServer") WorkerServer workerServer); - - /** - * delete work by host - * @param host - * @return - */ - @DeleteProvider(type = WorkerServerMapperProvider.class, method = "deleteWorkerByHost") - int deleteWorkerByHost(@Param("host") String host); - - - - -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/WorkerServerMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/WorkerServerMapperProvider.java deleted file mode 100644 index 15b330e077..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/WorkerServerMapperProvider.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - - -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; - -public class WorkerServerMapperProvider { - - private static final String TABLE_NAME = "t_escheduler_worker_server"; - - /** - * query worker list - * @return - */ - public String queryAllWorker() { - return new SQL() {{ - SELECT("*"); - - FROM(TABLE_NAME); - }}.toString(); - } - - /** - * query worker list - * @return - */ - public String queryWorkerByHost(Map parameter) { - return new SQL() {{ - SELECT("*"); - - FROM(TABLE_NAME); - - WHERE("host = #{host}"); - }}.toString(); - } - - - /** - * insert worker server - * @param parameter - * @return - */ - public String insert(Map parameter) { - return new SQL() {{ - INSERT_INTO(TABLE_NAME); - - VALUES("host", "#{workerServer.host}"); - VALUES("port", "#{workerServer.port}"); - VALUES("zk_directory", "#{workerServer.zkDirectory}"); - VALUES("res_info", "#{workerServer.resInfo}"); - VALUES("create_time", "#{workerServer.createTime}"); - VALUES("last_heartbeat_time", "#{workerServer.lastHeartbeatTime}"); - }}.toString(); - } - - /** - * update worker - * - * @param parameter - * @return - */ - public String update(Map parameter) { - return new SQL() {{ - UPDATE(TABLE_NAME); - - SET("last_heartbeat_time = #{workerServer.lastHeartbeatTime}"); - SET("port = #{workerServer.port}"); - SET("res_info = #{workerServer.resInfo}"); - - WHERE("host = #{workerServer.host}"); - }}.toString(); - } - - /** - * delete work by host - * @param parameter - * @return - */ - public String deleteWorkerByHost(Map parameter) { - return new SQL() {{ - DELETE_FROM(TABLE_NAME); - - WHERE("host = #{host}"); - }}.toString(); - } - - -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/ProjectUser.java b/escheduler-dao/src/main/java/cn/escheduler/dao/model/ProjectUser.java deleted file mode 100644 index f8d67ebf50..0000000000 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/ProjectUser.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.model; - -import java.util.Date; - -/** - * project user relation - */ -public class ProjectUser { - - /** - * id - */ - private int id; - /** - * project id - */ - private int projectId; - - /** - * project name - */ - private String projectName; - - /** - * user id - */ - private int userId; - - /** - * user name - */ - private String userName; - - /** - * permission - */ - private int perm; - - /** - * create time - */ - private Date createTime; - - /** - * update time - */ - private Date updateTime; - - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public int getProjectId() { - return projectId; - } - - public void setProjectId(int projectId) { - this.projectId = projectId; - } - - public String getProjectName() { - return projectName; - } - - public void setProjectName(String projectName) { - this.projectName = projectName; - } - - public int getUserId() { - return userId; - } - - public void setUserId(int userId) { - this.userId = userId; - } - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public int getPerm() { - return perm; - } - - public void setPerm(int perm) { - this.perm = perm; - } - - public Date getCreateTime() { - return createTime; - } - - public void setCreateTime(Date createTime) { - this.createTime = createTime; - } - - public Date getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(Date updateTime) { - this.updateTime = updateTime; - } - - @Override - public String toString() { - return "ProjectUser{" + - "id=" + id + - ", projectId=" + projectId + - ", projectName='" + projectName + '\'' + - ", userId=" + userId + - ", userName='" + userName + '\'' + - ", perm=" + perm + - ", createTime=" + createTime + - ", updateTime=" + updateTime + - '}'; - } -} diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/utils/DagHelper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/utils/DagHelper.java index bc509b1e99..5f9c2fdf58 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/utils/DagHelper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/utils/DagHelper.java @@ -22,10 +22,10 @@ import cn.escheduler.common.graph.DAG; import cn.escheduler.common.model.TaskNode; import cn.escheduler.common.model.TaskNodeRelation; import cn.escheduler.common.process.ProcessDag; +import cn.escheduler.common.utils.CollectionUtils; import cn.escheduler.common.utils.JSONUtils; -import cn.escheduler.dao.model.ProcessData; -import cn.escheduler.dao.model.TaskInstance; -import org.apache.commons.collections4.CollectionUtils; +import cn.escheduler.dao.entity.ProcessData; +import cn.escheduler.dao.entity.TaskInstance; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/utils/PropertyUtils.java b/escheduler-dao/src/main/java/cn/escheduler/dao/utils/PropertyUtils.java index 0b17fe9b2f..e91dcedb2c 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/utils/PropertyUtils.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/utils/PropertyUtils.java @@ -17,7 +17,7 @@ package cn.escheduler.dao.utils; import cn.escheduler.common.Constants; -import org.apache.commons.io.IOUtils; +import com.baomidou.mybatisplus.core.toolkit.IOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/AccessTokenMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/AccessTokenMapper.xml new file mode 100644 index 0000000000..a9f0c59ba1 --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/AccessTokenMapper.xml @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/AlertGroupMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/AlertGroupMapper.xml new file mode 100644 index 0000000000..2a86c9360d --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/AlertGroupMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/AlertMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/AlertMapper.xml new file mode 100644 index 0000000000..5211ae0751 --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/AlertMapper.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/CommandMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/CommandMapper.xml new file mode 100644 index 0000000000..fdc8aecb5b --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/CommandMapper.xml @@ -0,0 +1,26 @@ + + + + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/DataSourceMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/DataSourceMapper.xml new file mode 100644 index 0000000000..5987339bdf --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/DataSourceMapper.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/DataSourceUserMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/DataSourceUserMapper.xml new file mode 100644 index 0000000000..b833a1fbdc --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/DataSourceUserMapper.xml @@ -0,0 +1,13 @@ + + + + + delete from t_escheduler_datasource_user + where user_id = #{userId} + + + + delete from t_escheduler_datasource_user + where datasource_id = #{datasourceId} + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ErrorCommandMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ErrorCommandMapper.xml new file mode 100644 index 0000000000..775df6304c --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ErrorCommandMapper.xml @@ -0,0 +1,19 @@ + + + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProcessDefinitionMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProcessDefinitionMapper.xml new file mode 100644 index 0000000000..b187587205 --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProcessDefinitionMapper.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProcessInstanceMapMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProcessInstanceMapMapper.xml new file mode 100644 index 0000000000..4ec6eb5121 --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProcessInstanceMapMapper.xml @@ -0,0 +1,21 @@ + + + + + delete + from t_escheduler_relation_process_instance + where parent_process_instance_id=#{parentProcessId} + + + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProcessInstanceMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProcessInstanceMapper.xml new file mode 100644 index 0000000000..548faa30d1 --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProcessInstanceMapper.xml @@ -0,0 +1,127 @@ + + + + + + + + update t_escheduler_process_instance + set host=null + where host =#{host} and state in (#{states}) + + + update t_escheduler_process_instance + set state = #{destState} + where state = #{originState} + + + + + + + + + + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProjectMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProjectMapper.xml new file mode 100644 index 0000000000..fe605a7c93 --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProjectMapper.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProjectUserMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProjectUserMapper.xml new file mode 100644 index 0000000000..f0b163b72f --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ProjectUserMapper.xml @@ -0,0 +1,19 @@ + + + + + delete from t_escheduler_relation_project_user + where user_id = #{userId} + + and project_id = #{projectId} + + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/QueueMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/QueueMapper.xml new file mode 100644 index 0000000000..4ed9d5be21 --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/QueueMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ResourceMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ResourceMapper.xml new file mode 100644 index 0000000000..643f9856f2 --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ResourceMapper.xml @@ -0,0 +1,57 @@ + + + + + + + + + + diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ResourceUserMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ResourceUserMapper.xml new file mode 100644 index 0000000000..5845fe30f0 --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ResourceUserMapper.xml @@ -0,0 +1,15 @@ + + + + + delete + from t_escheduler_relation_resources_user + where 1 = 1 + + and user_id = #{userId} + + + and resource_id = #{resourceId} + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ScheduleMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ScheduleMapper.xml new file mode 100644 index 0000000000..64c7363d4a --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/ScheduleMapper.xml @@ -0,0 +1,35 @@ + + + + + + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/SessionMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/SessionMapper.xml new file mode 100644 index 0000000000..530d0e984c --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/SessionMapper.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/TaskInstanceMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/TaskInstanceMapper.xml new file mode 100644 index 0000000000..3df40f0711 --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/TaskInstanceMapper.xml @@ -0,0 +1,91 @@ + + + + + update t_escheduler_task_instance + set state = #{destStatus} + where host = #{host} and state in (#{states}) + + + + + + + + + + diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/TenantMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/TenantMapper.xml new file mode 100644 index 0000000000..763cdd1207 --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/TenantMapper.xml @@ -0,0 +1,24 @@ + + + + + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/UDFUserMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/UDFUserMapper.xml new file mode 100644 index 0000000000..a34df12ee9 --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/UDFUserMapper.xml @@ -0,0 +1,12 @@ + + + + + delete from t_escheduler_relation_udfs_user + where `user_id` = #{userId} + + + delete from t_escheduler_relation_udfs_user + where `udf_id` = #{udfFuncId} + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/UdfFuncMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/UdfFuncMapper.xml new file mode 100644 index 0000000000..acde3ef7be --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/UdfFuncMapper.xml @@ -0,0 +1,51 @@ + + + + + + + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/UserAlertGroupMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/UserAlertGroupMapper.xml new file mode 100644 index 0000000000..1b972028ec --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/UserAlertGroupMapper.xml @@ -0,0 +1,20 @@ + + + + + delete from t_escheduler_relation_user_alertgroup + where `alertgroup_id` = #{alertgroupId} + + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/UserMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/UserMapper.xml new file mode 100644 index 0000000000..2baf8ad555 --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/UserMapper.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/WorkerGroupMapper.xml b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/WorkerGroupMapper.xml new file mode 100644 index 0000000000..9b82e15cc7 --- /dev/null +++ b/escheduler-dao/src/main/resources/cn.escheduler.dao.mapper/WorkerGroupMapper.xml @@ -0,0 +1,23 @@ + + + + + + + \ No newline at end of file diff --git a/escheduler-dao/src/main/resources/dao/data_source.properties b/escheduler-dao/src/main/resources/dao/data_source.properties__ similarity index 92% rename from escheduler-dao/src/main/resources/dao/data_source.properties rename to escheduler-dao/src/main/resources/dao/data_source.properties__ index cac3aa5e20..3c89dd1fd2 100644 --- a/escheduler-dao/src/main/resources/dao/data_source.properties +++ b/escheduler-dao/src/main/resources/dao/data_source.properties__ @@ -1,9 +1,9 @@ # base spring data source configuration spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.driver-class-name=com.mysql.jdbc.Driver -spring.datasource.url=jdbc:mysql://192.168.xx.xx:3306/escheduler?characterEncoding=UTF-8 -spring.datasource.username=xx -spring.datasource.password=xx +spring.datasource.url=jdbc:mysql://192.168.220.188:3306/escheduler_new?characterEncoding=UTF-8 +spring.datasource.username=root +spring.datasource.password=root@123 # connection configuration spring.datasource.initialSize=5 diff --git a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/AccessTokenMapperTest.java b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/AccessTokenMapperTest.java index d7c0298d4b..078288b5a6 100644 --- a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/AccessTokenMapperTest.java +++ b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/AccessTokenMapperTest.java @@ -16,51 +16,79 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.dao.datasource.ConnectionFactory; -import cn.escheduler.dao.model.AccessToken; -import cn.escheduler.dao.model.User; +import cn.escheduler.dao.entity.AccessToken; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.junit.Assert; -import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; +import javax.annotation.Resource; import java.util.Date; import java.util.List; -/** - * access token test - */ + +@RunWith(SpringRunner.class) +@SpringBootTest public class AccessTokenMapperTest { + @Resource AccessTokenMapper accessTokenMapper; - @Before - public void before(){ - accessTokenMapper = ConnectionFactory.getSqlSession().getMapper(AccessTokenMapper.class); - } - @Test - public void testInsert(){ + private AccessToken insertOne(){ + //insertOne AccessToken accessToken = new AccessToken(); - accessToken.setUserId(10); - accessToken.setExpireTime(new Date()); - accessToken.setToken("ssssssssssssssssssssssssss"); + accessToken.setUserId(4); + accessToken.setToken("hello, access token"); accessToken.setCreateTime(new Date()); accessToken.setUpdateTime(new Date()); + accessToken.setExpireTime(new Date()); accessTokenMapper.insert(accessToken); + return accessToken; } @Test - public void testListPaging(){ - Integer count = accessTokenMapper.countAccessTokenPaging(1,""); - Assert.assertTrue( count >= 0); + public void testUpdate(){ + //insertOne + AccessToken accessToken = insertOne(); + //update + accessToken.setToken("hello, token"); + int update = accessTokenMapper.updateById(accessToken); + Assert.assertEquals(update, 1); + accessTokenMapper.deleteById(accessToken.getId()); + } - List accessTokenList = accessTokenMapper.queryAccessTokenPaging(1,"", 0, 2); + @Test + public void testDelete(){ - Assert.assertTrue( accessTokenList.size() >= 0); + AccessToken accessToken = insertOne(); + int delete = accessTokenMapper.deleteById(accessToken.getId()); + Assert.assertEquals(delete, 1); } + @Test + public void testQuery(){ + + AccessToken accessToken = insertOne(); + //query + List token = accessTokenMapper.selectList(null); + Assert.assertNotEquals(token.size(), 0); + accessTokenMapper.deleteById(accessToken.getId()); + } + @Test + public void selectAccessTokenPage() { + AccessToken accessToken = insertOne(); + Page page = new Page(1, 3); + String userName = ""; + IPage accessTokenPage = accessTokenMapper.selectAccessTokenPage(page, userName, 4); + Assert.assertNotEquals(accessTokenPage.getTotal(), 0); + accessTokenMapper.deleteById(accessToken.getId()); + } -} +} \ No newline at end of file diff --git a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/AlertGroupMapperTest.java b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/AlertGroupMapperTest.java index 0a20e31b1b..9f95ce3b70 100644 --- a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/AlertGroupMapperTest.java +++ b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/AlertGroupMapperTest.java @@ -16,52 +16,121 @@ */ package cn.escheduler.dao.mapper; + import cn.escheduler.common.enums.AlertType; -import cn.escheduler.dao.datasource.ConnectionFactory; -import cn.escheduler.dao.model.AlertGroup; +import cn.escheduler.dao.entity.AccessToken; +import cn.escheduler.dao.entity.AlertGroup; +import cn.escheduler.dao.entity.UserAlertGroup; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.junit.Assert; -import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; import java.util.Date; +import java.util.List; -/** - * alert group - */ +@RunWith(SpringRunner.class) +@SpringBootTest public class AlertGroupMapperTest { + @Autowired AlertGroupMapper alertGroupMapper; + @Autowired + UserAlertGroupMapper userAlertGroupMapper; - @Before - public void before(){ - alertGroupMapper = ConnectionFactory.getSqlSession().getMapper(AlertGroupMapper.class); - } - - - @Test - public void testMapper(){ + private AlertGroup insertOne(){ + //insertOne AlertGroup alertGroup = new AlertGroup(); - alertGroup.setGroupName("alert group test"); - alertGroup.setDesc("alert group test"); + alertGroup.setGroupName("alert group 1"); + alertGroup.setDescription("alert test1"); alertGroup.setGroupType(AlertType.EMAIL); - alertGroup.setUpdateTime(new Date()); + alertGroup.setCreateTime(new Date()); + alertGroup.setUpdateTime(new Date()); alertGroupMapper.insert(alertGroup); + return alertGroup; + } + + @Test + public void testUpdate(){ + //insertOne + AlertGroup alertGroup = insertOne(); + //update + alertGroup.setDescription("hello, ag"); + int update = alertGroupMapper.updateById(alertGroup); + Assert.assertEquals(update, 1); + alertGroupMapper.deleteById(alertGroup.getId()); + } + + @Test + public void testDelete(){ - Assert.assertNotEquals(alertGroup.getId(), 0); + AlertGroup alertGroup = insertOne(); + int delete = alertGroupMapper.deleteById(alertGroup.getId()); + Assert.assertEquals(delete, 1); + } - alertGroup.setDesc("test alert group"); - alertGroupMapper.update(alertGroup); + @Test + public void testQuery() { + AlertGroup alertGroup = insertOne(); + //query + List alertGroups = alertGroupMapper.selectList(null); + Assert.assertNotEquals(alertGroups.size(), 0); + alertGroupMapper.deleteById(alertGroup.getId()); + } - alertGroup = alertGroupMapper.queryById(alertGroup.getId()); - Assert.assertEquals(alertGroup.getDesc(), "test alert group"); + @Test + public void testQueryAlertGroupPage() { + AlertGroup alertGroup = insertOne(); + Page page = new Page(1, 3); + IPage accessTokenPage = alertGroupMapper.queryAlertGroupPage(page, + "alert" ); + Assert.assertNotEquals(accessTokenPage.getTotal(), 0); + alertGroupMapper.deleteById(alertGroup.getId()); + } - int delete = alertGroupMapper.delete(alertGroup.getId()); - Assert.assertEquals(delete, 1); + @Test + public void testQueryByGroupName() { + AlertGroup alertGroup = insertOne(); + List alertGroups = alertGroupMapper.queryByGroupName("alert group 1"); + Assert.assertNotEquals(alertGroups.size(), 0); + alertGroupMapper.deleteById(alertGroup.getId()); } -} + @Test + public void testQueryByUserId() { + AlertGroup alertGroup = insertOne(); + UserAlertGroup userAlertGroup = new UserAlertGroup(); + userAlertGroup.setAlertgroupId(alertGroup.getId()); + userAlertGroup.setUserId(4); + userAlertGroupMapper.insert(userAlertGroup); + List alertGroups = alertGroupMapper.queryByUserId(4); + Assert.assertNotEquals(alertGroups.size(), 0); + alertGroupMapper.deleteById(alertGroup.getId()); + userAlertGroupMapper.deleteById(userAlertGroup.getId()); + } + + @Test + public void testQueryByAlertType() { + AlertGroup alertGroup = insertOne(); + List alertGroups = alertGroupMapper.queryByAlertType(AlertType.EMAIL); + Assert.assertNotEquals(alertGroups.size(), 0); + alertGroupMapper.deleteById(alertGroup.getId()); + } + + @Test + public void testQueryAllGroupList() { + AlertGroup alertGroup = insertOne(); + List alertGroups = alertGroupMapper.queryAllGroupList(); + Assert.assertNotEquals(alertGroups.size(), 0); + alertGroupMapper.deleteById(alertGroup.getId()); + } +} \ No newline at end of file diff --git a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/AlertMapperTest.java b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/AlertMapperTest.java index f45f78613b..c1a0344c6b 100644 --- a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/AlertMapperTest.java +++ b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/AlertMapperTest.java @@ -17,49 +17,73 @@ package cn.escheduler.dao.mapper; import cn.escheduler.common.enums.AlertStatus; -import cn.escheduler.common.enums.AlertType; -import cn.escheduler.common.enums.ShowType; -import cn.escheduler.dao.datasource.ConnectionFactory; -import cn.escheduler.dao.model.Alert; +import cn.escheduler.dao.entity.Alert; import org.junit.Assert; -import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; import java.util.Date; +import java.util.List; -/** - * alert mapper test - */ -public class AlertMapperTest { - AlertMapper alertMapper; +@RunWith(SpringRunner.class) +@SpringBootTest +public class AlertMapperTest { - @Before - public void before(){ - alertMapper = ConnectionFactory.getSqlSession().getMapper(AlertMapper.class); - } + @Autowired + AlertMapper alertMapper; - @Test - public void testMapper(){ + private Alert insertOne(){ + //insertOne Alert alert = new Alert(); - alert.setAlertType(AlertType.EMAIL); - alert.setContent("content test "); - alert.setShowType(ShowType.TABLE); - alert.setTitle("alert test"); + alert.setLog("success"); + alert.setReceivers("xx@aa.com"); alert.setAlertGroupId(1); + alert.setAlertStatus(AlertStatus.EXECUTION_SUCCESS); alert.setCreateTime(new Date()); alert.setUpdateTime(new Date()); - alert.setAlertStatus(AlertStatus.WAIT_EXECUTION); alertMapper.insert(alert); - Assert.assertNotEquals(alert.getId(), 0); - - alert.setTitle("alert title"); - int update = alertMapper.update(AlertStatus.EXECUTION_SUCCESS, "execute successfully", - new Date(), alert.getId()); + return alert; + } + @Test + public void testUpdate(){ + //insertOne + Alert alert = insertOne(); + //update + alert.setTitle("hello"); + int update = alertMapper.updateById(alert); Assert.assertEquals(update, 1); - int delete = alertMapper.delete(alert.getId()); + alertMapper.deleteById(alert.getId()); + } + + @Test + public void testDelete(){ + + Alert alert = insertOne(); + int delete = alertMapper.deleteById(alert.getId()); Assert.assertEquals(delete, 1); } -} + + @Test + public void testQuery() { + Alert alert = insertOne(); + //query + List alerts = alertMapper.selectList(null); + Assert.assertNotEquals(alerts.size(), 0); + alertMapper.deleteById(alert.getId()); + } + + @Test + public void testListAlertByStatus() { + Alert alert = insertOne(); + //query + List alerts = alertMapper.listAlertByStatus(AlertStatus.EXECUTION_SUCCESS); + Assert.assertNotEquals(alerts.size(), 0); + alertMapper.deleteById(alert.getId()); + } +} \ No newline at end of file diff --git a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/CommandMapperTest.java b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/CommandMapperTest.java index b548829926..625273fa27 100644 --- a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/CommandMapperTest.java +++ b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/CommandMapperTest.java @@ -16,58 +16,138 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.common.enums.CommandType; -import cn.escheduler.common.enums.FailureStrategy; -import cn.escheduler.common.enums.TaskDependType; -import cn.escheduler.common.enums.WarningType; -import cn.escheduler.dao.datasource.ConnectionFactory; -import cn.escheduler.dao.model.Command; +import cn.escheduler.common.enums.*; +import cn.escheduler.dao.entity.Command; +import cn.escheduler.dao.entity.CommandCount; +import cn.escheduler.dao.entity.ProcessDefinition; import org.junit.Assert; -import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; +import java.util.Date; import java.util.List; -/** - * command test - */ +@RunWith(SpringRunner.class) +@SpringBootTest public class CommandMapperTest { - CommandMapper commandMapper; - - @Before - public void before(){ - commandMapper = ConnectionFactory.getSqlSession().getMapper(CommandMapper.class); - } + @Autowired + CommandMapper commandMapper; - @Test - public void testMapper(){ + @Autowired + ProcessDefinitionMapper processDefinitionMapper; + private Command insertOne(){ + //insertOne Command command = new Command(); command.setCommandType(CommandType.START_PROCESS); command.setProcessDefinitionId(1); - command.setExecutorId(10); + command.setExecutorId(4); + command.setProcessInstancePriority(Priority.MEDIUM); command.setFailureStrategy(FailureStrategy.CONTINUE); - command.setWarningType(WarningType.NONE); + command.setWorkerGroupId(-1); command.setWarningGroupId(1); - command.setTaskDependType(TaskDependType.TASK_POST); + command.setUpdateTime(new Date()); commandMapper.insert(command); - Assert.assertNotEquals(command.getId(), 0); + return command; + } - command.setCommandParam("command parameter test"); - int update = commandMapper.update(command); + @Test + public void testUpdate(){ + //insertOne + Command command = insertOne(); + //update + command.setStartTime(new Date()); + int update = commandMapper.updateById(command); Assert.assertEquals(update, 1); + commandMapper.deleteById(command.getId()); + } + + @Test + public void testDelete(){ - int delete = commandMapper.delete(command.getId()); + Command Command = insertOne(); + int delete = commandMapper.deleteById(Command.getId()); Assert.assertEquals(delete, 1); } @Test - public void testQuery(){ - List commandList = commandMapper.queryAllCommand(); - Assert.assertNotEquals(commandList, null); + public void testQuery() { + Command command = insertOne(); + //query + List commands = commandMapper.selectList(null); + Assert.assertNotEquals(commands.size(), 0); + commandMapper.deleteById(command.getId()); + } + @Test + public void testGetAll() { + Command command = insertOne(); + List commands = commandMapper.selectList(null); + Assert.assertNotEquals(commands.size(), 0); + commandMapper.deleteById(command.getId()); + } + + @Test + public void testGetOneToRun() { + ProcessDefinition processDefinition = new ProcessDefinition(); + processDefinition.setReleaseState(ReleaseState.ONLINE); + processDefinition.setName("ut test"); + processDefinition.setProjectId(1); + processDefinition.setFlag(Flag.YES); + processDefinitionMapper.insert(processDefinition); + + Command command = new Command(); + command.setCommandType(CommandType.START_PROCESS); + command.setProcessDefinitionId(processDefinition.getId()); + command.setExecutorId(4); + command.setProcessInstancePriority(Priority.MEDIUM); + command.setFailureStrategy(FailureStrategy.CONTINUE); + command.setWorkerGroupId(-1); + command.setWarningGroupId(1); + command.setUpdateTime(new Date()); + commandMapper.insert(command); + + Command command2 = commandMapper.getOneToRun(); + Assert.assertNotEquals(command2, null); + commandMapper.deleteById(command.getId()); + processDefinitionMapper.deleteById(processDefinition.getId()); } + @Test + public void testCountCommandState() { + Command command = insertOne(); + + //insertOne + ProcessDefinition processDefinition = new ProcessDefinition(); + processDefinition.setName("def 1"); + processDefinition.setProjectId(1010); + processDefinition.setUserId(101); + processDefinition.setUpdateTime(new Date()); + processDefinition.setCreateTime(new Date()); + processDefinitionMapper.insert(processDefinition); + + command.setProcessDefinitionId(processDefinition.getId()); + commandMapper.updateById(command); + -} + List commandCounts = commandMapper.countCommandState( + 4, null, null, new Integer[0] + ); + + Integer[] projectIdArray = new Integer[2]; + projectIdArray[0] = processDefinition.getProjectId(); + projectIdArray[1] = 200; + List commandCounts2 = commandMapper.countCommandState( + 4, null, null, projectIdArray + ); + + commandMapper.deleteById(command.getId()); + processDefinitionMapper.deleteById(processDefinition.getId()); + Assert.assertNotEquals(commandCounts.size(), 0); + Assert.assertNotEquals(commandCounts2.size(), 0); + } +} \ No newline at end of file diff --git a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/DataSourceMapperTest.java b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/DataSourceMapperTest.java index 031d31889e..9ec9f6f513 100644 --- a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/DataSourceMapperTest.java +++ b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/DataSourceMapperTest.java @@ -16,55 +16,135 @@ */ package cn.escheduler.dao.mapper; + import cn.escheduler.common.enums.DbType; -import cn.escheduler.dao.datasource.ConnectionFactory; -import cn.escheduler.dao.model.DataSource; +import cn.escheduler.dao.entity.DataSource; +import cn.escheduler.dao.entity.DatasourceUser; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.junit.Assert; -import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; import java.util.Date; import java.util.List; -/** - * datasource mapper test - */ +@RunWith(SpringRunner.class) +@SpringBootTest public class DataSourceMapperTest { - + @Autowired DataSourceMapper dataSourceMapper; - @Before - public void before(){ - dataSourceMapper = ConnectionFactory.getSqlSession().getMapper(DataSourceMapper.class); - } - - - @Test - public void testMapper(){ + @Autowired + DataSourceUserMapper dataSourceUserMapper; + private DataSource insertOne(){ + //insertOne DataSource dataSource = new DataSource(); + dataSource.setUserId(4); + dataSource.setName("data source test"); dataSource.setType(DbType.MYSQL); - dataSource.setName("data source"); - dataSource.setConnectionParams("connections"); dataSource.setNote("mysql test"); + dataSource.setConnectionParams("hello mysql"); + dataSource.setUpdateTime(new Date()); dataSource.setCreateTime(new Date()); + dataSourceMapper.insert(dataSource); + return dataSource; + } + + @Test + public void testUpdate(){ + //insertOne + DataSource dataSource = insertOne(); + //update dataSource.setUpdateTime(new Date()); + int update = dataSourceMapper.updateById(dataSource); + Assert.assertEquals(update, 1); + dataSourceMapper.deleteById(dataSource.getId()); + } - dataSourceMapper.insert(dataSource); - Assert.assertNotEquals(dataSource.getId(), 0); - - List dataSources = dataSourceMapper.queryAllDataSourcePaging("", 0, 30); - DataSource findDataSource = null; - for(DataSource dataSource1 : dataSources){ - if(dataSource1.getId() == dataSource.getId()){ - findDataSource = dataSource1; - } - } - - Assert.assertNotEquals(findDataSource, null); - int delete = dataSourceMapper.deleteDataSourceById(dataSource.getId()); + @Test + public void testDelete(){ + + DataSource dataSource = insertOne(); + int delete = dataSourceMapper.deleteById(dataSource.getId()); Assert.assertEquals(delete, 1); + } + + @Test + public void testQuery() { + DataSource dataSource = insertOne(); + //query + List dataSources = dataSourceMapper.selectList(null); + Assert.assertNotEquals(dataSources.size(), 0); + dataSourceMapper.deleteById(dataSource.getId()); + } + + @Test + public void testQueryDataSourceByType() { + DataSource dataSource = insertOne(); + //query + List dataSources = dataSourceMapper.queryDataSourceByType( + 0, DbType.MYSQL.ordinal() + ); + Assert.assertNotEquals(dataSources.size(), 0); + dataSourceMapper.deleteById(dataSource.getId()); + } + + @Test + public void testSelectPaging() { + DataSource dataSource = insertOne(); + Page page = new Page(1, 3); + IPage dataSourceIPage = dataSourceMapper.selectPaging(page, + 4, null); + Assert.assertNotEquals(dataSourceIPage.getTotal(), 0); + dataSourceMapper.deleteById(dataSource.getId()); + } + + @Test + public void testQueryDataSourceByName() { + DataSource dataSource = insertOne(); + List dataSources = dataSourceMapper.queryDataSourceByName("data source test"); + Assert.assertNotEquals(dataSources.size(), 0); + dataSourceMapper.deleteById(dataSource.getId()); + } + + @Test + public void testQueryAuthedDatasource() { + + DataSource dataSource = insertOne(); + DatasourceUser datasourceUser = new DatasourceUser(); + datasourceUser.setUserId(3); + datasourceUser.setDatasourceId(dataSource.getId()); + dataSourceUserMapper.insert(datasourceUser); + + List dataSources = dataSourceMapper.queryAuthedDatasource(3); + Assert.assertNotEquals(dataSources.size(), 0); + dataSourceMapper.deleteById(dataSource.getId()); + dataSourceUserMapper.deleteById(datasourceUser.getId()); + } + + @Test + public void testQueryDatasourceExceptUserId() { + DataSource dataSource = insertOne(); + List dataSources = dataSourceMapper.queryDatasourceExceptUserId(3); + Assert.assertNotEquals(dataSources.size(), 0); + dataSourceMapper.deleteById(dataSource.getId()); + } + + @Test + public void testListAllDataSourceByType() { + + DataSource dataSource = insertOne(); + List dataSources = dataSourceMapper.queryDataSourceByType(4, DbType.MYSQL.ordinal()); + Assert.assertNotEquals(dataSources.size(), 0); + List dataSources2 = dataSourceMapper.queryDataSourceByType(10091, DbType.MYSQL.ordinal()); + Assert.assertEquals(dataSources2.size(), 0); + dataSourceMapper.deleteById(dataSource.getId()); } -} +} \ No newline at end of file diff --git a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/MasterServerMapperTest.java b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/MasterServerMapperTest.java deleted file mode 100644 index aeefd922a0..0000000000 --- a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/MasterServerMapperTest.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.escheduler.dao.mapper; - -import cn.escheduler.common.utils.OSUtils; -import cn.escheduler.dao.datasource.ConnectionFactory; -import cn.escheduler.common.model.MasterServer; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; - -import java.util.Date; -import java.util.List; - -@SpringBootTest -public class MasterServerMapperTest { - - @Autowired - MasterServerMapper masterServerMapper; - - @Before - public void before(){ - masterServerMapper = ConnectionFactory.getSqlSession().getMapper(MasterServerMapper.class); - } - - @Test - public void queryAllMaster() { - - MasterServer masterServer = new MasterServer(); - String host = OSUtils.getHost(); - masterServer.setHost(host); - masterServer.setLastHeartbeatTime(new Date()); - masterServer.setPort(19282); - masterServer.setCreateTime(new Date()); - masterServer.setZkDirectory("/escheduler/masters/" + host + "_0000000001"); - - masterServerMapper.insert(masterServer); - Assert.assertNotEquals(masterServer.getId(), 0); - - - masterServer.setPort(12892); - int update = masterServerMapper.update(masterServer); - Assert.assertEquals(update, 1); - - - List masterServers = masterServerMapper.queryAllMaster(); - - MasterServer findMaster = null; - for(MasterServer master : masterServers){ - if(master.getId() == masterServer.getId()){ - findMaster = master; - } - } - Assert.assertNotEquals(findMaster, null); - - int delete = masterServerMapper.deleteWorkerByHost(host); - Assert.assertEquals(delete, 1); - - - } - -} \ No newline at end of file diff --git a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/ProcessDefinitionMapperTest.java b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/ProcessDefinitionMapperTest.java index fb0a8421f5..cf3c989c2a 100644 --- a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/ProcessDefinitionMapperTest.java +++ b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/ProcessDefinitionMapperTest.java @@ -16,61 +16,161 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.common.enums.Flag; -import cn.escheduler.dao.datasource.ConnectionFactory; -import cn.escheduler.dao.model.ProcessDefinition; + +import cn.escheduler.common.enums.CommandType; +import cn.escheduler.common.enums.UserType; +import cn.escheduler.dao.entity.*; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.lang3.StringUtils; import org.junit.Assert; -import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; import java.util.Date; import java.util.List; +@RunWith(SpringRunner.class) +@SpringBootTest public class ProcessDefinitionMapperTest { + @Autowired ProcessDefinitionMapper processDefinitionMapper; + @Autowired + UserMapper userMapper; - @Before - public void before(){ - processDefinitionMapper = ConnectionFactory.getSqlSession().getMapper(ProcessDefinitionMapper.class); - } - @Test - public void testMapper() { - ProcessDefinition processDefinition = new ProcessDefinition(); + @Autowired + QueueMapper queueMapper; + + @Autowired + TenantMapper tenantMapper; - processDefinition.setProcessDefinitionJson("json field"); + @Autowired + ProjectMapper projectMapper; - processDefinition.setName("test"); - processDefinition.setConnects("[]"); - processDefinition.setLocations("[]"); - processDefinition.setFlag(Flag.YES); - processDefinition.setDesc("test"); - processDefinition.setProjectId(1024); + private ProcessDefinition insertOne(){ + //insertOne + ProcessDefinition processDefinition = new ProcessDefinition(); + processDefinition.setName("def 1"); + processDefinition.setProjectId(1010); + processDefinition.setUserId(101); processDefinition.setUpdateTime(new Date()); processDefinition.setCreateTime(new Date()); - processDefinitionMapper.insert(processDefinition); - Assert.assertNotEquals(processDefinition.getId(), 0); - processDefinition.setName("test definition"); - int update = processDefinitionMapper.update(processDefinition); + return processDefinition; + } + + @Test + public void testUpdate(){ + //insertOne + ProcessDefinition processDefinition = insertOne(); + //update + processDefinition.setUpdateTime(new Date()); + int update = processDefinitionMapper.updateById(processDefinition); Assert.assertEquals(update, 1); + processDefinitionMapper.deleteById(processDefinition.getId()); + } - ProcessDefinition findProcess = null; - List processDefinitionList = processDefinitionMapper.queryAllDefinitionList(1024); - for(ProcessDefinition processDefinition1 : processDefinitionList){ - if(processDefinition1.getId() == processDefinition.getId()){ - findProcess = processDefinition1; - break; - } - } - Assert.assertNotEquals(findProcess, null); - - int delete = processDefinitionMapper.delete(processDefinition.getId()); + @Test + public void testDelete(){ + ProcessDefinition processDefinition = insertOne(); + int delete = processDefinitionMapper.deleteById(processDefinition.getId()); Assert.assertEquals(delete, 1); + } + + @Test + public void testQuery() { + ProcessDefinition processDefinition = insertOne(); + //query + List dataSources = processDefinitionMapper.selectList(null); + Assert.assertNotEquals(dataSources.size(), 0); + processDefinitionMapper.deleteById(processDefinition.getId()); + } + + @Test + public void testQueryByDefineName() { + Project project = new Project(); + project.setName("ut project"); + project.setUserId(4); + projectMapper.insert(project); + + Queue queue = new Queue(); + queue.setQueue("queue"); + queue.setQueueName("queue name"); + queueMapper.insert(queue); + + Tenant tenant = new Tenant(); + tenant.setTenantCode("tenant"); + tenant.setQueueId(queue.getId()); + tenant.setDescription("t"); + tenantMapper.insert(tenant); + User user = new User(); + user.setUserName("hello"); + user.setUserPassword("pwd"); + user.setUserType(UserType.GENERAL_USER); + user.setTenantId(tenant.getId()); + userMapper.insert(user); + + //insertOne + ProcessDefinition processDefinition = new ProcessDefinition(); + processDefinition.setName("def 1"); + processDefinition.setProjectId(project.getId()); + processDefinition.setUpdateTime(new Date()); + processDefinition.setCreateTime(new Date()); + processDefinition.setTenantId(tenant.getId()); + processDefinition.setUserId(user.getId()); + processDefinitionMapper.insert(processDefinition); + + ProcessDefinition processDefinition1 = processDefinitionMapper.queryByDefineName(project.getId(), "def 1"); + Assert.assertNotEquals(processDefinition1, null); + processDefinitionMapper.deleteById(processDefinition.getId()); + queueMapper.deleteById(queue.getId()); + projectMapper.deleteById(project.getId()); + tenantMapper.deleteById(tenant.getId()); + userMapper.deleteById(user.getId()); + } + + @Test + public void testQueryDefineListPaging() { + ProcessDefinition processDefinition = insertOne(); + Page page = new Page(1,3); + IPage processDefinitionIPage = processDefinitionMapper.queryDefineListPaging(page, "def", 101, 1010); + Assert.assertNotEquals(processDefinitionIPage.getTotal(), 0); + processDefinitionMapper.deleteById(processDefinition.getId()); + } + + @Test + public void testQueryAllDefinitionList() { + ProcessDefinition processDefinition = insertOne(); + List processDefinitionIPage = processDefinitionMapper.queryAllDefinitionList(1010); + Assert.assertNotEquals(processDefinitionIPage.size(), 0); + processDefinitionMapper.deleteById(processDefinition.getId()); + } + + @Test + public void testQueryDefinitionListByIdList() { + + ProcessDefinition processDefinition = insertOne(); + ProcessDefinition processDefinition1 = insertOne(); + + Integer[] array = new Integer[2]; + array[0] = processDefinition.getId(); + array[1] = processDefinition1.getId(); + + List processDefinitions = processDefinitionMapper.queryDefinitionListByIdList(array); + processDefinitionMapper.deleteById(processDefinition.getId()); + processDefinitionMapper.deleteById(processDefinition1.getId()); + Assert.assertEquals(processDefinitions.size(), 2); } + @Test + public void testCountDefinitionGroupByUser() { + } } \ No newline at end of file diff --git a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/TenantMapperTest.java b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/TenantMapperTest.java index 0058733433..6fefc7faac 100644 --- a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/TenantMapperTest.java +++ b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/TenantMapperTest.java @@ -16,49 +16,25 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.dao.datasource.ConnectionFactory; -import cn.escheduler.dao.model.Tenant; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.springframework.transaction.annotation.Transactional; -import java.util.Date; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; +@RunWith(SpringRunner.class) +@SpringBootTest public class TenantMapperTest { - - TenantMapper tenantMapper; - - @Before - public void before(){ - tenantMapper = ConnectionFactory.getSqlSession().getMapper(TenantMapper.class); + @Test + public void testQueryById() { } @Test - @Transactional - public void testMapper(){ - - Tenant tenant = new Tenant(); - tenant.setTenantName("bigdata"); - tenant.setQueueId(1); - tenant.setCreateTime(new Date()); - tenant.setUpdateTime(new Date()); - tenantMapper.insert(tenant); - Assert.assertNotEquals(tenant.getId(), 0); - - - tenant.setTenantName("bigdata-test"); - int update = tenantMapper.update(tenant); - Assert.assertEquals(update, 1); - - - tenant = tenantMapper.queryById(tenant.getId()); - Assert.assertEquals(tenant.getTenantName(), "bigdata-test"); - - - int delete = tenantMapper.deleteById(tenant.getId()); - Assert.assertEquals(delete, 1); + public void testQueryByTenantCode() { } -} + @Test + public void testQueryTenantPaging() { + } +} \ No newline at end of file diff --git a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/UdfFuncMapperTest.java b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/UdfFuncMapperTest.java index 36f3a18a0f..795c899c42 100644 --- a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/UdfFuncMapperTest.java +++ b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/UdfFuncMapperTest.java @@ -16,50 +16,33 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.dao.datasource.ConnectionFactory; -import cn.escheduler.dao.model.Resource; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import java.util.Date; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; +@RunWith(SpringRunner.class) +@SpringBootTest public class UdfFuncMapperTest { - private final Logger logger = LoggerFactory.getLogger(UdfFuncMapperTest.class); - - ResourceMapper resourceMapper; - UdfFuncMapper udfFuncMapper; - - @Before - public void before(){ - - resourceMapper = ConnectionFactory.getSqlSession().getMapper(ResourceMapper.class); - udfFuncMapper = ConnectionFactory.getSqlSession().getMapper(UdfFuncMapper.class); + @Test + public void testQueryUdfByIdStr() { } @Test - public void testMapper(){ - Resource resource = new Resource(); - resource.setAlias("aa"); - resource.setFileName("aa"); - resource.setDesc("aa"); - resource.setUserId(2); - resource.setCreateTime(new Date()); - resource.setUpdateTime(new Date()); - resourceMapper.insert(resource); - Assert.assertNotEquals(resource.getId(), 0); - + public void testQueryUdfFuncPaging() { + } - resource.setAlias("aa123"); - resourceMapper.update(resource); - resource = resourceMapper.queryResourceById(resource.getId()); - Assert.assertEquals(resource.getAlias(), "aa123"); + @Test + public void testGetUdfFuncByType() { + } + @Test + public void testQueryUdfFuncExceptUserId() { + } - int delete = resourceMapper.delete(resource.getId()); - Assert.assertEquals(delete, 1); + @Test + public void testQueryAuthedUdfFunc() { } } \ No newline at end of file diff --git a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/UserAlertGroupMapperTest.java b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/UserAlertGroupMapperTest.java index 8188d639e0..3a11a432b4 100644 --- a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/UserAlertGroupMapperTest.java +++ b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/UserAlertGroupMapperTest.java @@ -16,40 +16,25 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.dao.datasource.ConnectionFactory; -import cn.escheduler.dao.model.UserAlertGroup; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; -import java.util.Date; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; +@RunWith(SpringRunner.class) +@SpringBootTest public class UserAlertGroupMapperTest { - - @Autowired - UserAlertGroupMapper userAlertGroupMapper; - - @Before - public void before(){ - userAlertGroupMapper = ConnectionFactory.getSqlSession().getMapper(UserAlertGroupMapper.class); + @Test + public void testQueryForUser() { } @Test - public void testInsert(){ - UserAlertGroup userAlertGroup = new UserAlertGroup(); - userAlertGroup.setUserId(2); - userAlertGroup.setAlertgroupId(10021); - userAlertGroup.setCreateTime(new Date()); - userAlertGroup.setUpdateTime(new Date()); - userAlertGroupMapper.insert(userAlertGroup); - Assert.assertNotEquals(userAlertGroup.getId(), 0); - - - int delete = userAlertGroupMapper.deleteByAlertgroupId(userAlertGroup.getAlertgroupId()); - Assert.assertEquals(delete, 1); + public void testDeleteByAlertgroupId() { } - -} + @Test + public void testListUserByAlertgroupId() { + } +} \ No newline at end of file diff --git a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/UserMapperTest.java b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/UserMapperTest.java index eb4a1df468..71c14808d3 100644 --- a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/UserMapperTest.java +++ b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/UserMapperTest.java @@ -18,84 +18,107 @@ package cn.escheduler.dao.mapper; import cn.escheduler.common.enums.UserType; import cn.escheduler.dao.datasource.ConnectionFactory; -import cn.escheduler.dao.model.AccessToken; -import cn.escheduler.dao.model.User; -import org.junit.After; +import cn.escheduler.dao.entity.User; +import com.baomidou.mybatisplus.annotation.TableField; import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; import java.util.Date; -import java.util.Random; +import java.util.List; -/** - * user test - */ +@RunWith(SpringRunner.class) +@SpringBootTest public class UserMapperTest { - UserMapper userMapper; - AccessTokenMapper accessTokenMapper; - int userId; + @Autowired + private UserMapper userMapper; - @Before - public void before(){ - userMapper = ConnectionFactory.getSqlSession().getMapper(UserMapper.class); - accessTokenMapper = ConnectionFactory.getSqlSession().getMapper(AccessTokenMapper.class); + @Test + public void testInsert(){ + User user = new User(); + user.setUserName("user1"); + user.setUserPassword("1"); + user.setEmail("xx@123.com"); + user.setUserType(UserType.GENERAL_USER); + user.setCreateTime(new Date()); + user.setTenantId(1); + user.setUpdateTime(new Date()); + int res = userMapper.insert(user); + Assert.assertEquals(res,1); } - @After - public void testDelete() { - int delete = userMapper.delete(userId); - Assert.assertTrue(delete >= 0); + @Test + public void testQueryAllGeneralUser() { + List users = userMapper.queryAllGeneralUser(); + System.out.println(users.size()); + List user1 = userMapper.selectList(null); + System.out.println(user1.size()); } + @Test + public void testQueryByUserNameAccurately() { + } @Test - public void testInsert(){ - User user = new User(); - user.setUserName("Dr.strange" + new Date().getTime()); - user.setUserPassword("1234567890"); - user.setEmail("wwww@123.com"); - user.setPhone("12345678901"); - user.setUserType(UserType.GENERAL_USER); - user.setTenantId(1); - user.setCreateTime(new Date()); - user.setUpdateTime(new Date()); - userMapper.insert(user); - Assert.assertNotEquals(user.getId(), 0); + public void testQueryUserByNamePassword() { + } + + @Test + public void testQueryUserPaging() { + } - user.setUserName("Dr.chemistry" + new Date().getTime()); - int update = userMapper.update(user); - Assert.assertEquals(update, 1); + @Test + public void testGetDetailsById() { + } + @Test + public void testQueryUserListByAlertGroupId() { + } - user = userMapper.queryById(user.getId()); - Assert.assertNotEquals(user.getUserName(), "Dr.chemistry" + new Date().getTime()); + @Test + public void testQueryTenantCodeByUserId() { + } - AccessToken accessToken = new AccessToken(); - accessToken.setUserId(user.getId()); - accessToken.setExpireTime(new Date()); - accessToken.setToken("ssssssssssssssssssssssssss"); - accessToken.setCreateTime(new Date()); - accessToken.setUpdateTime(new Date()); - accessTokenMapper.insert(accessToken); + @Test + public void testQueryUserByToken() { + } - userId = user.getId(); + @Test + public void testQueryAllGeneralUser1() { + } + @Test + public void testQueryByUserNameAccurately1() { + } - User user2 = userMapper.queryUserByToken("ssssssssssssssssssssssssss"); - Assert.assertTrue(user2.getId() >= 0); + @Test + public void testQueryUserByNamePassword1() { } + @Test + public void testQueryUserPaging1() { + } @Test - public void queryQueueByProcessInstanceId(){ - String queue = userMapper.queryQueueByProcessInstanceId(-1000); - Assert.assertNotEquals(queue, "ait"); + public void testGetDetailsById1() { } + @Test + public void testQueryUserListByAlertGroupId1() { + } + @Test + public void testQueryTenantCodeByUserId1() { + } -} + @Test + public void testQueryUserByToken1() { + } +} \ No newline at end of file diff --git a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/WorkerGroupMapperTest.java b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/WorkerGroupMapperTest.java index fa4bdeae20..2bac20e506 100644 --- a/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/WorkerGroupMapperTest.java +++ b/escheduler-dao/src/test/java/cn/escheduler/dao/mapper/WorkerGroupMapperTest.java @@ -16,54 +16,25 @@ */ package cn.escheduler.dao.mapper; -import cn.escheduler.dao.datasource.ConnectionFactory; -import cn.escheduler.dao.model.WorkerGroup; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import java.util.Date; -import java.util.List; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; -/** - * worker group mapper test - */ +@RunWith(SpringRunner.class) +@SpringBootTest public class WorkerGroupMapperTest { - WorkerGroupMapper workerGroupMapper; - - - @Before - public void before() { - workerGroupMapper = ConnectionFactory.getSqlSession().getMapper(WorkerGroupMapper.class); + @Test + public void testQueryAllWorkerGroup() { } - @Test - public void test() { - WorkerGroup workerGroup = new WorkerGroup(); - - String name = "workerGroup3"; - workerGroup.setName(name); - workerGroup.setIpList("192.168.220.154,192.168.220.188"); - workerGroup.setCreateTime(new Date()); - workerGroup.setUpdateTime(new Date()); - workerGroupMapper.insert(workerGroup); - Assert.assertNotEquals(workerGroup.getId(), 0); - - List workerGroups2 = workerGroupMapper.queryWorkerGroupByName(name); - Assert.assertEquals(workerGroups2.size(), 1); - - workerGroup.setName("workerGroup11"); - workerGroupMapper.update(workerGroup); - - List workerGroups = workerGroupMapper.queryAllWorkerGroup(); - Assert.assertNotEquals(workerGroups.size(), 0); - - workerGroupMapper.deleteById(workerGroup.getId()); - - workerGroups = workerGroupMapper.queryAllWorkerGroup(); - Assert.assertEquals(workerGroups.size(), 0); + public void testQueryWorkerGroupByName() { } + @Test + public void testQueryListPaging() { + } } \ No newline at end of file diff --git a/escheduler-server/src/main/java/cn/escheduler/server/master/runner/MasterBaseTaskExecThread.java b/escheduler-server/src/main/java/cn/escheduler/server/master/runner/MasterBaseTaskExecThread.java index dc9ac22161..b323b3ee99 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/master/runner/MasterBaseTaskExecThread.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/master/runner/MasterBaseTaskExecThread.java @@ -21,8 +21,8 @@ import cn.escheduler.common.queue.ITaskQueue; import cn.escheduler.common.queue.TaskQueueFactory; import cn.escheduler.dao.AlertDao; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.model.ProcessInstance; -import cn.escheduler.dao.model.TaskInstance; +import cn.escheduler.dao.entity.ProcessInstance; +import cn.escheduler.dao.entity.TaskInstance; import cn.escheduler.dao.utils.BeanContext; import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationException; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/master/runner/MasterExecThread.java b/escheduler-server/src/main/java/cn/escheduler/server/master/runner/MasterExecThread.java index 4591ab1c15..613d9b12c6 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/master/runner/MasterExecThread.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/master/runner/MasterExecThread.java @@ -27,12 +27,11 @@ import cn.escheduler.common.thread.ThreadUtils; import cn.escheduler.common.utils.*; import cn.escheduler.dao.DaoFactory; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.model.ProcessInstance; -import cn.escheduler.dao.model.TaskInstance; +import cn.escheduler.dao.entity.ProcessInstance; +import cn.escheduler.dao.entity.TaskInstance; import cn.escheduler.dao.utils.DagHelper; import cn.escheduler.server.utils.AlertManager; import com.alibaba.fastjson.JSONObject; -import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.PropertiesConfiguration; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/master/runner/MasterSchedulerThread.java b/escheduler-server/src/main/java/cn/escheduler/server/master/runner/MasterSchedulerThread.java index 8562337554..e886c7a2da 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/master/runner/MasterSchedulerThread.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/master/runner/MasterSchedulerThread.java @@ -22,7 +22,7 @@ import cn.escheduler.common.thread.ThreadUtils; import cn.escheduler.common.utils.OSUtils; import cn.escheduler.common.zk.AbstractZKClient; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.model.ProcessInstance; +import cn.escheduler.dao.entity.ProcessInstance; import cn.escheduler.server.zk.ZKMasterClient; import org.apache.commons.configuration.Configuration; import org.apache.curator.framework.imps.CuratorFrameworkState; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/master/runner/MasterTaskExecThread.java b/escheduler-server/src/main/java/cn/escheduler/server/master/runner/MasterTaskExecThread.java index 36b771ad34..1713cda59f 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/master/runner/MasterTaskExecThread.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/master/runner/MasterTaskExecThread.java @@ -22,9 +22,9 @@ import cn.escheduler.common.enums.TaskTimeoutStrategy; import cn.escheduler.common.model.TaskNode; import cn.escheduler.common.task.TaskTimeoutParameter; import cn.escheduler.common.thread.Stopper; -import cn.escheduler.dao.model.ProcessDefinition; -import cn.escheduler.dao.model.ProcessInstance; -import cn.escheduler.dao.model.TaskInstance; +import cn.escheduler.dao.entity.ProcessDefinition; +import cn.escheduler.dao.entity.ProcessInstance; +import cn.escheduler.dao.entity.TaskInstance; import com.alibaba.fastjson.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/master/runner/SubProcessTaskExecThread.java b/escheduler-server/src/main/java/cn/escheduler/server/master/runner/SubProcessTaskExecThread.java index 4eb9ac711d..efcd308cb2 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/master/runner/SubProcessTaskExecThread.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/master/runner/SubProcessTaskExecThread.java @@ -19,8 +19,8 @@ package cn.escheduler.server.master.runner; import cn.escheduler.common.Constants; import cn.escheduler.common.enums.ExecutionStatus; import cn.escheduler.common.thread.Stopper; -import cn.escheduler.dao.model.ProcessInstance; -import cn.escheduler.dao.model.TaskInstance; +import cn.escheduler.dao.entity.ProcessInstance; +import cn.escheduler.dao.entity.TaskInstance; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/quartz/ProcessScheduleJob.java b/escheduler-server/src/main/java/cn/escheduler/server/quartz/ProcessScheduleJob.java index 8d9abecfc8..49c0d9bd32 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/quartz/ProcessScheduleJob.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/quartz/ProcessScheduleJob.java @@ -21,9 +21,9 @@ import cn.escheduler.common.Constants; import cn.escheduler.common.enums.CommandType; import cn.escheduler.common.enums.ReleaseState; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.model.Command; -import cn.escheduler.dao.model.ProcessDefinition; -import cn.escheduler.dao.model.Schedule; +import cn.escheduler.dao.entity.Command; +import cn.escheduler.dao.entity.ProcessDefinition; +import cn.escheduler.dao.entity.Schedule; import org.quartz.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/quartz/QuartzExecutors.java b/escheduler-server/src/main/java/cn/escheduler/server/quartz/QuartzExecutors.java index 03d71cfde2..5c610e759d 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/quartz/QuartzExecutors.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/quartz/QuartzExecutors.java @@ -18,7 +18,7 @@ package cn.escheduler.server.quartz; import cn.escheduler.common.Constants; import cn.escheduler.common.utils.JSONUtils; -import cn.escheduler.dao.model.Schedule; +import cn.escheduler.dao.entity.Schedule; import org.apache.commons.lang.StringUtils; import org.quartz.*; import org.quartz.impl.StdSchedulerFactory; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/utils/AlertManager.java b/escheduler-server/src/main/java/cn/escheduler/server/utils/AlertManager.java index 147f538bca..d0de7a30ca 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/utils/AlertManager.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/utils/AlertManager.java @@ -25,10 +25,10 @@ import cn.escheduler.common.utils.DateUtils; import cn.escheduler.common.utils.JSONUtils; import cn.escheduler.dao.AlertDao; import cn.escheduler.dao.DaoFactory; -import cn.escheduler.dao.model.Alert; -import cn.escheduler.dao.model.ProcessDefinition; -import cn.escheduler.dao.model.ProcessInstance; -import cn.escheduler.dao.model.TaskInstance; +import cn.escheduler.dao.entity.Alert; +import cn.escheduler.dao.entity.ProcessDefinition; +import cn.escheduler.dao.entity.ProcessInstance; +import cn.escheduler.dao.entity.TaskInstance; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/utils/ProcessUtils.java b/escheduler-server/src/main/java/cn/escheduler/server/utils/ProcessUtils.java index 3a07f69d9a..ff24616300 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/utils/ProcessUtils.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/utils/ProcessUtils.java @@ -19,7 +19,7 @@ package cn.escheduler.server.utils; import cn.escheduler.common.Constants; import cn.escheduler.common.utils.CommonUtils; import cn.escheduler.common.utils.OSUtils; -import cn.escheduler.dao.model.TaskInstance; +import cn.escheduler.dao.entity.TaskInstance; import cn.escheduler.server.rpc.LogClient; import org.apache.commons.io.FileUtils; import org.apache.commons.lang.StringUtils; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/utils/UDFUtils.java b/escheduler-server/src/main/java/cn/escheduler/server/utils/UDFUtils.java index 710d50e1a6..212ae0168d 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/utils/UDFUtils.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/utils/UDFUtils.java @@ -18,7 +18,7 @@ package cn.escheduler.server.utils; import cn.escheduler.common.Constants; import cn.escheduler.common.utils.HadoopUtils; -import cn.escheduler.dao.model.UdfFunc; +import cn.escheduler.dao.entity.UdfFunc; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/worker/WorkerServer.java b/escheduler-server/src/main/java/cn/escheduler/server/worker/WorkerServer.java index 61ca0b309d..13ee800312 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/worker/WorkerServer.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/worker/WorkerServer.java @@ -28,7 +28,7 @@ import cn.escheduler.common.utils.CollectionUtils; import cn.escheduler.common.utils.OSUtils; import cn.escheduler.dao.AlertDao; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.model.TaskInstance; +import cn.escheduler.dao.entity.TaskInstance; import cn.escheduler.server.master.AbstractServer; import cn.escheduler.server.utils.ProcessUtils; import cn.escheduler.server.worker.runner.FetchTaskThread; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/worker/runner/FetchTaskThread.java b/escheduler-server/src/main/java/cn/escheduler/server/worker/runner/FetchTaskThread.java index 07ca740d24..ca7501465d 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/worker/runner/FetchTaskThread.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/worker/runner/FetchTaskThread.java @@ -25,7 +25,9 @@ import cn.escheduler.common.utils.FileUtils; import cn.escheduler.common.utils.OSUtils; import cn.escheduler.common.zk.AbstractZKClient; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.model.*; +import cn.escheduler.dao.entity.TaskInstance; +import cn.escheduler.dao.entity.Tenant; +import cn.escheduler.dao.entity.WorkerGroup; import cn.escheduler.server.zk.ZKWorkerClient; import org.apache.commons.configuration.Configuration; import org.apache.commons.lang3.StringUtils; @@ -83,7 +85,7 @@ public class FetchTaskThread implements Runnable{ /** * task instance */ - private TaskInstance taskInstance; + private TaskInstance taskInstance; /** * task instance id diff --git a/escheduler-server/src/main/java/cn/escheduler/server/worker/runner/TaskScheduleThread.java b/escheduler-server/src/main/java/cn/escheduler/server/worker/runner/TaskScheduleThread.java index 542d741f42..fff74cd949 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/worker/runner/TaskScheduleThread.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/worker/runner/TaskScheduleThread.java @@ -21,40 +21,29 @@ import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.sift.SiftingAppender; import cn.escheduler.common.Constants; import cn.escheduler.common.enums.ExecutionStatus; -import cn.escheduler.common.enums.TaskRecordStatus; import cn.escheduler.common.enums.TaskType; import cn.escheduler.common.model.TaskNode; import cn.escheduler.common.process.Property; import cn.escheduler.common.task.AbstractParameters; import cn.escheduler.common.task.TaskTimeoutParameter; -import cn.escheduler.common.task.mr.MapreduceParameters; -import cn.escheduler.common.task.procedure.ProcedureParameters; -import cn.escheduler.common.task.python.PythonParameters; -import cn.escheduler.common.task.shell.ShellParameters; -import cn.escheduler.common.task.spark.SparkParameters; -import cn.escheduler.common.task.sql.SqlParameters; import cn.escheduler.common.utils.*; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.TaskRecordDao; -import cn.escheduler.dao.model.ProcessDefinition; -import cn.escheduler.dao.model.ProcessInstance; -import cn.escheduler.dao.model.TaskInstance; -import cn.escheduler.dao.model.Tenant; +import cn.escheduler.dao.entity.ProcessDefinition; +import cn.escheduler.dao.entity.ProcessInstance; +import cn.escheduler.dao.entity.TaskInstance; +import cn.escheduler.dao.entity.Tenant; import cn.escheduler.server.utils.LoggerUtils; -import cn.escheduler.server.utils.ParamUtils; import cn.escheduler.server.worker.log.TaskLogDiscriminator; import cn.escheduler.server.worker.task.AbstractTask; import cn.escheduler.server.worker.task.TaskManager; import cn.escheduler.server.worker.task.TaskProps; import com.alibaba.fastjson.JSONObject; -import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; import java.io.IOException; import java.util.*; -import java.util.concurrent.Callable; import java.util.stream.Collectors; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/AbstractCommandExecutor.java b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/AbstractCommandExecutor.java index e5ea6b725b..a3349fd93d 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/AbstractCommandExecutor.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/AbstractCommandExecutor.java @@ -21,7 +21,7 @@ import cn.escheduler.common.enums.ExecutionStatus; import cn.escheduler.common.thread.ThreadUtils; import cn.escheduler.common.utils.HadoopUtils; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.model.TaskInstance; +import cn.escheduler.dao.entity.TaskInstance; import cn.escheduler.server.utils.LoggerUtils; import cn.escheduler.server.utils.ProcessUtils; import org.apache.commons.lang3.StringUtils; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/AbstractYarnTask.java b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/AbstractYarnTask.java index a981307c48..f6a211df56 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/AbstractYarnTask.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/AbstractYarnTask.java @@ -18,8 +18,8 @@ package cn.escheduler.server.worker.task; import cn.escheduler.dao.DaoFactory; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.model.ProcessInstance; -import cn.escheduler.dao.model.TaskInstance; +import cn.escheduler.dao.entity.ProcessInstance; +import cn.escheduler.dao.entity.TaskInstance; import cn.escheduler.server.utils.ProcessUtils; import org.slf4j.Logger; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/dependent/DependentExecute.java b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/dependent/DependentExecute.java index 7d115add8c..698c8de62c 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/dependent/DependentExecute.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/dependent/DependentExecute.java @@ -25,8 +25,8 @@ import cn.escheduler.common.model.DependentItem; import cn.escheduler.common.utils.DependentUtils; import cn.escheduler.dao.DaoFactory; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.model.ProcessInstance; -import cn.escheduler.dao.model.TaskInstance; +import cn.escheduler.dao.entity.ProcessInstance; +import cn.escheduler.dao.entity.TaskInstance; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/dependent/DependentTask.java b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/dependent/DependentTask.java index 2e0b752245..d799077f5c 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/dependent/DependentTask.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/dependent/DependentTask.java @@ -27,7 +27,7 @@ import cn.escheduler.common.utils.DependentUtils; import cn.escheduler.common.utils.JSONUtils; import cn.escheduler.dao.DaoFactory; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.model.TaskInstance; +import cn.escheduler.dao.entity.TaskInstance; import cn.escheduler.server.worker.task.AbstractTask; import cn.escheduler.server.worker.task.TaskProps; import org.slf4j.Logger; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/flink/FlinkTask.java b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/flink/FlinkTask.java index bf6f0cc9fb..2b24ef628d 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/flink/FlinkTask.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/flink/FlinkTask.java @@ -21,7 +21,7 @@ import cn.escheduler.common.task.AbstractParameters; import cn.escheduler.common.task.flink.FlinkParameters; import cn.escheduler.common.utils.JSONUtils; import cn.escheduler.common.utils.ParameterUtils; -import cn.escheduler.dao.model.ProcessInstance; +import cn.escheduler.dao.entity.ProcessInstance; import cn.escheduler.server.utils.FlinkArgsUtils; import cn.escheduler.server.utils.ParamUtils; import cn.escheduler.server.worker.task.AbstractYarnTask; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/http/HttpTask.java b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/http/HttpTask.java index 552e4bd828..a19e1159a6 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/http/HttpTask.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/http/HttpTask.java @@ -28,7 +28,7 @@ import cn.escheduler.common.utils.DateUtils; import cn.escheduler.common.utils.ParameterUtils; import cn.escheduler.dao.DaoFactory; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.model.ProcessInstance; +import cn.escheduler.dao.entity.ProcessInstance; import cn.escheduler.server.utils.ParamUtils; import cn.escheduler.server.worker.task.AbstractTask; import cn.escheduler.server.worker.task.TaskProps; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/processdure/ProcedureTask.java b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/processdure/ProcedureTask.java index c4803d91c0..3355cbc23a 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/processdure/ProcedureTask.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/processdure/ProcedureTask.java @@ -16,9 +16,7 @@ */ package cn.escheduler.server.worker.task.processdure; -import cn.escheduler.common.Constants; import cn.escheduler.common.enums.DataType; -import cn.escheduler.common.enums.DbType; import cn.escheduler.common.enums.Direct; import cn.escheduler.common.enums.TaskTimeoutStrategy; import cn.escheduler.common.job.db.*; @@ -29,8 +27,7 @@ import cn.escheduler.common.utils.CollectionUtils; import cn.escheduler.common.utils.ParameterUtils; import cn.escheduler.dao.DaoFactory; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.model.DataSource; -import cn.escheduler.dao.model.ProcessInstance; +import cn.escheduler.dao.entity.DataSource; import cn.escheduler.server.utils.ParamUtils; import cn.escheduler.server.worker.task.AbstractTask; import cn.escheduler.server.worker.task.TaskProps; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/shell/ShellTask.java b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/shell/ShellTask.java index 12ff021d03..41810fc176 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/shell/ShellTask.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/shell/ShellTask.java @@ -25,7 +25,6 @@ import cn.escheduler.common.utils.JSONUtils; import cn.escheduler.common.utils.ParameterUtils; import cn.escheduler.dao.DaoFactory; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.model.ProcessInstance; import cn.escheduler.server.utils.ParamUtils; import cn.escheduler.server.worker.task.AbstractTask; import cn.escheduler.server.worker.task.ShellCommandExecutor; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/spark/SparkTask.java b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/spark/SparkTask.java index d4acf70b2c..d9c58e9f7d 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/spark/SparkTask.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/spark/SparkTask.java @@ -21,7 +21,6 @@ import cn.escheduler.common.task.AbstractParameters; import cn.escheduler.common.task.spark.SparkParameters; import cn.escheduler.common.utils.JSONUtils; import cn.escheduler.common.utils.ParameterUtils; -import cn.escheduler.dao.model.ProcessInstance; import cn.escheduler.server.utils.ParamUtils; import cn.escheduler.server.utils.SparkArgsUtils; import cn.escheduler.server.worker.task.AbstractYarnTask; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/sql/SqlTask.java b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/sql/SqlTask.java index d9a8274520..8f8c94080a 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/sql/SqlTask.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/sql/SqlTask.java @@ -17,7 +17,6 @@ package cn.escheduler.server.worker.task.sql; import cn.escheduler.alert.utils.MailUtils; -import cn.escheduler.common.Constants; import cn.escheduler.common.enums.ShowType; import cn.escheduler.common.enums.TaskTimeoutStrategy; import cn.escheduler.common.enums.UdfType; @@ -33,7 +32,10 @@ import cn.escheduler.common.utils.ParameterUtils; import cn.escheduler.dao.AlertDao; import cn.escheduler.dao.DaoFactory; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.model.*; +import cn.escheduler.dao.entity.DataSource; +import cn.escheduler.dao.entity.ProcessInstance; +import cn.escheduler.dao.entity.UdfFunc; +import cn.escheduler.dao.entity.User; import cn.escheduler.server.utils.ParamUtils; import cn.escheduler.server.utils.UDFUtils; import cn.escheduler.server.worker.task.AbstractTask; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/zk/ZKMasterClient.java b/escheduler-server/src/main/java/cn/escheduler/server/zk/ZKMasterClient.java index d06918b0c9..2746b3172b 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/zk/ZKMasterClient.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/zk/ZKMasterClient.java @@ -24,9 +24,8 @@ import cn.escheduler.common.zk.AbstractZKClient; import cn.escheduler.dao.AlertDao; import cn.escheduler.dao.DaoFactory; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.ServerDao; -import cn.escheduler.dao.model.ProcessInstance; -import cn.escheduler.dao.model.TaskInstance; +import cn.escheduler.dao.entity.ProcessInstance; +import cn.escheduler.dao.entity.TaskInstance; import cn.escheduler.server.utils.ProcessUtils; import org.apache.commons.lang.StringUtils; import org.apache.curator.framework.CuratorFramework; @@ -59,11 +58,6 @@ public class ZKMasterClient extends AbstractZKClient { */ private String masterZNode = null; - /** - * master database access - */ - private ServerDao serverDao = null; - /** * alert database access */ @@ -146,7 +140,6 @@ public class ZKMasterClient extends AbstractZKClient { * init dao */ public void initDao(){ - this.serverDao = DaoFactory.getDaoInstance(ServerDao.class); this.alertDao = DaoFactory.getDaoInstance(AlertDao.class); this.processDao = DaoFactory.getDaoInstance(ProcessDao.class); } diff --git a/escheduler-server/src/test/java/cn/escheduler/server/master/AlertManagerTest.java b/escheduler-server/src/test/java/cn/escheduler/server/master/AlertManagerTest.java index 591645dbfd..861995d77f 100644 --- a/escheduler-server/src/test/java/cn/escheduler/server/master/AlertManagerTest.java +++ b/escheduler-server/src/test/java/cn/escheduler/server/master/AlertManagerTest.java @@ -17,19 +17,18 @@ package cn.escheduler.server.master; import cn.escheduler.common.enums.ExecutionStatus; -import cn.escheduler.dao.datasource.ConnectionFactory; +import cn.escheduler.dao.entity.ProcessDefinition; +import cn.escheduler.dao.entity.ProcessInstance; +import cn.escheduler.dao.entity.TaskInstance; import cn.escheduler.dao.mapper.ProcessDefinitionMapper; import cn.escheduler.dao.mapper.ProcessInstanceMapper; import cn.escheduler.dao.mapper.TaskInstanceMapper; -import cn.escheduler.dao.model.ProcessDefinition; -import cn.escheduler.dao.model.ProcessInstance; -import cn.escheduler.dao.model.TaskInstance; import cn.escheduler.server.utils.AlertManager; -import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import java.util.ArrayList; import java.util.List; @@ -43,20 +42,17 @@ public class AlertManagerTest { private static final Logger logger = LoggerFactory.getLogger(AlertManagerTest.class); + @Autowired ProcessDefinitionMapper processDefinitionMapper; + + @Autowired ProcessInstanceMapper processInstanceMapper; + + @Autowired TaskInstanceMapper taskInstanceMapper; AlertManager alertManager; - @Before - public void before(){ - processDefinitionMapper = ConnectionFactory.getSqlSession().getMapper(ProcessDefinitionMapper.class); - processInstanceMapper = ConnectionFactory.getSqlSession().getMapper(ProcessInstanceMapper.class); - taskInstanceMapper = ConnectionFactory.getSqlSession().getMapper(TaskInstanceMapper.class); - alertManager = new AlertManager(); - } - /** * send worker alert fault tolerance */ @@ -66,7 +62,7 @@ public class AlertManagerTest { ProcessInstance processInstance = processInstanceMapper.queryDetailById(13028); // set process definition - ProcessDefinition processDefinition = processDefinitionMapper.queryByDefineId(47); + ProcessDefinition processDefinition = processDefinitionMapper.selectById(47); processInstance.setProcessDefinition(processDefinition); @@ -91,7 +87,7 @@ public class AlertManagerTest { ProcessInstance processInstance = processInstanceMapper.queryDetailById(13028); // set process definition - ProcessDefinition processDefinition = processDefinitionMapper.queryByDefineId(47); + ProcessDefinition processDefinition = processDefinitionMapper.selectById(47); processInstance.setProcessDefinition(processDefinition); diff --git a/escheduler-server/src/test/java/cn/escheduler/server/master/MasterCommandTest.java b/escheduler-server/src/test/java/cn/escheduler/server/master/MasterCommandTest.java index b0a0011f86..20852edc15 100644 --- a/escheduler-server/src/test/java/cn/escheduler/server/master/MasterCommandTest.java +++ b/escheduler-server/src/test/java/cn/escheduler/server/master/MasterCommandTest.java @@ -24,11 +24,10 @@ import cn.escheduler.common.graph.DAG; import cn.escheduler.common.model.TaskNode; import cn.escheduler.common.model.TaskNodeRelation; import cn.escheduler.common.process.ProcessDag; -import cn.escheduler.dao.datasource.ConnectionFactory; +import cn.escheduler.dao.entity.Command; +import cn.escheduler.dao.entity.ProcessDefinition; import cn.escheduler.dao.mapper.CommandMapper; import cn.escheduler.dao.mapper.ProcessDefinitionMapper; -import cn.escheduler.dao.model.Command; -import cn.escheduler.dao.model.ProcessDefinition; import cn.escheduler.dao.utils.DagHelper; import org.junit.Before; import org.junit.Ignore; @@ -53,16 +52,6 @@ public class MasterCommandTest { private ProcessDefinitionMapper processDefinitionMapper; - @Before - public void before(){ - - commandMapper = ConnectionFactory.getSqlSession().getMapper(CommandMapper.class); - processDefinitionMapper = ConnectionFactory.getSqlSession().getMapper(ProcessDefinitionMapper.class); - } - - - - @Test public void StartFromFailedCommand(){ Command cmd = new Command(); @@ -126,7 +115,7 @@ public class MasterCommandTest { @Test public void testDagHelper(){ - ProcessDefinition processDefinition = processDefinitionMapper.queryByDefineId(19); + ProcessDefinition processDefinition = processDefinitionMapper.selectById(19); try { ProcessDag processDag = DagHelper.generateFlowDag(processDefinition.getProcessDefinitionJson(), diff --git a/escheduler-server/src/test/java/cn/escheduler/server/worker/shell/ShellCommandExecutorTest.java b/escheduler-server/src/test/java/cn/escheduler/server/worker/shell/ShellCommandExecutorTest.java index a80167ddf7..4142850862 100644 --- a/escheduler-server/src/test/java/cn/escheduler/server/worker/shell/ShellCommandExecutorTest.java +++ b/escheduler-server/src/test/java/cn/escheduler/server/worker/shell/ShellCommandExecutorTest.java @@ -21,7 +21,7 @@ import cn.escheduler.common.enums.ExecutionStatus; import cn.escheduler.common.model.TaskNode; import cn.escheduler.dao.DaoFactory; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.model.TaskInstance; +import cn.escheduler.dao.entity.TaskInstance; import cn.escheduler.server.utils.LoggerUtils; import cn.escheduler.server.worker.task.AbstractTask; import cn.escheduler.server.worker.task.TaskManager; diff --git a/escheduler-server/src/test/java/cn/escheduler/server/worker/sql/SqlExecutorTest.java b/escheduler-server/src/test/java/cn/escheduler/server/worker/sql/SqlExecutorTest.java index 38d5fc02d0..b5dda9d16e 100644 --- a/escheduler-server/src/test/java/cn/escheduler/server/worker/sql/SqlExecutorTest.java +++ b/escheduler-server/src/test/java/cn/escheduler/server/worker/sql/SqlExecutorTest.java @@ -21,7 +21,7 @@ import cn.escheduler.common.enums.ExecutionStatus; import cn.escheduler.common.model.TaskNode; import cn.escheduler.dao.DaoFactory; import cn.escheduler.dao.ProcessDao; -import cn.escheduler.dao.model.TaskInstance; +import cn.escheduler.dao.entity.TaskInstance; import cn.escheduler.server.utils.LoggerUtils; import cn.escheduler.server.worker.task.AbstractTask; import cn.escheduler.server.worker.task.TaskManager; diff --git a/pom.xml b/pom.xml index 1d1858cd52..d21714a6cc 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,8 @@ 2.7.3 2.2.3 2.9.8 - 3.5.1 + 3.0.7.1 + 1.18.4 2.0.1 5.0.5 1.2.61 @@ -57,28 +58,16 @@ - - - org.mybatis - mybatis - ${mybatis.version} - - org.mybatis - mybatis-spring - ${mybatis.spring.version} + com.baomidou + mybatis-plus-boot-starter + ${mybatis-plus.version} - org.mybatis.spring.boot - mybatis-spring-boot-autoconfigure - ${mybatis.spring.version} + com.baomidou + mybatis-plus + ${mybatis-plus.version} - - org.mybatis.spring.boot - mybatis-spring-boot-starter - ${mybatis.spring.version} - - org.quartz-scheduler @@ -414,7 +403,6 @@ jsp-2.1 ${jsp.version} - @@ -426,6 +414,15 @@ + + + src/main/java + false + + **/mapper/*.xml + + + org.apache.maven.plugins