From 39a0abb4c419eab30170914a34e599a297fa88c6 Mon Sep 17 00:00:00 2001 From: fuxinji9527 <1992666531@qq.com> Date: Fri, 24 May 2024 15:42:54 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=8F=AF=E8=83=BD=E5=87=BA?= =?UTF-8?q?=E7=8E=B0=E7=A9=BA=E6=8C=87=E9=92=88=E9=9A=90=E6=82=A3=EF=BC=8C?= =?UTF-8?q?=E6=97=A0=E6=95=88=E8=B0=83=E7=94=A8=E7=AD=89=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/aop/RequestLimitRedisAspect.java | 28 ++++++++--------- .../common/exception/enumvalid/EnumValue.java | 5 ++-- .../easysoftware/common/utils/ClientUtil.java | 3 +- .../easysoftware/common/utils/LogUtil.java | 3 +- .../ApplicationPackageGatewayImpl.java | 9 ++---- .../ApplicationVersionGatewayImpl.java | 4 +-- .../gatewayimpl/EPKGPackageGatewayImpl.java | 9 +++--- .../FieldApplicationGatewayImpl.java | 3 +- .../converter/FieldApplicationConverter.java | 4 +-- .../fieldpkg/FieldPkgGatewayImpl.java | 20 ++++++------- .../fieldpkg/converter/FieldPkgConverter.java | 27 +++++++---------- .../gatewayimpl/RPMPackageGatewayImpl.java | 9 +++--- .../init/ApplicationRunnerStart.java | 30 +++++++++++-------- 13 files changed, 70 insertions(+), 84 deletions(-) diff --git a/src/main/java/com/easysoftware/common/aop/RequestLimitRedisAspect.java b/src/main/java/com/easysoftware/common/aop/RequestLimitRedisAspect.java index e8000e0..72ea83d 100644 --- a/src/main/java/com/easysoftware/common/aop/RequestLimitRedisAspect.java +++ b/src/main/java/com/easysoftware/common/aop/RequestLimitRedisAspect.java @@ -1,9 +1,15 @@ package com.easysoftware.common.aop; +import com.easysoftware.common.entity.MessageCode; +import com.easysoftware.common.utils.ClientUtil; +import com.easysoftware.common.utils.ResultUtil; +import jakarta.servlet.http.HttpServletRequest; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.RedisTemplate; @@ -13,16 +19,6 @@ import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; -import com.easysoftware.common.entity.MessageCode; - -import com.easysoftware.common.utils.ClientUtil; -import com.easysoftware.common.utils.ResultUtil; - -import jakarta.servlet.http.HttpServletRequest; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import java.util.concurrent.TimeUnit; @Aspect @@ -64,7 +60,7 @@ public class RequestLimitRedisAspect { /** * Advice method that intercepts the method calls annotated with RequestLimitRedis and enforces request limiting. * - * @param joinPoint The ProceedingJoinPoint representing the intercepted method. + * @param joinPoint The ProceedingJoinPoint representing the intercepted method. * @param requestLimit The RequestLimitRedis annotation containing request limiting criteria. * @return The result of the intercepted method execution. * @throws Throwable if an error occurs during method execution. @@ -75,8 +71,12 @@ public class RequestLimitRedisAspect { long period = rejectPeriod; long limitCount = rejectCount; - HttpServletRequest request = ((ServletRequestAttributes) - RequestContextHolder.getRequestAttributes()).getRequest(); + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + HttpServletRequest request = (attributes != null) ? attributes.getRequest() : null; + if (request == null) { + LOGGER.error("Failed to obtain HttpServletRequest in the current context."); + return ResultUtil.fail(HttpStatus.BAD_REQUEST, MessageCode.EC0001); + } // 获取url String ip = ClientUtil.getClientIpAddress(request); @@ -98,7 +98,7 @@ public class RequestLimitRedisAspect { // 检查访问次数 Long count = zSetOperations.zCard(key); - if (count > limitCount) { + if (count != null && count > limitCount) { // 审计日志 LOGGER.error("the current uri is{},the request frequency of uri exceeds the limited frequency: " + "{} times/{}s ,IP:{}", uri, limitCount, period, ip); diff --git a/src/main/java/com/easysoftware/common/exception/enumvalid/EnumValue.java b/src/main/java/com/easysoftware/common/exception/enumvalid/EnumValue.java index 26f2f58..0067368 100644 --- a/src/main/java/com/easysoftware/common/exception/enumvalid/EnumValue.java +++ b/src/main/java/com/easysoftware/common/exception/enumvalid/EnumValue.java @@ -10,6 +10,7 @@ import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; @@ -107,8 +108,8 @@ public @interface EnumValue { } Boolean result = (Boolean) method.invoke(null, value); - return result == null ? false : result; - } catch (Exception e) { + return result != null && result; + } catch (InvocationTargetException | NoSuchMethodException | IllegalAccessException e) { throw new EnumValidException(); } } diff --git a/src/main/java/com/easysoftware/common/utils/ClientUtil.java b/src/main/java/com/easysoftware/common/utils/ClientUtil.java index 28f8a15..0fe78c4 100644 --- a/src/main/java/com/easysoftware/common/utils/ClientUtil.java +++ b/src/main/java/com/easysoftware/common/utils/ClientUtil.java @@ -64,11 +64,12 @@ public final class ClientUtil { // 127.0.0.1 ipv4, 0:0:0:0:0:0:0:1 ipv6 if ("127.0.0.1".equals(ip) || "0:0:0:0:0:0:0:1".equals(ip)) { // 根据网卡取本机配置的IP - InetAddress inet = null; + InetAddress inet; try { inet = InetAddress.getLocalHost(); } catch (UnknownHostException e) { LOGGER.error("get local host error: " + e.getMessage()); + return ip; } ip = inet.getHostAddress(); } diff --git a/src/main/java/com/easysoftware/common/utils/LogUtil.java b/src/main/java/com/easysoftware/common/utils/LogUtil.java index d87e7d7..33a2fc9 100644 --- a/src/main/java/com/easysoftware/common/utils/LogUtil.java +++ b/src/main/java/com/easysoftware/common/utils/LogUtil.java @@ -66,8 +66,7 @@ public final class LogUtil { if (returnObject instanceof ResponseEntity) { ResponseEntity responseEntity = (ResponseEntity) returnObject; log.setStatus(responseEntity.getStatusCode().value()); - if (responseEntity.getBody() instanceof ResultVo) { - ResultVo body = (ResultVo) responseEntity.getBody(); + if (responseEntity.getBody() instanceof ResultVo body) { Object msg = body.getMsg(); log.setMessage((msg == null) ? "" : msg.toString()); } diff --git a/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/ApplicationPackageGatewayImpl.java b/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/ApplicationPackageGatewayImpl.java index 25fcd86..d95ec50 100644 --- a/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/ApplicationPackageGatewayImpl.java +++ b/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/ApplicationPackageGatewayImpl.java @@ -24,7 +24,6 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.jdbc.BadSqlGrammarException; import org.springframework.stereotype.Component; -import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; @@ -243,7 +242,7 @@ public class ApplicationPackageGatewayImpl implements ApplicationPackageGateway QueryWrapper wrapper = new QueryWrapper<>(); // 安全地选择列,列名已经通过白名单验证 wrapper.select("distinct " + column); - List rpmColumn = new ArrayList<>(); + List rpmColumn; try { rpmColumn = appPkgMapper.selectList(wrapper); } catch (BadSqlGrammarException e) { @@ -275,10 +274,9 @@ public class ApplicationPackageGatewayImpl implements ApplicationPackageGateway wrapper.groupBy("os", "arch"); List appkgList = appPkgMapper.selectList(wrapper); List versions = ApplicationPackageConverter.toVersion(appkgList); - Map res = Map.ofEntries( + return Map.ofEntries( Map.entry("total", versions.size()), Map.entry("list", versions)); - return res; } /** @@ -301,9 +299,8 @@ public class ApplicationPackageGatewayImpl implements ApplicationPackageGateway wrapper.groupBy("arch"); List appkgList = appPkgMapper.selectList(wrapper); List versions = ApplicationPackageConverter.toArchs(appkgList); - Map res = Map.ofEntries( + return Map.ofEntries( Map.entry("total", versions.size()), Map.entry("list", versions)); - return res; } } diff --git a/src/main/java/com/easysoftware/infrastructure/applicationversion/gatewayimpl/ApplicationVersionGatewayImpl.java b/src/main/java/com/easysoftware/infrastructure/applicationversion/gatewayimpl/ApplicationVersionGatewayImpl.java index e6397be..5df51df 100644 --- a/src/main/java/com/easysoftware/infrastructure/applicationversion/gatewayimpl/ApplicationVersionGatewayImpl.java +++ b/src/main/java/com/easysoftware/infrastructure/applicationversion/gatewayimpl/ApplicationVersionGatewayImpl.java @@ -11,12 +11,10 @@ import com.easysoftware.infrastructure.applicationversion.gatewayimpl.converter. import com.easysoftware.infrastructure.applicationversion.gatewayimpl.dataobject.ApplicationVersionDO; import com.easysoftware.infrastructure.mapper.ApplicationVersionDOMapper; import com.power.common.util.StringUtil; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.BadSqlGrammarException; import org.springframework.stereotype.Component; -import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; @@ -129,7 +127,7 @@ public class ApplicationVersionGatewayImpl implements ApplicationVersionGateway QueryWrapper wrapper = new QueryWrapper<>(); wrapper.select("distinct " + StringUtil.camelToUnderline(column)); - List columnList = new ArrayList<>(); + List columnList; try { columnList = appVersionMapper.selectList(wrapper); } catch (BadSqlGrammarException e) { diff --git a/src/main/java/com/easysoftware/infrastructure/epkgpackage/gatewayimpl/EPKGPackageGatewayImpl.java b/src/main/java/com/easysoftware/infrastructure/epkgpackage/gatewayimpl/EPKGPackageGatewayImpl.java index af74e6f..467dd37 100644 --- a/src/main/java/com/easysoftware/infrastructure/epkgpackage/gatewayimpl/EPKGPackageGatewayImpl.java +++ b/src/main/java/com/easysoftware/infrastructure/epkgpackage/gatewayimpl/EPKGPackageGatewayImpl.java @@ -25,7 +25,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.BadSqlGrammarException; import org.springframework.stereotype.Component; -import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; @@ -57,10 +56,10 @@ public class EPKGPackageGatewayImpl implements EPKGPackageGateway { Map map = objectMapper.convertValue(unique, HashMap.class); Map underlineMap = new HashMap<>(); - for (String key : map.keySet()) { + map.forEach((key, value) -> { String underlineKey = StringUtil.camelToUnderline(key); - underlineMap.put(underlineKey, map.get(key)); - } + underlineMap.put(underlineKey, value); + }); QueryWrapper wrapper = Wrappers.query(); wrapper.setEntityClass(EPKGPackageDO.class); @@ -192,7 +191,7 @@ public class EPKGPackageGatewayImpl implements EPKGPackageGateway { QueryWrapper wrapper = new QueryWrapper<>(); // 安全地选择列,列名已经通过白名单验证 wrapper.select("distinct " + column); - List rpmColumn = new ArrayList<>(); + List rpmColumn; try { rpmColumn = ePKGPkgMapper.selectList(wrapper); } catch (BadSqlGrammarException e) { diff --git a/src/main/java/com/easysoftware/infrastructure/fieldapplication/gatewayimpl/FieldApplicationGatewayImpl.java b/src/main/java/com/easysoftware/infrastructure/fieldapplication/gatewayimpl/FieldApplicationGatewayImpl.java index a079179..c1538e6 100644 --- a/src/main/java/com/easysoftware/infrastructure/fieldapplication/gatewayimpl/FieldApplicationGatewayImpl.java +++ b/src/main/java/com/easysoftware/infrastructure/fieldapplication/gatewayimpl/FieldApplicationGatewayImpl.java @@ -18,7 +18,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.BadSqlGrammarException; import org.springframework.stereotype.Component; -import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; @@ -112,7 +111,7 @@ public class FieldApplicationGatewayImpl implements FieldapplicationGateway { QueryWrapper wrapper = new QueryWrapper<>(); // 安全地选择列,列名已经通过白名单验证 wrapper.select("distinct " + column); - List columnList = new ArrayList<>(); + List columnList; try { columnList = fieldAppMapper.selectList(wrapper); } catch (BadSqlGrammarException e) { diff --git a/src/main/java/com/easysoftware/infrastructure/fieldapplication/gatewayimpl/converter/FieldApplicationConverter.java b/src/main/java/com/easysoftware/infrastructure/fieldapplication/gatewayimpl/converter/FieldApplicationConverter.java index 1180519..8fbf248 100644 --- a/src/main/java/com/easysoftware/infrastructure/fieldapplication/gatewayimpl/converter/FieldApplicationConverter.java +++ b/src/main/java/com/easysoftware/infrastructure/fieldapplication/gatewayimpl/converter/FieldApplicationConverter.java @@ -59,12 +59,10 @@ public final class FieldApplicationConverter { public static FiledApplicationVo toVo(final FieldApplicationDO opDo) { FiledApplicationVo opVo = new FiledApplicationVo(); BeanUtils.copyProperties(opDo, opVo); - opDo.getTags(); List tags = ObjectMapperUtil.toObjectList(String.class, opDo.getTags()); Map pkgIds = ObjectMapperUtil.toMap(opDo.getPkgIds()); - Set tagsSet = new HashSet<>(); - tagsSet.addAll(tags); + Set tagsSet = new HashSet<>(tags); opVo.setTags(tagsSet); Map pkgIdsMap = new HashMap<>(); diff --git a/src/main/java/com/easysoftware/infrastructure/fieldpkg/FieldPkgGatewayImpl.java b/src/main/java/com/easysoftware/infrastructure/fieldpkg/FieldPkgGatewayImpl.java index 0c31836..e9b8588 100644 --- a/src/main/java/com/easysoftware/infrastructure/fieldpkg/FieldPkgGatewayImpl.java +++ b/src/main/java/com/easysoftware/infrastructure/fieldpkg/FieldPkgGatewayImpl.java @@ -1,15 +1,5 @@ package com.easysoftware.infrastructure.fieldpkg; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.jdbc.BadSqlGrammarException; -import org.springframework.stereotype.Component; - import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -23,6 +13,14 @@ import com.easysoftware.infrastructure.fieldpkg.converter.FieldPkgConverter; import com.easysoftware.infrastructure.fieldpkg.dataobject.FieldPkgDO; import com.easysoftware.infrastructure.mapper.FieldPkgDOMapper; import com.power.common.util.StringUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.BadSqlGrammarException; +import org.springframework.stereotype.Component; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; @Component public class FieldPkgGatewayImpl implements FieldPkgGateway { @@ -110,7 +108,7 @@ public class FieldPkgGatewayImpl implements FieldPkgGateway { QueryWrapper wrapper = new QueryWrapper<>(); // 安全地选择列,列名已经通过白名单验证 wrapper.select("distinct " + column); - List columnList = new ArrayList<>(); + List columnList; try { columnList = mapper.selectList(wrapper); } catch (BadSqlGrammarException e) { diff --git a/src/main/java/com/easysoftware/infrastructure/fieldpkg/converter/FieldPkgConverter.java b/src/main/java/com/easysoftware/infrastructure/fieldpkg/converter/FieldPkgConverter.java index d85c615..43f276b 100644 --- a/src/main/java/com/easysoftware/infrastructure/fieldpkg/converter/FieldPkgConverter.java +++ b/src/main/java/com/easysoftware/infrastructure/fieldpkg/converter/FieldPkgConverter.java @@ -1,5 +1,13 @@ package com.easysoftware.infrastructure.fieldpkg.converter; +import com.easysoftware.application.fieldpkg.vo.FieldPkgVo; +import com.easysoftware.common.entity.MessageCode; +import com.easysoftware.common.utils.ObjectMapperUtil; +import com.easysoftware.infrastructure.fieldpkg.dataobject.FieldPkgDO; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; + import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; @@ -8,15 +16,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.BeanUtils; - -import com.easysoftware.application.fieldpkg.vo.FieldPkgVo; -import com.easysoftware.common.entity.MessageCode; -import com.easysoftware.common.utils.ObjectMapperUtil; -import com.easysoftware.infrastructure.fieldpkg.dataobject.FieldPkgDO; - public final class FieldPkgConverter { // Private constructor to prevent instantiation of the utility class private FieldPkgConverter() { @@ -53,20 +52,14 @@ public final class FieldPkgConverter { public static FieldPkgVo toVo(final FieldPkgDO opDo) { FieldPkgVo opVo = new FieldPkgVo(); BeanUtils.copyProperties(opDo, opVo); - opDo.getTags(); List tags = ObjectMapperUtil.toObjectList(String.class, opDo.getTags()); Map pkgIds = ObjectMapperUtil.toMap(opDo.getPkgIds()); - Set tagsSet = new HashSet<>(); - tagsSet.addAll(tags); + Set tagsSet = new HashSet<>(tags); opVo.setTags(tagsSet); Map pkgIdsMap = new HashMap<>(); - for (Map.Entry pkgId : pkgIds.entrySet()) { - String key = pkgId.getKey(); - String value = (String) pkgId.getValue(); - pkgIdsMap.put(key, value); - } + pkgIds.forEach((key, value) -> pkgIdsMap.put(key, String.valueOf(value))); opVo.setPkgIds(pkgIdsMap); return opVo; } diff --git a/src/main/java/com/easysoftware/infrastructure/rpmpackage/gatewayimpl/RPMPackageGatewayImpl.java b/src/main/java/com/easysoftware/infrastructure/rpmpackage/gatewayimpl/RPMPackageGatewayImpl.java index f38b5ed..0a3c3e5 100644 --- a/src/main/java/com/easysoftware/infrastructure/rpmpackage/gatewayimpl/RPMPackageGatewayImpl.java +++ b/src/main/java/com/easysoftware/infrastructure/rpmpackage/gatewayimpl/RPMPackageGatewayImpl.java @@ -26,7 +26,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.BadSqlGrammarException; import org.springframework.stereotype.Component; -import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; @@ -58,10 +57,10 @@ public class RPMPackageGatewayImpl implements RPMPackageGateway { Map map = objectMapper.convertValue(unique, HashMap.class); Map underlineMap = new HashMap<>(); - for (String key : map.keySet()) { + map.forEach((key, value) -> { String underlineKey = StringUtil.camelToUnderline(key); - underlineMap.put(underlineKey, map.get(key)); - } + underlineMap.put(underlineKey, value); + }); QueryWrapper wrapper = Wrappers.query(); wrapper.setEntityClass(RPMPackageDO.class); @@ -189,7 +188,7 @@ public class RPMPackageGatewayImpl implements RPMPackageGateway { QueryWrapper wrapper = new QueryWrapper<>(); // 安全地选择列,列名已经通过白名单验证 wrapper.select("distinct " + column); - List rpmColumn = new ArrayList<>(); + List rpmColumn; try { rpmColumn = rPMPkgMapper.selectList(wrapper); } catch (BadSqlGrammarException e) { diff --git a/src/main/java/com/easysoftware/init/ApplicationRunnerStart.java b/src/main/java/com/easysoftware/init/ApplicationRunnerStart.java index 604938a..24e1656 100644 --- a/src/main/java/com/easysoftware/init/ApplicationRunnerStart.java +++ b/src/main/java/com/easysoftware/init/ApplicationRunnerStart.java @@ -1,12 +1,13 @@ package com.easysoftware.init; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Component; + import java.io.File; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; @Component public class ApplicationRunnerStart implements ApplicationRunner { @@ -40,19 +41,22 @@ public class ApplicationRunnerStart implements ApplicationRunner { } File[] listFiles = secretsDir.listFiles(); - for (File file : listFiles) { - if (file.delete()) { - LOGGER.info( - "ID:easysoftware " + "Client Ip: localhost " + "Type: Delete " + " Resource:" - + file.getAbsolutePath() - + " Result: success."); - } else { - LOGGER.error( - "ID:easysoftware " + "Client Ip: localhost " + "Type: Delete " + " Resource:" - + file.getAbsolutePath() - + " Result: failed."); + if (listFiles != null) { + for (File file : listFiles) { + if (file.delete()) { + LOGGER.info( + "ID:easysoftware " + "Client Ip: localhost " + "Type: Delete " + " Resource:" + + file.getAbsolutePath() + + " Result: success."); + } else { + LOGGER.error( + "ID:easysoftware " + "Client Ip: localhost " + "Type: Delete " + " Resource:" + + file.getAbsolutePath() + + " Result: failed."); + } } + } else { + LOGGER.warn("No files found in the directory or an error occurred while listing files."); } - return; } } -- Gitee