mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 16:23:42 +08:00 
			
		
		
		
	update 重构 抽取脱敏功能 ruoyi-common-sensitive 成为独立模块
This commit is contained in:
		@@ -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>
 | 
			
		||||
 
 | 
			
		||||
@@ -131,6 +131,12 @@
 | 
			
		||||
                <version>${revision}</version>
 | 
			
		||||
            </dependency>
 | 
			
		||||
 | 
			
		||||
            <!-- 脱敏模块 -->
 | 
			
		||||
            <dependency>
 | 
			
		||||
                <groupId>com.ruoyi</groupId>
 | 
			
		||||
                <artifactId>ruoyi-common-sensitive</artifactId>
 | 
			
		||||
                <version>${revision}</version>
 | 
			
		||||
            </dependency>
 | 
			
		||||
        </dependencies>
 | 
			
		||||
    </dependencyManagement>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										26
									
								
								ruoyi-common/ruoyi-common-sensitive/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								ruoyi-common/ruoyi-common-sensitive/pom.xml
									
									
									
									
									
										Normal file
									
								
							@@ -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>
 | 
			
		||||
@@ -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 @@ import java.lang.annotation.Target;
 | 
			
		||||
@Retention(RetentionPolicy.RUNTIME)
 | 
			
		||||
@Target(ElementType.FIELD)
 | 
			
		||||
@JacksonAnnotationsInside
 | 
			
		||||
@JsonSerialize(using = SensitiveJsonSerializer.class)
 | 
			
		||||
@JsonSerialize(using = SensitiveHandler.class)
 | 
			
		||||
public @interface Sensitive {
 | 
			
		||||
    SensitiveStrategy strategy();
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package com.ruoyi.common.core.service;
 | 
			
		||||
package com.ruoyi.common.sensitive.core;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 脱敏服务
 | 
			
		||||
@@ -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;
 | 
			
		||||
@@ -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.JsonMappingException;
 | 
			
		||||
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 @@ import java.util.Objects;
 | 
			
		||||
 * @author Yjoioooo
 | 
			
		||||
 */
 | 
			
		||||
@Slf4j
 | 
			
		||||
public class SensitiveJsonSerializer extends JsonSerializer<String> implements ContextualSerializer {
 | 
			
		||||
public class SensitiveHandler extends JsonSerializer<String> implements ContextualSerializer {
 | 
			
		||||
 | 
			
		||||
    private SensitiveStrategy strategy;
 | 
			
		||||
 | 
			
		||||
@@ -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>-->
 | 
			
		||||
 
 | 
			
		||||
@@ -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 @@ import org.springframework.web.bind.annotation.RestController;
 | 
			
		||||
 *
 | 
			
		||||
 * @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")
 | 
			
		||||
 
 | 
			
		||||
@@ -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>
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user