疯狂的狮子Li
2023-01-31 c67cc725d48418c548be5cff6ccf10e435988a8b
update 重构 抽取脱敏功能 ruoyi-common-sensitive 成为独立模块
已修改7个文件
已添加1个文件
已重命名4个文件
77 ■■■■ 文件已修改
ruoyi-common/pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-bom/pom.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-sensitive/pom.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-sensitive/src/main/java/com/ruoyi/common/sensitive/annotation/Sensitive.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-sensitive/src/main/java/com/ruoyi/common/sensitive/core/SensitiveService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-sensitive/src/main/java/com/ruoyi/common/sensitive/core/SensitiveStrategy.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-sensitive/src/main/java/com/ruoyi/common/sensitive/handler/SensitiveHandler.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-demo/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestSensitiveController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUser.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSensitiveServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/pom.xml
@@ -28,6 +28,7 @@
        <module>ruoyi-common-sms</module>
        <module>ruoyi-common-web</module>
        <module>ruoyi-common-translation</module>
        <module>ruoyi-common-sensitive</module>
    </modules>
    <artifactId>ruoyi-common</artifactId>
ruoyi-common/ruoyi-common-bom/pom.xml
@@ -131,6 +131,12 @@
                <version>${revision}</version>
            </dependency>
            <!-- è„±æ•æ¨¡å— -->
            <dependency>
                <groupId>com.ruoyi</groupId>
                <artifactId>ruoyi-common-sensitive</artifactId>
                <version>${revision}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
ruoyi-common/ruoyi-common-sensitive/pom.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <groupId>com.ruoyi</groupId>
        <artifactId>ruoyi-common</artifactId>
        <version>${revision}</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>ruoyi-common-sensitive</artifactId>
    <description>
        ruoyi-common-sensitive è„±æ•æ¨¡å—
    </description>
    <dependencies>
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-common-core</artifactId>
        </dependency>
    </dependencies>
</project>
ruoyi-common/ruoyi-common-sensitive/src/main/java/com/ruoyi/common/sensitive/annotation/Sensitive.java
ÎļþÃû´Ó ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/annotation/Sensitive.java ÐÞ¸Ä
@@ -1,9 +1,9 @@
package com.ruoyi.common.core.annotation;
package com.ruoyi.common.sensitive.annotation;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ruoyi.common.core.enums.SensitiveStrategy;
import com.ruoyi.common.core.jackson.SensitiveJsonSerializer;
import com.ruoyi.common.sensitive.core.SensitiveStrategy;
import com.ruoyi.common.sensitive.handler.SensitiveHandler;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -18,7 +18,7 @@
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@JacksonAnnotationsInside
@JsonSerialize(using = SensitiveJsonSerializer.class)
@JsonSerialize(using = SensitiveHandler.class)
public @interface Sensitive {
    SensitiveStrategy strategy();
}
ruoyi-common/ruoyi-common-sensitive/src/main/java/com/ruoyi/common/sensitive/core/SensitiveService.java
ÎļþÃû´Ó ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/service/SensitiveService.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.ruoyi.common.core.service;
package com.ruoyi.common.sensitive.core;
/**
 * è„±æ•æœåŠ¡
ruoyi-common/ruoyi-common-sensitive/src/main/java/com/ruoyi/common/sensitive/core/SensitiveStrategy.java
ÎļþÃû´Ó ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/SensitiveStrategy.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.ruoyi.common.core.enums;
package com.ruoyi.common.sensitive.core;
import cn.hutool.core.util.DesensitizedUtil;
import lombok.AllArgsConstructor;
ruoyi-common/ruoyi-common-sensitive/src/main/java/com/ruoyi/common/sensitive/handler/SensitiveHandler.java
ÎļþÃû´Ó ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/jackson/SensitiveJsonSerializer.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.ruoyi.common.core.jackson;
package com.ruoyi.common.sensitive.handler;
import cn.hutool.core.util.ObjectUtil;
import com.fasterxml.jackson.core.JsonGenerator;
@@ -7,10 +7,10 @@
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.ContextualSerializer;
import com.ruoyi.common.core.annotation.Sensitive;
import com.ruoyi.common.core.enums.SensitiveStrategy;
import com.ruoyi.common.core.service.SensitiveService;
import com.ruoyi.common.core.utils.SpringUtils;
import com.ruoyi.common.sensitive.annotation.Sensitive;
import com.ruoyi.common.sensitive.core.SensitiveService;
import com.ruoyi.common.sensitive.core.SensitiveStrategy;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeansException;
@@ -23,7 +23,7 @@
 * @author Yjoioooo
 */
@Slf4j
public class SensitiveJsonSerializer extends JsonSerializer<String> implements ContextualSerializer {
public class SensitiveHandler extends JsonSerializer<String> implements ContextualSerializer {
    private SensitiveStrategy strategy;
ruoyi-modules/ruoyi-demo/pom.xml
@@ -78,6 +78,11 @@
            <artifactId>ruoyi-common-translation</artifactId>
        </dependency>
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-common-sensitive</artifactId>
        </dependency>
        <!-- çŸ­ä¿¡ ç”¨å“ªä¸ªå¯¼å…¥å“ªä¸ªä¾èµ– -->
<!--        <dependency>-->
<!--            <groupId>com.aliyun</groupId>-->
ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestSensitiveController.java
@@ -1,9 +1,9 @@
package com.ruoyi.demo.controller;
import com.ruoyi.common.core.annotation.Sensitive;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.enums.SensitiveStrategy;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.sensitive.annotation.Sensitive;
import com.ruoyi.common.sensitive.core.SensitiveStrategy;
import lombok.Data;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -17,7 +17,7 @@
 *
 * @author Lion Li
 * @version 3.6.0
 * @see com.ruoyi.common.core.service.SensitiveService
 * @see com.ruoyi.common.sensitive.core.SensitiveService
 */
@RestController
@RequestMapping("/demo/sensitive")
ruoyi-modules/ruoyi-system/pom.xml
@@ -80,6 +80,11 @@
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-common-idempotent</artifactId>
        </dependency>
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-common-sensitive</artifactId>
        </dependency>
    </dependencies>
</project>
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUser.java
@@ -1,11 +1,11 @@
package com.ruoyi.system.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.annotation.Sensitive;
import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.enums.SensitiveStrategy;
import com.ruoyi.common.core.web.domain.BaseEntity;
import com.ruoyi.common.core.xss.Xss;
import com.ruoyi.common.sensitive.annotation.Sensitive;
import com.ruoyi.common.sensitive.core.SensitiveStrategy;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSensitiveServiceImpl.java
@@ -1,7 +1,7 @@
package com.ruoyi.system.service.impl;
import com.ruoyi.common.core.service.SensitiveService;
import com.ruoyi.common.satoken.utils.LoginHelper;
import com.ruoyi.common.sensitive.core.SensitiveService;
import org.springframework.stereotype.Service;
/**