diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/java/com/orion/ops/framework/mybatis/core/generator/CodeGenerators.java b/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/java/com/orion/ops/framework/mybatis/core/generator/CodeGenerators.java
index 22248915..87f4827f 100644
--- a/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/java/com/orion/ops/framework/mybatis/core/generator/CodeGenerators.java
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/java/com/orion/ops/framework/mybatis/core/generator/CodeGenerators.java
@@ -45,19 +45,9 @@ public class CodeGenerators {
// .color("blue", "gray", "red", "green", "white")
// .valueUseFields()
// .build(),
- Template.create("data_group", "数据分组", "data")
+ Template.create("data_permission", "数据权限", "data")
.enableProviderApi()
.disableUnitTest()
- .cache("data:group:{}", "数据分组 ${type}")
- .expire(1, TimeUnit.DAYS)
- .vue("system", "data-group")
- .build(),
- Template.create("data_group_rel", "数据分组关联", "data")
- .enableProviderApi()
- .disableUnitTest()
- .cache("data:group-rel:{}", "数据分组关联 ${groupId}")
- .expire(1, TimeUnit.DAYS)
- .vue("system", "data-group-rel")
.build(),
};
// jdbc 配置 - 使用配置文件
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-server-module-service-impl.java.vm b/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-server-module-service-impl.java.vm
index 9339f141..272a1456 100644
--- a/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-server-module-service-impl.java.vm
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-server-module-service-impl.java.vm
@@ -13,6 +13,7 @@ import com.orion.ops.framework.common.utils.FileNames;
import com.orion.ops.framework.common.utils.Valid;
#if($meta.enableCache)
import com.orion.ops.framework.redis.core.utils.RedisMaps;
+import com.orion.ops.framework.redis.core.utils.barrier.CacheBarriers;
#end
#foreach($pkg in ${customModuleFilePackages})
import ${pkg}.*;
@@ -138,13 +139,12 @@ public class ${table.serviceImplName} implements ${table.serviceName} {
// 查询数据库
list = ${typeLower}DAO.of().list(${type}Convert.MAPPER::toCache);
// 设置屏障 防止穿透
- RedisMaps.checkBarrier(list, ${type}CacheDTO::new);
+ CacheBarriers.checkBarrier(list, ${type}CacheDTO::new);
// 设置缓存
- RedisMaps.putAllJson(${type}CacheKeyDefine.${typeConst}.getKey(), s -> s.getId().toString(), list);
- RedisMaps.setExpire(${type}CacheKeyDefine.${typeConst});
+ RedisMaps.putAllJson(${type}CacheKeyDefine.${typeConst}, s -> s.getId().toString(), list);
}
// 删除屏障
- RedisMaps.removeBarrier(list);
+ CacheBarriers.removeBarrier(list);
// 转换
return list.stream()
.map(${type}Convert.MAPPER::to)
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-vue-views-index.vue.vm b/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-vue-views-index.vue.vm
index 6db22603..574f60d5 100644
--- a/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-vue-views-index.vue.vm
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-vue-views-index.vue.vm
@@ -76,7 +76,7 @@
#if($vue.enableCardView)
const appStore = useAppStore();
- // FIXME 这里需要修改一下字段名称 同时 appStore 的类型和 AppPreferenceModel 都需要定义该字段类型
+ // FIXME 这里需要修改一下字段名称 并且在 appStore 定义该字段
const renderTable = computed(() => appStore.${vue.featureEntityFirstLower}View === 'table');
#end
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/RedisLists.java b/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/RedisLists.java
index c2279f54..69b44c18 100644
--- a/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/RedisLists.java
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/RedisLists.java
@@ -11,6 +11,8 @@ import java.util.stream.Collectors;
/**
* redis list 工具类
+ *
+ * 写操作会自动设置过期时间 如果有
*
* @author Jiahang Li
* @version 1.0.0
@@ -82,6 +84,92 @@ public class RedisLists extends RedisUtils {
.collect(Collectors.toList());
}
+ /**
+ * list 添加元素
+ *
+ * @param key key
+ * @param value value
+ * @param T
+ */
+ public static void push(CacheKeyDefine key, String value) {
+ push(key.getKey(), key, value, Function.identity());
+ }
+
+ /**
+ * list 添加元素
+ *
+ * @param key key
+ * @param value value
+ * @param T
+ */
+ public static void push(String key, String value) {
+ push(key, null, value, Function.identity());
+ }
+
+ /**
+ * list 添加元素
+ *
+ * @param key key
+ * @param define define
+ * @param value value
+ * @param T
+ */
+ public static void push(String key, CacheKeyDefine define, String value) {
+ push(key, define, value, Function.identity());
+ }
+
+ /**
+ * list 添加元素
+ *
+ * @param key key
+ * @param value value
+ * @param mapper mapper
+ * @param T
+ */
+ public static void push(CacheKeyDefine key, T value, Function mapper) {
+ push(key.getKey(), key, value, mapper);
+ }
+
+ /**
+ * list 添加元素
+ *
+ * @param key key
+ * @param value value
+ * @param mapper mapper
+ * @param T
+ */
+ public static void push(String key, T value, Function mapper) {
+ push(key, null, value, mapper);
+ redisTemplate.opsForList().rightPush(key, mapper.apply(value));
+ }
+
+ /**
+ * list 添加元素
+ *
+ * @param key key
+ * @param define define
+ * @param value value
+ * @param mapper mapper
+ * @param T
+ */
+ public static void push(String key, CacheKeyDefine define, T value, Function mapper) {
+ redisTemplate.opsForList().rightPush(key, mapper.apply(value));
+ if (define != null) {
+ setExpire(key, define);
+ }
+ }
+
+ /**
+ * list 添加元素
+ *
+ * @param key key
+ * @param value value
+ * @param T
+ */
+ public static void pushJson(String key, T value) {
+ redisTemplate.opsForList().rightPush(key, JSON.toJSONString(value));
+ }
+
/**
* list 添加元素
*
@@ -129,45 +217,37 @@ public class RedisLists extends RedisUtils {
* @param list list
* @param T
*/
- public static void pushAllJson(String key, List list) {
- List values = list.stream()
- .map(JSON::toJSONString)
- .collect(Collectors.toList());
- redisTemplate.opsForList().rightPushAll(key, values);
+ public static void pushAllJson(CacheKeyDefine key, List list) {
+ pushAllJson(key.getKey(), key, list);
}
/**
* list 添加元素
*
- * @param key key
- * @param value value
- * @param T
+ * @param key key
+ * @param list list
+ * @param T
*/
- public static void push(String key, String value) {
- redisTemplate.opsForList().rightPush(key, value);
+ public static void pushAllJson(String key, List list) {
+ pushAllJson(key, null, list);
}
/**
* list 添加元素
*
* @param key key
- * @param value value
- * @param mapper mapper
+ * @param define define
+ * @param list list
* @param T
*/
- public static void push(String key, T value, Function mapper) {
- redisTemplate.opsForList().rightPush(key, mapper.apply(value));
- }
-
- /**
- * list 添加元素
- *
- * @param key key
- * @param value value
- * @param T
- */
- public static void pushJson(String key, T value) {
- redisTemplate.opsForList().rightPush(key, JSON.toJSONString(value));
+ public static void pushAllJson(String key, CacheKeyDefine define, List list) {
+ List values = list.stream()
+ .map(JSON::toJSONString)
+ .collect(Collectors.toList());
+ redisTemplate.opsForList().rightPushAll(key, values);
+ if (define != null) {
+ setExpire(key, define);
+ }
}
/**
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/RedisMaps.java b/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/RedisMaps.java
index 011630c6..936ee32b 100644
--- a/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/RedisMaps.java
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/RedisMaps.java
@@ -15,6 +15,8 @@ import java.util.stream.Collectors;
/**
* redis hash 工具类
+ *
+ * 写操作会自动设置过期时间 如果有
*
* @author Jiahang Li
* @version 1.0.0
@@ -34,7 +36,7 @@ public class RedisMaps extends RedisUtils {
* @param value value
*/
public static void put(CacheKeyDefine key, Object hashKey, Object value) {
- put(key.getKey(), hashKey, value);
+ put(key.getKey(), key, hashKey, value);
}
/**
@@ -45,7 +47,22 @@ public class RedisMaps extends RedisUtils {
* @param value value
*/
public static void put(String key, Object hashKey, Object value) {
+ put(key, null, hashKey, value);
+ }
+
+ /**
+ * 插入数据
+ *
+ * @param key key
+ * @param define define
+ * @param hashKey hashKey
+ * @param value value
+ */
+ public static void put(String key, CacheKeyDefine define, Object hashKey, Object value) {
redisTemplate.opsForHash().put(key, Objects1.toString(hashKey), Objects1.toString(value));
+ if (define != null) {
+ setExpire(key, define);
+ }
}
/**
@@ -56,7 +73,7 @@ public class RedisMaps extends RedisUtils {
* @param value value
*/
public static void putJson(CacheKeyDefine key, Object hashKey, Object value) {
- put(key.getKey(), hashKey, JSON.toJSONString(value));
+ put(key.getKey(), key, hashKey, JSON.toJSONString(value));
}
/**
@@ -67,7 +84,19 @@ public class RedisMaps extends RedisUtils {
* @param value value
*/
public static void putJson(String key, Object hashKey, Object value) {
- put(key, hashKey, JSON.toJSONString(value));
+ put(key, null, hashKey, JSON.toJSONString(value));
+ }
+
+ /**
+ * 插入数据 json
+ *
+ * @param key key
+ * @param define define
+ * @param hashKey hashKey
+ * @param value value
+ */
+ public static void putJson(String key, CacheKeyDefine define, Object hashKey, Object value) {
+ put(key, define, hashKey, JSON.toJSONString(value));
}
/**
@@ -79,7 +108,7 @@ public class RedisMaps extends RedisUtils {
* @param V
*/
public static void putJson(CacheKeyDefine key, Function keyMapper, V value) {
- put(key.getKey(), keyMapper.apply(value), JSON.toJSONString(value));
+ put(key.getKey(), key, keyMapper.apply(value), JSON.toJSONString(value));
}
/**
@@ -91,7 +120,20 @@ public class RedisMaps extends RedisUtils {
* @param V
*/
public static void putJson(String key, Function keyMapper, V value) {
- put(key, keyMapper.apply(value), JSON.toJSONString(value));
+ put(key, null, keyMapper.apply(value), JSON.toJSONString(value));
+ }
+
+ /**
+ * 插入数据 json
+ *
+ * @param key key
+ * @param define define
+ * @param keyMapper keyMapper
+ * @param value value
+ * @param V
+ */
+ public static void putJson(String key, CacheKeyDefine define, Function keyMapper, V value) {
+ put(key, define, keyMapper.apply(value), JSON.toJSONString(value));
}
/**
@@ -101,7 +143,7 @@ public class RedisMaps extends RedisUtils {
* @param values values
*/
public static void putAll(CacheKeyDefine key, Map, ?> values) {
- putAll(key.getKey(), values);
+ putAll(key.getKey(), key, values);
}
/**
@@ -111,19 +153,22 @@ public class RedisMaps extends RedisUtils {
* @param values values
*/
public static void putAll(String key, Map, ?> values) {
- Map map = Maps.map(values, Objects1::toString, Objects1::toString);
- redisTemplate.opsForHash().putAll(key, map);
+ putAll(key, null, values);
}
/**
- * 插入数据 json
+ * 插入数据
*
* @param key key
+ * @param define define
* @param values values
- * @param V
*/
- public static void putAllJson(CacheKeyDefine key, Map, V> values) {
- putAllJson(key.getKey(), values);
+ public static void putAll(String key, CacheKeyDefine define, Map, ?> values) {
+ Map map = Maps.map(values, Objects1::toString, Objects1::toString);
+ redisTemplate.opsForHash().putAll(key, map);
+ if (define != null) {
+ setExpire(key, define);
+ }
}
/**
@@ -134,20 +179,34 @@ public class RedisMaps extends RedisUtils {
* @param V
*/
public static void putAllJson(String key, Map, V> values) {
- Map map = Maps.map(values, Objects1::toString, JSON::toJSONString);
- redisTemplate.opsForHash().putAll(key, map);
+ putAllJson(key, null, values);
}
/**
* 插入数据 json
*
- * @param key key
- * @param keyMapper keyMapper
- * @param values values
- * @param V
+ * @param key key
+ * @param values values
+ * @param V
*/
- public static void putAllJson(CacheKeyDefine key, Function keyMapper, List values) {
- putAllJson(key.getKey(), keyMapper, values);
+ public static void putAllJson(CacheKeyDefine key, Map, V> values) {
+ putAllJson(key.getKey(), key, values);
+ }
+
+ /**
+ * 插入数据 json
+ *
+ * @param key key
+ * @param define define
+ * @param values values
+ * @param V
+ */
+ public static void putAllJson(String key, CacheKeyDefine define, Map, V> values) {
+ Map map = Maps.map(values, Objects1::toString, JSON::toJSONString);
+ redisTemplate.opsForHash().putAll(key, map);
+ if (define != null) {
+ setExpire(key, define);
+ }
}
/**
@@ -159,9 +218,38 @@ public class RedisMaps extends RedisUtils {
* @param V
*/
public static void putAllJson(String key, Function keyMapper, List values) {
+ putAllJson(key, null, keyMapper, values);
+ }
+
+ /**
+ * 插入数据 json
+ *
+ * @param key key
+ * @param keyMapper keyMapper
+ * @param values values
+ * @param V
+ */
+ public static void putAllJson(CacheKeyDefine key, Function keyMapper, List values) {
+ putAllJson(key.getKey(), key, keyMapper, values);
+ }
+
+ /**
+ * 插入数据 json
+ *
+ * @param key key
+ * @param define define
+ * @param keyMapper keyMapper
+ * @param values values
+ * @param V
+ */
+ public static void putAllJson(String key, CacheKeyDefine define,
+ Function keyMapper, List values) {
Map map = values.stream()
.collect(Collectors.toMap(keyMapper, JSON::toJSONString, Functions.right()));
redisTemplate.opsForHash().putAll(key, map);
+ if (define != null) {
+ setExpire(key, define);
+ }
}
/**
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/RedisStrings.java b/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/RedisStrings.java
index c8f71158..48a55d21 100644
--- a/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/RedisStrings.java
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/RedisStrings.java
@@ -14,6 +14,8 @@ import java.util.stream.Collectors;
/**
* redis string 工具类
+ *
+ * 写操作会自动设置过期时间 如果有
*
* @author Jiahang Li
* @version 1.0.0
@@ -224,7 +226,17 @@ public class RedisStrings extends RedisUtils {
}
/**
- * 设置 json
+ * 设置值
+ *
+ * @param define define
+ * @param value value
+ */
+ public static void set(CacheKeyDefine define, Object value) {
+ set(define.getKey(), define, value);
+ }
+
+ /**
+ * 设置值
*
* @param key key
* @param define define
@@ -234,7 +246,7 @@ public class RedisStrings extends RedisUtils {
if (value == null) {
value = Strings.EMPTY;
}
- if (define.getTimeout() == 0) {
+ if (define == null || define.getTimeout() == 0) {
// 不过期
redisTemplate.opsForValue().set(key, value.toString());
} else {
@@ -245,6 +257,16 @@ public class RedisStrings extends RedisUtils {
}
}
+ /**
+ * 设置 json
+ *
+ * @param define define
+ * @param value value
+ */
+ public static void setJson(CacheKeyDefine define, Object value) {
+ setJson(define.getKey(), define, value);
+ }
+
/**
* 设置 json
*
@@ -253,7 +275,7 @@ public class RedisStrings extends RedisUtils {
* @param value value
*/
public static void setJson(String key, CacheKeyDefine define, Object value) {
- if (define.getTimeout() == 0) {
+ if (define == null || define.getTimeout() == 0) {
// 不过期
redisTemplate.opsForValue().set(key, JSON.toJSONString(value));
} else {
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/RedisUtils.java b/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/RedisUtils.java
index 7783c46a..23834e22 100644
--- a/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/RedisUtils.java
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/RedisUtils.java
@@ -20,7 +20,7 @@ import java.util.Set;
* @version 1.0.0
* @since 2021/11/6 11:09
*/
-public class RedisUtils extends CacheUtils {
+public class RedisUtils {
protected static RedisTemplate redisTemplate;
@@ -112,7 +112,7 @@ public class RedisUtils extends CacheUtils {
* @param define define
*/
public static void setExpire(String key, CacheKeyDefine define) {
- if (define.getTimeout() != 0) {
+ if (define != null && define.getTimeout() != 0) {
// 设置过期时间
redisTemplate.expire(key, define.getTimeout(), define.getUnit());
}
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/CacheUtils.java b/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/barrier/CacheBarriers.java
similarity index 78%
rename from orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/CacheUtils.java
rename to orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/barrier/CacheBarriers.java
index 06897402..1111ec09 100644
--- a/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/CacheUtils.java
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/barrier/CacheBarriers.java
@@ -1,25 +1,26 @@
-package com.orion.ops.framework.redis.core.utils;
+package com.orion.ops.framework.redis.core.utils.barrier;
import com.orion.lang.define.cache.key.model.LongCacheIdModel;
import com.orion.lang.utils.collect.Lists;
import com.orion.ops.framework.common.constant.Const;
import java.util.Collection;
-import java.util.List;
import java.util.function.Supplier;
/**
- * 缓存工具类
+ * 缓存屏障工具类
*
* @author Jiahang Li
* @version 1.0.0
* @since 2023/11/15 1:22
*/
-public class CacheUtils {
+public class CacheBarriers {
- protected CacheUtils() {
+ private CacheBarriers() {
}
+ public static final GenericsListBarrier LONG = GenericsListBarrier.create(Const.NONE_ID);
+
/**
* 创建屏障对象 防止穿透
*
@@ -33,15 +34,14 @@ public class CacheUtils {
return val;
}
-
/**
- * 检测是否需要 创建屏障对象 防止穿透
+ * 检测是否需要添加屏障对象 防止穿透
*
* @param list list
* @param supplier supplier
* @param T
*/
- public static void checkBarrier(List list, Supplier supplier) {
+ public static void checkBarrier(Collection list, Supplier supplier) {
if (list != null && list.isEmpty()) {
// 添加屏障对象
list.add(createBarrier(supplier));
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/barrier/GenericsListBarrier.java b/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/barrier/GenericsListBarrier.java
new file mode 100644
index 00000000..ba6470e4
--- /dev/null
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-redis/src/main/java/com/orion/ops/framework/redis/core/utils/barrier/GenericsListBarrier.java
@@ -0,0 +1,57 @@
+package com.orion.ops.framework.redis.core.utils.barrier;
+
+import com.orion.lang.utils.collect.Lists;
+
+import java.util.Collection;
+
+/**
+ * 标准集合屏障
+ *
+ * @author Jiahang Li
+ * @version 1.0.0
+ * @since 2023/11/21 11:46
+ */
+public class GenericsListBarrier {
+
+ private final T barrierValue;
+
+ public GenericsListBarrier(T barrierValue) {
+ this.barrierValue = barrierValue;
+ }
+
+ /**
+ * 创建屏障
+ *
+ * @param barrierValue barrierValue
+ * @param T
+ * @return barrier
+ */
+ public static GenericsListBarrier create(T barrierValue) {
+ return new GenericsListBarrier<>(barrierValue);
+ }
+
+
+ /**
+ * 检测是否需要添加屏障对象 防止穿透
+ *
+ * @param list list
+ */
+ public void check(Collection list) {
+ if (list != null && list.isEmpty()) {
+ // 添加屏障对象
+ list.add(barrierValue);
+ }
+ }
+
+ /**
+ * 移除屏障对象
+ *
+ * @param list list
+ */
+ public void remove(Collection list) {
+ if (!Lists.isEmpty(list)) {
+ list.removeIf(s -> s.equals(barrierValue));
+ }
+ }
+
+}
diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/controller/HostController.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/controller/HostController.java
index 0f1207e3..13778313 100644
--- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/controller/HostController.java
+++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/controller/HostController.java
@@ -45,8 +45,6 @@ public class HostController {
@Resource
private HostConfigService hostConfigService;
- // fixme host_config 设置为缓存
-
@OperatorLog(HostOperatorType.CREATE)
@PostMapping("/create")
@Operation(summary = "创建主机")
diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/HostIdentityServiceImpl.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/HostIdentityServiceImpl.java
index 134263ef..2b139c4d 100644
--- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/HostIdentityServiceImpl.java
+++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/HostIdentityServiceImpl.java
@@ -6,12 +6,12 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.orion.lang.define.wrapper.DataGrid;
import com.orion.lang.utils.Strings;
-import com.orion.lang.utils.collect.Lists;
import com.orion.ops.framework.biz.operator.log.core.uitls.OperatorLogs;
import com.orion.ops.framework.common.constant.ErrorMessage;
import com.orion.ops.framework.common.security.PasswordModifier;
import com.orion.ops.framework.common.utils.Valid;
import com.orion.ops.framework.redis.core.utils.RedisMaps;
+import com.orion.ops.framework.redis.core.utils.barrier.CacheBarriers;
import com.orion.ops.module.asset.convert.HostIdentityConvert;
import com.orion.ops.module.asset.dao.HostConfigDAO;
import com.orion.ops.module.asset.dao.HostIdentityDAO;
@@ -118,13 +118,12 @@ public class HostIdentityServiceImpl implements HostIdentityService {
// 查询数据库
list = hostIdentityDAO.of().list(HostIdentityConvert.MAPPER::toCache);
// 设置屏障 防止穿透
- RedisMaps.checkBarrier(list, HostIdentityCacheDTO::new);
+ CacheBarriers.checkBarrier(list, HostIdentityCacheDTO::new);
// 设置缓存
- RedisMaps.putAllJson(HostCacheKeyDefine.HOST_IDENTITY.getKey(), s -> s.getId().toString(), list);
- RedisMaps.setExpire(HostCacheKeyDefine.HOST_IDENTITY);
+ RedisMaps.putAllJson(HostCacheKeyDefine.HOST_IDENTITY, s -> s.getId().toString(), list);
}
// 删除屏障
- RedisMaps.removeBarrier(list);
+ CacheBarriers.removeBarrier(list);
// 转换
return list.stream()
.map(HostIdentityConvert.MAPPER::to)
diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/HostKeyServiceImpl.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/HostKeyServiceImpl.java
index 9cd41145..2f4b3c80 100644
--- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/HostKeyServiceImpl.java
+++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/HostKeyServiceImpl.java
@@ -4,13 +4,13 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.orion.lang.define.wrapper.DataGrid;
import com.orion.lang.utils.Strings;
-import com.orion.lang.utils.collect.Lists;
import com.orion.ops.framework.biz.operator.log.core.uitls.OperatorLogs;
import com.orion.ops.framework.common.constant.ErrorMessage;
import com.orion.ops.framework.common.security.PasswordModifier;
import com.orion.ops.framework.common.utils.CryptoUtils;
import com.orion.ops.framework.common.utils.Valid;
import com.orion.ops.framework.redis.core.utils.RedisMaps;
+import com.orion.ops.framework.redis.core.utils.barrier.CacheBarriers;
import com.orion.ops.module.asset.convert.HostKeyConvert;
import com.orion.ops.module.asset.dao.HostConfigDAO;
import com.orion.ops.module.asset.dao.HostIdentityDAO;
@@ -132,13 +132,12 @@ public class HostKeyServiceImpl implements HostKeyService {
// 查询数据库
list = hostKeyDAO.of().list(HostKeyConvert.MAPPER::toCache);
// 设置屏障 防止穿透
- RedisMaps.checkBarrier(list, HostKeyCacheDTO::new);
+ CacheBarriers.checkBarrier(list, HostKeyCacheDTO::new);
// 设置缓存
- RedisMaps.putAllJson(HostCacheKeyDefine.HOST_KEY.getKey(), s -> s.getId().toString(), list);
- RedisMaps.setExpire(HostCacheKeyDefine.HOST_KEY);
+ RedisMaps.putAllJson(HostCacheKeyDefine.HOST_KEY, s -> s.getId().toString(), list);
}
// 删除屏障
- RedisMaps.removeBarrier(list);
+ CacheBarriers.removeBarrier(list);
// 转换
return list.stream()
.map(HostKeyConvert.MAPPER::to)
diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/HostServiceImpl.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/HostServiceImpl.java
index 7066a76a..03ff9f03 100644
--- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/HostServiceImpl.java
+++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/HostServiceImpl.java
@@ -10,6 +10,7 @@ import com.orion.ops.framework.biz.operator.log.core.uitls.OperatorLogs;
import com.orion.ops.framework.common.constant.ErrorMessage;
import com.orion.ops.framework.common.utils.Valid;
import com.orion.ops.framework.redis.core.utils.RedisMaps;
+import com.orion.ops.framework.redis.core.utils.barrier.CacheBarriers;
import com.orion.ops.module.asset.convert.HostConvert;
import com.orion.ops.module.asset.dao.HostConfigDAO;
import com.orion.ops.module.asset.dao.HostDAO;
@@ -155,13 +156,12 @@ public class HostServiceImpl implements HostService {
// 查询数据库
list = hostDAO.of().list(HostConvert.MAPPER::toCache);
// 设置屏障 防止穿透
- RedisMaps.checkBarrier(list, HostCacheDTO::new);
+ CacheBarriers.checkBarrier(list, HostCacheDTO::new);
// 设置缓存
- RedisMaps.putAllJson(HostCacheKeyDefine.HOST_INFO.getKey(), s -> s.getId().toString(), list);
- RedisMaps.setExpire(HostCacheKeyDefine.HOST_INFO);
+ RedisMaps.putAllJson(HostCacheKeyDefine.HOST_INFO, s -> s.getId().toString(), list);
}
// 删除屏障
- RedisMaps.removeBarrier(list);
+ CacheBarriers.removeBarrier(list);
// 转换
return list.stream()
.map(HostConvert.MAPPER::to)
diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/model/AppPreferenceModel.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/model/AppPreferenceModel.java
index e2fb270e..22037f9f 100644
--- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/model/AppPreferenceModel.java
+++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/model/AppPreferenceModel.java
@@ -40,13 +40,4 @@ public class AppPreferenceModel implements PreferenceModel {
@Schema(description = "菜单宽度")
private Number menuWidth;
- @Schema(description = "主机视图")
- private String hostView;
-
- @Schema(description = "主机秘钥视图")
- private String hostKeyView;
-
- @Schema(description = "主机身份视图")
- private String hostIdentityView;
-
}
diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/strategy/SystemPreferenceStrategy.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/strategy/SystemPreferenceStrategy.java
index 37445e76..db687d58 100644
--- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/strategy/SystemPreferenceStrategy.java
+++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/strategy/SystemPreferenceStrategy.java
@@ -13,10 +13,6 @@ import org.springframework.stereotype.Component;
@Component
public class SystemPreferenceStrategy implements IPreferenceStrategy {
- private static final String TABLE = "table";
-
- private static final String CARD = "card";
-
@Override
public AppPreferenceModel getDefault() {
return AppPreferenceModel.builder()
@@ -27,9 +23,6 @@ public class SystemPreferenceStrategy implements IPreferenceStrategy rows = this.getDataGroupListByCache(type);
// 设置屏障 防止穿透
- RedisStrings.checkBarrier(rows, DataGroupCacheDTO::new);
+ CacheBarriers.checkBarrier(rows, DataGroupCacheDTO::new);
if (!Lists.isEmpty(rows)) {
// 构建树
DataGroupCacheDTO rootNode = DataGroupCacheDTO.builder()
@@ -191,7 +192,7 @@ public class DataGroupServiceImpl implements DataGroupService {
RedisStrings.setJson(key, DataGroupCacheKeyDefine.DATA_GROUP_LIST, treeData);
}
// 删除屏障
- RedisStrings.removeBarrier(treeData);
+ CacheBarriers.removeBarrier(treeData);
return treeData;
}
diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/DictKeyServiceImpl.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/DictKeyServiceImpl.java
index 04453f06..2954b455 100644
--- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/DictKeyServiceImpl.java
+++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/DictKeyServiceImpl.java
@@ -15,6 +15,7 @@ import com.orion.ops.framework.common.utils.Valid;
import com.orion.ops.framework.redis.core.utils.RedisMaps;
import com.orion.ops.framework.redis.core.utils.RedisStrings;
import com.orion.ops.framework.redis.core.utils.RedisUtils;
+import com.orion.ops.framework.redis.core.utils.barrier.CacheBarriers;
import com.orion.ops.module.infra.convert.DictKeyConvert;
import com.orion.ops.module.infra.dao.DictKeyDAO;
import com.orion.ops.module.infra.define.cache.DictCacheKeyDefine;
@@ -107,13 +108,12 @@ public class DictKeyServiceImpl implements DictKeyService {
// 查询数据库
list = dictKeyDAO.of().list(DictKeyConvert.MAPPER::toCache);
// 设置屏障 防止穿透
- RedisMaps.checkBarrier(list, DictKeyCacheDTO::new);
+ CacheBarriers.checkBarrier(list, DictKeyCacheDTO::new);
// 设置缓存
- RedisMaps.putAllJson(DictCacheKeyDefine.DICT_KEY.getKey(), s -> s.getId().toString(), list);
- RedisMaps.setExpire(DictCacheKeyDefine.DICT_KEY);
+ RedisMaps.putAllJson(DictCacheKeyDefine.DICT_KEY, s -> s.getId().toString(), list);
}
// 删除屏障
- RedisMaps.removeBarrier(list);
+ CacheBarriers.removeBarrier(list);
// 转换
return list.stream()
.map(DictKeyConvert.MAPPER::to)
diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/FavoriteServiceImpl.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/FavoriteServiceImpl.java
index a4dc2fee..a24f1f86 100644
--- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/FavoriteServiceImpl.java
+++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/FavoriteServiceImpl.java
@@ -2,9 +2,9 @@ package com.orion.ops.module.infra.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.orion.lang.utils.collect.Lists;
-import com.orion.ops.framework.common.constant.Const;
import com.orion.ops.framework.common.utils.Valid;
import com.orion.ops.framework.redis.core.utils.RedisLists;
+import com.orion.ops.framework.redis.core.utils.barrier.CacheBarriers;
import com.orion.ops.framework.security.core.utils.SecurityUtils;
import com.orion.ops.module.infra.convert.FavoriteConvert;
import com.orion.ops.module.infra.dao.FavoriteDAO;
@@ -86,26 +86,24 @@ public class FavoriteServiceImpl implements FavoriteService {
Long userId = request.getUserId();
String cacheKey = FavoriteCacheKeyDefine.FAVORITE.format(type, userId);
// 获取缓存
- List cacheRelIdList = RedisLists.range(cacheKey, Long::valueOf);
- if (cacheRelIdList.isEmpty()) {
+ List list = RedisLists.range(cacheKey, Long::valueOf);
+ if (list.isEmpty()) {
// 条件
LambdaQueryWrapper wrapper = this.buildQueryWrapper(request);
// 查询数据库
- cacheRelIdList = favoriteDAO.of(wrapper)
+ list = favoriteDAO.of(wrapper)
.stream()
.map(FavoriteDO::getRelId)
.distinct()
.collect(Collectors.toList());
- // 添加默认值 防止穿透
- if (cacheRelIdList.isEmpty()) {
- cacheRelIdList.add(Const.NONE_ID);
- }
+ // 设置屏障 防止穿透
+ CacheBarriers.LONG.check(list);
// 设置缓存
- RedisLists.pushAll(cacheKey, FavoriteCacheKeyDefine.FAVORITE, cacheRelIdList, String::valueOf);
+ RedisLists.pushAll(cacheKey, FavoriteCacheKeyDefine.FAVORITE, list, String::valueOf);
}
- // 删除默认值
- cacheRelIdList.remove(Const.NONE_ID);
- return cacheRelIdList;
+ // 删除屏障
+ CacheBarriers.LONG.remove(list);
+ return list;
}
@Override
diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/SystemUserServiceImpl.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/SystemUserServiceImpl.java
index b27081c8..bd95f4c8 100644
--- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/SystemUserServiceImpl.java
+++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/SystemUserServiceImpl.java
@@ -14,6 +14,7 @@ import com.orion.ops.framework.common.utils.Valid;
import com.orion.ops.framework.redis.core.utils.RedisMaps;
import com.orion.ops.framework.redis.core.utils.RedisStrings;
import com.orion.ops.framework.redis.core.utils.RedisUtils;
+import com.orion.ops.framework.redis.core.utils.barrier.CacheBarriers;
import com.orion.ops.framework.security.core.utils.SecurityUtils;
import com.orion.ops.module.infra.convert.SystemUserConvert;
import com.orion.ops.module.infra.dao.OperatorLogDAO;
@@ -164,13 +165,12 @@ public class SystemUserServiceImpl implements SystemUserService {
// 查询数据库
list = systemUserDAO.of().list(SystemUserConvert.MAPPER::toUserInfo);
// 设置屏障 防止穿透
- RedisMaps.checkBarrier(list, UserInfoDTO::new);
+ CacheBarriers.checkBarrier(list, UserInfoDTO::new);
// 设置缓存
- RedisMaps.putAllJson(UserCacheKeyDefine.USER_LIST.getKey(), s -> s.getId().toString(), list);
- RedisMaps.setExpire(UserCacheKeyDefine.USER_LIST);
+ RedisMaps.putAllJson(UserCacheKeyDefine.USER_LIST, s -> s.getId().toString(), list);
}
// 删除屏障
- RedisMaps.removeBarrier(list);
+ CacheBarriers.removeBarrier(list);
// 转换
return list.stream()
.map(SystemUserConvert.MAPPER::to)
diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/TagServiceImpl.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/TagServiceImpl.java
index 68e90984..8f52e2fe 100644
--- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/TagServiceImpl.java
+++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/TagServiceImpl.java
@@ -2,10 +2,10 @@ package com.orion.ops.module.infra.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.orion.lang.utils.collect.Lists;
import com.orion.ops.framework.common.constant.Const;
import com.orion.ops.framework.mybatis.core.query.Conditions;
import com.orion.ops.framework.redis.core.utils.RedisLists;
+import com.orion.ops.framework.redis.core.utils.barrier.CacheBarriers;
import com.orion.ops.module.infra.convert.TagConvert;
import com.orion.ops.module.infra.dao.TagDAO;
import com.orion.ops.module.infra.define.cache.TagCacheKeyDefine;
@@ -69,13 +69,12 @@ public class TagServiceImpl implements TagService {
LambdaQueryWrapper wrapper = Conditions.eq(TagDO::getType, type);
list = tagDAO.of(wrapper).list(TagConvert.MAPPER::toCache);
// 设置屏障 防止穿透
- RedisLists.checkBarrier(list, TagCacheDTO::new);
+ CacheBarriers.checkBarrier(list, TagCacheDTO::new);
// 设置到缓存
- RedisLists.pushAllJson(cacheKey, list);
- RedisLists.setExpire(cacheKey, TagCacheKeyDefine.TAG_NAME);
+ RedisLists.pushAllJson(cacheKey, TagCacheKeyDefine.TAG_NAME, list);
}
// 删除屏障
- RedisLists.removeBarrier(list);
+ CacheBarriers.removeBarrier(list);
// 转换
return list.stream()
.map(TagConvert.MAPPER::to)
diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/TipsServiceImpl.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/TipsServiceImpl.java
index 30d6aacc..ee6d1df1 100644
--- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/TipsServiceImpl.java
+++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/TipsServiceImpl.java
@@ -23,8 +23,7 @@ public class TipsServiceImpl implements TipsService {
public void tipped(String tippedKey) {
Long userId = SecurityUtils.getLoginUserId();
String key = TipsCacheKeyDefine.TIPS.format(userId);
- RedisLists.push(key, tippedKey);
- RedisLists.setExpire(key, TipsCacheKeyDefine.TIPS);
+ RedisLists.push(key, TipsCacheKeyDefine.TIPS, tippedKey);
}
@Override