update 重构 抽取脱敏功能 ruoyi-common-sensitive 成为独立模块

This commit is contained in:
疯狂的狮子Li 2023-01-31 21:02:51 +08:00
parent bff9720b6f
commit c67cc725d4
12 changed files with 60 additions and 17 deletions

View File

@ -28,6 +28,7 @@
<module>ruoyi-common-sms</module> <module>ruoyi-common-sms</module>
<module>ruoyi-common-web</module> <module>ruoyi-common-web</module>
<module>ruoyi-common-translation</module> <module>ruoyi-common-translation</module>
<module>ruoyi-common-sensitive</module>
</modules> </modules>
<artifactId>ruoyi-common</artifactId> <artifactId>ruoyi-common</artifactId>

View File

@ -131,6 +131,12 @@
<version>${revision}</version> <version>${revision}</version>
</dependency> </dependency>
<!-- 脱敏模块 -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-sensitive</artifactId>
<version>${revision}</version>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>

View 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>

View File

@ -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.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ruoyi.common.core.enums.SensitiveStrategy; import com.ruoyi.common.sensitive.core.SensitiveStrategy;
import com.ruoyi.common.core.jackson.SensitiveJsonSerializer; import com.ruoyi.common.sensitive.handler.SensitiveHandler;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
@ -18,7 +18,7 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD) @Target(ElementType.FIELD)
@JacksonAnnotationsInside @JacksonAnnotationsInside
@JsonSerialize(using = SensitiveJsonSerializer.class) @JsonSerialize(using = SensitiveHandler.class)
public @interface Sensitive { public @interface Sensitive {
SensitiveStrategy strategy(); SensitiveStrategy strategy();
} }

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.core.service; package com.ruoyi.common.sensitive.core;
/** /**
* 脱敏服务 * 脱敏服务

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.core.enums; package com.ruoyi.common.sensitive.core;
import cn.hutool.core.util.DesensitizedUtil; import cn.hutool.core.util.DesensitizedUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.core.jackson; package com.ruoyi.common.sensitive.handler;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.fasterxml.jackson.core.JsonGenerator; 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.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.ContextualSerializer; 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.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 lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeansException; import org.springframework.beans.BeansException;
@ -23,7 +23,7 @@ import java.util.Objects;
* @author Yjoioooo * @author Yjoioooo
*/ */
@Slf4j @Slf4j
public class SensitiveJsonSerializer extends JsonSerializer<String> implements ContextualSerializer { public class SensitiveHandler extends JsonSerializer<String> implements ContextualSerializer {
private SensitiveStrategy strategy; private SensitiveStrategy strategy;

View File

@ -78,6 +78,11 @@
<artifactId>ruoyi-common-translation</artifactId> <artifactId>ruoyi-common-translation</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-sensitive</artifactId>
</dependency>
<!-- 短信 用哪个导入哪个依赖 --> <!-- 短信 用哪个导入哪个依赖 -->
<!-- <dependency>--> <!-- <dependency>-->
<!-- <groupId>com.aliyun</groupId>--> <!-- <groupId>com.aliyun</groupId>-->

View File

@ -1,9 +1,9 @@
package com.ruoyi.demo.controller; package com.ruoyi.demo.controller;
import com.ruoyi.common.core.annotation.Sensitive;
import com.ruoyi.common.core.domain.R; 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.core.web.controller.BaseController;
import com.ruoyi.common.sensitive.annotation.Sensitive;
import com.ruoyi.common.sensitive.core.SensitiveStrategy;
import lombok.Data; import lombok.Data;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.RestController;
* *
* @author Lion Li * @author Lion Li
* @version 3.6.0 * @version 3.6.0
* @see com.ruoyi.common.core.service.SensitiveService * @see com.ruoyi.common.sensitive.core.SensitiveService
*/ */
@RestController @RestController
@RequestMapping("/demo/sensitive") @RequestMapping("/demo/sensitive")

View File

@ -80,6 +80,11 @@
<groupId>com.ruoyi</groupId> <groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-idempotent</artifactId> <artifactId>ruoyi-common-idempotent</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-sensitive</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -1,11 +1,11 @@
package com.ruoyi.system.domain; package com.ruoyi.system.domain;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.annotation.Sensitive;
import com.ruoyi.common.core.constant.UserConstants; 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.web.domain.BaseEntity;
import com.ruoyi.common.core.xss.Xss; 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.Email;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size; import jakarta.validation.constraints.Size;

View File

@ -1,7 +1,7 @@
package com.ruoyi.system.service.impl; package com.ruoyi.system.service.impl;
import com.ruoyi.common.core.service.SensitiveService;
import com.ruoyi.common.satoken.utils.LoginHelper; import com.ruoyi.common.satoken.utils.LoginHelper;
import com.ruoyi.common.sensitive.core.SensitiveService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**