疯狂的狮子li
2023-02-17 cb8056882898d5e1d23d06a82a03d8697f4c844d
update 优化 encrypt 加解密模块语法 简化代码消除警告
已修改4个文件
28 ■■■■ 文件已修改
ruoyi-common/ruoyi-common-encrypt/src/main/java/com/ruoyi/common/encrypt/config/EncryptorAutoConfiguration.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-encrypt/src/main/java/com/ruoyi/common/encrypt/interceptor/MybatisDecryptInterceptor.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-encrypt/src/main/java/com/ruoyi/common/encrypt/interceptor/MybatisEncryptInterceptor.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-encrypt/src/main/java/com/ruoyi/common/encrypt/properties/EncryptorProperties.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-encrypt/src/main/java/com/ruoyi/common/encrypt/config/EncryptorAutoConfiguration.java
@@ -7,6 +7,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
/**
@@ -16,6 +17,7 @@
 * @version 4.6.0
 */
@AutoConfiguration
@EnableConfigurationProperties(EncryptorProperties.class)
@ConditionalOnProperty(value = "mybatis-encryptor.enable", havingValue = "true")
public class EncryptorAutoConfiguration {
ruoyi-common/ruoyi-common-encrypt/src/main/java/com/ruoyi/common/encrypt/interceptor/MybatisDecryptInterceptor.java
@@ -55,17 +55,17 @@
     * @param sourceObject 待加密对象
     */
    private void decryptHandler(Object sourceObject) {
        if (sourceObject instanceof Map) {
            ((Map<?, Object>) sourceObject).values().forEach(this::decryptHandler);
        if (sourceObject instanceof Map<?, ?> map) {
            map.values().forEach(this::decryptHandler);
            return;
        }
        if (sourceObject instanceof List) {
        if (sourceObject instanceof List<?> list) {
            // 判断第一个元素是否含有注解。如果没有直接返回,提高效率
            Object firstItem = ((List<?>) sourceObject).get(0);
            Object firstItem = list.get(0);
            if (CollectionUtil.isEmpty(encryptorManager.getFieldCache(firstItem.getClass()))) {
                return;
            }
            ((List<?>) sourceObject).forEach(this::decryptHandler);
            list.forEach(this::decryptHandler);
            return;
        }
        Set<Field> fields = encryptorManager.getFieldCache(sourceObject.getClass());
ruoyi-common/ruoyi-common-encrypt/src/main/java/com/ruoyi/common/encrypt/interceptor/MybatisEncryptInterceptor.java
@@ -49,9 +49,8 @@
    @Override
    public Object plugin(Object target) {
        if (target instanceof ParameterHandler) {
        if (target instanceof ParameterHandler parameterHandler) {
            // 进行加密操作
            ParameterHandler parameterHandler = (ParameterHandler) target;
            Object parameterObject = parameterHandler.getParameterObject();
            if (ObjectUtil.isNotNull(parameterObject) && !(parameterObject instanceof String)) {
                this.encryptHandler(parameterObject);
@@ -65,19 +64,18 @@
     *
     * @param sourceObject 待加密对象
     */
    @SuppressWarnings("unchecked cast")
    private void encryptHandler(Object sourceObject) {
        if (sourceObject instanceof Map) {
            ((Map<?, Object>) sourceObject).values().forEach(this::encryptHandler);
        if (sourceObject instanceof Map<?, ?> map) {
            map.values().forEach(this::encryptHandler);
            return;
        }
        if (sourceObject instanceof List) {
        if (sourceObject instanceof List<?> list) {
            // 判断第一个元素是否含有注解。如果没有直接返回,提高效率
            Object firstItem = ((List<?>) sourceObject).get(0);
            Object firstItem = list.get(0);
            if (CollectionUtil.isEmpty(encryptorManager.getFieldCache(firstItem.getClass()))) {
                return;
            }
            ((List<?>) sourceObject).forEach(this::encryptHandler);
            list.forEach(this::encryptHandler);
            return;
        }
        Set<Field> fields = encryptorManager.getFieldCache(sourceObject.getClass());
ruoyi-common/ruoyi-common-encrypt/src/main/java/com/ruoyi/common/encrypt/properties/EncryptorProperties.java
@@ -4,7 +4,6 @@
import com.ruoyi.common.encrypt.enumd.EncodeType;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
 * 加解密属性配置类
@@ -13,7 +12,6 @@
 * @version 4.6.0
 */
@Data
@Component
@ConfigurationProperties(prefix = "mybatis-encryptor")
public class EncryptorProperties {