From aa17cb898a7b8d31063b2a7f889fa1c74663817e Mon Sep 17 00:00:00 2001 From: byteblogs168 <598092184@qq.com> Date: Fri, 20 Oct 2023 18:48:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=202.4.0=201.=20=E6=94=AF=E6=8C=81retry=20?= =?UTF-8?q?=E5=92=8C=20job=E5=8F=AF=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../easy/retry/server/common}/Schedule.java | 2 +- .../server/common}/cache/CacheLockRecord.java | 2 +- .../server/common/enums/SystemModeEnum.java | 10 +- .../common}/lock/AbstractLockProvider.java | 4 +- .../server/common}/lock/JdbcLockProvider.java | 2 +- .../server/common}/lock/LockProvider.java | 2 +- .../common}/schedule/AbstractSchedule.java | 6 +- .../job/task/EasyRetryJobTaskStarter.java | 3 + .../retry/task/EasyRetryRetryTaskStarter.java | 2 + .../ReportRetryInfoHttpRequestHandler.java | 12 + .../support/schedule/ClearLogSchedule.java | 1 + .../RetryErrorMoreThresholdAlarmSchedule.java | 1 + .../RetryTaskMoreThresholdAlarmSchedule.java | 1 + .../support/schedule/RetryTaskSchedule.java | 1 + .../server/EasyRetryServerApplication.java | 4 +- .../dispatch/ConsumerBucket.java | 2 +- .../dispatch/ConsumerBucketActor.java | 9 +- .../dispatch/DispatchService.java | 2 +- .../schedule/OfflineNodeSchedule.java | 3 +- .../{ => starter}/server/NettyHttpServer.java | 2 +- .../server/NettyHttpServerHandler.java | 2 +- .../server/RequestHandlerActor.java | 11 +- .../handler/BeatHttpRequestHandler.java | 2 +- .../handler/ConfigHttpRequestHandler.java | 2 +- .../src/main/resources/application.yml | 2 +- .../model/response/SystemUserResponseVO.java | 2 + .../service/impl/GroupConfigServiceImpl.java | 18 +- .../service/impl/RetryTaskServiceImpl.java | 7 +- .../service/impl/SystemUserServiceImpl.java | 8 +- frontend/src/config/router.config.js | 30 +- frontend/src/store/modules/permission.js | 1 - frontend/src/store/modules/user.js | 3 +- frontend/src/utils/permissionsConfig.js | 256 ++++++++++++++++++ frontend/src/utils/util.js | 91 +------ 34 files changed, 346 insertions(+), 160 deletions(-) rename easy-retry-server/{easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support => easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common}/Schedule.java (70%) rename easy-retry-server/{easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support => easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common}/cache/CacheLockRecord.java (95%) rename easy-retry-server/{easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support => easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common}/lock/AbstractLockProvider.java (91%) rename easy-retry-server/{easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support => easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common}/lock/JdbcLockProvider.java (98%) rename easy-retry-server/{easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support => easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common}/lock/LockProvider.java (83%) rename easy-retry-server/{easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support => easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common}/schedule/AbstractSchedule.java (92%) rename easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/{ => starter}/dispatch/ConsumerBucket.java (78%) rename easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/{ => starter}/dispatch/ConsumerBucketActor.java (94%) rename easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/{ => starter}/dispatch/DispatchService.java (97%) rename easy-retry-server/{easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support => easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter}/schedule/OfflineNodeSchedule.java (95%) rename easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/{ => starter}/server/NettyHttpServer.java (98%) rename easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/{ => starter}/server/NettyHttpServerHandler.java (96%) rename easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/{ => starter}/server/RequestHandlerActor.java (93%) rename easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/{ => starter}/server/handler/BeatHttpRequestHandler.java (95%) rename easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/{ => starter}/server/handler/ConfigHttpRequestHandler.java (96%) create mode 100644 frontend/src/utils/permissionsConfig.js diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/Schedule.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/Schedule.java similarity index 70% rename from easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/Schedule.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/Schedule.java index 0939554c..ad076136 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/Schedule.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/Schedule.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.retry.task.support; +package com.aizuda.easy.retry.server.common; /** * @author: www.byteblogs.com diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/cache/CacheLockRecord.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/cache/CacheLockRecord.java similarity index 95% rename from easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/cache/CacheLockRecord.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/cache/CacheLockRecord.java index 20a824a9..f56daf34 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/cache/CacheLockRecord.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/cache/CacheLockRecord.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.retry.task.support.cache; +package com.aizuda.easy.retry.server.common.cache; import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.server.common.Lifecycle; diff --git a/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/enums/SystemModeEnum.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/enums/SystemModeEnum.java index 86915216..def5d37d 100644 --- a/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/enums/SystemModeEnum.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/enums/SystemModeEnum.java @@ -11,5 +11,13 @@ public enum SystemModeEnum { RETRY, JOB, - ALL + ALL; + + public static boolean isRetry(SystemModeEnum mode) { + return RETRY == mode || ALL == mode; + } + + public static boolean isJob(SystemModeEnum mode) { + return JOB == mode || ALL == mode; + } } diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/lock/AbstractLockProvider.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/lock/AbstractLockProvider.java similarity index 91% rename from easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/lock/AbstractLockProvider.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/lock/AbstractLockProvider.java index 3a0cf6ae..7e2445e6 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/lock/AbstractLockProvider.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/lock/AbstractLockProvider.java @@ -1,7 +1,7 @@ -package com.aizuda.easy.retry.server.retry.task.support.lock; +package com.aizuda.easy.retry.server.common.lock; +import com.aizuda.easy.retry.server.common.cache.CacheLockRecord; import com.aizuda.easy.retry.server.common.dto.LockConfig; -import com.aizuda.easy.retry.server.retry.task.support.cache.CacheLockRecord; import com.aizuda.easy.retry.template.datasource.enums.DbTypeEnum; import java.util.Arrays; diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/lock/JdbcLockProvider.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/lock/JdbcLockProvider.java similarity index 98% rename from easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/lock/JdbcLockProvider.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/lock/JdbcLockProvider.java index 9db234b4..621e2782 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/lock/JdbcLockProvider.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/lock/JdbcLockProvider.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.retry.task.support.lock; +package com.aizuda.easy.retry.server.common.lock; import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.server.common.config.SystemProperties; diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/lock/LockProvider.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/lock/LockProvider.java similarity index 83% rename from easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/lock/LockProvider.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/lock/LockProvider.java index 9229dae2..871b4ad4 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/lock/LockProvider.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/lock/LockProvider.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.retry.task.support.lock; +package com.aizuda.easy.retry.server.common.lock; import com.aizuda.easy.retry.server.common.dto.LockConfig; diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/AbstractSchedule.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/schedule/AbstractSchedule.java similarity index 92% rename from easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/AbstractSchedule.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/schedule/AbstractSchedule.java index 853af4cb..cffec884 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/AbstractSchedule.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/schedule/AbstractSchedule.java @@ -1,12 +1,12 @@ -package com.aizuda.easy.retry.server.retry.task.support.schedule; +package com.aizuda.easy.retry.server.common.schedule; import cn.hutool.core.lang.Assert; import com.aizuda.easy.retry.common.core.log.LogUtils; +import com.aizuda.easy.retry.server.common.Schedule; import com.aizuda.easy.retry.server.common.config.SystemProperties; import com.aizuda.easy.retry.server.common.dto.LockConfig; import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; -import com.aizuda.easy.retry.server.retry.task.support.Schedule; -import com.aizuda.easy.retry.server.retry.task.support.lock.LockProvider; +import com.aizuda.easy.retry.server.common.lock.LockProvider; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/EasyRetryJobTaskStarter.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/EasyRetryJobTaskStarter.java index b7731b1b..d36fdf64 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/EasyRetryJobTaskStarter.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/EasyRetryJobTaskStarter.java @@ -1,5 +1,7 @@ package com.aizuda.easy.retry.server.job.task; +import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -10,6 +12,7 @@ import org.springframework.context.annotation.Configuration; */ @Configuration @ComponentScan("com.aizuda.easy.retry.server.job.task.*") +@ConditionalOnExpression("'${easy-retry.mode}'.equals('job') or '${easy-retry.mode}'.equals('all')") public class EasyRetryJobTaskStarter { } diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/EasyRetryRetryTaskStarter.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/EasyRetryRetryTaskStarter.java index 6d9e76e9..8bd99bb1 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/EasyRetryRetryTaskStarter.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/EasyRetryRetryTaskStarter.java @@ -1,5 +1,6 @@ package com.aizuda.easy.retry.server.retry.task; +import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -10,6 +11,7 @@ import org.springframework.context.annotation.Configuration; */ @Configuration @ComponentScan("com.aizuda.easy.retry.server.retry.task.*") +@ConditionalOnExpression("'${easy-retry.mode}'.equals('retry') or '${easy-retry.mode}'.equals('all')") public class EasyRetryRetryTaskStarter { } diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/handler/ReportRetryInfoHttpRequestHandler.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/handler/ReportRetryInfoHttpRequestHandler.java index 32364d96..5fc3d0ac 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/handler/ReportRetryInfoHttpRequestHandler.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/handler/ReportRetryInfoHttpRequestHandler.java @@ -2,6 +2,8 @@ package com.aizuda.easy.retry.server.retry.task.support.handler; import cn.hutool.core.lang.Assert; import cn.hutool.core.net.url.UrlQuery; +import com.aizuda.easy.retry.common.core.context.SpringContext; +import com.aizuda.easy.retry.common.core.enums.HeadersEnum; import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.common.core.model.EasyRetryRequest; import com.aizuda.easy.retry.common.core.model.NettyResult; @@ -67,6 +69,10 @@ public class ReportRetryInfoHttpRequestHandler extends PostHttpRequestHandler { Object[] args = retryRequest.getArgs(); try { + + // 同步版本 + syncConfig(headers); + TaskGenerator taskGenerator = taskGenerators.stream() .filter(t -> t.supports(TaskGeneratorScene.CLIENT_REPORT.getScene())) .findFirst().orElseThrow(() -> new EasyRetryServerException("没有匹配的任务生成器")); @@ -132,4 +138,10 @@ public class ReportRetryInfoHttpRequestHandler extends PostHttpRequestHandler { return JsonUtil.toJsonString(new NettyResult(StatusEnum.YES.getStatus(), throwable.getMessage(), Boolean.FALSE, retryRequest.getReqId())); } } + + private void syncConfig(HttpHeaders headers) { + ConfigVersionSyncHandler syncHandler = SpringContext.getBeanByType(ConfigVersionSyncHandler.class); + Integer clientVersion = headers.getInt(HeadersEnum.VERSION.getKey()); + syncHandler.addSyncTask(headers.get(HeadersEnum.GROUP_NAME.getKey()), clientVersion); + } } diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/ClearLogSchedule.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/ClearLogSchedule.java index 253bb3c4..f7ece827 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/ClearLogSchedule.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/ClearLogSchedule.java @@ -3,6 +3,7 @@ package com.aizuda.easy.retry.server.retry.task.support.schedule; import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.server.common.Lifecycle; import com.aizuda.easy.retry.server.common.config.SystemProperties; +import com.aizuda.easy.retry.server.common.schedule.AbstractSchedule; import com.aizuda.easy.retry.template.datasource.persistence.mapper.RetryTaskLogMapper; import com.aizuda.easy.retry.template.datasource.persistence.mapper.RetryTaskLogMessageMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTaskLog; diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryErrorMoreThresholdAlarmSchedule.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryErrorMoreThresholdAlarmSchedule.java index 8a0dbd22..d55bd2e8 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryErrorMoreThresholdAlarmSchedule.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryErrorMoreThresholdAlarmSchedule.java @@ -9,6 +9,7 @@ import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.common.core.util.EnvironmentUtils; import com.aizuda.easy.retry.common.core.util.HostUtils; import com.aizuda.easy.retry.server.common.Lifecycle; +import com.aizuda.easy.retry.server.common.schedule.AbstractSchedule; import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; import com.aizuda.easy.retry.template.datasource.access.TaskAccess; import com.aizuda.easy.retry.template.datasource.persistence.po.GroupConfig; diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryTaskMoreThresholdAlarmSchedule.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryTaskMoreThresholdAlarmSchedule.java index 6fa28355..a8f2cb24 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryTaskMoreThresholdAlarmSchedule.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryTaskMoreThresholdAlarmSchedule.java @@ -10,6 +10,7 @@ import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.common.core.util.EnvironmentUtils; import com.aizuda.easy.retry.common.core.util.HostUtils; import com.aizuda.easy.retry.server.common.Lifecycle; +import com.aizuda.easy.retry.server.common.schedule.AbstractSchedule; import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; import com.aizuda.easy.retry.template.datasource.persistence.po.GroupConfig; import com.aizuda.easy.retry.template.datasource.persistence.po.NotifyConfig; diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryTaskSchedule.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryTaskSchedule.java index 4cf1b066..06fc9c1f 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryTaskSchedule.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryTaskSchedule.java @@ -2,6 +2,7 @@ package com.aizuda.easy.retry.server.retry.task.support.schedule; import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.server.common.Lifecycle; +import com.aizuda.easy.retry.server.common.schedule.AbstractSchedule; import com.aizuda.easy.retry.server.retry.task.service.RetryService; import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; import lombok.RequiredArgsConstructor; diff --git a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/EasyRetryServerApplication.java b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/EasyRetryServerApplication.java index 69ab7d44..69b1549b 100644 --- a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/EasyRetryServerApplication.java +++ b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/EasyRetryServerApplication.java @@ -1,6 +1,6 @@ package com.aizuda.easy.retry.server; -import com.aizuda.easy.retry.server.server.NettyHttpServer; +import com.aizuda.easy.retry.server.starter.server.NettyHttpServer; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.ApplicationRunner; import org.springframework.boot.SpringApplication; @@ -14,7 +14,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; import java.util.TimeZone; import java.util.concurrent.TimeUnit; -@SpringBootApplication +@SpringBootApplication(scanBasePackages = {"com.aizuda.easy.retry.server.starter.*"}) @EnableTransactionManagement(proxyTargetClass = true) @Slf4j public class EasyRetryServerApplication { diff --git a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/dispatch/ConsumerBucket.java b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/dispatch/ConsumerBucket.java similarity index 78% rename from easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/dispatch/ConsumerBucket.java rename to easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/dispatch/ConsumerBucket.java index fb3aaebf..34e392b2 100644 --- a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/dispatch/ConsumerBucket.java +++ b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/dispatch/ConsumerBucket.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.dispatch; +package com.aizuda.easy.retry.server.starter.dispatch; import lombok.Data; diff --git a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/dispatch/ConsumerBucketActor.java b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/dispatch/ConsumerBucketActor.java similarity index 94% rename from easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/dispatch/ConsumerBucketActor.java rename to easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/dispatch/ConsumerBucketActor.java index 71245745..6f5d78d8 100644 --- a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/dispatch/ConsumerBucketActor.java +++ b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/dispatch/ConsumerBucketActor.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.dispatch; +package com.aizuda.easy.retry.server.starter.dispatch; import akka.actor.AbstractActor; import akka.actor.ActorRef; @@ -27,10 +27,7 @@ import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import java.util.List; -import java.util.Map; import java.util.Objects; -import java.util.Set; -import java.util.stream.Collectors; /** * 消费当前节点分配的bucket并生成扫描任务 @@ -70,7 +67,7 @@ public class ConsumerBucketActor extends AbstractActor { return; } - if (systemProperties.getMode() == SystemModeEnum.ALL || systemProperties.getMode() == SystemModeEnum.RETRY) { + if (SystemModeEnum.isRetry(systemProperties.getMode())) { // 查询桶对应组信息 List groupConfigs = accessTemplate.getGroupConfigAccess().list( new LambdaQueryWrapper() @@ -90,7 +87,7 @@ public class ConsumerBucketActor extends AbstractActor { } } - if (systemProperties.getMode() == SystemModeEnum.ALL || systemProperties.getMode() == SystemModeEnum.JOB) { + if (SystemModeEnum.isJob(systemProperties.getMode())) { // 扫描回调数据 ScanTask scanTask = new ScanTask(); scanTask.setBuckets(consumerBucket.getBuckets()); diff --git a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/dispatch/DispatchService.java b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/dispatch/DispatchService.java similarity index 97% rename from easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/dispatch/DispatchService.java rename to easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/dispatch/DispatchService.java index 48d1172c..9708852b 100644 --- a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/dispatch/DispatchService.java +++ b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/dispatch/DispatchService.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.dispatch; +package com.aizuda.easy.retry.server.starter.dispatch; import akka.actor.ActorRef; import com.aizuda.easy.retry.common.core.log.LogUtils; diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/OfflineNodeSchedule.java b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/schedule/OfflineNodeSchedule.java similarity index 95% rename from easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/OfflineNodeSchedule.java rename to easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/schedule/OfflineNodeSchedule.java index 02b0b9fc..52194aa2 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/OfflineNodeSchedule.java +++ b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/schedule/OfflineNodeSchedule.java @@ -1,10 +1,11 @@ -package com.aizuda.easy.retry.server.retry.task.support.schedule; +package com.aizuda.easy.retry.server.starter.schedule; import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.server.common.Lifecycle; import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; import com.aizuda.easy.retry.server.common.cache.CacheRegisterTable; import com.aizuda.easy.retry.server.common.register.ServerRegister; +import com.aizuda.easy.retry.server.common.schedule.AbstractSchedule; import com.aizuda.easy.retry.template.datasource.persistence.mapper.ServerNodeMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/NettyHttpServer.java b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/server/NettyHttpServer.java similarity index 98% rename from easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/NettyHttpServer.java rename to easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/server/NettyHttpServer.java index 9bba99f1..c818a316 100644 --- a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/NettyHttpServer.java +++ b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/server/NettyHttpServer.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.server; +package com.aizuda.easy.retry.server.starter.server; import com.aizuda.easy.retry.server.common.config.SystemProperties; diff --git a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/NettyHttpServerHandler.java b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/server/NettyHttpServerHandler.java similarity index 96% rename from easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/NettyHttpServerHandler.java rename to easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/server/NettyHttpServerHandler.java index 4b6e682f..8aa30811 100644 --- a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/NettyHttpServerHandler.java +++ b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/server/NettyHttpServerHandler.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.server; +package com.aizuda.easy.retry.server.starter.server; import akka.actor.ActorRef; import com.aizuda.easy.retry.server.common.akka.ActorGenerator; diff --git a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/RequestHandlerActor.java b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/server/RequestHandlerActor.java similarity index 93% rename from easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/RequestHandlerActor.java rename to easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/server/RequestHandlerActor.java index c463365e..f4142679 100644 --- a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/RequestHandlerActor.java +++ b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/server/RequestHandlerActor.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.server; +package com.aizuda.easy.retry.server.starter.server; import akka.actor.AbstractActor; import cn.hutool.core.net.url.UrlBuilder; @@ -8,13 +8,12 @@ import com.aizuda.easy.retry.common.core.enums.HeadersEnum; import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.common.core.model.Result; import com.aizuda.easy.retry.common.core.util.JsonUtil; +import com.aizuda.easy.retry.server.common.HttpRequestHandler; +import com.aizuda.easy.retry.server.common.Register; import com.aizuda.easy.retry.server.common.akka.ActorGenerator; import com.aizuda.easy.retry.server.common.dto.NettyHttpRequest; -import com.aizuda.easy.retry.server.common.Register; -import com.aizuda.easy.retry.server.retry.task.support.handler.ConfigVersionSyncHandler; import com.aizuda.easy.retry.server.common.register.ClientRegister; import com.aizuda.easy.retry.server.common.register.RegisterContext; -import com.aizuda.easy.retry.server.common.HttpRequestHandler; import io.netty.buffer.Unpooled; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.http.DefaultFullHttpResponse; @@ -101,10 +100,6 @@ public class RequestHandlerActor extends AbstractActor { LogUtils.warn(log, "client register error. groupName:[{}]", groupName); } - // 同步版本 - ConfigVersionSyncHandler syncHandler = SpringContext.getBeanByType(ConfigVersionSyncHandler.class); - Integer clientVersion = headers.getInt(HeadersEnum.VERSION.getKey()); - syncHandler.addSyncTask(groupName, clientVersion); UrlBuilder builder = UrlBuilder.ofHttp(uri); Collection httpRequestHandlers = SpringContext.CONTEXT diff --git a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/handler/BeatHttpRequestHandler.java b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/server/handler/BeatHttpRequestHandler.java similarity index 95% rename from easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/handler/BeatHttpRequestHandler.java rename to easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/server/handler/BeatHttpRequestHandler.java index baa87a4a..7332ee74 100644 --- a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/handler/BeatHttpRequestHandler.java +++ b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/server/handler/BeatHttpRequestHandler.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.server.handler; +package com.aizuda.easy.retry.server.starter.server.handler; import cn.hutool.core.net.url.UrlQuery; import com.aizuda.easy.retry.common.core.constant.SystemConstants.HTTP_PATH; diff --git a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/handler/ConfigHttpRequestHandler.java b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/server/handler/ConfigHttpRequestHandler.java similarity index 96% rename from easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/handler/ConfigHttpRequestHandler.java rename to easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/server/handler/ConfigHttpRequestHandler.java index 63793556..f9ec2cf1 100644 --- a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/handler/ConfigHttpRequestHandler.java +++ b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/server/handler/ConfigHttpRequestHandler.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.server.handler; +package com.aizuda.easy.retry.server.starter.server.handler; import cn.hutool.core.net.url.UrlQuery; import com.aizuda.easy.retry.server.common.handler.GetHttpRequestHandler; diff --git a/easy-retry-server/easy-retry-server-starter/src/main/resources/application.yml b/easy-retry-server/easy-retry-server-starter/src/main/resources/application.yml index 05937a1b..c60f16cb 100644 --- a/easy-retry-server/easy-retry-server-starter/src/main/resources/application.yml +++ b/easy-retry-server/easy-retry-server-starter/src/main/resources/application.yml @@ -48,7 +48,7 @@ easy-retry: max-count: 288 #回调最大执行次数 trigger-interval: 900 #间隔时间 db-type: mysql #当前使用的数据库 - mode: retry + mode: all diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/SystemUserResponseVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/SystemUserResponseVO.java index 5fb7bb58..9012d287 100644 --- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/SystemUserResponseVO.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/SystemUserResponseVO.java @@ -27,4 +27,6 @@ public class SystemUserResponseVO { private LocalDateTime updateDt; + private String mode; + } diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/GroupConfigServiceImpl.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/GroupConfigServiceImpl.java index ee48c51c..835b43f1 100644 --- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/GroupConfigServiceImpl.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/GroupConfigServiceImpl.java @@ -4,7 +4,9 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.HashUtil; import cn.hutool.core.util.StrUtil; import com.aizuda.easy.retry.common.core.util.JsonUtil; +import com.aizuda.easy.retry.server.common.config.SystemProperties; import com.aizuda.easy.retry.server.common.enums.IdGeneratorMode; +import com.aizuda.easy.retry.server.common.enums.SystemModeEnum; import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; import com.aizuda.easy.retry.server.retry.task.support.handler.ConfigVersionSyncHandler; import com.aizuda.easy.retry.server.web.service.GroupConfigService; @@ -27,6 +29,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Lazy; import org.springframework.jdbc.BadSqlGrammarException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -53,12 +56,15 @@ public class GroupConfigServiceImpl implements GroupConfigService { @Autowired private SequenceAllocMapper sequenceAllocMapper; @Autowired + @Lazy private ConfigVersionSyncHandler configVersionSyncHandler; @Value("${easy-retry.total-partition:32}") private Integer totalPartition; @Value("${easy-retry.step:100}") private Integer step; + @Autowired + private SystemProperties systemProperties; @Override @Transactional @@ -125,11 +131,13 @@ public class GroupConfigServiceImpl implements GroupConfigService { doUpdateSceneConfig(groupConfigRequestVO); - // 同步版本, 版本为0代表需要同步到客户端 - boolean add = configVersionSyncHandler.addSyncTask(groupConfigRequestVO.getGroupName(), 0); - // 若添加失败则强制发起同步 - if (!add) { - configVersionSyncHandler.syncVersion(groupConfigRequestVO.getGroupName()); + if (SystemModeEnum.isRetry(systemProperties.getMode())) { + // 同步版本, 版本为0代表需要同步到客户端 + boolean add = configVersionSyncHandler.addSyncTask(groupConfigRequestVO.getGroupName(), 0); + // 若添加失败则强制发起同步 + if (!add) { + configVersionSyncHandler.syncVersion(groupConfigRequestVO.getGroupName()); + } } return Boolean.TRUE; diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/RetryTaskServiceImpl.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/RetryTaskServiceImpl.java index b134fd7e..bad62e47 100644 --- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/RetryTaskServiceImpl.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/RetryTaskServiceImpl.java @@ -46,6 +46,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.http.HttpEntity; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -73,10 +74,6 @@ import java.util.stream.Collectors; @Service public class RetryTaskServiceImpl implements RetryTaskService { - public static final String URL = "http://{0}:{1}/{2}/retry/generate/idempotent-id/v1"; - - @Autowired - private RestTemplate restTemplate; @Autowired private ClientNodeAllocateHandler clientNodeAllocateHandler; @Autowired @@ -86,7 +83,9 @@ public class RetryTaskServiceImpl implements RetryTaskService { @Autowired private AccessTemplate accessTemplate; @Autowired + @Lazy private List taskGenerators; + @Lazy @Autowired private List taskExecutors; diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/SystemUserServiceImpl.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/SystemUserServiceImpl.java index 2d5b08b1..30bd3447 100644 --- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/SystemUserServiceImpl.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/SystemUserServiceImpl.java @@ -3,6 +3,7 @@ package com.aizuda.easy.retry.server.web.service.impl; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.SecureUtil; +import com.aizuda.easy.retry.server.common.config.SystemProperties; import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; import com.aizuda.easy.retry.template.datasource.persistence.mapper.SystemUserMapper; import com.aizuda.easy.retry.template.datasource.persistence.mapper.SystemUserPermissionMapper; @@ -41,12 +42,14 @@ import java.util.stream.Collectors; @Service public class SystemUserServiceImpl implements SystemUserService { - public static final long EXPIRE_TIME = 3600 * 1000; + public static final long EXPIRE_TIME = 3600 * 7 * 1000; @Autowired private SystemUserMapper systemUserMapper; @Autowired private SystemUserPermissionMapper systemUserPermissionMapper; + @Autowired + private SystemProperties systemProperties; @Override public SystemUserResponseVO login(SystemUserRequestVO requestVO) { @@ -64,6 +67,7 @@ public class SystemUserServiceImpl implements SystemUserService { SystemUserResponseVO systemUserResponseVO = SystemUserResponseVOConverter.INSTANCE.convert(systemUser); systemUserResponseVO.setToken(token); + systemUserResponseVO.setMode(systemProperties.getMode().name()); if (RoleEnum.ADMIN.getRoleId().equals(systemUser.getRole())) { return systemUserResponseVO; @@ -80,6 +84,7 @@ public class SystemUserServiceImpl implements SystemUserService { @Override public SystemUserResponseVO getUserInfo(SystemUser systemUser) { SystemUserResponseVO systemUserResponseVO = SystemUserResponseVOConverter.INSTANCE.convert(systemUser); + systemUserResponseVO.setMode(systemProperties.getMode().name()); if (RoleEnum.ADMIN.getRoleId().equals(systemUser.getRole())) { return systemUserResponseVO; @@ -90,6 +95,7 @@ public class SystemUserServiceImpl implements SystemUserService { systemUserResponseVO.setGroupNameList(systemUserPermissions.stream() .map(SystemUserPermission::getGroupName).collect(Collectors.toList())); + return systemUserResponseVO; } diff --git a/frontend/src/config/router.config.js b/frontend/src/config/router.config.js index 48213134..9c27ae55 100644 --- a/frontend/src/config/router.config.js +++ b/frontend/src/config/router.config.js @@ -99,54 +99,32 @@ export const asyncRouterMap = [ } ] }, - // { - // path: '/retry-dead-letter', - // name: 'RetryDeadLetter', - // component: RouteView, - // hideChildrenInMenu: true, - // redirect: '/retry-dead-letter/list', - // meta: { title: '死信队列管理', icon: 'exception', permission: ['retryDeadLetter'] }, - // children: [ - // { - // path: '/retry-dead-letter/list', - // name: 'RetryDeadLetterList', - // component: () => import('@/views/task/RetryDeadLetterList'), - // meta: { title: '死信队列管理列表', icon: 'profile', permission: ['retryDeadLetter'] } - // }, - // { - // path: '/retry-dead-letter/info', - // name: 'RetryDeadLetterInfo', - // component: () => import('@/views/task/RetryDeadLetterInfo'), - // meta: { title: '死信队列管理详情', icon: 'profile', permission: ['retryDeadLetter'] } - // } - // ] - // }, { path: '/job', name: 'Job', component: RouteView, redirect: '/job/list', - meta: { title: '定时任务管理', icon: 'profile', permission: ['retryLog'] }, + meta: { title: '定时任务管理', icon: 'profile', permission: ['job'] }, children: [ { path: '/job/list', name: 'JobList', component: () => import('@/views/job/JobList'), - meta: { title: '任务信息', icon: 'profile', permission: ['retryLog'] } + meta: { title: '任务信息', icon: 'profile', permission: ['job'] } }, { path: '/job/info', name: 'JobInfo', hidden: true, component: () => import('@/views/job/JobInfo'), - meta: { title: '定时任务详情', icon: 'profile', permission: ['retryLog'] } + meta: { title: '定时任务详情', icon: 'profile', permission: ['job'] } }, { path: '/job/config', name: 'JobFrom', hidden: true, component: () => import('@/views/job/from/JobFrom'), - meta: { title: '任务配置', icon: 'profile', permission: ['retryLog'] } + meta: { title: '任务配置', icon: 'profile', permission: ['job'] } }, { path: '/job/batch/list', diff --git a/frontend/src/store/modules/permission.js b/frontend/src/store/modules/permission.js index fd82344a..7055d48b 100644 --- a/frontend/src/store/modules/permission.js +++ b/frontend/src/store/modules/permission.js @@ -67,7 +67,6 @@ const permission = { return new Promise(resolve => { const { roles } = data const routerMap = cloneDeep(asyncRouterMap) - console.log(routerMap) const accessedRouters = filterAsyncRouter(routerMap, roles) console.log(routerMap) diff --git a/frontend/src/store/modules/user.js b/frontend/src/store/modules/user.js index 6f3fe0c4..6ed8765b 100644 --- a/frontend/src/store/modules/user.js +++ b/frontend/src/store/modules/user.js @@ -52,9 +52,8 @@ const user = { return new Promise((resolve, reject) => { getInfo().then(response => { const result = response.data - result['role'] = { - permissions: permissionsConfig(result.role) + permissions: permissionsConfig(result.role, result.mode) } if (result.role && result.role.permissions.length > 0) { diff --git a/frontend/src/utils/permissionsConfig.js b/frontend/src/utils/permissionsConfig.js new file mode 100644 index 00000000..c3c8c1ba --- /dev/null +++ b/frontend/src/utils/permissionsConfig.js @@ -0,0 +1,256 @@ +const permissionsConfig = { + RETRY: { + 1: [ + { + roleId: 1, + permissionId: 'group', + permissionName: '组配置', + actionEntitySet: [] + }, + { + roleId: 1, + permissionId: 'dashboard', + permissionName: '看板' + }, + { + roleId: 1, + permissionId: 'retryTask', + permissionName: '任务管理' + }, + { + roleId: 1, + permissionId: 'retryDeadLetter', + permissionName: '死信队列管理' + }, + { + roleId: 1, + permissionId: 'retryLog', + permissionName: '重试日志管理' + }, + { + roleId: 1, + permissionId: 'basicConfig', + permissionName: '基础信息配置' + } + ], + 2: [ + { + roleId: 2, + permissionId: 'group', + permissionName: '组配置', + actionEntitySet: [ + { + action: 'add', + describe: '新增', + defaultCheck: false + } + ] + }, + { + roleId: 2, + permissionId: 'user', + permissionName: '用户' + }, + { + roleId: 2, + permissionId: 'userForm', + permissionName: '新增或更新用户' + }, + { + roleId: 2, + permissionId: 'dashboard', + permissionName: '看板' + }, + { + roleId: 2, + permissionId: 'retryTask', + permissionName: '任务管理' + }, + { + roleId: 2, + permissionId: 'retryDeadLetter', + permissionName: '死信队列管理' + }, + { + roleId: 2, + permissionId: 'retryLog', + permissionName: '重试日志管理' + }, + { + roleId: 2, + permissionId: 'basicConfig', + permissionName: '基础信息配置' + } + ] + }, + JOB: { + 1: [ + { + roleId: 1, + permissionId: 'group', + permissionName: '组配置', + actionEntitySet: [] + }, + { + roleId: 1, + permissionId: 'dashboard', + permissionName: '看板' + }, + { + roleId: 1, + permissionId: 'job', + permissionName: '定时任务管理' + }, + { + roleId: 1, + permissionId: 'JobBatch', + permissionName: '任务批次' + } + ], + 2: [ + { + roleId: 2, + permissionId: 'group', + permissionName: '组配置', + actionEntitySet: [ + { + action: 'add', + describe: '新增', + defaultCheck: false + } + ] + }, + { + roleId: 2, + permissionId: 'user', + permissionName: '用户' + }, + { + roleId: 2, + permissionId: 'userForm', + permissionName: '新增或更新用户' + }, + { + roleId: 2, + permissionId: 'dashboard', + permissionName: '看板' + }, + { + roleId: 1, + permissionId: 'job', + permissionName: '定时任务管理' + }, + { + roleId: 1, + permissionId: 'JobBatch', + permissionName: '任务批次' + } + ] + }, + ALL: { + 1: [ + { + roleId: 1, + permissionId: 'group', + permissionName: '组配置', + actionEntitySet: [] + }, + { + roleId: 1, + permissionId: 'dashboard', + permissionName: '看板' + }, + { + roleId: 1, + permissionId: 'retryTask', + permissionName: '任务管理' + }, + { + roleId: 1, + permissionId: 'retryDeadLetter', + permissionName: '死信队列管理' + }, + { + roleId: 1, + permissionId: 'retryLog', + permissionName: '重试日志管理' + }, + { + roleId: 1, + permissionId: 'basicConfig', + permissionName: '基础信息配置' + }, + { + roleId: 1, + permissionId: 'job', + permissionName: '定时任务管理' + }, + { + roleId: 1, + permissionId: 'JobBatch', + permissionName: '任务批次' + } + ], + 2: [ + { + roleId: 2, + permissionId: 'group', + permissionName: '组配置', + actionEntitySet: [ + { + action: 'add', + describe: '新增', + defaultCheck: false + } + ] + }, + { + roleId: 2, + permissionId: 'user', + permissionName: '用户' + }, + { + roleId: 2, + permissionId: 'userForm', + permissionName: '新增或更新用户' + }, + { + roleId: 2, + permissionId: 'dashboard', + permissionName: '看板' + }, + { + roleId: 2, + permissionId: 'retryTask', + permissionName: '任务管理' + }, + { + roleId: 2, + permissionId: 'retryDeadLetter', + permissionName: '死信队列管理' + }, + { + roleId: 2, + permissionId: 'retryLog', + permissionName: '重试日志管理' + }, + { + roleId: 2, + permissionId: 'basicConfig', + permissionName: '基础信息配置' + }, + { + roleId: 1, + permissionId: 'job', + permissionName: '定时任务管理' + }, + { + roleId: 1, + permissionId: 'JobBatch', + permissionName: '任务批次' + } + ] + } +} + +module.exports = permissionsConfig diff --git a/frontend/src/utils/util.js b/frontend/src/utils/util.js index f105f4b2..786032fc 100644 --- a/frontend/src/utils/util.js +++ b/frontend/src/utils/util.js @@ -1,3 +1,5 @@ +const permissionsConfig1 = require('@/utils/permissionsConfig') + export function timeFix () { const time = new Date() const hour = time.getHours() @@ -94,93 +96,8 @@ export function scorePassword (pass) { return parseInt(score) } -export function permissionsConfig (roleId) { - const role = { - 1: [ - { - roleId: 1, - permissionId: 'group', - permissionName: '组配置', - actionEntitySet: [] - }, - { - roleId: 1, - permissionId: 'dashboard', - permissionName: '看板' - }, - { - roleId: 1, - permissionId: 'retryTask', - permissionName: '任务管理' - }, - { - roleId: 1, - permissionId: 'retryDeadLetter', - permissionName: '死信队列管理' - }, - { - roleId: 1, - permissionId: 'retryLog', - permissionName: '重试日志管理' - }, - { - roleId: 1, - permissionId: 'basicConfig', - permissionName: '基础信息配置' - } - ], - 2: [ - { - roleId: 2, - permissionId: 'group', - permissionName: '组配置', - actionEntitySet: [ - { - action: 'add', - describe: '新增', - defaultCheck: false - } - ] - }, - { - roleId: 2, - permissionId: 'user', - permissionName: '用户' - }, - { - roleId: 2, - permissionId: 'userForm', - permissionName: '新增或更新用户' - }, - { - roleId: 2, - permissionId: 'dashboard', - permissionName: '看板' - }, - { - roleId: 2, - permissionId: 'retryTask', - permissionName: '任务管理' - }, - { - roleId: 2, - permissionId: 'retryDeadLetter', - permissionName: '死信队列管理' - }, - { - roleId: 2, - permissionId: 'retryLog', - permissionName: '重试日志管理' - }, - { - roleId: 2, - permissionId: 'basicConfig', - permissionName: '基础信息配置' - } - ] - } - - return role[roleId] +export function permissionsConfig (roleId, mode) { + return permissionsConfig1[mode][roleId] } export function officialWebsite () {