From 5d1cd5de75be083eaf7bd3d81fae9b2e23456212 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B7=E5=86=B7?= Date: Wed, 23 Oct 2019 09:50:16 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20Fixing=20a=20bug.=20#613=20=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E6=94=AF=E6=8C=81=E4=B8=8D=E5=8C=BA=E5=88=86=E7=A7=9F?= =?UTF-8?q?=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pigx/common/core/constant/CacheConstants.java | 10 ++++++++-- .../pigx/common/core/constant/CommonConstants.java | 5 ----- .../gateway/filter/ValidateCodeGatewayFilter.java | 4 ++-- .../pigx/gateway/handler/ImageCodeHandler.java | 11 ++++++----- .../pigx/admin/controller/SysTenantController.java | 7 +++++++ .../pigx/admin/service/impl/MobileServiceImpl.java | 6 +++--- 6 files changed, 26 insertions(+), 17 deletions(-) diff --git a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/CacheConstants.java b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/CacheConstants.java index bc7d0fc62..191ef6386 100644 --- a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/CacheConstants.java +++ b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/CacheConstants.java @@ -15,6 +15,12 @@ public interface CacheConstants { */ String GLOBALLY = "gl:"; + /** + * 验证码前缀 + */ + String DEFAULT_CODE_KEY = "DEFAULT_CODE_KEY:"; + + /** * 菜单信息缓存 */ @@ -63,7 +69,7 @@ public interface CacheConstants { String PARAMS_DETAILS = "params_details"; /** - * 租户缓存 + * 租户缓存 (不区分租户) */ - String TENANT_DETAILS = "tenant_details"; + String TENANT_DETAILS = GLOBALLY + "tenant_details"; } diff --git a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/CommonConstants.java b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/CommonConstants.java index 3fd93b3ca..d1847c199 100644 --- a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/CommonConstants.java +++ b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/CommonConstants.java @@ -78,11 +78,6 @@ public interface CommonConstants { */ String BACK_END_PROJECT = "pigx"; - /** - * 验证码前缀 - */ - String DEFAULT_CODE_KEY = "DEFAULT_CODE_KEY_"; - /** * 公共参数 */ diff --git a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/ValidateCodeGatewayFilter.java b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/ValidateCodeGatewayFilter.java index 1adaff2d7..aab51874e 100644 --- a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/ValidateCodeGatewayFilter.java +++ b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/ValidateCodeGatewayFilter.java @@ -20,7 +20,7 @@ package com.pig4cloud.pigx.gateway.filter; import cn.hutool.core.util.StrUtil; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import com.pig4cloud.pigx.common.core.constant.CommonConstants; +import com.pig4cloud.pigx.common.core.constant.CacheConstants; import com.pig4cloud.pigx.common.core.constant.SecurityConstants; import com.pig4cloud.pigx.common.core.constant.enums.LoginTypeEnum; import com.pig4cloud.pigx.common.core.exception.ValidateCodeException; @@ -129,7 +129,7 @@ public class ValidateCodeGatewayFilter extends AbstractGatewayFilterFactory { randomStr = mobile; } - String key = CommonConstants.DEFAULT_CODE_KEY + randomStr; + String key = CacheConstants.DEFAULT_CODE_KEY + randomStr; redisTemplate.setKeySerializer(new StringRedisSerializer()); if (!redisTemplate.hasKey(key)) { diff --git a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/handler/ImageCodeHandler.java b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/handler/ImageCodeHandler.java index c89595403..a14f2ca0e 100644 --- a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/handler/ImageCodeHandler.java +++ b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/handler/ImageCodeHandler.java @@ -18,6 +18,7 @@ package com.pig4cloud.pigx.gateway.handler; import com.google.code.kaptcha.Producer; +import com.pig4cloud.pigx.common.core.constant.CacheConstants; import com.pig4cloud.pigx.common.core.constant.CommonConstants; import com.pig4cloud.pigx.common.core.constant.SecurityConstants; import lombok.AllArgsConstructor; @@ -62,8 +63,8 @@ public class ImageCodeHandler implements HandlerFunction { //保存验证码信息 String randomStr = serverRequest.queryParam("randomStr").get(); redisTemplate.setKeySerializer(new StringRedisSerializer()); - redisTemplate.opsForValue().set(CommonConstants.DEFAULT_CODE_KEY + randomStr, text - , SecurityConstants.CODE_TIME, TimeUnit.SECONDS); + redisTemplate.opsForValue().set(CacheConstants.DEFAULT_CODE_KEY + randomStr, text + , SecurityConstants.CODE_TIME, TimeUnit.SECONDS); // 转换流信息写出 FastByteArrayOutputStream os = new FastByteArrayOutputStream(); @@ -75,8 +76,8 @@ public class ImageCodeHandler implements HandlerFunction { } return ServerResponse - .status(HttpStatus.OK) - .contentType(MediaType.IMAGE_JPEG) - .body(BodyInserters.fromResource(new ByteArrayResource(os.toByteArray()))); + .status(HttpStatus.OK) + .contentType(MediaType.IMAGE_JPEG) + .body(BodyInserters.fromResource(new ByteArrayResource(os.toByteArray()))); } } diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysTenantController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysTenantController.java index d5383a05e..09e6fee62 100755 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysTenantController.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysTenantController.java @@ -21,11 +21,14 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.pig4cloud.pigx.admin.api.entity.SysTenant; import com.pig4cloud.pigx.admin.service.SysTenantService; +import com.pig4cloud.pigx.common.core.constant.CacheConstants; import com.pig4cloud.pigx.common.core.util.R; import com.pig4cloud.pigx.common.log.annotation.SysLog; import com.pig4cloud.pigx.common.security.annotation.Inner; import io.swagger.annotations.Api; import lombok.AllArgsConstructor; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -77,6 +80,7 @@ public class SysTenantController { @SysLog("新增租户") @PostMapping @PreAuthorize("@pms.hasPermission('admin_systenant_add')") + @CacheEvict(value = CacheConstants.TENANT_DETAILS, allEntries = true) public R save(@RequestBody SysTenant sysTenant) { return R.ok(sysTenantService.saveTenant(sysTenant)); } @@ -90,6 +94,7 @@ public class SysTenantController { @SysLog("修改租户") @PutMapping @PreAuthorize("@pms.hasPermission('admin_systenant_edit')") + @CacheEvict(value = CacheConstants.TENANT_DETAILS, allEntries = true) public R updateById(@RequestBody SysTenant sysTenant) { return R.ok(sysTenantService.updateById(sysTenant)); } @@ -103,6 +108,7 @@ public class SysTenantController { @SysLog("删除租户") @DeleteMapping("/{id}") @PreAuthorize("@pms.hasPermission('admin_systenant_del')") + @CacheEvict(value = CacheConstants.TENANT_DETAILS, allEntries = true) public R removeById(@PathVariable Integer id) { return R.ok(sysTenantService.removeById(id)); } @@ -114,6 +120,7 @@ public class SysTenantController { */ @Inner(value = false) @GetMapping("/list") + @Cacheable(value = CacheConstants.TENANT_DETAILS) public R list() { return R.ok(sysTenantService.getNormal()); } diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/MobileServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/MobileServiceImpl.java index d2dd6732c..6abaac157 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/MobileServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/MobileServiceImpl.java @@ -24,7 +24,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.pig4cloud.pigx.admin.api.entity.SysUser; import com.pig4cloud.pigx.admin.mapper.SysUserMapper; import com.pig4cloud.pigx.admin.service.MobileService; -import com.pig4cloud.pigx.common.core.constant.CommonConstants; +import com.pig4cloud.pigx.common.core.constant.CacheConstants; import com.pig4cloud.pigx.common.core.constant.SecurityConstants; import com.pig4cloud.pigx.common.core.constant.enums.LoginTypeEnum; import com.pig4cloud.pigx.common.core.util.R; @@ -68,7 +68,7 @@ public class MobileServiceImpl implements MobileService { return R.ok(Boolean.FALSE, "手机号未注册"); } - Object codeObj = redisTemplate.opsForValue().get(CommonConstants.DEFAULT_CODE_KEY + LoginTypeEnum.SMS.getType() + StringPool.AT + mobile); + Object codeObj = redisTemplate.opsForValue().get(CacheConstants.DEFAULT_CODE_KEY + LoginTypeEnum.SMS.getType() + StringPool.AT + mobile); if (codeObj != null) { log.info("手机号验证码未过期:{},{}", mobile, codeObj); @@ -78,7 +78,7 @@ public class MobileServiceImpl implements MobileService { String code = RandomUtil.randomNumbers(Integer.parseInt(SecurityConstants.CODE_SIZE)); log.debug("手机号生成验证码成功:{},{}", mobile, code); redisTemplate.opsForValue().set( - CommonConstants.DEFAULT_CODE_KEY + LoginTypeEnum.SMS.getType() + StringPool.AT + mobile + CacheConstants.DEFAULT_CODE_KEY + LoginTypeEnum.SMS.getType() + StringPool.AT + mobile , code, SecurityConstants.CODE_TIME, TimeUnit.SECONDS); return R.ok(Boolean.TRUE, code); }