diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/constants/SysConstants.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/constants/SysConstants.java
index 942fbdb9c..1a4aed760 100644
--- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/constants/SysConstants.java
+++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/constants/SysConstants.java
@@ -67,4 +67,9 @@ public interface SysConstants {
*/
String ADMIN_USER_ACCOUNT = "admin";
+ /**
+ * 缓存前缀:组织机构是否包含下级的标识
+ */
+ String SYS_ORG_SUB_FLAG_CACHE_PREFIX = "SYS:ORG:HAVE_SUB_FLAG:";
+
}
diff --git a/kernel-s-system/system-business-hr/pom.xml b/kernel-s-system/system-business-hr/pom.xml
index fcb947c07..bfaf89bdc 100644
--- a/kernel-s-system/system-business-hr/pom.xml
+++ b/kernel-s-system/system-business-hr/pom.xml
@@ -77,6 +77,20 @@
${roses.version}
+
+
+ cn.stylefeng.roses
+ cache-sdk-memory
+ ${roses.version}
+ true
+
+
+ cn.stylefeng.roses
+ cache-sdk-redis
+ ${roses.version}
+ true
+
+
diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/cache/SysOrgSubFlagMemoryCache.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/cache/SysOrgSubFlagMemoryCache.java
new file mode 100644
index 000000000..bdc097844
--- /dev/null
+++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/cache/SysOrgSubFlagMemoryCache.java
@@ -0,0 +1,24 @@
+package cn.stylefeng.roses.kernel.sys.modular.org.cache;
+
+import cn.hutool.cache.impl.TimedCache;
+import cn.stylefeng.roses.kernel.cache.memory.AbstractMemoryCacheOperator;
+import cn.stylefeng.roses.kernel.sys.api.constants.SysConstants;
+
+/**
+ * 组织机构是否包含下级的缓存
+ *
+ * @author fengshuonan
+ * @since 2023/7/14 1:06
+ */
+public class SysOrgSubFlagMemoryCache extends AbstractMemoryCacheOperator {
+
+ public SysOrgSubFlagMemoryCache(TimedCache timedCache) {
+ super(timedCache);
+ }
+
+ @Override
+ public String getCommonKeyPrefix() {
+ return SysConstants.SYS_ORG_SUB_FLAG_CACHE_PREFIX;
+ }
+
+}
\ No newline at end of file
diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/cache/SysOrgSubFlagRedisCache.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/cache/SysOrgSubFlagRedisCache.java
new file mode 100644
index 000000000..e16881223
--- /dev/null
+++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/cache/SysOrgSubFlagRedisCache.java
@@ -0,0 +1,24 @@
+package cn.stylefeng.roses.kernel.sys.modular.org.cache;
+
+import cn.stylefeng.roses.kernel.cache.redis.AbstractRedisCacheOperator;
+import cn.stylefeng.roses.kernel.sys.api.constants.SysConstants;
+import org.springframework.data.redis.core.RedisTemplate;
+
+/**
+ * 组织机构是否包含下级的缓存
+ *
+ * @author fengshuonan
+ * @since 2023/7/14 1:06
+ */
+public class SysOrgSubFlagRedisCache extends AbstractRedisCacheOperator {
+
+ public SysOrgSubFlagRedisCache(RedisTemplate redisTemplate) {
+ super(redisTemplate);
+ }
+
+ @Override
+ public String getCommonKeyPrefix() {
+ return SysConstants.SYS_ORG_SUB_FLAG_CACHE_PREFIX;
+ }
+
+}