diff --git a/pom.xml b/pom.xml
index f199256bc..5f029dafe 100644
--- a/pom.xml
+++ b/pom.xml
@@ -215,6 +215,11 @@
${spring-boot.version}
+
+ org.redisson
+ redisson
+ ${redisson.version}
+
org.redisson
redisson-spring-boot-starter
@@ -276,6 +281,16 @@
+
+ com.ruoyi
+ ruoyi-isc-parent
+ ${ruoyi-vue-plus.version}
+
+
+ com.ruoyi
+ ruoyi-isc-common
+ ${ruoyi-vue-plus.version}
+
com.ruoyi
ruoyi-isc
@@ -302,7 +317,7 @@
ruoyi-demo
ruoyi-extend
ruoyi-oss
- ruoyi-isc
+ ruoyi-isc-parent
pom
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
index c2cb29dcb..ad636ce04 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
@@ -143,4 +143,14 @@ public class Constants
* LDAP 远程方法调用
*/
public static final String LOOKUP_LDAP = "ldap://";
+
+ /** 待审核 */
+ public static final String AUDIT_WAIT = "0";
+
+ /** 审核通过 */
+ public static final String AUDIT_PASS = "1";
+
+ /** 审核驳回 */
+ public static final String AUDIT_REJECT = "2";
+
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/IscConstants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/IscConstants.java
index fe3c523f7..793140ed5 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/IscConstants.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/IscConstants.java
@@ -2,16 +2,7 @@ package com.ruoyi.common.constant;
public class IscConstants {
- /** 待审核 */
- public static final String AUDIT_WAIT = "0";
-
- /** 审核通过 */
- public static final String AUDIT_PASS = "1";
-
- /** 审核驳回 */
- public static final String AUDIT_REJECT = "2";
-
- /** 待审核 */
+ /** 在线状态 在线 */
public static final String ONLINE_STATUS_ON = "1";
/** 申请类型 申请服务 */
@@ -22,14 +13,4 @@ public class IscConstants {
/** 申请类型 申请修改 */
public static final String APPLY_TYPE_MODIFY = "2";
-
- /**
- * Gateway 路由信息Redis Key
- */
- public static final String KEY_ROUTES = "ROUTES:";
-
- /**
- * Gateway 服务对应AK规则
- */
- public static final String KEY_RULES = "RULES:";
}
diff --git a/ruoyi-extend/ruoyi-isc-gateway/pom.xml b/ruoyi-extend/ruoyi-isc-gateway/pom.xml
index 4df6d0639..851b4665d 100644
--- a/ruoyi-extend/ruoyi-isc-gateway/pom.xml
+++ b/ruoyi-extend/ruoyi-isc-gateway/pom.xml
@@ -13,6 +13,10 @@
ruoyi-isc-gateway
+
+ com.ruoyi
+ ruoyi-isc-common
+
org.springframework.cloud
spring-cloud-starter-gateway
diff --git a/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/config/GatewayConfig.java b/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/config/GatewayConfig.java
index e8ba55e62..85cfe323f 100644
--- a/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/config/GatewayConfig.java
+++ b/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/config/GatewayConfig.java
@@ -5,14 +5,11 @@ import com.ruoyi.gateway.config.handler.GlobalErrorWebExceptionHandler;
import com.ruoyi.gateway.config.provider.RedisRouteDefinitionRepository;
import com.ruoyi.gateway.filter.CustomerGlobalFilter;
import com.ruoyi.gateway.ratelimit.CustomerRedisRateLimiter;
-import com.ruoyi.gateway.utils.beans.TopicMsg;
import com.ruoyi.gateway.utils.caching.CachingRule;
+import com.ruoyi.isc.common.utils.beans.TopicMsg;
import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RTopic;
import org.redisson.api.RedissonClient;
-import org.redisson.client.codec.Codec;
-import org.redisson.codec.SerializationCodec;
-import org.redisson.codec.TypedJsonJacksonCodec;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.web.reactive.error.ErrorWebExceptionHandler;
import org.springframework.cloud.gateway.event.RefreshRoutesEvent;
@@ -32,6 +29,8 @@ import org.springframework.lang.NonNull;
import java.util.List;
import java.util.function.Consumer;
+import static com.ruoyi.isc.common.constant.IscGatewayContants.*;
+
/**
* Gateway 配置文件
*
@@ -41,9 +40,6 @@ import java.util.function.Consumer;
@Slf4j
@Configuration
public class GatewayConfig implements ApplicationEventPublisherAware {
- public static final Codec TOPIC_MSG_CODES_INSTANCE = new TypedJsonJacksonCodec(String.class, TopicMsg.class);
- public static final String TOPIC_GATEWAY_REFRESH_ROUTE = "TOPIC_GATEWAY_REFRESH_ROUTE";
- public static final String TOPIC_GATEWAY_RULE = "TOPIC_GATEWAY_RULE";
public ApplicationEventPublisher publisher;
private final RedissonClient client = SpringUtil.getBean(RedissonClient.class);
@@ -105,7 +101,7 @@ public class GatewayConfig implements ApplicationEventPublisherAware {
* @param consumer 自定义处理
*/
public void subscribe(String channelKey, Class clazz, Consumer consumer) {
- RTopic topic = client.getTopic(channelKey, new SerializationCodec());
+ RTopic topic = client.getTopic(channelKey);
topic.addListener(clazz, (channel, msg) -> consumer.accept(msg));
}
diff --git a/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/config/provider/RedisRouteDefinitionRepository.java b/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/config/provider/RedisRouteDefinitionRepository.java
index ebdb94caf..492de65d2 100644
--- a/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/config/provider/RedisRouteDefinitionRepository.java
+++ b/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/config/provider/RedisRouteDefinitionRepository.java
@@ -10,6 +10,8 @@ import org.springframework.cloud.gateway.route.RouteDefinitionRepository;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
+import static com.ruoyi.isc.common.constant.IscRedisKeys.KEY_ROUTES;
+
/**
* Redis 路由仓库
*
@@ -20,7 +22,6 @@ import reactor.core.publisher.Mono;
public class RedisRouteDefinitionRepository implements RouteDefinitionRepository
{
public static final Codec ROUTE_CODES_INSTANCE = new TypedJsonJacksonCodec(String.class, RouteDefinition.class);
- public static final String KEY_ROUTES = "ROUTES:";
private final RedissonClient redissonClient;
public RedisRouteDefinitionRepository(RedissonClient redissonClient)
diff --git a/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/filter/CustomerGlobalFilter.java b/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/filter/CustomerGlobalFilter.java
index 247100ea2..4b49b0796 100644
--- a/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/filter/CustomerGlobalFilter.java
+++ b/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/filter/CustomerGlobalFilter.java
@@ -9,7 +9,7 @@ import cn.hutool.json.JSONUtil;
import com.ruoyi.gateway.exception.*;
import com.ruoyi.gateway.ratelimit.CustomerRedisRateLimiter;
import com.ruoyi.gateway.utils.GatewayUtils;
-import com.ruoyi.gateway.utils.beans.IscRule;
+import com.ruoyi.isc.common.utils.beans.IscRule;
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.cloud.gateway.route.Route;
@@ -37,6 +37,7 @@ import java.util.stream.Collectors;
import static com.ruoyi.gateway.filter.CustomerGlobalFilter.AccessKey.AccessKeyType;
import static com.ruoyi.gateway.filter.CustomerGlobalFilter.AccessKey.AccessKeyType.*;
+import static com.ruoyi.isc.common.constant.IscGatewayContants.*;
import static org.springframework.util.CollectionUtils.unmodifiableMultiValueMap;
/**
@@ -57,7 +58,6 @@ public class CustomerGlobalFilter implements GlobalFilter, Ordered {
this.rateLimiter = rateLimiter;
}
- private static final String ACCESS_KEY_NAME_DEFAULT = "ak";
private static final TimeUnit[] TIME_UNITS = {TimeUnit.SECONDS, TimeUnit.MINUTES, TimeUnit.HOURS, TimeUnit.DAYS};
@Override
@@ -67,7 +67,7 @@ public class CustomerGlobalFilter implements GlobalFilter, Ordered {
final ServerHttpRequest request = exchange.getRequest();
//ak 是否存在
final HttpMethod httpMethod = request.getMethod();
- AccessKey accessKey = new AccessKey(String.valueOf(metadata.getOrDefault(GatewayUtils.CONFIG_ACCESS_KEY_NAME_KEY,
+ AccessKey accessKey = new AccessKey(String.valueOf(metadata.getOrDefault(CONFIG_ACCESS_KEY_NAME_KEY,
ACCESS_KEY_NAME_DEFAULT)));
accessKey.set(GatewayUtils.getValue(null, () -> request.getHeaders().get(accessKey.name)), HEADER);
MultiValueMap queryParams = request.getQueryParams().containsKey(accessKey.name) ?
@@ -305,7 +305,7 @@ public class CustomerGlobalFilter implements GlobalFilter, Ordered {
* @param 参数类型
*/
private void handleHiddenParams(Route route, U result, BiConsumer, U> mapper) {
- final Object obj = route.getMetadata().get(GatewayUtils.CONFIG_ADD_PARAM_KEY);
+ final Object obj = route.getMetadata().get(CONFIG_ADD_PARAM_KEY);
if (Objects.isNull(obj)) {
return;
}
diff --git a/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/ratelimit/CustomerRedisRateLimiter.java b/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/ratelimit/CustomerRedisRateLimiter.java
index 2e2289b80..0eea20016 100644
--- a/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/ratelimit/CustomerRedisRateLimiter.java
+++ b/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/ratelimit/CustomerRedisRateLimiter.java
@@ -2,6 +2,7 @@ package com.ruoyi.gateway.ratelimit;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.StrUtil;
+import com.ruoyi.gateway.utils.GatewayUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.gateway.filter.ratelimit.RedisRateLimiter;
import org.springframework.cloud.gateway.support.ConfigurationService;
@@ -26,12 +27,12 @@ import java.util.concurrent.atomic.AtomicBoolean;
@Slf4j
public class CustomerRedisRateLimiter extends RedisRateLimiter {
- private ReactiveStringRedisTemplate redisTemplate;
+ private final ReactiveStringRedisTemplate redisTemplate;
- private RedisScript> script;
- private RedisScript timeRedisScript;
+ private final RedisScript> script;
+ private final RedisScript timeRedisScript;
- private AtomicBoolean initialized = new AtomicBoolean(false);
+ private final AtomicBoolean initialized = new AtomicBoolean(false);
public CustomerRedisRateLimiter(ReactiveStringRedisTemplate redisTemplate, RedisScript> script,
ConfigurationService configurationService, DefaultRedisScript timeRedisScript) {
@@ -44,7 +45,7 @@ public class CustomerRedisRateLimiter extends RedisRateLimiter {
public Mono isAllowed(String routeId, String ak, Long replenishRate, TimeUnit timeUnit) {
Config routeConfig = new Config().setReplenishRate(replenishRate.intValue());
- String id = ak + ':' + routeId;
+ String id = GatewayUtils.getRouteKey(ak, routeId);
int time = 60;
LocalDateTime now = LocalDateTime.now();
List keys;
diff --git a/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/utils/GatewayUtils.java b/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/utils/GatewayUtils.java
index da5847b6f..05035d4ba 100644
--- a/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/utils/GatewayUtils.java
+++ b/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/utils/GatewayUtils.java
@@ -3,9 +3,8 @@ package com.ruoyi.gateway.utils;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.extra.spring.SpringUtil;
-import com.ruoyi.gateway.utils.beans.IscRule;
import com.ruoyi.gateway.utils.caching.CachingRule;
-import org.redisson.api.DeletedObjectListener;
+import com.ruoyi.isc.common.utils.beans.IscRule;
import org.redisson.api.RMap;
import org.redisson.api.RedissonClient;
import org.redisson.client.codec.Codec;
@@ -31,20 +30,14 @@ import java.util.List;
import java.util.Objects;
import java.util.function.Supplier;
+import static com.ruoyi.isc.common.constant.IscGatewayContants.RULE_CODES_INSTANCE;
+import static com.ruoyi.isc.common.constant.IscRedisKeys.KEY_RULES;
+
/**
* @author Wenchao Gong
* @date 2021-10-15
*/
-public class GatewayUtils {
-
- public static final String CONFIG_ACCESS_KEY_NAME_KEY = "accessKeyName";
- public static final String CONFIG_ADD_PARAM_KEY = "addParam";
- /**
- * Gateway 服务对应AK规则
- */
- public static final String KEY_RULES = "RULES:";
-
- public static final Codec RULE_CODES_INSTANCE = new TypedJsonJacksonCodec(String.class, IscRule.class);
+public class GatewayUtils extends com.ruoyi.isc.common.utils.GatewayUtils {
private static RedissonClient client = SpringUtil.getBean(RedissonClient.class);
/**
@@ -166,7 +159,7 @@ public class GatewayUtils {
* @return
*/
public static IscRule getRule(String ak, String routeId) {
- String key = ak + ':' + routeId;
+ String key = getRouteKey(ak, routeId);
return CachingRule.getRule(key, GatewayUtils::getRedisRule);
}
diff --git a/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/utils/caching/CachingRule.java b/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/utils/caching/CachingRule.java
index 594787655..5ff5db1fc 100644
--- a/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/utils/caching/CachingRule.java
+++ b/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/utils/caching/CachingRule.java
@@ -1,6 +1,6 @@
package com.ruoyi.gateway.utils.caching;
-import com.ruoyi.gateway.utils.beans.IscRule;
+import com.ruoyi.isc.common.utils.beans.IscRule;
import org.springframework.cache.Cache;
import org.springframework.cache.concurrent.ConcurrentMapCache;
diff --git a/ruoyi-isc-parent/pom.xml b/ruoyi-isc-parent/pom.xml
new file mode 100644
index 000000000..d633933a2
--- /dev/null
+++ b/ruoyi-isc-parent/pom.xml
@@ -0,0 +1,33 @@
+
+
+
+ ruoyi-vue-plus
+ com.ruoyi
+ 3.1.0
+
+ 4.0.0
+
+ ruoyi-isc-parent
+ pom
+
+ ruoyi-isc-common
+ ruoyi-isc
+
+
+
+
+
+ com.ruoyi
+ ruoyi-isc-common
+ ${project.version}
+
+
+ com.ruoyi
+ ruoyi-isc
+ ${project.version}
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-isc-parent/ruoyi-isc-common/pom.xml b/ruoyi-isc-parent/ruoyi-isc-common/pom.xml
new file mode 100644
index 000000000..4bc845234
--- /dev/null
+++ b/ruoyi-isc-parent/ruoyi-isc-common/pom.xml
@@ -0,0 +1,30 @@
+
+
+
+ ruoyi-isc-parent
+ com.ruoyi
+ 3.1.0
+
+ 4.0.0
+
+ ruoyi-isc-common
+
+
+
+ org.projectlombok
+ lombok
+ compile
+
+
+ com.fasterxml.jackson.core
+ jackson-annotations
+
+
+ org.redisson
+ redisson
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-isc-parent/ruoyi-isc-common/src/main/java/com/ruoyi/isc/common/constant/IscGatewayContants.java b/ruoyi-isc-parent/ruoyi-isc-common/src/main/java/com/ruoyi/isc/common/constant/IscGatewayContants.java
new file mode 100644
index 000000000..c11959f5b
--- /dev/null
+++ b/ruoyi-isc-parent/ruoyi-isc-common/src/main/java/com/ruoyi/isc/common/constant/IscGatewayContants.java
@@ -0,0 +1,31 @@
+package com.ruoyi.isc.common.constant;
+
+import com.ruoyi.isc.common.utils.beans.IscRule;
+import org.redisson.client.codec.Codec;
+import org.redisson.codec.TypedJsonJacksonCodec;
+
+/**
+ * Isc Gateway 公共常量
+ * @author Wenchao Gong
+ * @date 2021-10-30
+ */
+public interface IscGatewayContants {
+
+ /** AccessKey 默认名称 */
+ String ACCESS_KEY_NAME_DEFAULT = "ak";
+
+ /** 路由刷新通知主题 */
+ String TOPIC_GATEWAY_REFRESH_ROUTE = "TOPIC_GATEWAY_REFRESH_ROUTE";
+
+ /** 规则刷新通知主题 */
+ String TOPIC_GATEWAY_RULE = "TOPIC_GATEWAY_RULE";
+
+ /** AccessKeyName 路由配置名称 */
+ String CONFIG_ACCESS_KEY_NAME_KEY = "accessKeyName";
+
+ /** 添加参数 路由配置名称 */
+ String CONFIG_ADD_PARAM_KEY = "addParam";
+
+ /** 规则编解码器 */
+ Codec RULE_CODES_INSTANCE = new TypedJsonJacksonCodec(String.class, IscRule.class);
+}
diff --git a/ruoyi-isc-parent/ruoyi-isc-common/src/main/java/com/ruoyi/isc/common/constant/IscRedisKeys.java b/ruoyi-isc-parent/ruoyi-isc-common/src/main/java/com/ruoyi/isc/common/constant/IscRedisKeys.java
new file mode 100644
index 000000000..af8e847c5
--- /dev/null
+++ b/ruoyi-isc-parent/ruoyi-isc-common/src/main/java/com/ruoyi/isc/common/constant/IscRedisKeys.java
@@ -0,0 +1,19 @@
+package com.ruoyi.isc.common.constant;
+
+/**
+ * Redis Keys
+ * @author Wenchao Gong
+ * @date 2021-10-30
+ */
+public interface IscRedisKeys {
+
+ /**
+ * Gateway 路由信息Redis Key
+ */
+ String KEY_ROUTES = "ROUTES:";
+
+ /**
+ * Gateway 服务对应AK规则
+ */
+ String KEY_RULES = "RULES:";
+}
diff --git a/ruoyi-isc-parent/ruoyi-isc-common/src/main/java/com/ruoyi/isc/common/utils/GatewayUtils.java b/ruoyi-isc-parent/ruoyi-isc-common/src/main/java/com/ruoyi/isc/common/utils/GatewayUtils.java
new file mode 100644
index 000000000..620e4a8da
--- /dev/null
+++ b/ruoyi-isc-parent/ruoyi-isc-common/src/main/java/com/ruoyi/isc/common/utils/GatewayUtils.java
@@ -0,0 +1,30 @@
+package com.ruoyi.isc.common.utils;
+
+/**
+ * @author Wenchao Gong
+ * @date 2021-10-30
+ */
+public class GatewayUtils {
+
+ /**
+ * 获取 路由Key
+ *
+ * @param ak AccessKey
+ * @param serviceId 服务ID
+ * @return 路由Key
+ */
+ public static String getRouteKey(String ak, String serviceId) {
+ return ak + ':' + serviceId;
+ }
+
+ /**
+ * 获取 路由Key
+ *
+ * @param ak AccessKey
+ * @param serviceId 服务ID
+ * @return 路由Key
+ */
+ public static String getRouteKey(String ak, Long serviceId) {
+ return getRouteKey(ak, String.valueOf(serviceId));
+ }
+}
diff --git a/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/utils/beans/IscRule.java b/ruoyi-isc-parent/ruoyi-isc-common/src/main/java/com/ruoyi/isc/common/utils/beans/IscRule.java
similarity index 92%
rename from ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/utils/beans/IscRule.java
rename to ruoyi-isc-parent/ruoyi-isc-common/src/main/java/com/ruoyi/isc/common/utils/beans/IscRule.java
index 23e205f20..a637fa164 100644
--- a/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/utils/beans/IscRule.java
+++ b/ruoyi-isc-parent/ruoyi-isc-common/src/main/java/com/ruoyi/isc/common/utils/beans/IscRule.java
@@ -1,4 +1,4 @@
-package com.ruoyi.gateway.utils.beans;
+package com.ruoyi.isc.common.utils.beans;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
diff --git a/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/utils/beans/TopicMsg.java b/ruoyi-isc-parent/ruoyi-isc-common/src/main/java/com/ruoyi/isc/common/utils/beans/TopicMsg.java
similarity index 94%
rename from ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/utils/beans/TopicMsg.java
rename to ruoyi-isc-parent/ruoyi-isc-common/src/main/java/com/ruoyi/isc/common/utils/beans/TopicMsg.java
index 7a82c2ee2..91d64e5ee 100644
--- a/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/utils/beans/TopicMsg.java
+++ b/ruoyi-isc-parent/ruoyi-isc-common/src/main/java/com/ruoyi/isc/common/utils/beans/TopicMsg.java
@@ -1,4 +1,4 @@
-package com.ruoyi.gateway.utils.beans;
+package com.ruoyi.isc.common.utils.beans;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/ruoyi-isc/pom.xml b/ruoyi-isc-parent/ruoyi-isc/pom.xml
similarity index 76%
rename from ruoyi-isc/pom.xml
rename to ruoyi-isc-parent/ruoyi-isc/pom.xml
index e994e24fa..80d4fd477 100644
--- a/ruoyi-isc/pom.xml
+++ b/ruoyi-isc-parent/ruoyi-isc/pom.xml
@@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- ruoyi-vue-plus
+ ruoyi-isc-parent
com.ruoyi
3.1.0
@@ -12,6 +12,10 @@
ruoyi-isc
+
+ com.ruoyi
+ ruoyi-isc-common
+
com.ruoyi
ruoyi-system
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscAppServiceApplyController.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscAppServiceApplyController.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscAppServiceApplyController.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscAppServiceApplyController.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscAppServiceController.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscAppServiceController.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscAppServiceController.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscAppServiceController.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscApplicationController.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscApplicationController.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscApplicationController.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscApplicationController.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscServiceCateController.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscServiceCateController.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscServiceCateController.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscServiceCateController.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscServiceController.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscServiceController.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscServiceController.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscServiceController.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscAppService.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscAppService.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscAppService.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscAppService.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscAppServiceApply.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscAppServiceApply.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscAppServiceApply.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscAppServiceApply.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscApplication.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscApplication.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscApplication.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscApplication.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscService.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscService.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscService.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscService.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscServiceCate.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscServiceCate.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscServiceCate.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscServiceCate.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscAppServiceApplyBo.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscAppServiceApplyBo.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscAppServiceApplyBo.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscAppServiceApplyBo.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscAppServiceBo.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscAppServiceBo.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscAppServiceBo.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscAppServiceBo.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscApplicationBo.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscApplicationBo.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscApplicationBo.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscApplicationBo.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscAuditBo.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscAuditBo.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscAuditBo.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscAuditBo.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscServiceBo.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscServiceBo.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscServiceBo.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscServiceBo.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscServiceCateBo.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscServiceCateBo.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscServiceCateBo.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscServiceCateBo.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscAppServiceApplyVo.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscAppServiceApplyVo.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscAppServiceApplyVo.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscAppServiceApplyVo.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscAppServiceVo.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscAppServiceVo.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscAppServiceVo.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscAppServiceVo.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscApplicationVo.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscApplicationVo.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscApplicationVo.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscApplicationVo.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscServiceCateVo.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscServiceCateVo.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscServiceCateVo.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscServiceCateVo.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscServiceVo.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscServiceVo.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscServiceVo.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscServiceVo.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscAppServiceApplyMapper.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscAppServiceApplyMapper.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscAppServiceApplyMapper.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscAppServiceApplyMapper.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscAppServiceMapper.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscAppServiceMapper.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscAppServiceMapper.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscAppServiceMapper.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscApplicationMapper.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscApplicationMapper.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscApplicationMapper.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscApplicationMapper.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscServiceCateMapper.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscServiceCateMapper.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscServiceCateMapper.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscServiceCateMapper.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscServiceMapper.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscServiceMapper.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscServiceMapper.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscServiceMapper.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscAppServiceApplyService.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscAppServiceApplyService.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscAppServiceApplyService.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscAppServiceApplyService.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscAppServiceService.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscAppServiceService.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscAppServiceService.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscAppServiceService.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscApplicationService.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscApplicationService.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscApplicationService.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscApplicationService.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscServiceCateService.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscServiceCateService.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscServiceCateService.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscServiceCateService.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscServiceService.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscServiceService.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscServiceService.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscServiceService.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/service/impl/IscAppServiceApplyServiceImpl.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/service/impl/IscAppServiceApplyServiceImpl.java
similarity index 97%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/service/impl/IscAppServiceApplyServiceImpl.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/service/impl/IscAppServiceApplyServiceImpl.java
index 3500235eb..8d6b7588f 100644
--- a/ruoyi-isc/src/main/java/com/ruoyi/isc/service/impl/IscAppServiceApplyServiceImpl.java
+++ b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/service/impl/IscAppServiceApplyServiceImpl.java
@@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.constant.IscConstants;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.PagePlus;
@@ -149,7 +150,7 @@ public class IscAppServiceApplyServiceImpl extends ServicePlusImpllambdaQuery()
.eq(IscAppServiceApply::getApplyId, id)
- .eq(IscAppServiceApply::getStatus, IscConstants.AUDIT_WAIT), false);
+ .eq(IscAppServiceApply::getStatus, Constants.AUDIT_WAIT), false);
if(Objects.isNull(apply)) {
continue;
}
@@ -160,7 +161,7 @@ public class IscAppServiceApplyServiceImpl extends ServicePlusImpl new ServiceException("服务信息不存在"));
updateData = genAuditPassData(apply, appService, service, bo.getStatus());
@@ -201,7 +202,7 @@ public class IscAppServiceApplyServiceImpl extends ServicePlusImpllambdaQuery()
.eq(IscAppServiceApply::getAppServiceId, entity.getAppServiceId())
- .eq(IscAppServiceApply::getStatus, IscConstants.AUDIT_WAIT));
+ .eq(IscAppServiceApply::getStatus, Constants.AUDIT_WAIT));
Assert.isFalse(SqlHelper.retBool(count), () -> new ServiceException("有申请未审核, 不能再申请"));
}
}
@@ -203,7 +204,7 @@ public class IscAppServiceServiceImpl extends ServicePlusImpl list = list(Wrappers.lambdaQuery()
.eq(IscAppService::getEnabled, UserConstants.NORMAL)
- .eq(IscAppService::getStatus, IscConstants.AUDIT_PASS)
+ .eq(IscAppService::getStatus, Constants.AUDIT_PASS)
.gt(IscAppService::getEndTime, DateUtils.getNowDate()));
if(CollectionUtil.isEmpty(list)) {
return;
@@ -240,7 +241,7 @@ public class IscAppServiceServiceImpl extends ServicePlusImpl serviceList = list(Wrappers.lambdaQuery()
.select(IscService::getServiceId, IscService::getServiceName, IscService::getCateFullPath)
- .eq(IscService::getStatus, IscConstants.AUDIT_PASS)
+ .eq(IscService::getStatus, Constants.AUDIT_PASS)
.eq(IscService::getEnabled, UserConstants.DICT_NORMAL)
.orderByDesc(IscService::getUpdateTime));
return cateService.genCateTree(cateService.selectCateList(), serviceList, exitsIds);
@@ -181,13 +182,13 @@ public class IscServiceServiceImpl extends ServicePlusImpl routes = pass ? ListUtil.list(false) : null;
for (Long id : bo.getIds())
{
IscService service = getOne(Wrappers.lambdaQuery()
.eq(IscService::getServiceId, id)
- .eq(IscService::getStatus, IscConstants.AUDIT_WAIT), false);
+ .eq(IscService::getStatus, Constants.AUDIT_WAIT), false);
if(Objects.isNull(service)) {
continue;
}
@@ -209,9 +210,9 @@ public class IscServiceServiceImpl extends ServicePlusImpl new ServiceException("审核意见不能为空"));
break;
default:
@@ -224,7 +225,7 @@ public class IscServiceServiceImpl extends ServicePlusImpl serviceList = list(Wrappers.lambdaQuery()
.select(IscService::getServiceId, IscService::getServiceAddr, IscService::getHiddenParams, IscService::getRequestMethod)
- .eq(IscService::getStatus, IscConstants.AUDIT_PASS));
+ .eq(IscService::getStatus, Constants.AUDIT_PASS));
List routes = new ArrayList<>();
for (IscService service : serviceList)
{
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/RouteUtils.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/RouteUtils.java
similarity index 88%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/utils/RouteUtils.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/RouteUtils.java
index a1bfa766c..d13a5ab27 100644
--- a/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/RouteUtils.java
+++ b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/RouteUtils.java
@@ -2,13 +2,16 @@ package com.ruoyi.isc.utils;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
-import com.ruoyi.common.constant.IscConstants;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.isc.common.constant.IscRedisKeys;
+import com.ruoyi.isc.common.utils.GatewayUtils;
+import com.ruoyi.isc.common.utils.beans.IscRule;
+import com.ruoyi.isc.common.utils.beans.TopicMsg;
+import com.ruoyi.isc.common.utils.beans.TopicMsg.Type;
import com.ruoyi.isc.domain.IscAppService;
import com.ruoyi.isc.domain.IscService;
import com.ruoyi.isc.utils.beans.*;
-import com.ruoyi.isc.utils.beans.TopicMsg.Type;
import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RMap;
import org.redisson.api.RTopic;
@@ -23,6 +26,8 @@ import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
+import static com.ruoyi.isc.common.constant.IscGatewayContants.*;
+
/**
* @author Wenchao Gong
* @date 2021/9/10 14:46
@@ -31,15 +36,10 @@ import java.util.stream.Collectors;
public class RouteUtils {
public static final Codec ROUTE_CODES_INSTANCE = new TypedJsonJacksonCodec(String.class, IscRouteDefinition.class);
- public static final Codec RULE_CODES_INSTANCE = new TypedJsonJacksonCodec(String.class, IscRule.class);
- public static final Codec TOPIC_MSG_CODES_INSTANCE = new TypedJsonJacksonCodec(String.class, TopicMsg.class);
- public static final String TOPIC_GATEWAY_REFRESH_ROUTE = "TOPIC_GATEWAY_REFRESH_ROUTE";
- public static final String TOPIC_GATEWAY_RULE = "TOPIC_GATEWAY_RULE";
/**
* Gateway 虚拟路径前缀
*/
public static final String PATH_PREFIX = "/proxy";
- public static final String ACCESS_KEY_NAME = "ak";
private static final RedissonClient CLIENT = SpringUtils.getBean(RedissonClient.class);
/**
@@ -88,7 +88,7 @@ public class RouteUtils {
* @param consumer 自定义处理
*/
public static void publish(String channelKey, T msg, Consumer consumer) {
- RTopic topic = CLIENT.getTopic(channelKey, TOPIC_MSG_CODES_INSTANCE);
+ RTopic topic = CLIENT.getTopic(channelKey);
topic.publish(msg);
consumer.accept(msg);
}
@@ -119,10 +119,10 @@ public class RouteUtils {
{
Map routeMap = routes.stream().collect(Collectors.toMap(IscRouteDefinition::getId,
Function.identity(), (o1, o2) -> o2));
- final RMap map = CLIENT.getMap(IscConstants.KEY_ROUTES, ROUTE_CODES_INSTANCE);
+ final RMap map = CLIENT.getMap(IscRedisKeys.KEY_ROUTES, ROUTE_CODES_INSTANCE);
map.clear();
map.putAll(routeMap);
- sendRefreshRouteToGateway(null, Type.REFRESH,
+ sendRefreshRouteToGateway(null, TopicMsg.Type.REFRESH,
(msg) -> log.info("路由刷新完成,通知网关刷新路由![{}]", msg.getMsg()));
return true;
}
@@ -149,7 +149,7 @@ public class RouteUtils {
if(CollectionUtil.isEmpty(routes)) {
return true;
}
- final RMap map = CLIENT.getMap(IscConstants.KEY_ROUTES, ROUTE_CODES_INSTANCE);
+ final RMap map = CLIENT.getMap(IscRedisKeys.KEY_ROUTES, ROUTE_CODES_INSTANCE);
Map collect = routes.stream().collect(Collectors.toMap(IscRouteDefinition::getId, Function.identity()));
map.putAll(collect);
final String id = String.join(",", collect.keySet());
@@ -170,7 +170,7 @@ public class RouteUtils {
*/
public static boolean deleteRoute(Collection routeIds)
{
- final RMap map = CLIENT.getMap(IscConstants.KEY_ROUTES, ROUTE_CODES_INSTANCE);
+ final RMap map = CLIENT.getMap(IscRedisKeys.KEY_ROUTES, ROUTE_CODES_INSTANCE);
final String[] ids = routeIds.toArray(new String[0]);
map.fastRemove(ids);
final String id = String.join(",", routeIds);
@@ -229,8 +229,8 @@ public class RouteUtils {
//其他信息
Map metadata = route.getMetadata();
- metadata.put("accessKeyName", ACCESS_KEY_NAME);
- metadata.put("addParam", service.getHiddenParams());
+ metadata.put(CONFIG_ACCESS_KEY_NAME_KEY, ACCESS_KEY_NAME_DEFAULT);
+ metadata.put(CONFIG_ADD_PARAM_KEY, service.getHiddenParams());
return route;
}
@@ -244,7 +244,7 @@ public class RouteUtils {
public static IscRule generateRule(IscAppService appService, String accessKey)
{
IscRule rule = new IscRule();
- rule.setId(accessKey + ':' + appService.getServiceId());
+ rule.setId(GatewayUtils.getRouteKey(accessKey, appService.getServiceId()));
rule.setExpire(appService.getEndTime());
rule.setDaysLimit(appService.getQuotaDays());
rule.setHoursLimit(appService.getQuotaHours());
@@ -262,7 +262,7 @@ public class RouteUtils {
public static boolean refreshRules(List rules)
{
Map ruleMap = rules.stream().collect(Collectors.toMap(IscRule::getId, Function.identity(), (o1, o2) -> o2));
- final RMap map = CLIENT.getMap(IscConstants.KEY_RULES, RULE_CODES_INSTANCE);
+ final RMap map = CLIENT.getMap(IscRedisKeys.KEY_RULES, RULE_CODES_INSTANCE);
map.clear();
map.putAll(ruleMap);
final String id = String.join(",", ruleMap.keySet());
@@ -290,7 +290,7 @@ public class RouteUtils {
*/
public static boolean saveRule(IscRule rule, Consumer consumer)
{
- final RMap map = CLIENT.getMap(IscConstants.KEY_RULES, RULE_CODES_INSTANCE);
+ final RMap map = CLIENT.getMap(IscRedisKeys.KEY_RULES, RULE_CODES_INSTANCE);
map.put(rule.getId(), rule);
Type type = Type.UPDATE;
if(Objects.isNull(consumer)) {
@@ -309,7 +309,7 @@ public class RouteUtils {
*/
public static boolean deleteRule(String ruleId)
{
- final RMap map = CLIENT.getMap(IscConstants.KEY_RULES, RULE_CODES_INSTANCE);
+ final RMap map = CLIENT.getMap(IscRedisKeys.KEY_RULES, RULE_CODES_INSTANCE);
map.remove(ruleId);
sendRuleNoticeToGateway(ruleId, Type.DELETE,
(msg) -> log.info("删除[{}]规则[{}]完成,通知网关刷新规则![{}]", msg.getType(), msg.getId(), msg.getMsg()));
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/beans/IscFilterDefinition.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/beans/IscFilterDefinition.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/utils/beans/IscFilterDefinition.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/beans/IscFilterDefinition.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/beans/IscPredicateDefinition.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/beans/IscPredicateDefinition.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/utils/beans/IscPredicateDefinition.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/beans/IscPredicateDefinition.java
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/beans/IscRouteDefinition.java b/ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/beans/IscRouteDefinition.java
similarity index 100%
rename from ruoyi-isc/src/main/java/com/ruoyi/isc/utils/beans/IscRouteDefinition.java
rename to ruoyi-isc-parent/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/beans/IscRouteDefinition.java
diff --git a/ruoyi-isc/src/main/resources/mapper/isc/IscAppServiceApplyMapper.xml b/ruoyi-isc-parent/ruoyi-isc/src/main/resources/mapper/isc/IscAppServiceApplyMapper.xml
similarity index 100%
rename from ruoyi-isc/src/main/resources/mapper/isc/IscAppServiceApplyMapper.xml
rename to ruoyi-isc-parent/ruoyi-isc/src/main/resources/mapper/isc/IscAppServiceApplyMapper.xml
diff --git a/ruoyi-isc/src/main/resources/mapper/isc/IscAppServiceMapper.xml b/ruoyi-isc-parent/ruoyi-isc/src/main/resources/mapper/isc/IscAppServiceMapper.xml
similarity index 100%
rename from ruoyi-isc/src/main/resources/mapper/isc/IscAppServiceMapper.xml
rename to ruoyi-isc-parent/ruoyi-isc/src/main/resources/mapper/isc/IscAppServiceMapper.xml
diff --git a/ruoyi-isc/src/main/resources/mapper/isc/IscApplicationMapper.xml b/ruoyi-isc-parent/ruoyi-isc/src/main/resources/mapper/isc/IscApplicationMapper.xml
similarity index 100%
rename from ruoyi-isc/src/main/resources/mapper/isc/IscApplicationMapper.xml
rename to ruoyi-isc-parent/ruoyi-isc/src/main/resources/mapper/isc/IscApplicationMapper.xml
diff --git a/ruoyi-isc/src/main/resources/mapper/isc/IscServiceCateMapper.xml b/ruoyi-isc-parent/ruoyi-isc/src/main/resources/mapper/isc/IscServiceCateMapper.xml
similarity index 100%
rename from ruoyi-isc/src/main/resources/mapper/isc/IscServiceCateMapper.xml
rename to ruoyi-isc-parent/ruoyi-isc/src/main/resources/mapper/isc/IscServiceCateMapper.xml
diff --git a/ruoyi-isc/src/main/resources/mapper/isc/IscServiceMapper.xml b/ruoyi-isc-parent/ruoyi-isc/src/main/resources/mapper/isc/IscServiceMapper.xml
similarity index 100%
rename from ruoyi-isc/src/main/resources/mapper/isc/IscServiceMapper.xml
rename to ruoyi-isc-parent/ruoyi-isc/src/main/resources/mapper/isc/IscServiceMapper.xml
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/beans/IscRule.java b/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/beans/IscRule.java
deleted file mode 100644
index 3d55f6ed6..000000000
--- a/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/beans/IscRule.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.ruoyi.isc.utils.beans;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * 网关 规则信息(服务对应AK处理规则)
- * @author Wechao Gong
- * @date 2021-10-16
- */
-@Getter
-@Setter
-public class IscRule implements Serializable
-{
- @JsonIgnore
- private String id;
- private Date expire;
- private Long daysLimit;
- private Long hoursLimit;
- private Long minutesLimit;
- private Long secondsLimit;
-}
diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/beans/TopicMsg.java b/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/beans/TopicMsg.java
deleted file mode 100644
index c5dfb78ce..000000000
--- a/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/beans/TopicMsg.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.ruoyi.isc.utils.beans;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.io.Serializable;
-
-/**
- * @author Wenchao Gong
- * @date 2021-10-26
- */
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class TopicMsg implements Serializable {
- /** 消息ID */
- private String id;
-
- /** 消息内容 */
- private String msg;
-
- /** 消息类型 */
- private Type type;
-
- /** 消息类型枚举 */
- public static enum Type {
- /** 新增单条记录 */
- ADD,
- /** 更新单条记录 */
- UPDATE,
- /** 删除单条记录 */
- DELETE,
- /** 刷新所有 */
- REFRESH
- }
-}