diff --git a/README.md b/README.md index 62eb60cd..76340cff 100644 --- a/README.md +++ b/README.md @@ -105,4 +105,4 @@ 项目的发展离不开你的支持,请作者喝杯咖啡吧☕ [Donate](https://eladmin.vip/donation/) #### 反馈交流 -- QQ交流群:一群:891137268 、二群:947578238、三群:659622532 \ No newline at end of file +- QQ交流群:一群:891137268 、二群:947578238、三群:659622532 diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/CacheKey.java b/eladmin-common/src/main/java/me/zhengjie/utils/CacheKey.java index 7485713f..73acc25a 100644 --- a/eladmin-common/src/main/java/me/zhengjie/utils/CacheKey.java +++ b/eladmin-common/src/main/java/me/zhengjie/utils/CacheKey.java @@ -16,6 +16,10 @@ package me.zhengjie.utils; /** + * 实际上缓存中的记录的Key为 PROJECT + xxx_KEY + :: + ID|NAME + : + 数据 + *

+ * 即最终保存的key为 baiKe-user-id-1 + * * @author: liaojinlong * @date: 2020/6/11 15:49 * @apiNote: 关于缓存的Key集合 @@ -23,36 +27,97 @@ package me.zhengjie.utils; public interface CacheKey { /** - * 用户 + * 项目名称 */ - String USER_ID = "user::id:"; + String PROJECT = "baiKe-"; /** - * 数据 + * 用户部分 */ - String DATA_USER = "data::user:"; + String USER_KEY = "user"; /** - * 菜单 + * 目录部分 */ - String MENU_ID = "menu::id:"; - String MENU_USER = "menu::user:"; + String MENU_KEY = "menu"; /** - * 角色授权 + * 角色部分 */ - String ROLE_AUTH = "role::auth:"; + String ROLE_KEY = "role"; /** - * 角色信息 + * 部门部分 */ - String ROLE_ID = "role::id:"; - /** - * 部门 - */ - String DEPT_ID = "dept::id:"; + String DEPT_KEY = "dept"; /** * 岗位 */ - String JOB_ID = "job::id:"; + String JOB_KEY = "job"; + /** + * 数据部分 + */ + String DATA_KEY = "data"; + /** + * 鉴权部分 + */ + String AUTH_KEY = "auth"; /** * 数据字典 */ - String DICT_NAME = "dict::name:"; + String DICT_KEY = "dict"; + /** + * 支付宝 + */ + String ALI_PAY = "aliPay"; + /** + * 邮箱 + */ + String EMAIL = "email"; + /** + * 七牛云 + */ + String QI_NIU = "qiNiu"; + /** + * 通用ID部分 + */ + String ID = "id"; + /** + * 通用名称部分 + */ + String NAME = "name"; + /** + * 配置 + */ + String CONFIG = "config"; + + /** + * 依据传入的 key 拼接为 PROJECT + xx_KEY + * 例如 baiKe-user + * + * @param key xx_KEY + * @return / + */ + static String projectAndKey(String key) { + return String.format( + "%1$s%2$s", + PROJECT, + key + ); + } + + /** + * 一般用于手动操作Redis时,拼接存入的Key + *

+ * 依据传入的 key 和 target 拼接为 PROJECT + xx_KEY + target:: + *

+ * 例如 返回 baiKe-user::id:,后面自行拼接区分的标识,例如ID值 + * + * @param key xx_KEY + * @param target target + * @return PROJECT-key::target: + */ + static String keyAndTarget(String key, String target) { + return String.format( + "%1$s::%2$s:", + projectAndKey(key), + target + ); + } } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginProperties.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginProperties.java index 164c0073..a2b1886f 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginProperties.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginProperties.java @@ -19,6 +19,7 @@ import com.wf.captcha.*; import com.wf.captcha.base.Captcha; import lombok.Data; import me.zhengjie.exception.BadConfigurationException; +import me.zhengjie.utils.CacheKey; import me.zhengjie.utils.StringUtils; import java.awt.*; import java.util.Objects; @@ -39,7 +40,7 @@ public class LoginProperties { private LoginCode loginCode; - public static final String cacheKey = "USER-LOGIN-DATA"; + public static final String cacheKey = CacheKey.PROJECT + "USER-LOGIN-DATA"; public boolean isSingleLogin() { return singleLogin; diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/SecurityProperties.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/SecurityProperties.java index 16ec3cf0..e051d0af 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/SecurityProperties.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/SecurityProperties.java @@ -16,6 +16,7 @@ package me.zhengjie.modules.security.config.bean; import lombok.Data; +import me.zhengjie.utils.CacheKey; /** * Jwt参数配置 @@ -66,6 +67,14 @@ public class SecurityProperties { */ private Long renew; + public void setOnlineKey(String onlineKey) { + this.onlineKey = CacheKey.PROJECT + onlineKey; + } + + public void setCodeKey(String codeKey) { + this.codeKey = CacheKey.PROJECT + codeKey; + } + public String getTokenStartWith() { return tokenStartWith + " "; } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DataServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DataServiceImpl.java index cd9cfd43..ff0416d7 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DataServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DataServiceImpl.java @@ -22,6 +22,7 @@ import me.zhengjie.modules.system.service.DeptService; import me.zhengjie.modules.system.service.RoleService; import me.zhengjie.modules.system.service.dto.RoleSmallDto; import me.zhengjie.modules.system.service.dto.UserDto; +import me.zhengjie.utils.CacheKey; import me.zhengjie.utils.enums.DataScopeEnum; import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.Cacheable; @@ -36,7 +37,7 @@ import java.util.*; **/ @Service @RequiredArgsConstructor -@CacheConfig(cacheNames = "data") +@CacheConfig(cacheNames = CacheKey.PROJECT + CacheKey.DATA_KEY) public class DataServiceImpl implements DataService { private final RoleService roleService; @@ -48,7 +49,7 @@ public class DataServiceImpl implements DataService { * @return / */ @Override - @Cacheable(key = "'user:' + #p0.id") + @Cacheable(key = "'" + CacheKey.USER_KEY + ":' + #user.id") public List getDeptIds(UserDto user) { // 用于存储部门id Set deptIds = new HashSet<>(); diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DeptServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DeptServiceImpl.java index a02bd699..31bd8153 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DeptServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DeptServiceImpl.java @@ -47,7 +47,7 @@ import java.util.stream.Collectors; */ @Service @RequiredArgsConstructor -@CacheConfig(cacheNames = "dept") +@CacheConfig(cacheNames = CacheKey.PROJECT + CacheKey.DEPT_KEY) public class DeptServiceImpl implements DeptService { private final DeptRepository deptRepository; @@ -88,7 +88,7 @@ public class DeptServiceImpl implements DeptService { } @Override - @Cacheable(key = "'id:' + #p0") + @Cacheable(key = "'" + CacheKey.ID + ":' + #id") public DeptDto findById(Long id) { Dept dept = deptRepository.findById(id).orElseGet(Dept::new); ValidationUtil.isNull(dept.getId(),"Dept","id",id); @@ -277,7 +277,10 @@ public class DeptServiceImpl implements DeptService { public void delCaches(Long id){ List users = userRepository.findByRoleDeptId(id); // 删除数据权限 - redisUtils.delByKeys(CacheKey.DATA_USER, users.stream().map(User::getId).collect(Collectors.toSet())); - redisUtils.del(CacheKey.DEPT_ID + id); + redisUtils.delByKeys( + CacheKey.keyAndTarget(CacheKey.DATA_KEY, CacheKey.USER_KEY), + users.stream().map(User::getId).collect(Collectors.toSet()) + ); + redisUtils.del(CacheKey.keyAndTarget(CacheKey.DEPT_KEY, CacheKey.ID) + id); } } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java index 3f5fc742..9fb0801d 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java @@ -40,7 +40,7 @@ import java.util.Map; */ @Service @RequiredArgsConstructor -@CacheConfig(cacheNames = "dict") +@CacheConfig(cacheNames = CacheKey.PROJECT + CacheKey.DICT_KEY) public class DictDetailServiceImpl implements DictDetailService { private final DictRepository dictRepository; @@ -74,7 +74,7 @@ public class DictDetailServiceImpl implements DictDetailService { } @Override - @Cacheable(key = "'name:' + #p0") + @Cacheable(key = "'" + CacheKey.NAME + ":' + #name") public List getDictByName(String name) { return dictDetailMapper.toDto(dictDetailRepository.findByDictName(name)); } @@ -90,6 +90,6 @@ public class DictDetailServiceImpl implements DictDetailService { public void delCaches(DictDetail dictDetail){ Dict dict = dictRepository.findById(dictDetail.getDict().getId()).orElseGet(Dict::new); - redisUtils.del(CacheKey.DICT_NAME + dict.getName()); + redisUtils.del(CacheKey.keyAndTarget(CacheKey.DICT_KEY, CacheKey.NAME) + dict.getName()); } -} \ No newline at end of file +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java index 3a2bcd9d..f3fa31b7 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java @@ -40,7 +40,7 @@ import java.util.*; */ @Service @RequiredArgsConstructor -@CacheConfig(cacheNames = "dict") +@CacheConfig(cacheNames = CacheKey.PROJECT + CacheKey.DICT_KEY) public class DictServiceImpl implements DictService { private final DictRepository dictRepository; @@ -116,6 +116,6 @@ public class DictServiceImpl implements DictService { } public void delCaches(Dict dict){ - redisUtils.del(CacheKey.DICT_NAME + dict.getName()); + redisUtils.del(CacheKey.keyAndTarget(CacheKey.DICT_KEY, CacheKey.NAME) + dict.getName()); } -} \ No newline at end of file +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java index f98782ce..5a07204b 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java @@ -43,7 +43,7 @@ import java.util.*; */ @Service @RequiredArgsConstructor -@CacheConfig(cacheNames = "job") +@CacheConfig(cacheNames = CacheKey.PROJECT + CacheKey.JOB_KEY) public class JobServiceImpl implements JobService { private final JobRepository jobRepository; @@ -64,7 +64,7 @@ public class JobServiceImpl implements JobService { } @Override - @Cacheable(key = "'id:' + #p0") + @Cacheable(key = "'" + CacheKey.ID + ":' + #id") public JobDto findById(Long id) { Job job = jobRepository.findById(id).orElseGet(Job::new); ValidationUtil.isNull(job.getId(),"Job","id",id); @@ -82,7 +82,7 @@ public class JobServiceImpl implements JobService { } @Override - @CacheEvict(key = "'id:' + #p0.id") + @CacheEvict(key = "'" + CacheKey.ID + ":' + #resources.id") @Transactional(rollbackFor = Exception.class) public void update(Job resources) { Job job = jobRepository.findById(resources.getId()).orElseGet(Job::new); @@ -100,7 +100,7 @@ public class JobServiceImpl implements JobService { public void delete(Set ids) { jobRepository.deleteAllByIdIn(ids); // 删除缓存 - redisUtils.delByKeys(CacheKey.JOB_ID, ids); + redisUtils.delByKeys(CacheKey.keyAndTarget(CacheKey.JOB_KEY, CacheKey.ID), ids); } @Override @@ -122,4 +122,4 @@ public class JobServiceImpl implements JobService { throw new BadRequestException("所选的岗位中存在用户关联,请解除关联再试!"); } } -} \ No newline at end of file +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MenuServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MenuServiceImpl.java index c1bc4d1f..561b3d0b 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MenuServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MenuServiceImpl.java @@ -50,7 +50,7 @@ import java.util.stream.Collectors; */ @Service @RequiredArgsConstructor -@CacheConfig(cacheNames = "menu") +@CacheConfig(cacheNames = CacheKey.PROJECT + CacheKey.MENU_KEY) public class MenuServiceImpl implements MenuService { private final MenuRepository menuRepository; @@ -82,7 +82,7 @@ public class MenuServiceImpl implements MenuService { } @Override - @Cacheable(key = "'id:' + #p0") + @Cacheable(key = "'" + CacheKey.ID + ":' + #id") public MenuDto findById(long id) { Menu menu = menuRepository.findById(id).orElseGet(Menu::new); ValidationUtil.isNull(menu.getId(),"Menu","id",id); @@ -95,7 +95,7 @@ public class MenuServiceImpl implements MenuService { * @return / */ @Override - @Cacheable(key = "'user:' + #p0") + @Cacheable(key = "'" + CacheKey.USER_KEY + ":' + #currentUserId") public List findByUser(Long currentUserId) { List roles = roleService.findByUsersId(currentUserId); Set roleIds = roles.stream().map(RoleSmallDto::getId).collect(Collectors.toSet()); @@ -344,12 +344,12 @@ public class MenuServiceImpl implements MenuService { */ public void delCaches(Long id){ List users = userRepository.findByMenuId(id); - redisUtils.del(CacheKey.MENU_ID + id); - redisUtils.delByKeys(CacheKey.MENU_USER, users.stream().map(User::getId).collect(Collectors.toSet())); + redisUtils.del(CacheKey.keyAndTarget(CacheKey.MENU_KEY, CacheKey.ID) + id); + redisUtils.delByKeys(CacheKey.keyAndTarget(CacheKey.MENU_KEY, CacheKey.USER_KEY), users.stream().map(User::getId).collect(Collectors.toSet())); // 清除 Role 缓存 List roles = roleService.findInMenuId(new ArrayList(){{ add(id); }}); - redisUtils.delByKeys(CacheKey.ROLE_ID, roles.stream().map(Role::getId).collect(Collectors.toSet())); + redisUtils.delByKeys(CacheKey.keyAndTarget(CacheKey.ROLE_KEY, CacheKey.ID), roles.stream().map(Role::getId).collect(Collectors.toSet())); } } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java index def575ea..4822f21d 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java @@ -52,7 +52,7 @@ import java.util.stream.Collectors; */ @Service @RequiredArgsConstructor -@CacheConfig(cacheNames = "role") +@CacheConfig(cacheNames = CacheKey.PROJECT + CacheKey.ROLE_KEY) public class RoleServiceImpl implements RoleService { private final RoleRepository roleRepository; @@ -80,7 +80,7 @@ public class RoleServiceImpl implements RoleService { } @Override - @Cacheable(key = "'id:' + #p0") + @Cacheable(key = "'" + CacheKey.ID + ":' + #id") @Transactional(rollbackFor = Exception.class) public RoleDto findById(long id) { Role role = roleRepository.findById(id).orElseGet(Role::new); @@ -163,7 +163,7 @@ public class RoleServiceImpl implements RoleService { } @Override - @Cacheable(key = "'auth:' + #p0.id") + @Cacheable(key = "'" + CacheKey.AUTH_KEY + ":' + #user.id") public List mapToGrantedAuthorities(UserDto user) { Set permissions = new HashSet<>(); // 如果是管理员直接返回 @@ -215,10 +215,10 @@ public class RoleServiceImpl implements RoleService { if (CollectionUtil.isNotEmpty(users)) { users.forEach(item -> userCacheManager.cleanUserCache(item.getUsername())); Set userIds = users.stream().map(User::getId).collect(Collectors.toSet()); - redisUtils.delByKeys(CacheKey.DATA_USER, userIds); - redisUtils.delByKeys(CacheKey.MENU_USER, userIds); - redisUtils.delByKeys(CacheKey.ROLE_AUTH, userIds); + redisUtils.delByKeys(CacheKey.keyAndTarget(CacheKey.DATA_KEY, CacheKey.USER_KEY), userIds); + redisUtils.delByKeys(CacheKey.keyAndTarget(CacheKey.MENU_KEY, CacheKey.USER_KEY), userIds); + redisUtils.delByKeys(CacheKey.keyAndTarget(CacheKey.ROLE_KEY, CacheKey.AUTH_KEY), userIds); } - redisUtils.del(CacheKey.ROLE_ID + id); + redisUtils.del(CacheKey.keyAndTarget(CacheKey.ROLE_KEY, CacheKey.ID) + id); } } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java index 867509d3..66c0ef14 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java @@ -49,7 +49,7 @@ import java.util.stream.Collectors; */ @Service @RequiredArgsConstructor -@CacheConfig(cacheNames = "user") +@CacheConfig(cacheNames = CacheKey.PROJECT + CacheKey.USER_KEY) public class UserServiceImpl implements UserService { private final UserRepository userRepository; @@ -73,7 +73,7 @@ public class UserServiceImpl implements UserService { } @Override - @Cacheable(key = "'id:' + #p0") + @Cacheable(key = "'" + CacheKey.ID + ":' + #id") @Transactional(rollbackFor = Exception.class) public UserDto findById(long id) { User user = userRepository.findById(id).orElseGet(User::new); @@ -115,13 +115,13 @@ public class UserServiceImpl implements UserService { } // 如果用户的角色改变 if (!resources.getRoles().equals(user.getRoles())) { - redisUtils.del(CacheKey.DATA_USER + resources.getId()); - redisUtils.del(CacheKey.MENU_USER + resources.getId()); - redisUtils.del(CacheKey.ROLE_AUTH + resources.getId()); + redisUtils.del(CacheKey.keyAndTarget(CacheKey.DATA_KEY, CacheKey.USER_KEY) + resources.getId()); + redisUtils.del(CacheKey.keyAndTarget(CacheKey.MENU_KEY, CacheKey.USER_KEY) + resources.getId()); + redisUtils.del(CacheKey.keyAndTarget(CacheKey.ROLE_KEY, CacheKey.AUTH_KEY) + resources.getId()); } // 修改部门会影响 数据权限 if (!Objects.equals(resources.getDept(),user.getDept())) { - redisUtils.del(CacheKey.DATA_USER + resources.getId()); + redisUtils.del(CacheKey.keyAndTarget(CacheKey.DATA_KEY, CacheKey.USER_KEY) + resources.getId()); } // 如果用户被禁用,则清除用户登录信息 if(!resources.getEnabled()){ @@ -255,7 +255,7 @@ public class UserServiceImpl implements UserService { * @param id / */ public void delCaches(Long id, String username) { - redisUtils.del(CacheKey.USER_ID + id); + redisUtils.del(CacheKey.keyAndTarget(CacheKey.USER_KEY, CacheKey.ID) + id); flushCache(username); } diff --git a/eladmin-system/src/main/resources/config/application-dev.yml b/eladmin-system/src/main/resources/config/application-dev.yml index c96a9233..d2fbc9f5 100644 --- a/eladmin-system/src/main/resources/config/application-dev.yml +++ b/eladmin-system/src/main/resources/config/application-dev.yml @@ -84,9 +84,9 @@ jwt: # 令牌过期时间 此处单位/毫秒 ,默认4小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html token-validity-in-seconds: 14400000 # 在线用户key - online-key: online-token- + online-key: ONLINE-TOKEN- # 验证码 - code-key: code-key- + code-key: CODE-KEY- # token 续期检查时间范围(默认30分钟,单位毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期 detect: 1800000 # 续期时间范围,默认1小时,单位毫秒 diff --git a/eladmin-system/src/main/resources/config/application-prod.yml b/eladmin-system/src/main/resources/config/application-prod.yml index 03b6e994..b2e7d246 100644 --- a/eladmin-system/src/main/resources/config/application-prod.yml +++ b/eladmin-system/src/main/resources/config/application-prod.yml @@ -86,9 +86,9 @@ jwt: # 令牌过期时间 此处单位/毫秒 ,默认2小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html token-validity-in-seconds: 7200000 # 在线用户key - online-key: online-token- + online-key: ONLINE-TOKEN- # 验证码 - code-key: code-key- + code-key: CODE-KEY- # token 续期检查时间范围(默认30分钟,单位默认毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期 detect: 1800000 # 续期时间范围,默认 1小时,这里单位毫秒 diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java index 0625ba42..c7de8c24 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java @@ -25,6 +25,7 @@ import me.zhengjie.domain.AlipayConfig; import me.zhengjie.exception.BadRequestException; import me.zhengjie.repository.AliPayRepository; import me.zhengjie.service.AliPayService; +import me.zhengjie.utils.CacheKey; import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CachePut; import org.springframework.cache.annotation.Cacheable; @@ -38,20 +39,20 @@ import java.util.Optional; */ @Service @RequiredArgsConstructor -@CacheConfig(cacheNames = "aliPay") +@CacheConfig(cacheNames = CacheKey.PROJECT + CacheKey.ALI_PAY) public class AliPayServiceImpl implements AliPayService { private final AliPayRepository alipayRepository; @Override - @Cacheable(key = "'config'") + @Cacheable(key = CacheKey.CONFIG) public AlipayConfig find() { Optional alipayConfig = alipayRepository.findById(1L); return alipayConfig.orElseGet(AlipayConfig::new); } @Override - @CachePut(key = "'config'") + @CachePut(key = CacheKey.CONFIG) @Transactional(rollbackFor = Exception.class) public AlipayConfig config(AlipayConfig alipayConfig) { alipayConfig.setId(1L); diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java index c98c76ec..48fadb99 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java @@ -23,6 +23,7 @@ import me.zhengjie.domain.vo.EmailVo; import me.zhengjie.exception.BadRequestException; import me.zhengjie.repository.EmailRepository; import me.zhengjie.service.EmailService; +import me.zhengjie.utils.CacheKey; import me.zhengjie.utils.EncryptUtils; import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CachePut; @@ -37,13 +38,13 @@ import java.util.Optional; */ @Service @RequiredArgsConstructor -@CacheConfig(cacheNames = "email") +@CacheConfig(cacheNames = CacheKey.PROJECT + CacheKey.EMAIL) public class EmailServiceImpl implements EmailService { private final EmailRepository emailRepository; @Override - @CachePut(key = "'config'") + @CachePut(key = CacheKey.CONFIG) @Transactional(rollbackFor = Exception.class) public EmailConfig config(EmailConfig emailConfig, EmailConfig old) throws Exception { emailConfig.setId(1L); @@ -55,7 +56,7 @@ public class EmailServiceImpl implements EmailService { } @Override - @Cacheable(key = "'config'") + @Cacheable(key = CacheKey.CONFIG) public EmailConfig find() { Optional emailConfig = emailRepository.findById(1L); return emailConfig.orElseGet(EmailConfig::new); diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java index 942f437e..6e97bf3d 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java @@ -29,14 +29,10 @@ import me.zhengjie.domain.QiniuConfig; import me.zhengjie.domain.QiniuContent; import me.zhengjie.repository.QiniuContentRepository; import me.zhengjie.service.dto.QiniuQueryCriteria; -import me.zhengjie.utils.QiNiuUtil; +import me.zhengjie.utils.*; import me.zhengjie.exception.BadRequestException; import me.zhengjie.repository.QiNiuConfigRepository; import me.zhengjie.service.QiNiuService; -import me.zhengjie.utils.FileUtil; -import me.zhengjie.utils.PageUtil; -import me.zhengjie.utils.QueryHelp; -import me.zhengjie.utils.ValidationUtil; import org.springframework.beans.factory.annotation.Value; import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CachePut; @@ -55,7 +51,7 @@ import java.util.*; */ @Service @RequiredArgsConstructor -@CacheConfig(cacheNames = "qiNiu") +@CacheConfig(cacheNames = CacheKey.PROJECT + CacheKey.QI_NIU) public class QiNiuServiceImpl implements QiNiuService { private final QiNiuConfigRepository qiNiuConfigRepository; @@ -65,14 +61,14 @@ public class QiNiuServiceImpl implements QiNiuService { private Long maxSize; @Override - @Cacheable(key = "'config'") + @Cacheable(key = CacheKey.CONFIG) public QiniuConfig find() { Optional qiniuConfig = qiNiuConfigRepository.findById(1L); return qiniuConfig.orElseGet(QiniuConfig::new); } @Override - @CachePut(key = "'config'") + @CachePut(key = CacheKey.CONFIG) @Transactional(rollbackFor = Exception.class) public QiniuConfig config(QiniuConfig qiniuConfig) { qiniuConfig.setId(1L);