From 0dfbee487a7d53cefa728a50083c036fb8236600 Mon Sep 17 00:00:00 2001
From: administrator <2316696377@qq.com>
Date: Fri, 25 Sep 2020 17:20:58 +0800
Subject: [PATCH] jpa fetch -> load
---
pom.xml | 13 +++++--
ruoyi-admin/pom.xml | 7 +++-
.../main/java/com/ruoyi/RuoYiApplication.java | 3 +-
.../src/main/resources/application.yml | 34 ++++++++++++++++---
.../src/test/java/com/ruoyi/Tesst.java | 8 +++++
ruoyi-common/pom.xml | 14 ++++++++
.../com/ruoyi/common/base/BaseService.java | 8 +++++
.../common/properties/CacheProperties.java | 6 ++++
ruoyi-framework/pom.xml | 2 ++
.../ruoyi/framework/config/CacheConfig.java | 14 +++++---
.../ehcache/MyJCacheRegionFactory.java | 2 +-
.../service/impl/SysJobServiceImpl.java | 1 +
.../java/com/ruoyi/system/domain/SysUser.java | 4 +--
.../system/repository/SysRoleRepository.java | 2 +-
.../system/repository/SysUserRepository.java | 16 ++++-----
.../service/impl/SysConfigServiceImpl.java | 1 +
.../service/impl/SysDictTypeServiceImpl.java | 6 ++++
.../impl/SysLogininforServiceImpl.java | 1 +
.../service/impl/SysNoticeServiceImpl.java | 1 +
.../service/impl/SysOperLogServiceImpl.java | 1 +
.../service/impl/SysPostServiceImpl.java | 4 +++
.../service/impl/SysRoleServiceImpl.java | 4 +++
.../service/impl/SysUserServiceImpl.java | 10 +++++-
23 files changed, 136 insertions(+), 26 deletions(-)
create mode 100644 ruoyi-admin/src/test/java/com/ruoyi/Tesst.java
diff --git a/pom.xml b/pom.xml
index f46d3274a..7a573e8f4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,8 +28,9 @@
1.3.3
3.17
1.7
- 4.2.1
+ 4.4.0
2.3.0.1
+ 5.6.0
@@ -40,7 +41,15 @@
org.springframework.boot
spring-boot-dependencies
- 2.1.1.RELEASE
+ 2.3.4.RELEASE
+ pom
+ import
+
+
+
+ com.google.guava
+ guava-bom
+ 29.0-jre
pom
import
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index e07c2a2c2..ea14eaecd 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -88,7 +88,7 @@
com.fasterxml.jackson.datatype
jackson-datatype-hibernate5
- 2.10.1
+ 2.11.2
@@ -120,6 +120,11 @@
spring-boot-starter-test
test
+
+
+ com.google.guava
+ guava
+
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
index bafa08b4b..51a70a689 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
@@ -3,6 +3,7 @@ package com.ruoyi;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@@ -13,7 +14,7 @@ import org.springframework.context.annotation.Bean;
*
* @author ruoyi
*/
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
+@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, CacheAutoConfiguration.class})
public class RuoYiApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
// System.setProperty("spring.devtools.restart.enabled", "false");
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 4e8f8e60e..fb430e687 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -69,15 +69,30 @@ spring:
use-new-id-generator-mappings: true
show-sql: true
database-platform: org.hibernate.dialect.MySQL55Dialect
- open-in-view: false
properties:
hibernate:
format_sql: false
+ open-in-view: false
cache:
- type: jcache
- jcache:
- provider: org.ehcache.jsr107.EhcacheCachingProvider
+ type: redis
+ redis:
+ use-key-prefix: true
+ cache-null-values: true
+ key-prefix: ${spring.application.name}
+ redis:
+ database: 2
+ host: localhost
+ port: 6379
+ ssl: false
+ timeout: 3000
+ password:
+ lettuce:
+ pool:
+ max-active: 8
+ max-idle: 8
+ min-idle: 2
+ max-wait: -1
# Shiro
shiro:
user:
@@ -127,3 +142,14 @@ xss:
swagger:
# 是否开启swagger
enabled: true
+
+cache:
+ names:
+ sys_dict_type:
+ ttl: PT1M
+ sys_user:
+ ttl: PT1M
+ sys_post:
+ ttl: PT1M
+ sys_role:
+ ttl: PT1M
\ No newline at end of file
diff --git a/ruoyi-admin/src/test/java/com/ruoyi/Tesst.java b/ruoyi-admin/src/test/java/com/ruoyi/Tesst.java
new file mode 100644
index 000000000..2a2e5e2a0
--- /dev/null
+++ b/ruoyi-admin/src/test/java/com/ruoyi/Tesst.java
@@ -0,0 +1,8 @@
+package com.ruoyi;
+
+public class Tesst {
+
+ public static void main(String[] args) {
+ System.out.println(System.getProperty("java.io.tmpdir"));
+ }
+}
diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml
index 5982cf262..356da02d7 100644
--- a/ruoyi-common/pom.xml
+++ b/ruoyi-common/pom.xml
@@ -123,6 +123,20 @@
spring-boot-configuration-processor
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.apache.commons
+ commons-pool2
+
+
+
+ org.springframework.boot
+ spring-boot-starter-cache
+
\ No newline at end of file
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/base/BaseService.java b/ruoyi-common/src/main/java/com/ruoyi/common/base/BaseService.java
index 1d9c75f30..7249e61d1 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/base/BaseService.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/base/BaseService.java
@@ -1,5 +1,8 @@
package com.ruoyi.common.base;
+import com.querydsl.core.types.Constant;
+import com.querydsl.core.types.Expression;
+import com.querydsl.core.types.Predicate;
import com.querydsl.core.types.dsl.*;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.utils.querydsl.ExpressionUtils;
@@ -39,6 +42,11 @@ public class BaseService {
return ExpressionUtils.notStartWith(path, value);
}
+ protected Predicate alwaysTrue(){
+ Constant expression = (Constant) com.querydsl.core.types.ExpressionUtils.toExpression(Boolean.TRUE);
+ return com.querydsl.core.types.ExpressionUtils.eqConst(expression, true);
+ }
+
public static Collection toLongIterable(String str){
return Arrays.stream(Convert.toStrArray(str))
.map(Long::parseLong)
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/properties/CacheProperties.java b/ruoyi-common/src/main/java/com/ruoyi/common/properties/CacheProperties.java
index 7b94cdff9..e7b3c713b 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/properties/CacheProperties.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/properties/CacheProperties.java
@@ -1,6 +1,8 @@
package com.ruoyi.common.properties;
+import lombok.AllArgsConstructor;
import lombok.Data;
+import lombok.NoArgsConstructor;
import lombok.ToString;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@@ -17,8 +19,12 @@ public class CacheProperties {
private Map names = new HashMap<>();
+ private Config defaultConfig = new Config(Duration.ofMinutes(1));
+
@ToString
@Data
+ @AllArgsConstructor
+ @NoArgsConstructor
public static class Config{
private Duration ttl;
}
diff --git a/ruoyi-framework/pom.xml b/ruoyi-framework/pom.xml
index 7dde7a922..7eca4c760 100644
--- a/ruoyi-framework/pom.xml
+++ b/ruoyi-framework/pom.xml
@@ -75,11 +75,13 @@
net.java.dev.jna
jna
+ ${jna.version}
net.java.dev.jna
jna-platform
+ ${jna.version}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/CacheConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/CacheConfig.java
index b02a77b63..f3efb17d1 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/CacheConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/CacheConfig.java
@@ -8,11 +8,12 @@ import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.ruoyi.common.properties.CacheProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import org.springframework.core.Ordered;
+import org.springframework.core.annotation.Order;
import org.springframework.data.redis.cache.RedisCacheConfiguration;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.cache.RedisCacheWriter;
@@ -23,10 +24,9 @@ import org.springframework.data.redis.serializer.RedisSerializationContext;
import java.util.HashMap;
import java.util.Map;
-@ConditionalOnClass(name = "org.springframework.data.redis.connection.RedisConnectionFactory")
@EnableCaching
@Configuration
-@AutoConfigureAfter(CacheProperties.class)
+@Order(Ordered.HIGHEST_PRECEDENCE)
public class CacheConfig {
@Autowired
@@ -43,6 +43,11 @@ public class CacheConfig {
@Bean
public CacheManager cacheManager() {
+ RedisCacheConfiguration defaultConfiguration = RedisCacheConfiguration.defaultCacheConfig()
+ .disableCachingNullValues()
+ .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(genericJackson2JsonRedisSerializer))
+ .entryTtl(cacheProperties.getDefaultConfig().getTtl());
+
Map configurationMap = new HashMap<>();
for(String key : cacheProperties.getNames().keySet()){
configurationMap.put(key, RedisCacheConfiguration.defaultCacheConfig()
@@ -53,6 +58,7 @@ public class CacheConfig {
return RedisCacheManager.builder(factory)
.initialCacheNames(cacheProperties.getNames().keySet())
.withInitialCacheConfigurations(configurationMap)
+ .cacheDefaults(defaultConfiguration)
.build();
}
@@ -66,4 +72,4 @@ public class CacheConfig {
objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY);
return new GenericJackson2JsonRedisSerializer(objectMapper);
}
-}
+}
\ No newline at end of file
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/ehcache/MyJCacheRegionFactory.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/ehcache/MyJCacheRegionFactory.java
index c363b55f5..fb5f850ab 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/ehcache/MyJCacheRegionFactory.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/ehcache/MyJCacheRegionFactory.java
@@ -26,7 +26,7 @@ public class MyJCacheRegionFactory extends JCacheRegionFactory {
final CachingProvider cachingProvider = getCachingProvider( properties );
final CacheManager cacheManager;
- final URI cacheManagerUri = getUri( properties );
+ final URI cacheManagerUri = getUri( settings, properties);
// ***** begin patch ******
URI uri = cacheManagerUri;
URL url = null;
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java
index 4d4e0547b..701ee3644 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java
@@ -66,6 +66,7 @@ public class SysJobServiceImpl extends BaseService implements ISysJobService {
private Predicate getPredicate(SysJob job){
QSysJob qSysJob = QSysJob.sysJob;
List predicates = new ArrayList<>();
+ predicates.add(alwaysTrue());
if(StringUtils.isNotEmpty(job.getJobName())){
predicates.add(buildLike(qSysJob.jobName, job.getJobName()));
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUser.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUser.java
index 0fd1870f7..5eda99acd 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUser.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUser.java
@@ -125,7 +125,7 @@ public class SysUser extends BaseEntity implements Principal {
@Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT),
@Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT)
})
- @ManyToOne
+ @ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "dept_id", referencedColumnName = "deptId")
@ForeignKey(name = "none")
private SysDept dept;
@@ -144,8 +144,6 @@ public class SysUser extends BaseEntity implements Principal {
@org.hibernate.annotations.ForeignKey(name = "none")
private Set posts = new HashSet<>();
-
-
public SysUser() {
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/repository/SysRoleRepository.java b/ruoyi-system/src/main/java/com/ruoyi/system/repository/SysRoleRepository.java
index 06352826d..111fdde17 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/repository/SysRoleRepository.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/repository/SysRoleRepository.java
@@ -21,6 +21,6 @@ public interface SysRoleRepository extends BaseRepository {
@Modifying
void updateStatus(String status, Long roleId);
- @EntityGraph(attributePaths = {"depts", "menus"})
+ @EntityGraph(attributePaths = {"depts", "menus"}, type = EntityGraph.EntityGraphType.LOAD )
SysRole findByRoleId(Long roleId);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/repository/SysUserRepository.java b/ruoyi-system/src/main/java/com/ruoyi/system/repository/SysUserRepository.java
index fbdf3eb54..70007f79d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/repository/SysUserRepository.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/repository/SysUserRepository.java
@@ -13,31 +13,31 @@ import org.springframework.stereotype.Repository;
@Repository
public interface SysUserRepository extends BaseRepository {
- @EntityGraph(attributePaths = {"roles", "posts"})
+ @EntityGraph(attributePaths = {"roles", "posts"}, type= EntityGraph.EntityGraphType.LOAD )
SysUser findFirstByDelFlagAndLoginName(String delFlag, String loginName);
- @EntityGraph(attributePaths = {"roles", "posts"})
- SysUser findFirstByDelFlagAndAndPhonenumber(String delFlag, String phone);
+ @EntityGraph(attributePaths = {"roles", "posts"}, type= EntityGraph.EntityGraphType.LOAD)
+ SysUser findFirstByDelFlagAndPhonenumber(String delFlag, String phone);
- @EntityGraph(attributePaths = {"roles", "posts"})
+ @EntityGraph(attributePaths = {"roles", "posts"}, type= EntityGraph.EntityGraphType.LOAD)
SysUser findFirstByDelFlagAndEmail(String delFlag, String email);
int countByDelFlagAndDept(String delFlag, SysDept dept);
int countByDelFlagAndPostsContaining(String delFlag, SysPost sysPost);
- @EntityGraph(attributePaths = {"roles", "posts"})
+ @EntityGraph(attributePaths = {"roles", "posts"}, type= EntityGraph.EntityGraphType.LOAD)
SysUser findSysUserByDelFlagAndUserId(String delFlag, Long userId);
int countByLoginName(String loginName);
- @EntityGraph(attributePaths = {"roles", "posts"})
+ @EntityGraph(attributePaths = {"roles", "posts"}, type= EntityGraph.EntityGraphType.LOAD)
SysUser findFirstByPhonenumber(String phone);
- @EntityGraph(attributePaths = {"roles", "posts"})
+ @EntityGraph(attributePaths = {"roles", "posts"}, type= EntityGraph.EntityGraphType.LOAD)
SysUser findFirstByEmail(String email);
- @EntityGraph(attributePaths = {"roles", "posts"})
+ @EntityGraph(attributePaths = {"roles", "posts"}, type= EntityGraph.EntityGraphType.LOAD)
SysUser findFirstByLoginName(String loginName);
@Modifying
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
index f44bd3a1b..431436ea0 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
@@ -68,6 +68,7 @@ public class SysConfigServiceImpl extends BaseService implements ISysConfigServi
private Predicate getPredicate(SysConfig config){
QSysConfig qSysConfig = QSysConfig.sysConfig;
List predicates = new ArrayList<>();
+ predicates.add(alwaysTrue());
if(StringUtils.isNotEmpty(config.getConfigName())){
predicates.add(buildLike(qSysConfig.configName, config.getConfigName()));
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
index 7396ef005..39eea9740 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
@@ -13,8 +13,11 @@ import com.ruoyi.system.domain.SysDictType;
import com.ruoyi.system.repository.SysDictDataRepository;
import com.ruoyi.system.repository.SysDictTypeRepository;
import com.ruoyi.system.service.ISysDictTypeService;
+import org.hibernate.query.criteria.internal.predicate.BooleanExpressionPredicate;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
@@ -29,6 +32,7 @@ import java.util.List;
* @author ruoyi
*/
@Service
+@CacheConfig(cacheNames = "sys_dict_type")
public class SysDictTypeServiceImpl extends BaseService implements ISysDictTypeService {
@Autowired
private SysDictTypeRepository sysDictTypeRepository;
@@ -41,6 +45,7 @@ public class SysDictTypeServiceImpl extends BaseService implements ISysDictTypeS
* @param dictType 字典类型信息
* @return 字典类型集合信息
*/
+ @Cacheable
@Override
public Page selectDictTypeList(SysDictType dictType, Pageable pageable) {
return sysDictTypeRepository.findAll(getPredicate(dictType), pageable);
@@ -49,6 +54,7 @@ public class SysDictTypeServiceImpl extends BaseService implements ISysDictTypeS
private Predicate getPredicate(SysDictType sysDictType){
QSysDictType qSysDictType = QSysDictType.sysDictType;
List predicates = new ArrayList<>();
+ predicates.add(alwaysTrue());
if(StringUtils.isNotEmpty(sysDictType.getDictName())){
predicates.add(buildLike(qSysDictType.dictName, sysDictType.getDictName()));
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java
index e37950ffd..a3a200934 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java
@@ -58,6 +58,7 @@ public class SysLogininforServiceImpl extends BaseService implements ISysLoginin
private Predicate getPredicate(SysLogininfor logininfor){
QSysLogininfor qSysLogininfor = QSysLogininfor.sysLogininfor;
List predicates = new ArrayList<>();
+ predicates.add(alwaysTrue());
if(StringUtils.isNotEmpty(logininfor.getIpaddr())){
predicates.add(buildLike(qSysLogininfor.ipaddr, logininfor.getIpaddr()));
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java
index 9b29c78a0..65638b2b0 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java
@@ -55,6 +55,7 @@ public class SysNoticeServiceImpl extends BaseService implements ISysNoticeServi
private Predicate getPredicate(SysNotice sysNotice){
QSysNotice qSysNotice = QSysNotice.sysNotice;
List predicates = new ArrayList<>();
+ predicates.add(alwaysTrue());
if(StringUtils.isNotEmpty(sysNotice.getNoticeTitle())){
predicates.add(buildLike(qSysNotice.noticeTitle, sysNotice.getNoticeTitle()));
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java
index 369695c85..b32b3e830 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java
@@ -56,6 +56,7 @@ public class SysOperLogServiceImpl extends BaseService implements ISysOperLogSer
private Predicate getPredicate(SysOperLog operLog){
QSysOperLog qSysOperLog = QSysOperLog.sysOperLog;
List predicates = new ArrayList<>();
+ predicates.add(alwaysTrue());
if(StringUtils.isNotEmpty(operLog.getTitle())){
predicates.add(buildLike(qSysOperLog.title, operLog.getTitle()));
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
index fcb1c5bbe..395bf7b56 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
@@ -11,6 +11,8 @@ import com.ruoyi.system.repository.SysPostRepository;
import com.ruoyi.system.repository.SysUserRepository;
import com.ruoyi.system.service.ISysPostService;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.CacheConfig;
+import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
@@ -30,6 +32,7 @@ import java.util.List;
* @author ruoyi
*/
@Service
+@CacheConfig(cacheNames = "sys_post")
public class SysPostServiceImpl extends BaseService implements ISysPostService {
@Autowired
@@ -44,6 +47,7 @@ public class SysPostServiceImpl extends BaseService implements ISysPostService {
* @param pageRequest
* @return 岗位信息集合
*/
+ @Cacheable
@Override
public Page selectPostList(SysPost post, Pageable pageRequest) {
return sysPostRepository.findAll(getSpecification(post), pageRequest);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
index 167b9c7cd..9fae148cc 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
@@ -16,6 +16,8 @@ import com.ruoyi.system.repository.SysUserRepository;
import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.base.BusinessService;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.CacheConfig;
+import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
@@ -29,6 +31,7 @@ import java.util.*;
* @author ruoyi
*/
@Service
+@CacheConfig(cacheNames = "sys_role")
public class SysRoleServiceImpl extends BusinessService implements ISysRoleService {
@Autowired
@@ -43,6 +46,7 @@ public class SysRoleServiceImpl extends BusinessService implements ISysRoleServi
* @param user
* @return 角色数据集合信息
*/
+ @Cacheable
@Override
public Page selectRoleList(SysRole role, Pageable pageable, SysUser user) {
return sysRoleRepository.findAll(getPredicate(role, user), pageable);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 6c6af4a34..2db48e38d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -20,6 +20,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.CacheConfig;
+import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
@@ -39,6 +42,7 @@ import java.util.stream.Collectors;
* @author ruoyi
*/
@Service
+@CacheConfig(cacheNames = "sys_user")
public class SysUserServiceImpl extends BaseService implements ISysUserService {
private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class);
@@ -56,6 +60,7 @@ public class SysUserServiceImpl extends BaseService implements ISysUserService {
* @param pageRequest
* @return 用户信息集合信息
*/
+ @Cacheable
@Override
public Page selectUserList(SysUser user, Pageable pageRequest) {
return sysUserRepository.findAll(getPredicate(user), pageRequest);
@@ -169,6 +174,7 @@ public class SysUserServiceImpl extends BaseService implements ISysUserService {
* @param userName 用户名
* @return 用户对象信息
*/
+ @Cacheable
@Override
public SysUser selectUserByLoginName(String userName) {
return sysUserRepository.findFirstByDelFlagAndLoginName(BaseEntity.NOT_DELETED, userName);
@@ -182,7 +188,7 @@ public class SysUserServiceImpl extends BaseService implements ISysUserService {
*/
@Override
public SysUser selectUserByPhoneNumber(String phoneNumber) {
- return sysUserRepository.findFirstByDelFlagAndAndPhonenumber(BaseEntity.NOT_DELETED, phoneNumber);
+ return sysUserRepository.findFirstByDelFlagAndPhonenumber(BaseEntity.NOT_DELETED, phoneNumber);
}
/**
@@ -231,6 +237,7 @@ public class SysUserServiceImpl extends BaseService implements ISysUserService {
* @param ids 需要删除的数据ID
* @return 结果
*/
+ @CacheEvict(allEntries = true)
@Transactional
@Override
public int deleteUserByIds(String ids) throws BusinessException {
@@ -427,6 +434,7 @@ public class SysUserServiceImpl extends BaseService implements ISysUserService {
return depts;
}
+ @Cacheable(key = "#user.userId", unless = "#result == null ")
@Override
public SysUser registerUser(SysUser user) {
user.setUserType(UserConstants.REGISTER_USER_TYPE);