From ee99f545ae6148fb845980421e0df85c693110ff Mon Sep 17 00:00:00 2001 From: JackyTang Date: Fri, 16 Dec 2022 00:05:10 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=92=8C=E5=8F=82=E6=95=B0=E9=94=AE=E5=90=8D?= =?UTF-8?q?=E5=94=AF=E4=B8=80=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SysConfigServiceImpl.java | 42 +++++++++++-------- 1 file changed, 24 insertions(+), 18 deletions(-) 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 31f4c1dc3..e950c658c 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 @@ -39,13 +39,7 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService { @Override public TableDataInfo selectPageConfigList(SysConfig config, PageQuery pageQuery) { - Map params = config.getParams(); - LambdaQueryWrapper lqw = new LambdaQueryWrapper() - .like(StringUtils.isNotBlank(config.getConfigName()), SysConfig::getConfigName, config.getConfigName()) - .eq(StringUtils.isNotBlank(config.getConfigType()), SysConfig::getConfigType, config.getConfigType()) - .like(StringUtils.isNotBlank(config.getConfigKey()), SysConfig::getConfigKey, config.getConfigKey()) - .between(params.get("beginTime") != null && params.get("endTime") != null, - SysConfig::getCreateTime, params.get("beginTime"), params.get("endTime")); + LambdaQueryWrapper lqw = buildQueryWrapper(config); Page page = baseMapper.selectPage(pageQuery.build(), lqw); return TableDataInfo.build(page); } @@ -101,13 +95,7 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService { */ @Override public List selectConfigList(SysConfig config) { - Map params = config.getParams(); - LambdaQueryWrapper lqw = new LambdaQueryWrapper() - .like(StringUtils.isNotBlank(config.getConfigName()), SysConfig::getConfigName, config.getConfigName()) - .eq(StringUtils.isNotBlank(config.getConfigType()), SysConfig::getConfigType, config.getConfigType()) - .like(StringUtils.isNotBlank(config.getConfigKey()), SysConfig::getConfigKey, config.getConfigKey()) - .between(params.get("beginTime") != null && params.get("endTime") != null, - SysConfig::getCreateTime, params.get("beginTime"), params.get("endTime")); + LambdaQueryWrapper lqw = buildQueryWrapper(config); return baseMapper.selectList(lqw); } @@ -140,7 +128,7 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService { if (!StringUtils.equals(temp.getConfigKey(), config.getConfigKey())) { CacheUtils.evict(CacheNames.SYS_CONFIG, temp.getConfigKey()); } - int row = 0; + int row; if (config.getConfigId() != null) { row = baseMapper.updateById(config); } else { @@ -205,11 +193,16 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService { */ @Override public String checkConfigKeyUnique(SysConfig config) { - Long configId = ObjectUtil.isNull(config.getConfigId()) ? -1L : config.getConfigId(); - SysConfig info = baseMapper.selectOne(new LambdaQueryWrapper().eq(SysConfig::getConfigKey, config.getConfigKey())); - if (ObjectUtil.isNotNull(info) && info.getConfigId().longValue() != configId.longValue()) { + boolean exists = baseMapper.exists( + new LambdaQueryWrapper() + .eq(SysConfig::getConfigKey, config.getConfigKey()) + .ne(ObjectUtil.isNotNull(config.getConfigId()), SysConfig::getConfigId, config.getConfigId()) + ); + + if (exists) { return UserConstants.NOT_UNIQUE; } + return UserConstants.UNIQUE; } @@ -224,4 +217,17 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService { return SpringUtils.getAopProxy(this).selectConfigByKey(configKey); } + private LambdaQueryWrapper buildQueryWrapper(SysConfig config) { + Map params = config.getParams(); + Object beginTime = params.get("beginTime"); + Object endTime = params.get("endTime"); + + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(StringUtils.isNotBlank(config.getConfigType()), SysConfig::getConfigType, config.getConfigType()); + lqw.like(StringUtils.isNotBlank(config.getConfigName()), SysConfig::getConfigName, config.getConfigName()); + lqw.like(StringUtils.isNotBlank(config.getConfigKey()), SysConfig::getConfigKey, config.getConfigKey()); + lqw.between(beginTime != null && endTime != null, SysConfig::getCreateTime, beginTime, endTime); + return lqw; + } + }